cartographer离线利用pbstream生成ros标准格式地图

      利用cartographer的cartographer_pbstream_to_rosmap节点写了个launch文件,功能为离线将pbstream文件转换成标准ros格式地图。在早些版本曾有过类似launch文件,后被开发者删除。该node的代码位于pbstream_to_ros_map_main.cc。

<launch>
  <node name="cartographer_pbstream_to_ros_map" pkg="cartographer_ros"
      type="cartographer_pbstream_to_ros_map" args="
          -pbstream_filename $(arg pbstream_filename)
          -map_filestem $(arg map_filestem)
          -resolution $(arg resolution)"
      output="screen">
  </node>
</launch>

      launch文件的三个配置参数依次为pbstream文件路径,需要保存的ros格式map文件路径(注意不带文件后缀名),分辨率。

      例:

roslaunch cartographer_ros offline_pbstream_to_rosmap.launch pbstream_filename:=/home/cabin/Desktop/carto_map.pbstream map_filestem:=/home/cabin/Desktop/ros_map resolution:=0.05

      运行后在桌面得到ros_map.pgm和ros_map.yaml。

      

      另在此记录先前未注意的保存cartographer地图的service用法。在建图过程中执行如下指令将在桌面生成pbstream文件而不影响建图。

rosservice call /write_state /home/cabin/Desktop/carto_map.pbstream

阅读更多
文章标签: cartographer slam
个人分类: cartographer slam
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

cartographer离线利用pbstream生成ros标准格式地图

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