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

# joints\_kp

Сервис используется для установки пропорциональных коэффициентов Kp сервоприводов, когда  [robot\_mode= 3](/robot-sobaka-mors/ustroistvo-robota/ros-servisy/robot_mode.md), т.е. робот находится в режиме управления сервоприводами. Сервер работает в ноде [locomotion\_controller](/robot-sobaka-mors/ustroistvo-robota/ros-pakety/mors_base/locomotion_controller.md). Файл с разметкой сообщения сервиса [JointsCmd](https://github.com/voltdog/mors_base/blob/main/mors/srv/JointsCmd.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;

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

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

cmd - массив из 12 значений Kp для каждого привода. Нумерация приводов идет согласно изображению в разделе [Обозначения](/robot-sobaka-mors/oboznacheniya.md)

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

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

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

```
rosservice call /joints_kp "cmd: [0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]"
```

При отправке это команды Kp привода бедра ноги R1 будет равно 0.5, Kp всех остальных приводов будет равно нулю.
