cartographer与move_base的故事

最近我一直是用cartographer建好图后再用AMCL做导航用的定位,但是一直有这样那样的问题。 于是我就萌生了导航算法直接结合cartographer的想法。参考amcl_demo.launch, 我们在cartographer_turtlebot里建立文件turtlebot_urg_lidar_2d_move_base.launch,内容如下:


  
  

  
    
  

  
  
  
这里遇到了几个问题,首先就是运行的时候,总显示origin out of map。我修改了半天的move_base 配置文件并不起作用,最后用了一个比较tricky的办法,在tf系统里,原本laser是在plate_top_link位置上,但是这个位置值为负数,所以我把它换成了pole_top_0_link,如上。 然后我们来讨论一下move_base的配置。首先让我盗图一张 move_base, 可以看到导航分为局部和全局,需要分别配置。 对于全局导航,其costmap,global_frame: /map, robot_base_frame: /base_footprint, 我把更新频率提高了, 所以有update_frequency: 1.0, 比较奇怪的是这里static_map: true也行,尽管我们是动态更新地图,理论上static_map应该为false,然后设置rolling_window为true,设置窗口大小,分辨率之类的,如同local_costmap那样。local_costmap不同的地方如上所述。参考这两个链接基本能搞定所有move_base配置问题 costmap_2d, RobotSetup。 turtleBot_navigation里面有个现成的move_base.launch.xml,除了少量的修改外基本可以套用。最后的结果不太理想,我猜应该是我跑机器人的策略问题,回环太少,应该构建更多回环才是。上一个失败的图算了,传了5min图都上传不了,是时候换家用了。


你可能感兴趣的:(slam)