robot_action

Сервис используется для вызова скриптов действий: встать, лечь, дать лапу, кувырок, помахать лапой. Сервер работает в ноде locomotion_controller. Файл с разметкой сообщения сервиса QuadrupedCmd находится в пакете mors. Если вы хотите вызывать сервис со стороннего компьютера, то вам нужно скачать этот пакет c Github в свое рабочее пространство ROS и затем произвести компиляцию.

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

float32 cmd
---
int16 result	
string description  

cmd - запрос для вызова действия: 1 - встать, 2 -лечь (подготовка к выключению), 3 - дать лапу, 4 - кувырок, 5 - помахать лапой, 6 - сидеть.

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

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

Описание действий

Встать

Сервисное действие, необходимо для перевода робота из выключенного состояния в состояние готовности к работе. При вызове действия робот складывает ноги, затем опускает вниз, поджав под себя и в конце встает в исходное состояние. После завершения действия, робот автоматически переходит в режим ходьбы. Действие можно вызвать только когда робот находится в лежачем положении с выключенными сервоприводами.

Лежать

Сервисное действие, необходимо для подготовки робота к выключению. При вызове действия робот ложится, поджимая под себя ноги, а затем складывает их на спине для более удобной переноски. После завершения действия, полностью снимается питание с сервоприводов. Действие можно вызвать только когда робот стоит.

Дать лапу

Равлекательное действие. При вызове, робот слегка отклоняет корпус назад, приподнимает правую лапу и потом вытягивает её вперед. Действие можно вызвать только когда робот стоит.

Кувырок

Развлекательно действие. При вызове, робот ложится, переворачивается на спину, а потом встает в исходное состояние, делая таким образом боковой кувырок. Действие можно вызвать только когда робот стоит.

Помахать лапой

Развлекательное действие. При вызове, робот садится, затем поднимает левую лапу вертикально вверх и начинает махать ею. Действие можно вызвать только когда робот стоит.

Сидеть

Робот садится на несколько секунд и потом встает в исходное положение

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

rosservice call /robot_action "cmd: 3.0"

При отправке это команды робот выполнит команду "дать лапу".

Last updated