cartographer建图完成后如何保存

参考链接:https://www.ncnynl.com/archives/201904/2915.html

cartographer创建的地图格式与gmapping、hector_slam等生成的地图格式不同,不能使用map_saver节点保存地图。需要使用以下命令保存地图:

  • 请求/finish_trajectory服务,完成轨迹,不再接收数据:
rosservice call /finish_trajectory 0
  • 请求/write_state服务,保存当前状态,其中路径可以根据需要自行更改:
rosservice call /write_state "{filename: '${HOME}/Downloads/mymap.pbstream'}"
  • 运行cartographer_pbstream_to_ros_map节点,将保存的.pbstream文件转为.pgm和.yaml文件:
rosrun cartographer_ros cartographer_pbstream_to_ros_map -map_filestem=${HOME}/Downloads/mymap -pbstream_filename=${HOME}/Downloads/mymap.pbstream -resolution=0.05

特别要注意的是节点后面的两个参数一个是-map_filestem另一个是-pbstream_filename

posted @ 2021-04-28 14:07  木鸡  阅读(2336)  评论(0编辑  收藏  举报