概述
提供了map_server 节点,以服务的方式提供地图数据。也提供了命令行。
1 地图格式
yaml描述的是地图meta-data,并且命名了image文件。
image文件编码了occupancy data。
1.1 image 格式
该图像以相应像素的颜色描述世界上每个单元的占用状态。
1.2 yaml 格式
image:image的路径
resolution:地图分辨率 单位:meters/pixel
origin:lower—left pixel 在地图中的坐标。
occupied_thresh:占用概率大于此阈值的像素被认为已完全占用
free_thresh: 小于此阈值代表完全free
negate:是否应该颠倒白/黑自由/占用的语义(阈值的解释不受影响)
mode(可选):可以有三种值之一:trinary(三进制)、scale(缩放的)或raw(原本的值)。三进制是默认值。关于这如何改变值解释的更多信息将在下一节中介绍。
1.3 value interpretation
讲的是将颜色信息,如何换算到ros message中一个浮点书p,然后在经过下列换算为costmap中的值。
1.3.1 trinary
根据p与thresh的大小去换算。只有三种状态,100(占用),0(空闲),-1(255)(未知)。
1.3.2 scale
这将允许您输出从[0,100]到[0,100]的完整梯度值
1.3.3 raw
输出值:0到255
2 命令行工具
2.1 map_server
rosrun map_server map_server mymap.yaml
2.1.1 published topics
map_metadata (nav_msgs/MapMetaData)
map (nav_msgs/OccupancyGrid)
2.1.2 service
static_map (nav_msgs/GetMap) 通过此服务检索地图
2.1.3 参数
~frame_id (string, default: “map”) 地图坐标系
2.2 map_saver
用来保存地图
rosrun map_server map_saver -f mymap
2.2.1 订阅的topics
map (nav_msgs/OccupancyGrid)