• SLAM从入门到精通(gmapping建图)


    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱: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即可。不出意外的话,可以看到这样的打印,

    1. feixiaoxing@feixiaoxing-VirtualBox:~/Desktop/catkin_ws$ rosrun gmapping slam_gmapping
    2. Warning: TF_REPEATED_DATA ignoring data with redundant timestamp for frame odom at time 137.641000 according to authority unknown_publisher
    3. at line 278 in /tmp/binarydeb/ros-noetic-tf2-0.7.6/src/buffer_core.cpp
    4. [ INFO] [1696080880.129716402, 137.739000000]: Laser is mounted upwards.
    5. -maxUrange 5.99 -maxUrange 5.99 -sigma 0.05 -kernelSize 1 -lstep 0.05 -lobsGain 3 -astep 0.05
    6. -srr 0.1 -srt 0.2 -str 0.1 -stt 0.2
    7. -linearUpdate 1 -angularUpdate 0.5 -resampleThreshold 0.5
    8. -xmin -100 -xmax 100 -ymin -100 -ymax 100 -delta 0.05 -particles 30
    9. [ INFO] [1696080880.212790260, 137.789000000]: Initialization complete
    10. update frame 0
    11. update ld=0 ad=0
    12. Laser Pose= 1.7082e-07 1.78246e-07 3.20824e-08
    13. m_count 0
    14. Registering First Scan

    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打开,就可以看到这样的图片效果,

  • 相关阅读:
    有没有什么好用的汉译英的学术翻译软件推荐(医学sci方面)?
    伦敦银一手是多少?
    MATLAB和物联网连载1:Internet of Things离你有多远?5行MATLAB的距离
    【C语言】【数据结构】【顺序表】
    牛顿法与拟牛顿法摘记
    通讯网关软件022——利用CommGate X2MQTT实现MQTT访问MSSQL服务器
    PWN入门(6)写入shellcode
    网络安全(黑客)自学
    LuatOS-SOC接口文档(air780E)--iotauth - IoT鉴权库, 用于生成各种云平台的参数
    第九届编程大赛预选赛#题解
  • 原文地址:https://blog.csdn.net/feixiaoxing/article/details/133442215