Cartographer系列之四——地图文件导出


个人能力有限,若有错误请批评指正!
转载请标明出处:http://www.cnblogs.com/wenhust/

 

一、目的

Cartographer是google的开源2D Laser-based SLAM方案,可以直接在ROS上运行并建图(可参考之前的文章)。不过到目前为止,还没有提供可以直接保存导出已完成的地图文件的功能,但一些如路径规划等后续工作有赖于地图文件得以进行,因此在这里提供一个简便方法可以将cartographer的地图文件保存出来。

二、方法

在cartographer_ros的源码中已经存在map_writer.h、map_writer.cc的文件,我的方法是直接在occupancy_grid.cc中,增加对map_writer的使用,使其直接将occupancy_grid作为地图文件保存出来,其具体增加代码如下:

  1. 增加头文件包含
    #include "cartographer_ros/map_writer.h"
  2. 将occupancy_grid作为地图文件保存
    在occupancy_grid数据完成后,即occupancy_grid.cc的最后for循环之后增加
    cartographer_ros::WriteOccupancyGridToPgmAndYaml(*occupancy_grid,"/tmp/test");

重新编译文件成功后,运行程序,便可以在tmp目录下看到test.pgm和test.yaml文件了,其中test.pgm是地图文件、test.yaml是地图信息文件。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM