Выпуск OpenBot 0.5, платформы для создания роботов на базе смартфона

Опубликован выпуск проекта OpenBot 0.5, развивающего платформу для создания движущихся колёсных роботов, основой которых выступает обычный смартфон на базе Android. Платформа создана в исследовательском подразделении компании Intel и развивает идею задействования при создании роботов вычислительных возможностей смартфона и встроенных в смартфон GPS, гироскопа, компаса и камеры.

Программное обеспечение для управления роботом, анализа окружающего пространства и автономной навигации реализовано в виде приложения для платформы Android. Код написан на Java, Kotlin и C++ и распространяется под лицензией MIT. Предполагается, что платформа может оказаться полезной для обучения робототехнике, быстрого создания собственных прототипов движущихся роботов и проведения исследований, связанных с автопилотами и автономной навигацией.

OpenBot позволяет с минимальными затратами начать эксперименты с движущимися роботами – для создания робота можно обойтись смартфоном среднего ценового диапазона и дополнительными компонентами общей стоимостью примерно 50 долларов. Шасси для робота, а также сопутствующие детали для крепления смартфона печатаются на 3D-принтере по предлагаемым макетам (если нет 3D-принтера, то можно вырезать каркас из картона или фанеры). Движение обеспечивают четыре электродвигателя.




Для управления двигателями, навесным оборудованием и дополнительными датчиками, а также для отслеживания заряда аккумуляторов, применяется плата Arduino Nano на базе микроконтроллера ATmega328P, которая подключается к смартфону через USB-порт. Дополнительно поддерживается подключение датчиков скорости и
ультразвукового сонара. Удалённое управление роботом осуществляется через клиентское приложение для Android, через компьютер, находящийся в той же WiFi-сети, через web-браузер или через игровой контроллер c поддержкой Bluetooth (например, PS4, XBox и X3).


Выполняемое на смартфоне управляющее ПО включает такие возможности, как систему машинного обучения для распознавания объектов (определяется около 80 типов объектов) и выполнения функций автопилота, позволяющую определять искомые объекты, объезжать препятствия, следовать за выбранным объектом и решать задачи автономной навигации. Например, робот может в режиме автопилоте переместится в указанное место, адаптируясь с изменению окружения, или движением можно управлять в ручном режиме, используя робота как движущуюся камеру.



В новой версии значительно переделана прошивка для Arduino, в которой появилась поддержка новых типов роботов (RTR и RC). В приложение для Android добавлена поддержка нового протокола обмена сообщениями с прошивкой микроконтроллера, реализована возможность обработки конфигурационных сообщений и переделана поддержка управления при помощи игровых контроллеров. Добавлены модели для печати на 3D-принтере нового шасси RC-Truck.


В клиентское приложение добавлена кнопка для переключения камеры на роботе и прекращена поддержка протокола RTSP в пользу WebRTC. В web-интерфейсе на базе Node.js предоставлена возможность дистанционного управления движением робота через браузер с трансляцией данных с видеокамеры робота при помощи WebRTC.






Release. Ссылка here.