map_server介绍及参数说明

软件包摘要

map_server提供了map_server ROS 节点,它提供了作为ROS 服务的地图数据。它还提供了map_saver命令行实用程序,它允许动态生成的映射保存到文件。

地图格式

由此包中的工具操纵的地图存储在一对文件中。YAML文件描述地图元数据,并命名图像文件。图像文件对占用数据进行编码。

图像格式

该图像描述了相应像素的颜色中的世界的每个单元的占用状态。白色像素是自由的,黑色像素被占据,并且两者之间的像素是未知的。接受彩色和灰度图像,但大多数地图都是灰色的(即使它们可能存储为彩色)。YAML文件中的阈值用于划分三个类别; 阈值在map_server内部完成。

当与阈值参数比较时,图像像素的占用概率计算如下:occ =(255-color_avg)/ 255.0其中color_avg是通过在所有通道上求平均值而得到的8位值,例如,如果图像是24位颜色,具有颜色0x0a0a0a的像素具有0.96的概率,这是非常占用的。颜色0xeeeeee产生0.07,这是非常空的。

当通过ROS消息通信时,占用被表示为范围[0,100]中的整数,0意味着完全自由,100意味着完全被占用,并且特殊值-1用于完全未知。

图像数据通过SDL_Image读入 ; 支持的格式有所不同,具体取决于SDL_Image在特定平台上提供的内容。一般来说,最流行的图像格式得到广泛支持。一个值得注意的例外是,OS X不支持PNG。

YAML格式

YAML格式最好用一个简单完整的示例解释:

image: testmap.png
resolution: 0.1
origin: [0.0, 0.0, 0.0]
occupied_thresh: 0.65
free_thresh: 0.196
negate: 0

必填字段:

  • image:包含占用数据的图像文件的路径; 可以是绝对的,或相对于YAML文件的位置
  • resolution:地图的分辨率,米/像素
  • origin:地图中左下像素的2-D姿态为(x,y,yaw),偏航为逆时针旋转(yaw = 0表示无旋转)。系统的许多部分目前忽略偏航。
  • occupancy_thresh:占据概率大于该阈值的像素被认为完全占用。
  • free_thresh:占有概率小于该阈值的像素被认为是完全自由的。
  • negate:白/黑自由/占用语义是否应该被反转(阈值的解释不受影响)

命令行工具

1、map_server
map_server是一个从磁盘读取映射并通过ROS服务提供映射的ROS节点。
map_server的当前实现将地图图像数据中的颜色值转换为三元占有值:free(0),occupated(100)和unknown(-1)。该工具的未来版本可以使用0和100之间的值来传达更细的占用等级。

(1)用法

map_server <map.yaml>

(2)例子

rosrun map_server map_server mymap.yaml

注意,地图数据可以经由锁存的主题(意味着其被向每个新订阅者发送一次)或经由服务来检索。该服务最终可能会被淘汰。

(3)发布主题

  • map_metadata(nav_msgs / MapMetaData) 通过此锁定主题接收地图元数据。
  • map(nav_msgs / OccupancyGrid) 通过此锁定主题接收地图。

(3)服务

  • static_map(nav_msgs / GetMap) 通过此服务检索地图。

(4)参数

  • 〜frame_id(string,default:“map”) 要在已发布地图的标题中设置的框架。

2、map_saver

map_saver将映射保存到磁盘,例如,从SLAM映射服务。

(1)用法

rosrun map_server map_saver [-f mapname]

map_saver检索地图数据并将其写入map.pgm和map.yaml。使用-f选项为输出文件提供不同的基本名称。

(2)例子

rosrun map_server map_saver -f mymap

(3)订阅主题

  • map(nav_msgs / OccupancyGrid) 将通过此锁定的主题检索地图。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值