Программное обеспечение
Микрокомпьютер Raspberry Pi 5, установленный в роботах BRover-E5, поставляется с предустановленным образом операционной системы на базе Ubuntu Server 24.04 LTS.
Образ изначально подготовлен для работы с роботом и содержит все необходимые компоненты для запуска, управления и разработки.
Актуальную версию образа можно скачать по ссылке:
Предустановленное программное обеспечение
В состав образа уже входят ROS 2 Jazzy, системные библиотеки, а также пользовательские пакеты, необходимые для работы ровера.
Системные пакеты
В системе предустановлены, в том числе, следующие пакеты:
libhidapi-devlibboost-all-dev
ROS 2 и рабочее окружение
В качестве среды разработки используется ROS 2 Jazzy. Рабочее пространство расположено в директории:
/home/pi/ros2_ws/
Внутри workspace уже размещены и собраны пользовательские пакеты проекта.
Основным является набор пакетов brover, который реализует базовую функциональность ровера:
brover_control— общее управление системой ровераbrover_imu_node— работа с инерциальным датчиком (IMU)brover_move_control— управление приводами (двигателями)brover_odom_simple— расчёт и публикация одометрииbrover_radiolink_control— управление с радиомодельного джойстикаbrover_bat_monitor- мониторинг состояния аккумуляторной батареи
Дополнительно используется пакет:
brover_web— веб-интерфейс для управления ровером через браузер
Также предустановлены базовые ROS-пакеты:
ros-jazzy-tf-transformations— выполнение математических преобразований систем координат (кватернионы, матрицы поворота)ros-jazzy-usb-cam— получение видеопотока с USB-камер и его публикация в систему ROSros-jazzy-rosbridge-server— организация обмена данными между ROS и внешними приложениями (например, веб-интерфейсами) через JSONros-jazzy-joy— получение и обработка данных с игровых джойстиков и геймпадов
Параметры ROS
В системе задан домен ROS по умолчанию:
ROS_DOMAIN_ID=10
Сетевые настройки по умолчанию
Название и пароль Wi-Fi сетей, которые установлены для подключения в образе по умолчанию:
SSID: TurtleBro / TurtleBro5G
Password: turtlew001
Если ровер не может подключиться к известной Wi-Fi-сети, он может перейти в режим Wi-Fi fallback и создать собственную точку доступа.
Параметры fallback-точки:
SSID: имя хоста ровера, например brover01
Password: turtlew001
IP-адрес ровера: 192.168.50.1
Подробнее см. раздел Сетевой fallback.
Имя хоста в «чистом» образе установлено как:
brover01
После записи образа рекомендуется изменить его на:
broverXX
где XX — номер ровера, указанный на Raspberry Pi.
Доступ к системе
Для доступа к системе используются следующие учетные данные:
Логин: pi
Пароль: brobro
Этот пароль используется как для SSH-подключения, так и для входа в веб-версию VS Code (code-server).
CAN и Cyphal
Для работы с шиной CAN и протоколом Cyphal в системе предустановлены необходимые утилиты:
can-utilsyakut
Обмен данными с драйверами двигателей осуществляется по протоколу Cyphal (поверх CAN FD).
Параметры CAN-шины хранятся в файле:
/opt/voltbro/config.ini
Параметры Cyphal находятся в:
~/.yakut_params
Конфигурация по умолчанию:
Type = fd
Bitrate = 1000000
Dbitrate = 8000000
UAVCAN__CAN__IFACE=socketcan:can0
UAVCAN__NODE__ID=101
UAVCAN__CAN__MTU=64
Сервисы автозапуска
После включения ровера основные программные компоненты запускаются автоматически через systemd.
К ключевым сервисам относятся:
ros_nodes.service— запуск основных ROS 2-нод ровера;camera.service— запуск USB-камеры через пакетusb_cam;fastdds.service— запуск Fast DDS Discovery Server;canhat.service— настройка CAN-интерфейсов;code-server@pi.service— запуск VS Code Web для пользователяpi;network-fallback.service— мониторинг Ethernet-подключения и fallback-сети;wifi-ap-fallback.service— мониторинг Wi-Fi и запуск fallback-точки доступа.
Подробное описание сервисов, команд проверки и логов приведено в разделе Системные сервисы. Подробности сетевых fallback-режимов описаны в разделе Сетевой fallback.
Запись образа на SD-карту
Для записи образа операционной системы на SD-карту рекомендуется использовать:
Образ записывается без предварительных пользовательских настроек.