[Перевод] OpenCat — создай своего робокотика

Если вы фанат робо-собаки от Boston Dynamics и хотели бы завести дома его маленькую копию, вам в помощь OpenCat.

OpenCat — платформа миниатюрных четвероногих роботов на основе Arduino и Raspberry Pi с открытым исходным кодом. Её разработал Petoi, производитель футуристических программируемых роботов-питомцев. Компания предлагает всем попробовать создать своего собственного робота-любимца. Смотрите, какой милый:

287bf1859e1c232209677c5331a46a73.gif84a117f7d4146063ca45e0610453d657.gif

В 2016 году доктор Жунчжонг Ли, вдохновленный знаменитым робопсом Boston Dynamics, начал работать над личным проектом. После года исследований и разработок он основал компанию «Petoi» и направил в неё все имеющиеся ресурсы. Проект должен был способствовать сотрудничеству в исследованиях четвероногих роботов, обучению и разработке доступных роботизированных домашних животных, а также должен был донести концепции STEM («science, technology, engineering and mathematics» или «наука, технологии, инженерия и математика») до масс и вдохновить новичков (как детей, так и взрослых) присоединиться к созданию роботизированного ИИ.

c5abf489b061550eb37543b785c91fd0.gif

Проект пока ещё представляет собой слишком сложную систему, доступную только серьёзным производителям, но его создатели решили поделиться своей разработкой с сообществом через массовое производство и снизить затраты на оборудование и программное обеспечение. OpenCat развернули на бионическом симпатичном коте-роботе Nybble и высокопроизводительной роботе-собаке Petoi размером с ладонь. Сейчас Petoi установили производственную линию и могут поставлять доступные роботизированные комплекты и аксессуары по всему миру.

Проект представляет собой базовую платформу с открытым исходным кодом для создания программируемых походок, передвижения и развертывания четвероногих роботов с инверсной кинематикой, а также для переноса симуляций в реальный мир с помощью C/C++/Python. Пользователи уже развернули симуляции в NVIDIA Issac и пробуют обучение с подкреплением на роботах. Они также успешно протестировали OpenCat на своих питомцах-роботах, напечатанных на 3D-принтере.

1b28db58b651749af8851d72c26d4493.gif723da288092ec6a40312928558ff3e59.gif

Благодаря настраиваемой плате Arduino и сервоприводам, координирующими все инстинктивные и сложные движения (ходьба, бег, прыжки, сальто назад), можно крепить к роботам различные датчики, позволяющие обеспечить восприятие и внедрить возможности искусственного интеллекта при помощи Raspberry Pi или других чипов ИИ (наподобие Nvidia Jetson Nano) через проводное/беспроводное соединение. 

Ознакомиться со всеми работами пользователей можно здесь.

b95cf62f170f7ab9b148e81e891a70fe.gif

Процесс установки:

Программное обеспечение OpenCat работает как на Nybble, так и на Bittle и управляется NyBoard на базе ATmega328P. Более подробную документацию можно найти в Petoi Doc Center.

Для настройки платы:

  1. Загрузите репозиторий и выполните развёртывание. Удалите суффикс -main (или любое имя ветки) папки.

  2. Откройте файл OpenCat.ino, выберите своего робота и версию платы.

#define BITTLE    //Petoi 9 DOF robot dog: 1x on head + 8x on leg
//#define NYBBLE  //Petoi 11 DOF robot cat: 2x on head + 1x on tail + 8x on leg

//#define NyBoard_V0_1
//#define NyBoard_V0_2
#define NyBoard_V1_0
//#define NyBoard_V1_1
  1. Закомментируйте #define MAIN_SKETCH, чтобы перевести код в режим конфигурации платы. Загрузите и следуйте инструкциям для продолжения.

// #define MAIN_SKETCH

  1. Если вы активируете #define AUTO_INIT, программа установится автоматически без подсказок. При этом смещение суставов не сбрасывается, а производится калибровка IMU.

  2. Подключите USB-загрузчик к NyBoard и установите драйвер, если USB-порт не найден в Arduino → Tools → Port.

  3. Нажмите кнопку загрузки (→) в верхнем левом углу в Arduino IDE.

  4. Откройте монитор последовательного порта Arduino IDE. Вы можете найти кнопку в разделе «Инструменты» или в правом верхнем углу IDE.

Установите монитор последовательного порта, как «нет конца строки» и со скоростью 115200 бод. Вам будет предложено:

Reset joint offsets? (Y/N): Y

Введите «Y» и нажмите Enter, если вы хотите сбросить все смещения суставов до 0.

Программа сделает сброс, затем обновит константы и инстинктивные навыки в статической памяти.

  1. Калибровка IMU (инерциальная измерительная единица).

Вам будет предложено:

Calibrate the IMU? (Y/N):  Y 

Введите «Y» и нажмите Enter, если вы никогда не калибровали IMU или хотите повторить калибровку.

Положите робота на стол и не прикасайтесь к нему. Робот издаст длинный звуковой сигнал шесть раз, чтобы дать вам достаточно времени. Затем он будет считывать данные сотен датчиков и сохранять смещения. Он подаст звуковой сигнал, когда калибровка закончится.

Когда монитор последовательного порта напечатает «Готово!», вы можете закрыть его и выполнить следующий шаг.

  1. Раскомментируйте #define MAIN_SKETCH, чтобы сделать его активным. На этот раз код становится обычной программой для основных функций. Загрузите код.

#define MAIN_SKETCH

Когда монитор последовательного порта напечатает «Готово!», робот будет готов выполнять ваши следующие инструкции.

  1. Если вы никогда не калибровали смещение суставов и не сбрасывали его на шаге 2, вам необходимо его откалибровать. Если вы загрузите робота, положив его на бок, он автоматически войдет в состояние калибровки, чтобы вы могли установить ноги. В противном случае он войдет в нормальное состояние покоя.

  2. Вы можете использовать монитор последовательного порта для его калибровки напрямую. Или вы можете подключить ключ Bluetooth и использовать приложение Petoi (на Android/iOS) с более удобным интерфейсом. Мобильное приложение доступно тут:

Вы можете обратиться к разделу калибровки в Руководстве пользователя () и Руководстве по приложению Petoi.

  1. Вы можете использовать инфракрасный пульт дистанционного управления или другие приложения (такие как приложение Petoi, Python, монитор последовательного порта и т. д.), чтобы играть с роботом (https://bittle.petoi.com/7-play-with-bittle) .

9dea21e9eb54367d7c452b233c2d91b5.gif

Что ещё интересного есть в блоге Cloud4Y

→ Как открыть сейф с помощью ручки

→ Сделайте Linux похожим на Windows 95

→ Как распечатать цветной механический телевизор на 3D-принтере

→ WD-40: средство, которое может почти всё

→ Изобретатели, о которых забыли

Подписывайтесь на наш Telegram-канал, чтобы не пропустить очередную статью. Пишем только по делу. А ещё напоминаем про второй сезон нашего сериала ITить-колотить. Его можно посмотреть на YouTube и ВКонтакте.

Свежая серия

© Habrahabr.ru