ROS-топики
Контроллер управления роботом, являясь ROS-системой, активно использует топики для обмена сообщениями между своими модулями. Рассмотрим базовые команды для получения информации о топиках.
Для вывода списка всех топиков, работающих в системе робота, в командной строке введите:
Чтобы посмотреть, как ноды взаимодействуют между собой, используйте команду:
Чтобы увидеть тип сообщения, паблишера и подписчика определенного топика, введите команду:
Чтобы вывести только тип сообщения, введите:
Если вам нужно посмотреть поля какого определенного сообщения, введите:
Для мониторинга передаваемых данных в топике введите:
Для отправки данных в определенный топик, сипользуйте следующий шаблон:
Например, чтобы отправить что-то в топик cmd_vel, введите:
Список всех топиков
Ниже перечислим все топики, работающие по умолчанию при старте файла bringup.launch (по умолчанию запущен на бортовом компьютере робота):
/bat (sensor_msgs/BatteryState) - состояние питания робота
/cmd_pose (geometry_msgs/Twist) - желаемые положения и ориентация корпуса робота
/cmd_vel (geometry_msgs/Twist) - желаемая скорость перемещения робота
/cur_device (std_msgs/UInt8) - текущее подключенное устройство. 1 - голова, 2 - Radiolink T8S, 3 - модуль навигации, 4 - Robogui, 0 - ни одного устройства.
/diagnostics (diagnostics_msgs/DiagnosticArray) - часть модуля joy, не используется в контроллере робота
/disable (std_msgs/Bool) - если True, то блокирует всех, кто на него подписан. В данном случае блокируются ноды locomotion_controller и radiolink_teleop
/ef_position/command (geometry_msgs/PoseArray) - желаемые положения ступней ног робота
/ef_position/states (geometry_msgs/PoseArray) - текущее положение стоп робота
/foot_contacts (champ_msgs/ContactStamped) - показывает, когда нога находится в фазе опоры
/gui/cmd_pose (geometry_msgs/Twist) - желаемые положения и ориентация корпуса робота
/gui/cmd_vel (geometry_msgs/Twist) - желаемая скорость перемещения робота
/gui/ef_position/command (geometry_msgs/PoseArray) - желаемые положения ступней ног робота
/gui/joint_group_position_controller/command (trajectory_msgs/JointTrajectoryPoint) - желаемое угловое положение сочленений робота
/gui/status (std_msgs/Bool) - статус готовности программы к работе
/hmi/beeper (power_bridge/HMIBeeper) - управляет пищалкой в роботе
/hmi/led (/power_bridge/HMILed) - управляет светодиодом на кнопке питания
/imu/data (sensor_msgs/Imu) - выдает отфильтрованные данные об ориентации, угловой скорости и линейном ускорении корпуса робота
/imu/mag (sensor_msgs/MagneticField) - вектор магнитного поля
/imu/raw (sensor_msgs/Imu) - сырые необработанные данные с IMU
/imu/temp (sensor_msgs/Temperature) - температура микросхемы IMU
/joint_group_position_controller/command (trajectory_msgs/JointTrajectoryPoint) - желаемое угловое положение сочленений робота
/joint_states (sensor_msgs/JointState) - состояние всех электроприводов робота (угол, скорость момент)
/joy (/sensor_msgs/Joy) - выдает состояние джойстика
/joy/set_feedback (unknown_type) - отправляет команды на джойстик. Часть модуля joy, не используется в контроллере робота.
/head/cmd_pose (geometry_msgs/Twist) - желаемые положения и ориентация корпуса робота
/head/cmd_vel (geometry_msgs/Twist) - желаемая скорость перемещения робота
/head/ef_position/command (geometry_msgs/PoseArray) - желаемые положения ступней ног робота
/head/joint_group_position_controller/command (trajectory_msgs/JointTrajectoryPoint) - желаемое угловое положение сочленений робота
/head/status (std_msgs/Bool) - статус готовности программы к работе
/nav/cmd_pose (geometry_msgs/Twist) - желаемые положения и ориентация корпуса робота
/nav/cmd_vel (geometry_msgs/Twist) - желаемая скорость перемещения робота
/nav/ef_position/command (geometry_msgs/PoseArray) - желаемые положения ступней ног робота
/nav/joint_group_position_controller/command (trajectory_msgs/JointTrajectoryPoint) - желаемое угловое положение сочленений робота
/nav/status (std_msgs/Bool) - статус готовности программы к работе
/power/buttons (power_bridge/PowerButtons) - получает информацию о нажатых пользовательской кнопки и кнопки экстренного прекращения работы
/radiolink/cmd_pose (geometry_msgs/Twist) - желаемые положения и ориентация корпуса робота
/radiolink/cmd_vel (geometry_msgs/Twist) - желаемая скорость перемещения робота
/radiolink/ef_position/command (geometry_msgs/PoseArray) - желаемые положения ступней ног робота
/radiolink/joint_group_position_controller/command (trajectory_msgs/JointTrajectoryPoint) - желаемое угловое положение сочленений робота
/radiolink/status (std_msgs/Bool) - статус наличия соединения с геймпадом. True - если соединение установлено, False - если соединение отсутствует.
/rosout - системный топик для публикации логово
/rosout_agg - системный топик для публикации логово
/tf - топик для отслеживания положения и ориентации систем координат робота
/tf_static - топик для отслеживания положения и ориентации систем координат робота
Last updated