Доступные топики
На плате запущены Издатели и Подписчики, взаимодействующие с ROS через библиотеку rosserial
. STM32 и Arduino не имеют собственного интерфейса USB, поэтому, для того, чтобы они могли общаться с Raspberry, на плате TurtleBoard установлены UART-USB преобразователи и USB-hub, которые позволяют обеспечить коммуникацию с микрокомпьютером с помощью всего лишь одного провода USB.
Контроллер платы TurtleBoard - STM32 публикует в ROS Raspberry следующие топики, поддерживающие стандартные для ROS типы сообщений:
Топик /bat
Содержит данные о состоянии подключенной батарейки к плате. Тип сообщения: sensor_msgs/BatteryState
Топик /cmd_vel
Топик для управления перемещением робота. Тип сообщения: geometry_msgs/Twist
При публикации данных в топик робот начинает движение. Робот выполняет последнюю полученную команду до тех пор, пока не получит новые данные. Поэтому, например, для остановки робота необходимо передать "нулевые" значения скорости.
Топик /imu
Данные инерционного датчика (Inertial measurement unit), включающего в себя гироскоп, акселерометр и компас. Тип сообщения: sensor_msgs/Imu
Данные о ковариации не заполняются. Данные публикуются с частотой 20 Герц.
В связи с тем, что RViz по умолчанию некорректно отображает данные IMU, необходимо поставить соответствующий плагин для корректного отображения данных с IMU. Установка плагина осуществляется командой в терминале компьютера:
sudo apt install ros-noetic-rviz-imu-plugin
При добавлении визуализации данных в rviz необходимо выбрать тип сообщения rviz_imu_plugin->Imu
Топик /odom
Данные одометрии (положения робота, рассчитанного на основании вращения колес). В текущей версии повороты робота рассчитываются по данным IMU датчика, а перемещение на основе данных энкодеров на моторах. Тип сообщения: nav_msgs/Odometry
Топик /odom_pose2d
Упрощенные данные одометрии в 2d пространстве. Тип сообщения: geometry_msgs/Pose2D
Топик /scan
Данные, полученные с лидара (облако точек). Данные идут через Serial интерфейс лидара, USB-UART преобразователь и через USB hub. Тип сообщения: sensor_msgs/LaserScan
Топик /raw_odom
Данные полученные энкодеров колес. Время, счетчик "тиков" и угол датчика IMU. Тип сообщения: turtlebro/RawOdom
Last updated