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