На самом деле не столь важно, какой конкретно конструктор использовать. Главное, чтобы он стал отправной точкой маршрута к сложной робототехнике и ROS. Для этого должна быть возможность установить на конструктор Raspberry Pi и писать верхнеуровневые программы. Соответственно, требуются навыки в Linux, Python и C++, чему учат примерно в 8–9 классе. Для ROS есть среда-симулятор Gazebo, т.е. можно программировать робота даже не имея его физически. Приступая к изучению ROS, естественно, лучше сразу работать с физическими устройствами, а не с симуляторами. Это позволит понять все алгоритмы движения и проблемы колесных баз.
Минимальные требования к характеристикам конструктора или робота:
Колёсная база с управлением скоростью через cmd_vel / линейная и угловая скорость. Одометрия с колес. IMU. | Lidar Wi‑Fi GPIO для подключения дополнительных сенсоров. | Бортовой компьютер на Ubuntu 24.04, ноутбук или одноплатник типа Raspberry Pi или Jetson. Возможность подключить камеру. |
В ходе обучения с этим набором вы откроете для себя мощную и надежную среду разработки программного обеспечения ROS, создавая своего собственного автономного робота. Вы сможете создавать 2D-карты с помощью SLAM (одновременная локализация и картирование), узнаете об AMCL и основах разработки роботов с помощью ROS.
Одометрия
Для ориентации робота и последующей навигации используются данные лидара, imu и данные с энкодеров колес. Если калибровка imu выполнена корректно, лидар корректно установлен, а значения энкодеров верны, то с одометрией проблем быть не должно. Из сложностей при сборке робота могут доставить хлопот правильное соотнесение подключенных контактов, идущих от l298n к teenzy.
Linorobot
Linorobot — это набор инструментов для создания совместимых с ROS роботов с открытым исходным кодом, который призван предоставить студентам, разработчикам и исследователям недорогую платформу для создания новых интересных приложений на основе ROS (операционная система для роботов). Linorobot поддерживает различные базовые модели роботов, которые вы можете построить с нуля.
Аппаратное обеспечение
Linorobot был создан с использованием легкодоступных компонентов, поэтому любой может собрать его дома. Каждая платформа Linorobot имеет свой собственный аппаратный контроллер, который преобразует скорости (X, Y, Z или угол поворота), переданные ROS Navigation Stack, в команды для двигателя, полученные из кинематики каждой платформы. Каждый контроллер должен быть модульным и масштабируемым. Компоненты можно заменять для гораздо более крупных роботов без переписывания прошивки или, по крайней мере, повторно использовать значительную часть кода.
Стек навигации ROS управляет роботом, отправляя команды в /cmd_vel с помощью сообщений geometry/Twist. Базовый контроллер на плате Teensy получает сообщения twist через rosserial_python и преобразует данные о скорости в команды для двигателя. PID-регулятор поддерживает скорость робота, вычисляя, сколько энергии требуется для вращения каждого двигателя. Ошибки вычисляются путем сравнения фактической скорости двигателя с желаемой скоростью, отправленной стеком навигации. Помимо самого робота, крайне желательно наличие внешнего ПК, на котором будут запускаться графические оболочки визуализации действий робота (rviz, gazebo).
Список компонентов и примерная стоимость (цены на ноябрь 2024)
raspberry pi 3b — 3000 р.; lidar rplidar a1 — 8000 р.; teenzy 3.2 — 2500 р.; imu 9250 (как вариант 9150 или 6050) — 300 р.; | силовые мосты l298n -2шт — 400р.; колесная пара с энкодерами типа А и В — 2000 р. (210 rpm — ссылка) | power bank на 10000mH — 1500 р. 3 аккумулятора 18650 и держатель -600 р. понижающий преобразователь dc-dc c 5V на 3.3V — 200 р. |
Итого: 18500 руб
Готовые конструкторы
Если смотреть в сторону комплектов или готовых решений, то в соотношении цена/возможности безоговорочно лидируют китайские производители и разработчики. В качестве примеров приведем 2 платформы.
FishBot ROS
Платформа разработки этого курса использует базовую версию FishBot производства Xiaoyu. Для базовой версии FishBot предусмотрено четыре типа датчиков: радар, ультразвуковой, энкодер и IMU. Эта платформа недорогая, а с другой стороны имеет обширную базу материалов, что делает ее очень подходящей для использования в качестве обучающего робота. Книга-курс на китайском но можно переводить с помощью онлайн-переводчиков.
Обучающего робота можно купить в магазине Yuxiang Shop: https://item.taobao.com/item.htm?id=696573635888
Преимущества:
- Дешёвый.
- Поддерживает ROS2.
- ESP32. Это значит, что его можно по Wi-Fi связать с ноутбуком и программировать на нём. То есть, сэкономить на Raspberry Pi.
- Есть GPIO для подключения дополнительных сенсоров.
Робокомплекты Yahboom
Например, образовательный робот-автомобиль ESP32 MicroROS Robot Car Virtual Machine переносит сложные вычислительные задачи в среду виртуальной машины ПК, не требуется встроенная плата разработки (Jetson NANO/Raspberry Pi) в качестве основного контроллера. Данные и информация, генерируемые автомобилем, удаленно передаются в систему виртуальной машины ПК сопроцессором ESP32 через функцию WIFI UDP MicroROS, и завершают расчеты и принимают решения. Yahboom предоставляет двигатель-энкодер 4PCS 310, аккумулятор большой емкости 7,4 В, профессиональную плату управления MicroROS, лидар TOF и другие аксессуары в сочетании с операционной системой ROS2-Humble и программированием Python3, чтобы помочь ему обходить препятствия, прокладывать маршруты, моделировать RVIZ, управлять синхронизацией нескольких машин и другие функции.
Компания Yahboom сформировала экосистему образования в области робототехники, охватывающую аппаратное обеспечение, программное обеспечение управления программированием и онлайн-курсы. Сейчас основными продуктами компании являются роботы ROS и периферийное оборудование, мобильные платформы роботов, бионические роботы с искусственным интеллектом. Yahboom стремится использовать высококачественные продукты и контент, чтобы помочь колледжам и университетам усилить построение специальностей, связанных с робототехникой, и повысить общий уровень экспериментальных проектов по робототехнике.
Leave a Reply