После почти двух лет разработки состоялся релиз открытой платформы OpenBot 0.8, предназначенной для создания движущихся колёсных роботов, основой которых выступает обычный смартфон на базе Android. Платформа создана в исследовательском подразделении компании Intel и развивает идею задействования при создании роботов вычислительных возможностей смартфона и встроенных в смартфон GPS, гироскопа, компаса и камеры. Код, написанный на Swift и Java, распространяется под лицензией MIT.
Программное обеспечение для управления роботом, анализа окружающего пространства и автономной навигации реализовано в виде приложения для платформы Android. Предполагается, что платформа может быть полезной для обучения робототехнике, быстрого создания собственных прототипов движущихся роботов и проведения исследований, связанных с автопилотами и автономной навигацией.
OpenBot позволяет с минимальными затратами начать эксперименты с движущимися роботами – для создания робота можно обойтись смартфоном среднего ценового диапазона и дополнительными компонентами общей стоимостью примерно 50 долларов. Шасси для робота, а также сопутствующие детали для крепления смартфона, печатаются на 3D-принтере по предлагаемым макетам. Если нет 3D-принтера, то можно вырезать каркас из картона или фанеры. Движение обеспечивают четыре электродвигателя.
Для управления двигателями, навесным оборудованием и дополнительными датчиками, а также для отслеживания заряда аккумуляторов, применяется плата Arduino Nano на базе микроконтроллера ATmega328P, которая подключается к смартфону через USB-порт. Дополнительно поддерживается подключение датчиков скорости и
ультразвукового сонара. Удалённое управление роботом может осуществляться через клиентское приложение для Android, через компьютер, находящийся в той же WiFi-сети, через web-браузер или через игровой контроллер c поддержкой Bluetooth (например, PS4, XBox и X3).
Выполняемое на смартфоне управляющее ПО включает систему машинного обучения для распознавания объектов и выполнения функций автопилота. Робот может определять искомые объекты, объезжать препятствия, следовать за выбранным объектом и решать задачи автономной навигации. В режиме автопилота робот способен переместиться в указанное место, адаптируясь к изменениям окружения. В ручном режиме робота можно использовать как движущуюся камеру с дистанционным управлением.
В новой версии:
- Реализовано web-приложение OpenBot Playground, позволяющее создавать программы для выполнения действий роботами. Программы определяются в виде блок-схемы. Передача программы на используемый в роботе смартфон производится через сканирование QR-кода.
- Для Android и iOS реализовано мобильное приложение Flutter Controller для дистанционного управления роботом, способное транслировать снимаемое роботом видео и передавать звук. Приложение написано с использованием фреймворка Flutter и использует WebRTC для передачи мультимедийных потоков.
- Добавлен запускаемый на стороне робота web-сервер для удалённого управления.
- Функции отслеживания объектов адаптированы к возможности использования фронтальной камеры на смартфоне.
- Добавлена поддержка соединения смартфона на роботе и смартфона, используемого для дистанционного управления, через собственную сеть Wi-Fi (на одном из смартфонов запускается точка доступа, а второй смартфон подключается к ней).
- Представлена облачная система OpenBot-Fleet, предназначенная для совместного построения навигационной модели с использованием машинного обучения. Суть проекта в том, что роботы передают в облако сведения о своём движении и данные с датчиков. Данные, поступающие от разных роботов, используются для тренировки модели машинного обучения. Модель затем применяется для вычисления оптимального маршрута и способности определять и обходить различные виды препятствий.