1-ый закон робототехники: не навреди гуманитарному складу ума

115d5c09ddb74b68b17bef726ac607c1.jpg
Всем привет!

В качестве хобби я изготавливаю различный стафф из игр, кино и т.д. В последнее время всё чаще появлялась необходимость свои «изделия» каким либо образом электрофицировать. Основная мечта, конечно, освоить управление сервоприводами. С такой вот благородной целью я решил познакомиться с робототехникой.
От идеи «вголую» изучать Arduino я отказался сразу — показалось слишком сложным для начинающего, который из электротехники-то в лучшем случае помнит пару формул. Поэтому я принялся изучать имеющиеся в продаже наборы робототехники. Остановился я на двух вариантах — наборы от Лего (про которые я прочитал здесь же, на geektimes) и от bq. В итоге я остановился на втором. Почему?

  • Цена. Приглянувшийся мне Майндстормс стоит какие-то космические деньги;
  • Различные аксессуары. Как мне рассказал бывалый леговод, очень много интересных штук для роботов (к примеру, гусеницы на колёса) у нас практически не купишь и надо заказывать из-за бугра. Не факт что они мне пригодились бы, но сам факт слегка огорчил — интересные запчасти отдельно от наборов у нас не поставляются;
  • Роботы от bq не просто так зовутся PrintBot. В основе всех конструкций 3D-печать, а все файлы в свободном доступе. Как бывалый владелец нескольких принтеров, я понял — моё!


В итоге я купил два комплекта — набор робототехники Kit de Robotica и printBot Beetle. Первый представляет собой множество электронных компонентов для «свободного творчества», а второй полноценный конструктор робота-жука.

1d272e4a4e754fc4952269bfc4c0fd1c.png

Про Kit de Robotica скажу сразу — не осилил. В итоге собрал робота-Краба по руководству из интернета. Получилось интересно, здорово. Приобрел важный навык «заливка готовой прошивки через Arduino». К сожалению, робот обладал только одной функцией — шагать вперед. Его я в итоге демонтировал и вернул электронные компоненты в коробку, до лучших времен. Но самое главное — стена непонимания потихоньку начала рушиться. Первичный испуг перед всей этой электроникой ушел. А вот про второго робота, Жука, я хотел бы рассказать подробнее.

28b8e764087e4ff483f8216f14238a2d.png

В чём принципиальное отличие Жука от Краба?

  • Управление. В базовом варианте сборки Краб может двигаться только вперед, а вот Жук уже оснащён ИК-датчиком и датчиками света. Помимо этого, как и Краба, его можно подключить по bluetooth, но об этом чуточку позже;
  • Принцип передвижения. Если Краб перебирал ножками, то Жук ездит с помощью колес, сообщающихся между собой шинами;
  • Функционал. Несмотря на наличие аж двух клешней, Краб мог только ходить и, в случае с моим дизайном, злобно зыркать кукольными глазами Т-Рекса. Жук в этом плане намного интереснее за счёт того, что его жвала по-настоящему функциональны;

79677f96574046d1ac9deb1f58142682.jpg

На задней стороне упаковки дан полный перечень электроники, содержащейся в коробке. Также там схематично изображен робот, который собирается из этого набора.

f64189f0d7954e3da5817a49ac2bf57d.jpg

Дерзкий анпакинг:

fb4fce0f53a34400800d710cdb77801c.jpg

d49de4a7a99f411ab2f53d361696a7ad.jpg

3983bc8d9854483ca53d9035e42da663.jpg

Если на задней стороне коробки были описаны электронные компоненты, то на внутренней части «языка» — отпечатанные детали. Как можно заметить по коробочкам, содержащимся внутри, это всё те же элементы из набора робототехники. Но обратите внимание! Некоторых номеров явно не хватает. Связано это с тем, что для постройки робота нужны явно не вся электроника, поставляющаяся в наборе.

Кстати, сначала я испугался, что набор не включает в себя распечатанные элементы. Но всё оказалось на положенном ему месте — в отдельной, закрытой секции.

c32d08f2c1dd499d8cccbe7960c99fdc.jpg

Таким образом, полностью распакованный набор робототехники для Жука выглядит так:

3fa2b1ffe63142508a3097de139ca65e.jpg

