ROS-топики
В процессе работы ровера все данные и команды передаются через ROS-топики. Они используются для обмена информацией между нодами: управления движением, получения данных с сенсоров и взаимодействия с внешними интерфейсами.
Актуальный список доступных топиков можно получить командой:
ros2 topic list
Для базовой конфигурации BRover E5 список включает следующие основные топики.
Топики камеры
Топики, связанные с получением и передачей видеопотока с USB-камеры:
/camera1
/camera1/image_raw
/camera1/image_compressed
/camera1/compressedDepth
/camera1/image_raw/theora
/image_raw/zstd
Они используются для передачи изображений в различных форматах. В большинстве случаев применяются топики /camera1 и /camera1/image_raw, так как они содержат исходные данные изображения.
Управление моторами
Для задания скоростей вращения каждого двигателя используются отдельные топики:
/m_vel1
/m_vel2
/m_vel3
/m_vel4
/m_vel5
/m_vel6
Тип сообщения:
std_msgs/msg/Float32
В эти топики публикуются значения скоростей, которые затем через ноду cyphal_bridge передаются на драйверы моторов.
Соответствие моторов:
- /m_vel1 – /m_vel3 — левая ось ровера (переднее, среднее, заднее)
- /m_vel4 – /m_vel6 — правая ось ровера (переднее, среднее, заднее)
Обратная связь от моторов
Каждый драйвер двигателя передаёт данные о текущей скорости вращения в соответствующий топик:
/m_odom1
/m_odom2
/m_odom3
/m_odom4
/m_odom5
/m_odom6
Тип сообщения:
std_msgs/msg/Float32
Эти данные используются для анализа состояния системы и расчёта одометрии.
Соответствие одометрии:
- /m_odom1 – /m_odom3 — левая ось ровера (переднее, среднее, заднее)
- /m_odom4 – /m_odom6 — правая ось ровера (переднее, среднее, заднее)
Одометрия робота
Положение ровера в пространстве публикуется в топик:
/odom_pose2d
Тип сообщения:
geometry_msgs/msg/Pose2D
Топик содержит координаты x, y и угол поворота θ, описывающие положение ровера в пространстве.

Данные IMU
Инерциальный датчик публикует данные в топик:
/bhi360/imu
Тип сообщения:
sensor_msgs/msg/Imu
Включает ускорения, угловые скорости и ориентацию робота.
Состояние батареи
Информация о питании доступна в топике:
/bat
Тип сообщения:
sensor_msgs/msg/BatteryState
Содержит данные о напряжении, токе и уровне заряда аккумулятора.
Джойстик
Данные от джойстика публикуются в топик:
/joy
Тип сообщения:
sensor_msgs/msg/Joy
Используется для передачи состояния кнопок и осей управления.
Пользовательская кнопка
Состояние пользовательской кнопки передаётся через топик:
/user_button
Значения:
true— кнопка нажатаfalse— кнопка отпущена
Получение информации о топиках
Для получения подробной информации о любом топике можно использовать команду:
ros2 topic info <имя_топика>
Например:
ros2 topic info /odom_pose2d
Это позволяет узнать тип сообщений, количество подписчиков и издателей, а также другие параметры топика.