cmd_commutator

Данный модуль подписывается на топики всех включенных в данный момент задающих устройств (ПК, джойстики и т.д.), и выводит сообщения самого приоритетного из них. Поддерживает до четырех разных устройств.

ROS API

ROS API состоит из config-файла, вызова сервисов, входящих и исходящих топиков.

Параметры

Файл параметров располагается в папке config

  • frequency (по умолчанию: 40) - частота, на которой работает модуль

  • input1_cmd_vel_topic (по умолчанию: "ds4/cmd_vel") - название входящего топика желаемой скорости робота для устройства №1

  • input1_cmd_pose_topic (по умолчанию: "ds4/cmd_pose") - название входящего топика желаемого положения и ориентации корпуса для устройства №1

  • input1_cmd_ef_pose_topic (по умолчанию: "ds4/ef_position/command") - название входящего топика желаемого положения ступни робота для устройства №1

  • input1_cmd_joint_pos_topic (по умолчанию: "ds4/joint_group_position_controller/command") - название входящего топика желаемого положения сочленений робота для устройства №1

  • input1_status_topic (по умолчанию: "ds4/cur_device") - название входящего топика статуса подключения устройства №1

  • input2_cmd_vel_topic (по умолчанию: "radiolink/cmd_vel") - название входящего топика желаемой скорости робота для устройства №2

  • input2_cmd_pose_topic (по умолчанию: "radiolink/cmd_pose") - название входящего топика желаемого положения и ориентации корпуса для устройства №2

  • input2_cmd_ef_pose_topic (по умолчанию: "radiolink/ef_position/command") - название входящего топика желаемого положения ступни робота для устройства №2

  • input2_cmd_joint_pos_topic (по умолчанию: "radiolink/joint_group_position_controller/command") - название входящего топика желаемого положения сочленений робота для устройства №2

  • input2_status_topic (по умолчанию: "radiolink/status") - название входящего топика статуса подключения устройства №2

  • input3_cmd_vel_topic (по умолчанию: "nav/cmd_vel") - название входящего топика желаемой скорости робота для устройства №3

  • input3_cmd_pose_topic (по умолчанию: "nav/cmd_pose") - название входящего топика желаемого положения и ориентации корпуса для устройства №3

  • input3_cmd_ef_pose_topic (по умолчанию: "nav/ef_position/command") - название входящего топика желаемого положения ступни робота для устройства №3

  • input3_cmd_joint_pos_topic (по умолчанию: "nav/joint_group_position_controller/command") -

  • input3_status_topic (по умолчанию: "nav/status") - название входящего топика желаемого положения сочленений робота для устройства №3

  • input4_cmd_vel_topic (по умолчанию: "gui/cmd_vel") - название входящего топика желаемой скорости робота для устройства №4

  • input4_cmd_pose_topic (по умолчанию: "gui/cmd_pose") - название входящего топика желаемого положения и ориентации корпуса для устройства №4

  • input4_cmd_ef_pose_topic (по умолчанию: "gui/ef_position/command") - название входящего топика желаемого положения ступни робота для устройства №4

  • input4_cmd_joint_pos_topic (по умолчанию: "gui/joint_group_position_controller/command") -

  • input4_status_topic (по умолчанию: "gui/status") - название входящего топика желаемого положения сочленений робота для устройства №4

  • output_cmd_vel_topic (по умолчанию: "cmd_vel") - название исходящего топика желаемой скорости робота

  • output_cmd_pose_topic (по умолчанию: "cmd_pose") - название исходящего топика желаемого положения и ориентации корпуса

  • output_cmd_ef_pose_topic (по умолчанию: "ef_position/command") - название исходящего топика желаемого положения ступни робота

  • output_cmd_joint_pos_topic (по умолчанию: "joint_group_position_controller/command") - название исходящего топика желаемого положения сочленений робота

  • output_status_topic (по умолчанию: "cur_device") - название исходящего топика, отображающего номер подключенного сейчас наиболее приоритетного устройства

Входящие топики

Здесь описываются названия топиков, которые установлены в пакете по умолчанию.

У входящих топиков, в зависимости от устройства, стоят разные приставки. При необходимости подключения иного устройства, вы можете переименовать приставки нужных вам топиков в config-файле на те, который нужны именно вам. Список приставок по умолчанию:

  • head - передача данных с джойстика Sony Dualshock 4

  • radiolink - передача данныз с джойстика Radiolink T8S

  • nav - передача данных с модуля навигации

  • gui - передача данный из ПО Robogui

В остальной части, топики дублируют свои имена и функции с исходящими, кроме топика status (std_msgs/Bool) . Он необходим для отображения информации о подключении устройства: True - устройство подключено, False - устройство не подключено.

Приоритет устройств идет в порядке возрастания по списку списку. Т.е., если у вас одновременно включены джойстик Radiolink T8S и ПО Robogui, то cmd_commutator на выходе будет давать данные из джойстика, так как у него больший приоритет.

Исходящие топики

  • cmd_vel (geometry_msgs/Twist) - желаемая скорость перемещения робота

  • cmd_pose (geometry_msgs/Twist) - желаемые положения и ориентация корпуса робота

  • ef_position/command (geometry_msgs/PoseArray) - желаемые положения ступней ног робота

  • joint_group_position_controller/command (trajectory_msgs/JointTrajectoryPoint) - желаемое угловое положение сочленений робота

  • cur_device (std_msgs/UInt8) - текущее подключенное устройство. 1 - Dualshock 4, 2 - Radiolink T8S, 3 - модуль навигации, 4 - Robogui, 0 - ни одного устройства.

Last updated