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

Программное обеспечение

Микрокомпьютер Raspberry Pi 5, установленный в роботах BRover-E5, поставляется с предустановленным образом операционной системы на базе Ubuntu Server 24.04 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_bat_monitor - мониторинг состояния аккумуляторной батареи

Дополнительно используется пакет:

  • 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

Если ровер не может подключиться к известной 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-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

Сервисы автозапуска

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

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