> 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-servisy/robot_mode.md).

# robot\_mode

Сервис используется для переключения между режимами робота: ходьба, управление корпусом, управление стопами ног по отдельности, управление сервоприводами. Сервер работает в ноде [locomotion\_controller](/robot-sobaka-mors/ustroistvo-robota/ros-pakety/mors_base/locomotion_controller.md). Файл с разметкой сообщения сервиса [QuadrupedCmd](https://github.com/voltdog/mors_base/blob/main/mors/srv/QuadrupedCmd.srv) находится в пакете [mors](/robot-sobaka-mors/ustroistvo-robota/ros-pakety/mors_base/mors.md). Если вы хотите вызывать сервис со стороннего компьютера, то вам нужно скачать этот пакет  c [Github](https://github.com/voltdog/mors_base/tree/main/mors) в свое рабочее пространство ROS и затем произвести компиляцию.&#x20;

Файл сервиса QuadrupedCmd.srv имеет следующие поля:

```
float32 cmd
---
int16 result	
string description  
```

cmd - запрос для переключения между режимами: 0 - ходьба, 1 - управление стопами, 2 - управление корпусом, 3 - управление сервоприводами.

result - ответ: 1 - если команда успешно получена и обработана, 0 - в случае ошибки.

description - описание ответа. В случае ошибки поле пустое, в случае успеха - сообщение "get the mode"

{% hint style="info" %}
Во время режима управления сервоприводами вы можете использовать сервисы для установки коэффициентов обратной связи системы управления приводом [Kp](/robot-sobaka-mors/ustroistvo-robota/ros-servisy/joints_kp.md) и [Kd.](/robot-sobaka-mors/ustroistvo-robota/ros-servisy/joints_kd.md)

Во всех остальных случаях, установка Kp и Kd производится через config-файл пакета [locomotion\_controller](/robot-sobaka-mors/ustroistvo-robota/ros-pakety/mors_base/locomotion_controller.md).&#x20;
{% endhint %}

### Пример вызова сервиса через CLI

```
rosservice call /robot_mode "cmd: 2.0"
```

При отправке это команды робот переключится в режим управления корпусом.
