1-ый закон робототехники: не навреди гуманитарному складу ума
Всем привет!
В качестве хобби я изготавливаю различный стафф из игр, кино и т.д. В последнее время всё чаще появлялась необходимость свои «изделия» каким либо образом электрофицировать. Основная мечта, конечно, освоить управление сервоприводами. С такой вот благородной целью я решил познакомиться с робототехникой.
От идеи «вголую» изучать Arduino я отказался сразу — показалось слишком сложным для начинающего, который из электротехники-то в лучшем случае помнит пару формул. Поэтому я принялся изучать имеющиеся в продаже наборы робототехники. Остановился я на двух вариантах — наборы от Лего (про которые я прочитал здесь же, на geektimes) и от bq. В итоге я остановился на втором. Почему?
- Цена. Приглянувшийся мне Майндстормс стоит какие-то космические деньги;
- Различные аксессуары. Как мне рассказал бывалый леговод, очень много интересных штук для роботов (к примеру, гусеницы на колёса) у нас практически не купишь и надо заказывать из-за бугра. Не факт что они мне пригодились бы, но сам факт слегка огорчил — интересные запчасти отдельно от наборов у нас не поставляются;
- Роботы от bq не просто так зовутся PrintBot. В основе всех конструкций 3D-печать, а все файлы в свободном доступе. Как бывалый владелец нескольких принтеров, я понял — моё!
В итоге я купил два комплекта — набор робототехники Kit de Robotica и printBot Beetle. Первый представляет собой множество электронных компонентов для «свободного творчества», а второй полноценный конструктор робота-жука.
Про Kit de Robotica скажу сразу — не осилил. В итоге собрал робота-Краба по руководству из интернета. Получилось интересно, здорово. Приобрел важный навык «заливка готовой прошивки через Arduino». К сожалению, робот обладал только одной функцией — шагать вперед. Его я в итоге демонтировал и вернул электронные компоненты в коробку, до лучших времен. Но самое главное — стена непонимания потихоньку начала рушиться. Первичный испуг перед всей этой электроникой ушел. А вот про второго робота, Жука, я хотел бы рассказать подробнее.
В чём принципиальное отличие Жука от Краба?
- Управление. В базовом варианте сборки Краб может двигаться только вперед, а вот Жук уже оснащён ИК-датчиком и датчиками света. Помимо этого, как и Краба, его можно подключить по bluetooth, но об этом чуточку позже;
- Принцип передвижения. Если Краб перебирал ножками, то Жук ездит с помощью колес, сообщающихся между собой шинами;
- Функционал. Несмотря на наличие аж двух клешней, Краб мог только ходить и, в случае с моим дизайном, злобно зыркать кукольными глазами Т-Рекса. Жук в этом плане намного интереснее за счёт того, что его жвала по-настоящему функциональны;
На задней стороне упаковки дан полный перечень электроники, содержащейся в коробке. Также там схематично изображен робот, который собирается из этого набора.
Дерзкий анпакинг:
Если на задней стороне коробки были описаны электронные компоненты, то на внутренней части «языка» — отпечатанные детали. Как можно заметить по коробочкам, содержащимся внутри, это всё те же элементы из набора робототехники. Но обратите внимание! Некоторых номеров явно не хватает. Связано это с тем, что для постройки робота нужны явно не вся электроника, поставляющаяся в наборе.
Кстати, сначала я испугался, что набор не включает в себя распечатанные элементы. Но всё оказалось на положенном ему месте — в отдельной, закрытой секции.
Таким образом, полностью распакованный набор робототехники для Жука выглядит так:
Приступим к процессу сборки. Но перед этим, как обычно, подборка полезных ссылок:
- Инструкция по сборке робота (http://diwo.bq.com/programando-un-huyeluz/). Да, снова DIWO, да, снова на испанском. Но у bq просто невероятное умение делать настолько понятные инструкции, что справится даже ребенок. Технически, для детей большая часть этих инструкций и писалась;
- Программирование робота (http://diwo.bq.com/programando-un-huyeluz/). Интересно по большей части тем, кто хочет задействовать сенсоры Жука и просто освоить несложное программирование для таких вот роботов. Что за странная визуализация кодов блока, спросите вы? Об этом — позже;
- Калибровка «руки» (http://diwo.bq.com/calibracion-de-la-pinza-del-printbot-beetle/). Здесь всё просто. Нет калибровки — нет адекватно работающей «руки»;
В списке ссылок ничего не сказано про «синий зуб» и прошивки из-за того, что я хочу на них обратить больше внимания чуть ниже по тексту.
СБОРКА.
В сборке роботов от bq действует простой закон — не пытайся быть умнее инструкции. В ходе работы я несколько раз пытался «обогнать» инструкцию или оптимизировать, но в итоге это выливалось только в то, что отдельные узлы приходилось пересобирать. Обидно!
Начинаем сборку с установки на платформочку больших сервоприводов. Эти парни — наш мотор, будущая основа под большие колёса.
Затем мы начинаем установку сенсоров на другую платформу, основную часть корпуса. Здесь главное не перепутать местами датчики ИК и света. А вот дальше уже начинается интересное:
Включив крутого парня, я, Бог весть зачем, установил на маленькие колёса шины сразу и винтами закрепил эти самые колёса в платформе. Было ли это в инструкции? Нет. Зачем я это сделал? Тот ещё вопрос. Впоследствии мне пришлось всё это пересобирать.
Большие колеса собираются крайне просто. Что приятно, торчащие острые окончания саморезов «закрываются» небольшими цилиндрами со сферой.
После того как все элементы так или иначе установлены на несущие платформы, самое время поставить электронную плату:
Моя модель робота включала в себя Arduino Uno. Говорят в новых роботах используется уже другая плата, собственной разработки. Отличается, например, тем, что в неё уже интегрирован bluetooth-модуль
Ну что же, теперь нашему жуку не хватает только его жвал.Их несложно собрать, а хват контролируется с помощью небольшого сервопривода.
Теперь смонтируем все элементы:
ПРОШИВКА.
Хоть Жук и получился симпатичным, без «софтовой» начинки он бесполезен.
- Отсюда (diwo.bq.com/wp-content/uploads/2014/12/Robopad_Programas_PrintBots.zip) вы можете скачать все прошивки для основных роботов bq;
- А здесь (http://diwo.bq.com/robopad-3/) вы познакомитесь с Robopad«ом и подключением блютуз-модуля к роботу;
ВАЖНЫЙ МОМЕНТ: робот отказывался прошиваться у меня до тех пор, пока я не отсоединил bluetooth-модуль. Поэтому, что логично, заливать прошивку рекомендую без него.
А теперь о самом интересно — Robopad!
Робопад — это софт от bq, который представляет собой интерфейс управления роботами. Включает оно в себя только Головастика, Жука и Evolution, последнего робота в линейке от bq. Но при этом само приложение полностью открытое и при желании вы можете добавить свои собственные разработки.
Робопад поставляется в двух версия — обычной и «плюс-плюс». Отличие второй от первой в том, что вы можете задать роботу последовательность действий и после нажатия кнопки с изображением воздушного самолётика, робот выполнит команды ровно в том порядке, в каком вы их составили.
Приложение прекрасно работает как с мобильного, так и с планшета. К примеру, чаще всего я пользуюсь им на Sony Z1 — телефон хороший, но явно не топовый по производительности. Но приложение не тормозит и робот шустро выполняет все задания, сразу же после нажатия на соответствующую кнопку.
В двух словах, приложение — мякотка. Будь у меня в детстве все эти наборы-приложения, я бы наверное из всей этой испанской робототехники не вылазил. А ведь фактически, я не касаюсь даже половины робототехнического потенциала всей имеющейся в арсенале набора электроники. Приложение, наборы — это хорошо. Но нельзя не упомянуть …
BITBLOQ
bitbloq — сервис, который лично для меня полностью обосновывает все эти робототехнические наборы. Это сервис визуального программирования. Иначе говоря, вся логика выстраивается с помощью графических блоков и впоследствии переводится в код. Это — настоящее спасение для тех, кто не умеет программировать, в частности для Adruino. Выглядит это примерно следующим образом:
Из категорий слева вы выбираете блоки и выстаиваете между ними коммуникацию, логику и т.д. Во вкладке справа CODE справа вы всегда можете поглядеть как то, что вы складываете из цветных кирпичиков, выглядит глазами настоящего программиста.
Сам по себе сервис оказался для меня настоящим подарком. Программировать я не умею от слова «совсем», а вся эта красота делает мою мини-мечту освоить сервоприводы реальной!
Вместо послесловия.
Наборы роботехники великолепны — факт. Благодаря им я получил хоть какое-то представление об электронике. Они вряд ли будут интересны уже «продвинутым пользователям», но для меня, как я и сказал, они смогли помочь прорубить окно в мир сервоприводов, электронных компонентов и просто роботов. Ознакомившись с bitbloq я теперь уже всерьез возьмусь за kit de Robotica, а Жука … Жука, скорее всего, демонтирую и отдам племяннику — посмотрим справится ли со сборкой ребёнок, перешедший во второй класс.
Спасибо за внимание.
Надеюсь, материал был вам полезен.
P.S. Немного видео с демонстрацией возможностей этого робота: