gmapping 功能包与hector_slam 功能包实现 SLAM 仿真

gmapping 功能包、hector_slam 功能包实现 SLAM 仿真

一、gmapping 功能包实现SLAM仿真

  1. 进入ros环境
    gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第1张图片

  2. 配置gmapping相关节点

    gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第2张图片


    

    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    

3.运行相关mbot_laser_nav_gazebo.launch文件

roslaunch  mbot_gazebo mbot_laser_nav_gazebo.launch


    
    
    
    
    
    
    

    
    
        
        
        
        
        
        
    

    
     

    
     

    
    
        
    

    
     


gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第3张图片
4. 运行gmapping_demo.launch文件,运行rviz查看机器人相关视角激光扫描图像(激光雷达)

roslaunch mbot_navigation gmapping_demo.launch

gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第4张图片
gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第5张图片

5.运行mbot_teleop.launch文件,通过键盘控制小车运动

roslaunch mbot_teleop  mbot_teleop.launch

  
    
    
  

gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第6张图片
由下图可知,小车运动后激光扫描图片也发生了变化:
gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第7张图片
gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第8张图片

6.运行命令,保存扫描地图到指定位置

rosrun map\_server map\_saver -f/home/luxiaolu/catkin\_ws/src/mbot\_navigation/maps/cloister\_gmapping

gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第9张图片
gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第10张图片
由图像可知,该图片确实为小车移动后扫描图像的图片

  1. 运行 mbot_kinect_nav_gazebo.launch 文件
roslaunch  mbot_gazebo mbot_kinect_nav_gazebo.launch


    
    
    
    
    
    
    

    
    
        
        
        
        
        
        
    

    
     

    
     

    
    
        
    

    
     

    
    
        
        
        
        
    


gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第11张图片
gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第12张图片

二、使用hector_slam 功能包实现 SLAM 仿真

1.安装hector_slam包

sudo apt-get install ros-kinetic-hector-slam

gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第13张图片

2.配置hector_mapping节点



    
        
        
        
        
        

        
        
        

        
        
        
        
        
        
        
        

        
        
        
        
        

        
        
            
        
        

         
        
        
        
    


gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第14张图片
3. 运行 mbot_laser_nav_gazebo.launch 文件

roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch

gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第15张图片
gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第16张图片
4.运行hector_demo.launch文件

roslaunch mbot_navigation hector_demo.launch

gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第17张图片
gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第18张图片

5.运行mbot_teleop.launch文件,键盘控制小车移动

roslaunch mbot_teleop mbot_teleopp.launch

gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第19张图片
gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第20张图片
6.通过命令保存扫描的地图

rosrun map\_server map\_saver -f/home/luxiaolu/catkin\_ws/src/mbot\_navigation/maps/cloister\_gmapping1

gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第21张图片

由截图可知,保存的图片即为机器人扫描图片

7.运行mbot_laser_nav_gazebo.launch 文件

roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch

gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第22张图片
gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第23张图片

  1. 运行nav_cloister_demo.launch文件
roslaunch mbot_navigation nav_cloister_demo.launch


    
    

    
    

    
    

    
    

    
    

    
    


gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第24张图片
gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第25张图片

9.点击选项2D Naw Goal,使小车自己运动
gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第26张图片
gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第27张图片

10.运行mbot_laser_nav_gazebo.launch 文件

roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch

gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第28张图片
gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第29张图片

11.运行exploring_slam_demo.launch文件

roslaunch mbot_navigation exploring_slam_demo.launch


    

    
    

    
    


gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第30张图片
gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第31张图片

12.点击选项2D Naw Goal,利用鼠标箭头指向使小车自己运动
gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第32张图片
gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第33张图片

总结

1.在运行相关launch文件时如果出现,文件不存在的问题,可以通过source devel/setup.bash命令进行文件注册,或重新输入命令解决
2. 在hector_slam过程中,会因为小车加速等原因发生打滑现象
gmapping 功能包与hector_slam 功能包实现 SLAM 仿真_第34张图片

你可能感兴趣的:(gmapping 功能包与hector_slam 功能包实现 SLAM 仿真)