ROS自定义地图(CAD、手绘等) | 您所在的位置:网站首页 › 地图图纸怎么画的 › ROS自定义地图(CAD、手绘等) |
0x00 概述
在前面的文章中,我们介绍如何自动导航时,都是基于使用gmapping或者hector_mapping创建的地图。当然使用其他的建图方法创建的地图也可以,但是目前为止,无论使用哪种建图方法。通过激光雷达或深度摄像头建立的地图仍然是存在误差的。下面我们可以来回顾一下看看使用gmapping建立的地图,如下图所示,可以看到右侧的地图就是扫描建立的地图,与左侧的地图基本上相同。现在可以思考一下,我们有没有可能不用激光雷达来扫描建图(这个slam过程真的是挺麻烦的),因为现在基本上在设计施工时都是有设计图纸的,如果我们将这些设计图纸拿来,修改一下直接就当作导航地图来用。这样不是就省去建地图的步骤了嘛,而且地图的与实际环境100%匹配(除非施工建造时没有按照图纸来做): 在前面一篇文章10.在STDR中加载其他地图中,介绍了如何在stdr中加载自定义的地图。这张地图是从网上下载的一个两居室户型图,后来经过简单修改我们就可以在stdr中加载了。现在我们可以更进一步,可以将这张地图使用map_server加载。这样我们就可以把地图在rviz中直接加载,就可以在这张地图上进行自动导航了。下面先来看看我们上次创建的这个户型图,如下图所示: (1)查看gmapping创建的地图 [文件头部分] 文件头包括的信息依次是: 1.PGM文件的格式类型(是P2还是P5); 2.图像的宽度; 3.图像的高度; 4.图像灰度值可能的最大值; 文件头的这四部分信息都是以ASCII码形式存储的,下面我们可以看看gmapping建好的地图格式是P2还是P5,如下图所示: [数据部分] 数据部分记录图像每个像素的灰度值,按照图像从上到下,从左到右的顺序依次存储每个像素的灰度值,对于像素灰度值的表示P2格式和P5格式有所不同。下面来重点介绍P5格式: P5格式图片的数据部分是从上到下,从左到右排列灰度值。每个灰度值取值为[0,Maxval],其中0表示黑色,Maxval表示白色。每个灰度值由1个或2个字节的纯二进制表示。如果最大值小于256,则为1字节。否则,它是2字节。最重要的字节是第一个。 (2)安装KolourPaint4软件 一般从网上下载的照片格式是png或jpg的,这里我介绍一种简单的方式来将这些格式转换为pgm格式。需要安装一下KolourPaint4画图工具,这个软件就跟我们常用的画图软件类似,安装软件的命令如下: sudo apt-get install kolourpaint4 1安装好该软件后,就可以来打开了,下图就是这个软件的界面: 使用KolourPaint软件打开png格式或jpg格式的地图软件,如下图所示:
这个yaml配置文件编写比较简单,我们按照gmapping中地图的yaml格式来修改就可以了。下面来看看自定义地图的yaml内容: image:要加载的地图,这里的路径可以写绝对路径也可以写相对路径。这里由于pgm图片和yaml文件都放在同一个文件夹中,所以就可以直接写home.pgm,不用加其他路径了。 resolution:将图片解析成多少实际距离,从file命令中得知,图片分辨率为761721。这里0.015意思是:米/像素,这样就可以计算出这个地图表示的实际大小为:7610.015=11.415米,7210.015=10.815米。这就表示地图为11.410.8=123平米的大小。 0x02 编写launch文件现在已经将自定义的图片格式修改为pgm格式了,对应的yaml配置文件也编写好了。下面我们就可以来编写对应测试的launch文件,下面首先来看看用来加载地图的launch文件load_home_map.launch: 下面来看看最后用来最终测试用的launch文件home_map_nav.launch: 其实这里所有的代码都已经提交到stdr_ws代码仓库中,如果你已经下载了本代码的话,就可以在本地直接拉取最新代码。不过目前我的代码都是优先往kinetic分支上提交,indigo分支会逐渐放弃维护。 0x03 测试查看效果要想开始测试,我们首先需要启动上面编写的launch文件,使用如下命令来启动测试: roslaunch stdr_navigation home_map_nav.launch 1
[1]. corvin_zhang. 10.在STDR中加载其他地图. http://www.corvin.cn/1047.html [2]. Netpbm. PGM Format Specification. http://netpbm.sourceforge.net/doc/pgm.html [3]. 编号1993. Python pgm解析和格式转换. https://blog.csdn.net/u012005313/article/details/83685584 [4]. suonikeyinsu. ppm\pgm格式. https://www.cnblogs.com/black-mamba/p/6755295.html |
CopyRight 2018-2019 实验室设备网 版权所有 |