Перейти к основному содержимому

Образ Raspberry Pi

Микрокомпьютер Raspberry Pi 5, установленный в роботах BRover E5, поставляется с предустановленным образом операционной системы на базе Ubuntu Server 24.04.3 LTS.

Образ изначально подготовлен для работы с роботом и содержит все необходимые компоненты для запуска, управления и разработки.

Актуальный образ

Актуальную версию образа можно скачать по ссылке:  

Образы rover-e

Предустановленное программное обеспечение

В состав образа уже входят ROS 2 Jazzy, системные библиотеки, а также пользовательские пакеты, необходимые для работы ровера.

Системные пакеты

В системе предустановлены, в том числе, следующие пакеты:

  • libhidapi-dev
  • libboost-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-камер и его публикация в систему ROS
  • ros-jazzy-rosbridge-server — организация обмена данными между ROS и внешними приложениями (например, веб-интерфейсами) через JSON
  • ros-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-utils
  • yakut

Обмен данными с драйверами двигателей осуществляется по протоколу 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-карту рекомендуется использовать:

Образ записывается без предварительных пользовательских настроек.