Cartographer位姿估计器

Cartographer的位姿估计器利用imu_tracker_、odometry_imu_tracker_和extrapolation_imu_tracker_进行姿态预测。当有里程计数据时,优先使用里程计计算线速度和角速度;若无里程计但有IMU数据,则依赖IMU;否则,依据pose数据估算。预测过程可能存在精度问题,如长时间的数据可能导致速度估算不准确。尽管如此,Cartographer仍假设预测的位姿具有一定准确性并纳入后端优化中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cartographer位姿估计器

pose_extrapolator重要变量

姿态预测相关:在AddPose中更新
  1. imu_tracker_: 只在添加位姿时更新,用于保存添加校准位姿时的姿态
  2. odometry_imu_tracker_: 在添加位姿时更新,用于根据里程计数据计算线速度
  3. extrapolation_imu_tracker_: 只在添加位姿时更新,用于更新时的姿态预测
通过里程计计算线速度和角速度:
  1. linear_velocity_from_odometry_: 只在添加里程计数据时更新,用于位姿预测时的平移量预测_
  2. angular_velocity_from_poses_: 只在添加里程计数据时更新,用于不使用imu数据时的角速度更新
通过pose计算线速度和角速度
  1. linear_velocity_from_poses_: 只在添加位姿时更新,用于位姿预测时不适用里程计数据时的平移量预_
  2. angula_velocity_from_poses: 只在添加位姿时更新,用于不使用里程计数据时的角速度更新
传感器数据队列的个数

imu_date_: 队列数据的个数最少是1

odometry_data_: 队列数据的个数最少是2

time_pose_queue_: 位姿队列数据的个数最少是2

总结

预测平移时: 有里程计就用里程计的线速度,没有里程计就用pose计算的线速度进行预测

预测姿态时: 有IMU就用IMU的角速度,没有IMU时,有里程计就用里程计计算出的角速度,没有里程计的时候就用pose计算的角速度进行预测

预测都是相对的值,要在最后加上一个pose的位姿

可能有的问题

1.计算pose的线速度与角速度时,是采用数据队列的开始和末尾的两个数据进行计算的。假如pose队列时间较长,速度不准

2.计算里程计的线速度和角速度时,采用数据队列的开始和末尾的两个数据进行计算的

3.使用里程计,不使用IMU时,计算里程计的线速度方向和姿态的预测时,用的是里程计数据队列开始和末尾的两个数据的平均角速度计算的,时间长了就不准

不使用里程计不使用IMU时,用的是pose数据队列开始和末尾的2个数据的平均角速度计算的,时间长了就不准

添加位姿时,没有用pose的姿态对imu_tracker进行校准,也没有对整体的位姿预测器进行校准,只计算了pose的线速度与角速度

cartographer认为位姿推测器推测出来的位姿具有一定的准确性,将其加入到了后端优化之中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值