实验方法

  1. Robot Application 配成 exploring_slam_demo.launch
  2. 修改 exploring_slam_demo.launch
     <launch>
    
         <param name="use_sim_time" value="true" />
    
         <!-- gmapping -->
         <include file="$(find mbot_navigation)/launch/gmapping.launch"/>
         <!-- hector -->
         <!--<include file="$(find mbot_navigation)/launch/hector.launch"/>-->
    
         <!-- 运行move_base节点 -->
         <include file="$(find mbot_navigation)/launch/move_base.launch" />
    
         <!-- 运行rviz -->
         <node pkg="rviz" type="rviz" name="rviz" args="-d $(find mbot_navigation)/rviz/nav.rviz"/>
    
         <!-- 随机探索 -->
         <node pkg="mbot_navigation" type="exploring_random.py" name="exploring_random" output="screen"/>
    
     </launch>
    
  3. 启动 Simulation Application
  4. 启动 Robot Application
  5. 注释掉 gmapping 部分,打开 hector 部分,重新模拟

实验结果

  1. gmapping
  2. hector
  3. 显然,在有限次实验中,gmapping 效果远胜 hector,对于使用含有里程计和入门级雷达的地面移动平台的初学者,强烈建议使用 gmapping

局限性

  1. 随机探索远没有覆盖所有情况
  2. cartographer 试验时出现报错,找不到相关 lua文件,初步判断是缺依赖