Проект: Развертывание системы управления ROS 2 Jazzy Jalisco на мобильной платформе Robot Car с использованием архитектуры
Актуальность темы
Цель проекта
Задачи
Аппаратная архитектура и выбор компонентов
Спецификация компонентов
Спецификация компонентов
Программная реализация: Верхний уровень(Raspberry Pi 5)
Установка ОС и окружения
Установка ROS 2 Jazzy Jalisco
Сборка агента micro-ROS (Micro-ROS Agent)
Программная реализация: Нижний уровень (Микро контроллер)
Логика работы прошивки
Алгоритм управления (Кинематика)
Пример кода (Фрагмент настройки транспорта)
Интеграция и тестирование системы
Результаты и заключение
674.44K
Категория: ИнформатикаИнформатика

Проект

1. Проект: Развертывание системы управления ROS 2 Jazzy Jalisco на мобильной платформе Robot Car с использованием архитектуры

micro-ROS и Raspberry Pi 5

2. Актуальность темы

Современная робототехника переживает переходный этап
стандартизации программного обеспечения. Выход ROS 2 Jazzy
Jalisco (LTS-версия, май 2024 года) с поддержкой до 2029 года
задает новый стандарт для индустрии. В то же время, появление
одноплат ного компьютера Raspberry Pi 5 открывает возможности
для реализации ресурсоемких алгоритмов (SLAM, нейросети)
непосредственно на борту компактных роботов. Однако прямое
управление моторами и датчиками реального времени требует
использования мик роконтроллеров. Связующим звеном в этой
архитектуре выступает micro-ROS, позволяю щий интегрировать
маломощные устройства в экосистему ROS 2 как полноправные
узлы (nodes)

3. Цель проекта

Создание программноаппаратного комплекса
мобильного робота на базе
Raspberry Pi 5 под
управлением ROS 2 Jazzy с
реализацией низкоуровневого
управления через micro ROS.

4. Задачи

1. Обосновать выбор аппаратной архитектуры
2. Установить и настроить ОС Ubuntu 24.04 и ROS 2 Jazzy на
Raspberry Pi 5
3. Развернуть агент micro-ROS на хост-компьютере (Pi 5)
4. Разработать прошивку для микроконтроллера (клиента) для
управления приводами
5. Протестировать взаимодействие компонентов системы

5. Аппаратная архитектура и выбор компонентов

В проекте используется двухуровневая архитектура управления.
Верхний уровень (High Level Control) отвечает за навигацию, зрение
и планирование пути. Нижний уровень (Low Level Control) отвечает
за одометрию, PID-регулирование оборотов двигателей и обработ
ку прерываний энкодеров.

6. Спецификация компонентов

7. Спецификация компонентов

• Вычислительный модуль (Host):Raspberry Pi 5 (8GBRAM).Выбран из-за
наличия интерфейса PCIe, высокой производительности CPU CortexA76 и официальной поддержки Ubuntu 24.04
• Микроконтроллер (Client): ESP32 (DevKit V1) или Raspberry Pi Pico.
Выбран из за встроенного Wi-Fi/Bluetooth (для ESP32) и поддержки
FreeRTOS, необходимой для micro-ROS
• Шасси: 4-колесная платформа (4WD) с DC-моторами и магнитными
энкодерами
• Драйвер моторов: L298N или TB6612FNG
• Питание: Li-Ion сборка 3S (12.6B) c DC-DC преобразователями на 5В (5А)
для Pi 5

8. Программная реализация: Верхний уровень(Raspberry Pi 5)

Для корректной работы ROS2Jazzyнеобходима операционная
система Ubuntu 24.04 Noble Numbat

9. Установка ОС и окружения

• Используется официальный образ Ubuntu Server 24.04 LTS (64-bit)
для Raspberry Pi
• Конфигурация сети: Настройка Wi-Fi и статического IP через
Netplan для доступа по SSH
• Настройка периферии: Активация UARTв/boot/firmware/config.txt

10. Установка ROS 2 Jazzy Jalisco

• Установка производится из официальных репозиториев OSRF.
• Основные команды установки:
• sudo apt update && sudo apt install curl-y
• sudo curl –sSL
https://raw.githubusercontent.com/ros/rosdistro/master/ros.key \-o
/usr/share/keyrings/ros-archive-keyring.gpg
• sudo apt update
• sudo apt install ros-jazzy-desktop

11. Сборка агента micro-ROS (Micro-ROS Agent)

Агент выступает мостом между микроконтроллером и сетью ROS 2. Для версии Jazzy
рекомендуется сборка из исходного кода
Процесс сборки:
1. Создание рабочего пространства: mkdir-p ~/microros_ws/src cd ~/microros_ws
2. Клонирование репозиториев (ветка jazzy): git clone-b jazzy
https://github.com/micro-ROS/micro_ros_setup.git \ src/micro_ros_setup
rosdep update && rosdep install--from-paths src--ignore-src-y colcon
build
source install/local_setup.bash
3. Создание агента:
ros2 run micro_ros_setup create_agent_ws.sh
ros2 run micro_ros_setup build_agent.sh

12. Программная реализация: Нижний уровень (Микро контроллер)

Микроконтроллер выполняет задачу непосредственного
управления оборудованием. Программный код пишется на C++ с
использованием библиотеки micro_ros_arduino или че рез
micro_ros_platformio.

13. Логика работы прошивки

• Микроконтроллер реализует следующие сущности ROS 2:
• Subscriber (Подписчик): Топик /cmd_vel (тип
geometry_msgs/Twist). Принимает команды скоростей
• Publisher (Издатель): Топик /odom (тип nav_msgs/Odometry).
Публикует одометрию
• Таймер: Обеспечивает циклическую публикацию данных.

14. Алгоритм управления (Кинематика)

Для дифференциального привода преобразование скорости
робота (V,ω) в скорости колес (VL,VR) выполняется по формулам:
Где L — расстояние между колесами (колесная база)

15. Пример кода (Фрагмент настройки транспорта)

16. Интеграция и тестирование системы

• Запуск Micro-ROS Agent: подключаем микроконтроллер к
Raspberry Pi 5 через USB. (1) ros2 run micro_ros_agent
micro_ros_agent serial--dev /dev/ttyUSB0-b 115200
• Проверка топиков: ros2 topic list ( ожидаемый вывод: /cmd_vel,
/odom, /parameter_events, /rosout)
• Тест телеоперации: Для управления роботом с клавиатуры: ros2
run teleop_twist_keyboard teleop_twist_keyboard

17. Результаты и заключение

В ходе работы над проектом была
успешно развернута новейшая
версия ROS 2 Jazzy Jalisco на
Raspberry Pi 5. Реализована
архитектура распределенного
управления, где вы сокоуровневые
задачи выполняются на мощном
процессоре, а задачи реального
времени на микроконтроллере
через micro-ROS.
Достигнутые показатели:
1.
Время загрузки системы до
готовности: ∼25 секунд.
2.
Стабильность соединения:
непрерывная работа более
2 часов.
3.
Точность следования
скоростям: погрешность <
5%.
Использование связки ROS 2 Jazzy
+ Pi 5 + Micro-ROS доказало свою
эффективность как современная
платформа для робототехники.
English     Русский Правила