Skip to content

Сервисы

Nikolay Dema edited this page Jul 2, 2017 · 8 revisions

Описание сервисов, предоставляемых узлом.

/set_twist

Данный сервис принимает три компоненты скорости и вводит узел в соответствующий режим. Требуется для равномерного движения вдоль различных объектов при выполнении задач манипуляции. Отмена выполняется вызовом сервиса /stop.

/manual

Сервис вводит узел в режим работы со списком точек. В зависимости от передаваемого аргумента выбирается один из двух файлов, содержащих списки уже отмеченных на карте точек. Списки точек находятся в папке dict, если перед вызовом сервиса файлов или папки не существовало, то они создадутся автоматически. В качестве аргумента сервис принимает строку, которая должна содержать одно из четырех значений: current / new / reserve / movement_only.

При передачи строки "current" узел попытается открыть список, используемый перед вызовом сервиса (points.dict), если список точек не был подгружен до этого, то узел попытается подгрузить резервный список (points.dict.res), а затем, в случае отсутствия резерва, выругается и попросит передать другой аргумент (new).

Аргумент "new" сохранит текущий список points.dict как резервный, создаст новый и начнет работать с ним.

Передача "reserve" соответственно означает работу с резервным списком.

Аргумент "movement_only" значит, что ни один словарь изменяться не будет.

/stop

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

/dict

Принимает строку с одним из двух значений main / reserve и выполняет переключение с одного списка на другой.

/set_orientation

Так же принимает строчку в качестве аргумента. Определяет ориентацию робота относительно /map и записывает в используемый список. Строка определяет название направления, например North. Данный сервис следует вызывать в режиме ручного управления (manual).

/point_catcher

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

/point_catcher_base

То же, что и предыдущий сервис, но не требует стороннего сервера. Сервис принимает строчку - название метки и записывает в текущий список координаты базы робота. Сервис так же следует вызывать в режиме ручного управления (manual).