ds4_teleop

Пакет ds4_teleop служит для получения данных с геймпада Dualshock 4 путем чтения данных с ds4_driver и пуликует топики и вызывает сервисы, необходимые для управления роботом. Так как модуль читает данные из пакета драйвера, то для его функционирования необходимо, чтобы модуль ds4_driver был предварительно запущен.

ROS API

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

Параметры

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

  • general

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

  • topics - название публикуемых топиков

    • cmd_vel (по умолчанию: "ds4/cmd_vel") - топик для публикации желаемой скорости движения робота

    • cmd_pose (по умолчанию: "ds4/cmd_pose") - топик для публикации желаемых положения и ориентации корпуса

    • cmd_ef_pose (по умолчанию: "ds4/ef_position/command") - топик для публикации желаемых положений ступней робота

    • cmd_joint_pose (по умолчанию: "ds4/joint_group_position_controlle/command") - топик для публикации желаемых угловых положений сервоприводов

    • status (по умолчанию: "ds4/status") - топик для публикации статуса связи с геймпадом

  • gait - параметры для передвижения робота

    • max_speed_x (по умолчанию: 0.3) - максимальная желаемая скорость по оси X

    • max_speed_y (по умолчанию: 0.2) - максимальная желаемая скорость по оси Y

    • max_speed_z (по умолчанию: 0.8) - максимальный радиус поворота вокруг оси Z

    • stride_height (по умолчанию: 0.05) - максимальная высота шага

  • pose - параметры для желаемых положений корпуса робота

    • max_angle_x (по умолчанию: 0.33) - максимально возможный угол поворота по крену

    • max_angle_y (по умолчанию: 0.33) - максимально возможный угол поворота по тангажу

    • max_angle_z (по умолчанию: 0.33) - максимально возможный угол рысканья

    • max_lin_x (по умолчанию: 0.1) - максимально возможное смещение корпуса по оси X

    • max_lin_y (по умолчанию: 0.1) - максимально возможное смещение корпуса по оси Y

    • max_lin_z (по умолчанию: 0.1) - максимально возможное смещение корпуса по оси Z в положительном направлении

    • min_lin_z (по умолчанию: 0.1) - максимально возможное смещение корпуса по оси Z в отрицательном направлении

  • ef - параметры для желаемых положений ступней робота

    • max_pos_x (по умолчанию: 0.05) - максимально возможное смещение ступни по оси X

    • max_pos_y (по умолчанию: 0.05) - максимально возможное смещение ступни по оси Y

    • max_pos_z (по умолчанию: 0.05) - максимально возможное смещение ступни по оси Z в положительном направлении

    • min_pos_z (по умолчанию: 0.05) - максимально возможное смещение ступни по оси Z в отрицательном направлении

  • joints - параметры для желаемых угловых положений сочленений робота

    • max_abad (по умолчанию: 1.57) - максимальный угол отклонения плечевых сочленений

    • max_hip (по умолчанию: 1.57) - максимальный угол отклонения бедренных сочленений

    • max_knee (по умолчанию: 1.57) - максимальный угол отклонения коленных сочленений

  • modes - параметры режимов робота

    • walk (по умолчанию: 0) - какой номер присваивается режиму шагания

    • ef (по умолчанию: 1) - какой номер присваивается режиму перемещения ноги

    • body (по умолчанию: 2) - какой номер присваивается режиму перемешения корпуса

    • joint (по умолчанию: 3) - какой номер присваивается режиму вращения сочленений

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

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

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

  • set_feedback (ds4_driver_msgs/Feedback) - команды для геймпада, такие как цвет подсветки и вибрация

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

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

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

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

  • ds4/status (std_msgs/Bool) - статус наличия соединения с геймпадом. True - если соединение установлено, False - если соединение отсутствует.

Вызываемые сервисы

  • robot_mode (QuadrupedCmd) - переключение между режимами управления роботом: шагание/корпус/ступни/сочленения.)

  • robot_action (QuadrupedCmd) - вызывает действия, совершаемые роботом, такие как встать, лечь, дать лапу.

  • stride_height (QuadrupedCmd) - задает максимальную высоту шага.

  • joints_kp (JointsCmd) - задает массив пропорциональных коэффициентов для сервоприводов.

  • joints_kd (JointsCmd) - задает массив дифференциальных коэффициентов для сервоприводов.

Last updated