update_virtual_wall
服务类型: map_manager/srv/AddVirtualWall
服务名: /wall/update
描述
更新已有虚拟墙。端点复用 AddVirtualWall 服务类型,以 wall.id 的数值 ID 定位目标;成功后 ID 保持不变。GRW 忽略 floor_id 和 wall.floor_id。
请求 (Request)
| 字段 | 类型 | 描述 |
|---|---|---|
| floor_id | string | IDL 字段;GRW 忽略该值。 |
| wall | map_manager/msg/VirtualWall | id 为待更新数值 ID;实际使用 start、end 的 x、y。 |
响应 (Response)
| 字段 | 类型 | 描述 |
|---|---|---|
| success | bool | 操作是否成功。 |
| message | string | 结果消息。 |
| wall_id | int32 | 成功时为被更新虚拟墙的原数值 ID。 |
使用示例
运行前请先完成环境准备:命令行示例需设置
ROBOT_NAMESPACE;Python/C++ 示例使用相对服务名,运行时追加--ros-args -r __ns:=$ROBOT_NAMESPACE。
命令行调用
Bash
ros2 service call $ROBOT_NAMESPACE/wall/update map_manager/srv/AddVirtualWall \
"{wall: {id: 42, start: {x: 1.0, y: 5.0}, end: {x: 11.0, y: 5.0}}}"