Cartographer的纯定位模式在低性能处理器上的应用适配

任务动机:使用Cartographer在已有地图准确定位。

任务描述:使用Cartographer建立地图,在已有地图上开启纯定位模式,使其在性能较低的处理器上依然可以实时定位。

1. 前言

        Cartographer纯定位模式在lua中配置,官方配置在back_pack_2d_localization.lua中设置

include "backpack_2d.lua"

TRAJECTORY_BUILDER.pure_localization = true

POSE_GRAPH.optimize_every_n_nodes = 20

return options

        开启后打开rviz中的submap,会看到如下显示

        在已有的trajectory 0 轨迹上新建了一条trajectory 1 的轨迹,该轨迹上即实时执行前端匹配,也同时执行后端优化,后端优化会与trajectory 0已有的submap进行匹配,确定当前激光帧的准确位姿。在trajectory 1轨迹上只同时维护3个submap,这样不会造成内存堆积,可以一直持续定位,而且精度很高,前提是有一张质量较好的地图。但是Cartographer运行时对计算力要求较高,如果当前cpu计算能力较差时,或者定位时生成node与submap之间的约束不能够及时计算优化,则会进入排队优化状态,这样,生成约束的速度大于处理约束的速度,造成约束队列越来越来多,影响机器人正常定位状态。终端会有如下打印

“There are too many remai
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值