> For the complete documentation index, see [llms.txt](https://voltbro.gitbook.io/robot-sobaka-mors/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://voltbro.gitbook.io/robot-sobaka-mors/ustroistvo-robota/ros-topiki.md).

# ROS-топики

Контроллер управления роботом, являясь ROS-системой, активно использует топики для обмена сообщениями между своими модулями. Рассмотрим базовые команды для получения информации о топиках.

Для вывода списка всех топиков, работающих в системе робота, в командной строке введите:

```
rostopic list
```

Чтобы посмотреть, как ноды взаимодействуют между собой, используйте команду:

```
rqt_graph
```

Чтобы увидеть тип сообщения, паблишера и подписчика определенного топика, введите команду:

```
rostopic info /topic_name
```

Чтобы вывести только тип сообщения, введите:

```
rostopic type /topic_name
```

Если вам нужно посмотреть поля какого определенного сообщения, введите:

```
rosmsg show msg_name
```

Для мониторинга передаваемых данных в топике введите:

```
rostopic echo /topic_name
```

Для отправки данных в определенный топик, сипользуйте следующий шаблон:

```
rostopic pub /topic_name topic_type "data"
```

Например, чтобы отправить что-то в топик cmd\_vel, введите:

```
rostopic pub /joy_converter/cmd_vel geometry_msgs/Twist "linear:
  x: 0.0
  y: 0.0
  z: 0.0
angular:
  x: 0.0
  y: 0.0
  z: 0.0" 

```

## Список всех топиков

Ниже перечислим все топики, работающие по умолчанию при старте файла bringup.launch (по умолчанию запущен на бортовом компьютере робота):

**/bat** ([sensor\_msgs/BatteryState](https://docs.ros.org/en/melodic/api/sensor_msgs/html/msg/BatteryState.html)) - состояние питания робота

**/cmd\_pose** ([geometry\_msgs/Twist](https://docs.ros.org/en/melodic/api/geometry_msgs/html/msg/Twist.html)) - желаемые положения и ориентация корпуса робота

**/cmd\_vel** ([geometry\_msgs/Twist](https://docs.ros.org/en/melodic/api/geometry_msgs/html/msg/Twist.html)) - желаемая скорость перемещения робота

**/cur\_device** ([std\_msgs/UInt8](https://docs.ros.org/en/melodic/api/std_msgs/html/msg/UInt8.html)) - текущее подключенное устройство. 1 - голова, 2 - Radiolink T8S, 3 - модуль навигации, 4 - Robogui, 0 - ни одного устройства.&#x20;

**/diagnostics** (diagnostics\_msgs/DiagnosticArray) - часть модуля joy, не используется в контроллере робота

**/disable** (std\_msgs/Bool) - если True, то блокирует всех, кто на него подписан. В данном случае блокируются ноды locomotion\_controller и radiolink\_teleop

**/ef\_position/command** ([geometry\_msgs/PoseArray](https://docs.ros.org/en/melodic/api/geometry_msgs/html/msg/PoseArray.html)) - желаемые положения ступней ног робота

**/ef\_position/states** ([geometry\_msgs/PoseArray](https://docs.ros.org/en/melodic/api/geometry_msgs/html/msg/PoseArray.html)) - текущее положение стоп робота

**/foot\_contacts** ([champ\_msgs/ContactStamped](https://github.com/voltdog/mors_base/blob/main/champ_msgs/msg/ContactsStamped.msg)) - показывает, когда нога находится в фазе опоры

**/gui/cmd\_pose** ([geometry\_msgs/Twist](https://docs.ros.org/en/melodic/api/geometry_msgs/html/msg/Twist.html)) - желаемые положения и ориентация корпуса робота

**/gui/cmd\_vel** ([geometry\_msgs/Twist](https://docs.ros.org/en/melodic/api/geometry_msgs/html/msg/Twist.html)) - желаемая скорость перемещения робота

**/gui/ef\_position/command** ([geometry\_msgs/PoseArray](https://docs.ros.org/en/melodic/api/geometry_msgs/html/msg/PoseArray.html)) - желаемые положения ступней ног робота

**/gui/joint\_group\_position\_controller/command** ([trajectory\_msgs/JointTrajectoryPoint](https://docs.ros.org/en/noetic/api/trajectory_msgs/html/msg/JointTrajectoryPoint.html)) - желаемое угловое положение сочленений робота

**/gui/status** ([std\_msgs/Bool](https://docs.ros.org/en/noetic/api/std_msgs/html/msg/Bool.html)) - статус готовности программы к работе

**/hmi/beeper** (power\_bridge/HMIBeeper) - управляет пищалкой в роботе

**/hmi/led** (/power\_bridge/HMILed) - управляет светодиодом на кнопке питания

**/imu/data** [(sensor\_msgs/Imu)](http://docs.ros.org/api/sensor_msgs/html/msg/Imu.html) - выдает отфильтрованные данные об ориентации, угловой скорости и линейном ускорении корпуса робота

**/imu/mag** [(sensor\_msgs/MagneticField)](http://docs.ros.org/api/sensor_msgs/html/msg/MagneticField.html) - вектор магнитного поля

**/imu/raw** [(sensor\_msgs/Imu)](http://docs.ros.org/api/sensor_msgs/html/msg/Imu.html) - сырые необработанные данные с IMU

**/imu/temp** [(sensor\_msgs/Temperature)](http://docs.ros.org/api/sensor_msgs/html/msg/Temperature.html) - температура микросхемы IMU

**/joint\_group\_position\_controller/command** ([trajectory\_msgs/JointTrajectoryPoint](https://docs.ros.org/en/noetic/api/trajectory_msgs/html/msg/JointTrajectoryPoint.html)) - желаемое угловое положение сочленений робота

**/joint\_states** ([sensor\_msgs/JointState](https://docs.ros.org/en/melodic/api/sensor_msgs/html/msg/JointState.html)) - состояние всех электроприводов робота (угол, скорость момент)

**/joy** (/sensor\_msgs/Joy) - выдает состояние джойстика

**/joy/set\_feedback** (unknown\_type) - отправляет команды на джойстик. Часть модуля joy, не используется в контроллере робота.

**/head/cmd\_pose** ([geometry\_msgs/Twist](https://docs.ros.org/en/melodic/api/geometry_msgs/html/msg/Twist.html)) - желаемые положения и ориентация корпуса робота

**/head/cmd\_vel** ([geometry\_msgs/Twist](https://docs.ros.org/en/melodic/api/geometry_msgs/html/msg/Twist.html)) - желаемая скорость перемещения робота

**/head/ef\_position/command** ([geometry\_msgs/PoseArray](https://docs.ros.org/en/melodic/api/geometry_msgs/html/msg/PoseArray.html)) - желаемые положения ступней ног робота

**/head/joint\_group\_position\_controller/command** ([trajectory\_msgs/JointTrajectoryPoint](https://docs.ros.org/en/noetic/api/trajectory_msgs/html/msg/JointTrajectoryPoint.html)) - желаемое угловое положение сочленений робота

**/head/status** ([std\_msgs/Bool](https://docs.ros.org/en/noetic/api/std_msgs/html/msg/Bool.html)) - статус готовности программы к работе

**/lcm/servo\_cmd** ([trajectory\_msgs/JointTrajectoryPoint](https://voltbro.gitbook.io/upravlenie-elektrodvigatelem))  - показывает, какие команды были отправлены на сервоприводы

**/nav/cmd\_pose** ([geometry\_msgs/Twist](https://docs.ros.org/en/melodic/api/geometry_msgs/html/msg/Twist.html)) - желаемые положения и ориентация корпуса робота

**/nav/cmd\_vel** ([geometry\_msgs/Twist](https://docs.ros.org/en/melodic/api/geometry_msgs/html/msg/Twist.html)) - желаемая скорость перемещения робота

**/nav/ef\_position/command** ([geometry\_msgs/PoseArray](https://docs.ros.org/en/melodic/api/geometry_msgs/html/msg/PoseArray.html)) - желаемые положения ступней ног робота

**/nav/joint\_group\_position\_controller/command** ([trajectory\_msgs/JointTrajectoryPoint](https://docs.ros.org/en/noetic/api/trajectory_msgs/html/msg/JointTrajectoryPoint.html)) - желаемое угловое положение сочленений робота

**/nav/status** ([std\_msgs/Bool](https://docs.ros.org/en/noetic/api/std_msgs/html/msg/Bool.html)) - статус готовности программы к работе

**/power/buttons** (power\_bridge/PowerButtons) - получает информацию о нажатых пользовательской кнопки и кнопки экстренного прекращения работы

**/radiolink/cmd\_pose** ([geometry\_msgs/Twist](https://docs.ros.org/en/melodic/api/geometry_msgs/html/msg/Twist.html)) - желаемые положения и ориентация корпуса робота

**/radiolink/cmd\_vel** ([geometry\_msgs/Twist](https://docs.ros.org/en/melodic/api/geometry_msgs/html/msg/Twist.html)) - желаемая скорость перемещения робота

**/radiolink/ef\_position/command** ([geometry\_msgs/PoseArray](https://docs.ros.org/en/melodic/api/geometry_msgs/html/msg/PoseArray.html)) - желаемые положения ступней ног робота

**/radiolink/joint\_group\_position\_controller/command** ([trajectory\_msgs/JointTrajectoryPoint](https://docs.ros.org/en/noetic/api/trajectory_msgs/html/msg/JointTrajectoryPoint.html)) - желаемое угловое положение сочленений робота

**/radiolink/status** ([std\_msgs/Bool](https://docs.ros.org/en/noetic/api/std_msgs/html/msg/Bool.html)) - статус наличия соединения с геймпадом. True - если соединение установлено, False - если соединение отсутствует.

**/rosout** - системный топик для публикации логово

**/rosout\_agg** - системный топик для публикации логово&#x20;

**/tf** - топик для отслеживания положения и ориентации систем координат робота

**/tf\_static** - топик для отслеживания положения и ориентации систем координат робота


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://voltbro.gitbook.io/robot-sobaka-mors/ustroistvo-robota/ros-topiki.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
