virtual_wall
消息类型: map_manager/msg/VirtualWall
描述
虚拟墙定义,用于在地图上添加不可通行的虚拟障碍。
GRW 使用范围
GRW 通过 /wall/add、/wall/list、/wall/update 和 /wall/remove 管理当前地图的虚拟墙。新增成功后服务返回数值 wall_id;查询结果和更新请求均以数值 id 标识墙。墙的几何形状由 start、end 两个端点的 x、y 定义。
字段定义
字段
| 字段名 | 类型 | GRW 行为 |
|---|---|---|
| id | int32 | 虚拟墙的数值标识;查询返回,更新时用于定位目标。新增时由 GRW 分配。 |
| start | geometry_msgs/Point | 起点;GRW 使用 x、y。 |
| end | geometry_msgs/Point | 终点;GRW 使用 x、y。 |
| floor_id | string | IDL 保留字段;GRW 忽略该值。 |
使用示例
在服务中使用
Bash
ros2 service call /wall/add map_manager/srv/AddVirtualWall \
"{wall: {start: {x: 0.0, y: 5.0}, end: {x: 10.0, y: 5.0}}}"
Python 中构造
Python
from geometry_msgs.msg import Point
from map_manager.msg import VirtualWall
wall = VirtualWall()
wall.id = 1
wall.start = Point(x=0.0, y=0.0, z=0.0)
wall.end = Point(x=5.0, y=0.0, z=0.0)
相关接口
- AddVirtualWall - 添加虚拟墙
- ListVirtualWalls - 列出虚拟墙
- UpdateVirtualWall - 更新虚拟墙
- RemoveVirtualWall - 删除虚拟墙