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