Приступим к процессу сборки. Но перед этим, как обычно, подборка полезных ссылок:

  • Инструкция по сборке робота (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 действует простой закон — не пытайся быть умнее инструкции. В ходе работы я несколько раз пытался «обогнать» инструкцию или оптимизировать, но в итоге это выливалось только в то, что отдельные узлы приходилось пересобирать. Обидно!

90c263a012064bfe8107f3bc444f4f09.jpg

411495506cc54686a487b7e74f9449b7.jpg

28c71235cc67435b84ae13f9f4a57cfc.jpg

Начинаем сборку с установки на платформочку больших сервоприводов. Эти парни — наш мотор, будущая основа под большие колёса.

4353c141d31e4210a3fcaf3a68e355e2.jpg

fff0b8c3dc2744f28ddca4460729f34e.jpg

Затем мы начинаем установку сенсоров на другую платформу, основную часть корпуса. Здесь главное не перепутать местами датчики ИК и света. А вот дальше уже начинается интересное:

56843c0e09ee4e0bad29bea6d17f7991.jpg

035b96e932574548af0b9c29a7d0fa71.jpg

Включив крутого парня, я, Бог весть зачем, установил на маленькие колёса шины сразу и винтами закрепил эти самые колёса в платформе. Было ли это в инструкции? Нет. Зачем я это сделал? Тот ещё вопрос. Впоследствии мне пришлось всё это пересобирать.

792e4777f831470f987ef8d3ff39c295.jpg

Большие колеса собираются крайне просто. Что приятно, торчащие острые окончания саморезов «закрываются» небольшими цилиндрами со сферой.

После того как все элементы так или иначе установлены на несущие платформы, самое время поставить электронную плату:

4ba254265f1f4dddae952082605531ea.jpg

Моя модель робота включала в себя Arduino Uno. Говорят в новых роботах используется уже другая плата, собственной разработки. Отличается, например, тем, что в неё уже интегрирован bluetooth-модуль

b17c45baa07447e790aa2b4bb8512ed4.jpg

Ну что же, теперь нашему жуку не хватает только его жвал.Их несложно собрать, а хват контролируется с помощью небольшого сервопривода.

90c263a012064bfe8107f3bc444f4f09.jpg

8eb27e6880f74187bea622e46114224a.jpg

4aea20dd474141f1a9f32d0fadd46eb0.jpg

15168cfefd3a48b2ad256e0b77d6913d.jpg

Теперь смонтируем все элементы:

4ae4cd84d34945c5a31793844ce0f4f8.jpg

d9101e7f114a4da2bb9fceff0363f669.jpg

ПРОШИВКА.
Хоть Жук и получился симпатичным, без «софтовой» начинки он бесполезен.

  • Отсюда (diwo.bq.com/wp-content/uploads/2014/12/Robopad_Programas_PrintBots.zip) вы можете скачать все прошивки для основных роботов bq;
  • А здесь (http://diwo.bq.com/robopad-3/) вы познакомитесь с Robopad«ом и подключением блютуз-модуля к роботу;


ВАЖНЫЙ МОМЕНТ: робот отказывался прошиваться у меня до тех пор, пока я не отсоединил bluetooth-модуль. Поэтому, что логично, заливать прошивку рекомендую без него.

А теперь о самом интересно — Robopad!

0111aa846e434d6a8127c56925278bf0.png

Робопад — это софт от bq, который представляет собой интерфейс управления роботами. Включает оно в себя только Головастика, Жука и Evolution, последнего робота в линейке от bq. Но при этом само приложение полностью открытое и при желании вы можете добавить свои собственные разработки.

84553c899bf442ed844461ed0c9aba21.jpg

Робопад поставляется в двух версия — обычной и «плюс-плюс». Отличие второй от первой в том, что вы можете задать роботу последовательность действий и после нажатия кнопки с изображением воздушного самолётика, робот выполнит команды ровно в том порядке, в каком вы их составили.

6c526c6aa3354db0aada01a3ffa67077.png

Приложение прекрасно работает как с мобильного, так и с планшета. К примеру, чаще всего я пользуюсь им на Sony Z1 — телефон хороший, но явно не топовый по производительности. Но приложение не тормозит и робот шустро выполняет все задания, сразу же после нажатия на соответствующую кнопку.
В двух словах, приложение — мякотка. Будь у меня в детстве все эти наборы-приложения, я бы наверное из всей этой испанской робототехники не вылазил. А ведь фактически, я не касаюсь даже половины робототехнического потенциала всей имеющейся в арсенале набора электроники. Приложение, наборы — это хорошо. Но нельзя не упомянуть …

BITBLOQ

6e8021d2b5c646379783735ded17569f.jpg

bitbloq — сервис, который лично для меня полностью обосновывает все эти робототехнические наборы. Это сервис визуального программирования. Иначе говоря, вся логика выстраивается с помощью графических блоков и впоследствии переводится в код. Это — настоящее спасение для тех, кто не умеет программировать, в частности для Adruino. Выглядит это примерно следующим образом:

d0a4913e20e8437e82adfc84888d079f.png

Из категорий слева вы выбираете блоки и выстаиваете между ними коммуникацию, логику и т.д. Во вкладке справа CODE справа вы всегда можете поглядеть как то, что вы складываете из цветных кирпичиков, выглядит глазами настоящего программиста.

Сам по себе сервис оказался для меня настоящим подарком. Программировать я не умею от слова «совсем», а вся эта красота делает мою мини-мечту освоить сервоприводы реальной!

Вместо послесловия.

Наборы роботехники великолепны — факт. Благодаря им я получил хоть какое-то представление об электронике. Они вряд ли будут интересны уже «продвинутым пользователям», но для меня, как я и сказал, они смогли помочь прорубить окно в мир сервоприводов, электронных компонентов и просто роботов. Ознакомившись с bitbloq я теперь уже всерьез возьмусь за kit de Robotica, а Жука … Жука, скорее всего, демонтирую и отдам племяннику — посмотрим справится ли со сборкой ребёнок, перешедший во второй класс.

Спасибо за внимание.
Надеюсь, материал был вам полезен.

P.S. Немного видео с демонстрацией возможностей этого робота:

© Geektimes