> 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-pakety/mors_hardware/radiolink_teleop.md).

# radiolink\_teleop

Пакет radiolink\_teleop служит для получения данных с контроллера Radiolin T8S и публикации команд для робота в ROS.&#x20;

О том, как пользоваться Radiolink T8S для управления роботом, можно узнать в разделе [Radiolink T8S](/robot-sobaka-mors/nastroika-i-obsluzhivanie/dzhoistik-radiolink-t8s.md).

## ROS API

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

### Параметры

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

* general
  * frequency (по умолчанию: 40) - частота, на которой работает модуль
* topics - название публикуемых топиков
  * cmd\_vel (по умолчанию: "radiolink/cmd\_vel") - топик для публикации желаемой скорости движения робота
  * cmd\_pose  (по умолчанию: "radiolink/cmd\_pose") - топик для публикации желаемых положения и ориентации корпуса&#x20;
  * cmd\_ef\_pose (по умолчанию: "radiolink/ef\_position/command") - топик для публикации желаемых положений ступней робота
  * cmd\_joint\_pose (по умолчанию: "radiolink/joint\_group\_position\_controlle/command") - топик для публикации желаемых угловых положений сервоприводов&#x20;
  * status (по умолчанию: "radiolink/status") - топик для публикации статуса связи с геймпадом
* gait - параметры для передвижения робота&#x20;
  * max\_speed\_x (по умолчанию: 0.3) - максимальная желаемая скорость по оси X&#x20;
  * max\_speed\_y (по умолчанию: 0.2) - максимальная желаемая скорость по оси Y&#x20;
  * max\_speed\_z (по умолчанию: 0.8)  - максимальный радиус поворота вокруг оси Z
  * stride\_height (по умолчанию: 0.05)  - максимальная высота шага
* pose - параметры для желаемых положений корпуса робота&#x20;
  * max\_angle\_x (по умолчанию: 0.33) - максимально возможный угол поворота по крену&#x20;
  * max\_angle\_y (по умолчанию: 0.33) - максимально возможный угол поворота по тангажу&#x20;
  * max\_angle\_z (по умолчанию: 0.33)  - максимально возможный угол рысканья
  * max\_lin\_x (по умолчанию: 0.1) - максимально возможное смещение корпуса по оси X
  * max\_lin\_y (по умолчанию: 0.1) - максимально возможное смещение корпуса по оси Y&#x20;
  * max\_lin\_z (по умолчанию: 0.1) - максимально возможное смещение корпуса по оси Z в положительном направлении
* modes - параметры режимов робота
  * walk (по умолчанию: 0) - какой номер присваивается режиму шагания
  * ef (по умолчанию: 1) - какой номер присваивается режиму перемещения ноги
  * body (по умолчанию: 2) - какой номер присваивается режиму перемешения корпуса
  * joint (по умолчанию: 3) - какой номер присваивается режиму вращения сочленений

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

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

* radiolink/cmd\_vel ([geometry\_msgs/Twist](https://docs.ros.org/en/melodic/api/geometry_msgs/html/msg/Twist.html)) - желаемая скорость перемещения робота
* radiolink/cmd\_pose ([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\_controlle/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 - если соединение отсутствует.

В настоящий момент, модуль публикует данные только по топикам radiolink/status, radiolink/cmd\_vel и radiolink/cmd\_pose.

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

* robot\_mode (QuadrupedCmd) - переключение между режимами управления роботом: шагание/корпус/ступни/сочленения.)
* robot\_action (QuadrupedCmd) - вызывает действия, совершаемые роботом, такие как встать, лечь, дать лапу.
* stride\_height (QuadrupedCmd) - задает максимальную высоту шага.
* joints\_kp (JointsCmd) - задает массив пропорциональных коэффициентов для сервоприводов.
* joints\_kd (JointsCmd) - задает массив дифференциальных коэффициентов для сервоприводов.
