Образ Raspberry Pi
Микрокомпьютер Raspberry Pi 5, установленный в роботах BRover E5, поставляется с предустановленным образом операционной системы на базе Ubuntu Server 24.04.3 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_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
Имя хоста в «чистом» образе установлено как:
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
Сервис автозапуска ROS
После включения ровера автоматически запускаются все необходимые ROS-ноды.
Это реализовано через системный сервис:
ros_nodes.service
Сервис запускает скрипт:
/usr/local/bin/start_ros_nodes.sh
который инициализирует все необходимые компоненты системы.
При необходимости сервисом можно управлять вручную:
Остановить:
sudo systemctl stop ros_nodes.service
Запустить:
sudo systemctl start ros_nodes.service
Запись образа на SD-карту
Для записи образа операционной системы на SD-карту рекомендуется использовать:
Образ записывается без предварительных пользовательских настроек.