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_pbstream_to_ros_map节点:

rosrun cartographer_ros cartographer_pbstream_to_ros_map -map_filestem=/home/cabin/Desktop/ros_map -pbstream_filename=/home/cabin/Desktop/carto_map.pbstream -resolution=0.05

      运行后得到同样的效果。

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

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

  • 4
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值