/***.pbstream' "3.使用catro提供文件,将.pbstream文件转为...._cartographer 保存地图">
赞
踩
cartographer保存地图两种方法
方法一:
方法二:
最终结果
示例:
cartographer建立完地图后,无法用map_server保存地图,
cartographer保存地图方式:
1 完成轨迹,不再接受数据
rosservice call /finish_trajectory 0
2 序列化保存当前状态
rosservice call /write_state /home/hostname/mymap.pbstream
3 将pbstream转化为pgm和yaml文件
rosrun cartographer_ros cartographer_pbstream_to_ros_map -map_filestem=/home/hostname/mymap -pbstream_filename=/home/hostname/Downloads/mymap.pbstream -resolution=0.05
参考链接:https://blog.csdn.net/shixiaolu63/article/details/88976066
方法一:
(注意:要在carto不报错之前停止构建地图)
1.停止地图构建
rosservice call /finish_trajectory 0
2.生成.pbstream文件
rosservice call /write_state /home/hostname/mymap.pbstream
3.使用catro提供文件,将.pbstream文件转为.yaml和.pgm文件
rosrun cartographer_ros cartographer_pbstream_to_ros_map -map_filestem=<绝对路径>/<地图名字> -pbstream_filename=<绝对路径>/<.pbstream名字> -resolution=0.05
方法二:
此方法可以在使用map_server加载地图中成功加载
由于carto保存地图格式和map_saver不一致,所以需要对源码进行修改,修改后地址
github地址:https://github.com/HaoQChen/map_server
将此包在工作空间下编译
然后运行:
rosrun map_server map_saver -f <绝对路径>/<地图名字>
最终结果
请添加图片描述
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。