map_server

Плагин пакета clover2_ui/clover2_http_plugins. Предоставляет REST CRUD маркеров ArUco-карты. Изменения применяются через сервис clover2_pose_msgs/srv/ModifyMap ноды карты, поэтому плагин не хранит состояние сам, а читает кэш-снимок клиента.

Маршруты

Метод

Путь

Описание

GET

/api/map

Полная карта: метаданные (имя, фрейм, словарь) и все маркеры

GET

/api/map/marker/-/{id}

Один маркер по id

POST

/api/map/marker

Добавить маркер

PUT

/api/map/marker/-/{id}

Изменить маркер (id из пути и id в теле запроса должны совпадать)

DELETE

/api/map/marker/-/{id}

Удалить маркер по id

Параметры

Параметр

По умолчанию

Описание

map_server.map_node

map_server

Имя ноды карты, к которой подключается клиент

Изменение карты

Тело операций изменения — marker_info (id, type, size, marker_frame_id, pose, ответ — modify_result:

{"success": true, "error_message": ""}

Некорректный запрос (отрицательный id, неположительный размер, неизвестный тип) отклоняется с кодом 400 до отправки на ноду карты.

Capability и доступность

Capability: map. Присутствует в манифесте только когда клиент подключился к ноде карты; плагин периодически переподключается, если нода была недоступна. Если нода отвечает ошибкой или не отвечает 5 секунд, операция возвращает modify_result{false} либо код 504.