采用Cartographer纯定位模式覆盖原有地图问题

采用Cartographer纯定位模式覆盖原有地图问题

针对采用Cartographer进行纯定位模式会出现新地图覆盖先验地图的问题,原因是Cartographer在进行纯定位的时候会进行子图建立,也是一个建图的过程,将建立的子图与先验地图进行匹配来得到机器人的位置信息的,所以会覆盖先验地图很正常,要解决这个问题也很简单。

首先在启动定位的launch文件之后查看以下自己的话题rostopic list;

不出意外会有一个/map的话题,使用rostopic info /map命令去查看它的订阅和发布,它的发布者应该是Cartographer的cartographer_occupancy_grid_node,它同时会订阅submap_list。

总结以下,cartographer_occupancy_grid_node这个节点的订阅里面有submap_list,发布有map,因为submap_list是会改变的,所以map也会改变,那么解决方法就是,map的发布给注释了,也就是注释cartographer_occupancy_grid_node,那么另一个问题又来了,的确不会出现覆盖的情况了,但我原本的先验地图也没有了,我仍然需要发布map这个topic,可以采用map_server这个包来发布。

总结:

在launch文件里把cartographer_occupancy_grid_node这个节点注释了,然后在launch中加入节点,配置如下:

<node name="map_server" pkg="map_server" type="map_server" args="你的地图绝对路径/地图文件名.yaml"  />

再运行launch就没问题了。

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
定位模式下,李太白作为地图制图师,可以运用以下方法来更新地图。 首先,李太白可以收集现有地图中的相关数据。这包括地理信息、道路网络、建筑物、地形等等。可以通过地理调查、卫星遥感、无人机飞行等方式获取详细的地理数据。 其次,李太白需要使用传感器和测量设备进行实地勘测。通过对具体地区进行测量、标记和定位,可以获取准确的地理坐标和地物信息。 然后,李太白可以利用计算机技术和GIS(地理信息系统)软件进行数据处理和地图制作。他可以将收集到的地理数据输入到GIS软件中,进行数据清洗、处理、分析和整合,以生成准确的地图更新数据。 接着,李太白需要使用专业的地图制作工具,将处理好的地理数据以符号、注记和颜色等形式表现在地图上。他可以使用不同的图形和标识来表示不同的地物特征,如道路、河流、山脉、城市等。 最后,李太白可以对地图进行验证和修正。他可以与地理学家、测量师和其他领域的专家合作,对地图进行检查和评估,以确保地图的准确性和完整性。如果发现错误或遗漏,可以进行修改和更新,以保证地图的及性和可靠性。 总结而言,在定位模式下,李太白可以通过收集数据、实地勘测、数据处理和地图制作,以及验证和修正等步骤来更新地图,从而提供准确的地理信息供使用者参考。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值