

SLAM从入门到精通(gmapping建图)
source link: https://blog.csdn.net/feixiaoxing/article/details/133442215
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
前面我们介绍了hector slam建图。相对而言,hector slam建图对数据的要求比较低,只需要lidar数据就可以建图了。但是hector slam也有它自己的问题。那就是如果robot行走在走廊上面,特别是长走廊上面,那么hector slam是很难建图的。这主要的原因就是,hector slam算法会觉得前后两帧lidar frame没有发生改变,小车根本没有移动。基于这个原因,人们又设计出了一种新的制图方法,那就是gmapping制图。和hector slam相比较,gmapping还依赖于robot的里程计数据。
1、打开仿真地图
和之前打开wpb_stage_slam.launch不同,这一次打开的wpb_stage_corridor.launch。用roslaunch wpr_simulation wpb_stage_corridor.launch打开,效果是这样的,

2、开启gmapping
仿真环境准备好了,这个时候就可以准备用gmapping开始绘图了。输入的方法就是rosrun gmapping slam_gmapping即可。不出意外的话,可以看到这样的打印,
3、用rviz开启绘图效果
直接执行rosrun rviz rviz,依次打开RobotModel、Map、LaserScan之后,我们就可以看到这样的效果,

4、继续打开rqt_robot_steering
这个时候虽然已经看到图形了,但是车还没有办法动起来。所以,这个时候,我们还需要用rosrun rqt_robot_steering rqt_robot_steering把小车启动起来。这样一顿操作之后,就可以把所有的场景绘制完毕了。如果仅仅使用hector slam,这个时候就没有什么办法继续绘图了,

但是,此时我们使用的是gmapping的建图方法,所以小车可以一直向前建图下去,

5、保存和显示地图
等地图做好了,就可以使用map_server保存地图了。直接输入rosrun map_server map_saver。ls一下,就可以看到map.yaml和map.pgm两个新文件。把map.pgm拷贝到windows平台,用gimp打开,就可以看到这样的图片效果,

Recommend
-
4
SLAM从入门到精通(开始篇)
-
10
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 linux系统里面的编译和windows下面的编译不同,它没有什么特别好用的IDE。一般都需要自己写编译脚本。这项工作在以前可能很麻烦,但是现在一般都被cmake取代了。...
-
18
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 不可否认,slam中的有一部分内容来自于数学。但是,我们在学习使用的过程中,也不用纠结于整个数学的推导过程,能正确使用数学结论也是可以的。有能力的同学,按...
-
25
SLAM从入门到精通(基本框架)
-
5
SLAM从入门到精通(tf的使用)
-
7
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 slam的最终目的是为了建图和定位。有了地图,我们才知道当前机...
-
2
SLAM从入门到精通(amcl定位使用)
-
14
SLAM从入门到精通(从amcl到navigation软件栈)
-
5
SLAM从入门到精通(IMU数据的读取)
-
6
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 目前建图的方法一般有视觉建图和激光建图两种。...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK