提示:
如果在未知环境(未建立地图的情况下),机器人该如何运动呢?
我们可以给它设置一张空白地图,地图的尺寸可以自定义的。
在ROS中,代价地图(costmap)由两个文件组成:xx.pgm和xx.yaml。
pgm文件
我们通过Gimp创建pgm文件。
首先安装Gimp
sudo apt-get install gimp
然后启动gimp, 在”File”->”New”,选择参数如下,创建一个20mX20m,分辨率是0.01pix/m的地图。
注意”Fill with”选择”White”。
然后,在”File”->”Export” , 保存为pgm格式文件,比如my_map.pgm
yaml文件
创建一个my_map.yaml文件,内容如下:
image: my_map.pgm
resolution: 0.01
origin: [-10, -10, 0]
occupied_thresh: 0.65
free_thresh: 0.196 # Taken from the Willow Garage map in the turtlebot_navigation package
negate: 0
其中,image指定我们上一步创建的pgm的文件名。
origin指定机器人的初始位置。
如果是20mX20m的地图,那么[-10,-10,0]指定机器人初始位置在地图的中心。
有了pgm和yaml文件,我们的空白地图已经创建成功。