《LIO-SAM阅读笔记》-为何要引入增量式里程计?

前言:

LIO-SAM在后端中同时维护着两个里程计,一个是增量式里程计,一个是优化后的里程计,其中优化后的里程计是经过imu、回环、gps因子图联合优化后的结果,是整个系统中最准确的位姿估计,那么为什么还需要维护增量式里程计呢?

以下是我的理解,不一定正确,如有错误,或者不一样的见解欢迎在评论区留言讨论。

我认为最主要的原因(或者是最大的用途)是需要用增量式里程计信息结合imu预积分信息进行联合的因子图优化,更新IMU偏置。

为何此处要进行联合imu的因子图优化呢?

此处因子图优化可以更新三个变量,分别是:当前帧位姿、速度、IMU偏置。其中前两个完全可以采用后端优化后的里程计信息 ,要比此处优化后的位姿更加准 确,因此这里的因子图优化操作最不可替代的是更新IMU偏置。

那么为什么不采用后端优化后的里程计信息结合imu预积分信息进行联合的因子图优化,更新IMU偏置呢?

增量式里程计是一个平滑的结果不会有大幅度的位姿跳跃,适用于因子图优化时,帧间的位姿变换对imu预积分的约束。而后端优化后的里程计经过联合因子图优化后(尤其是回环时全局的位姿的调整),其帧间的位姿变换幅度可能较大,这样对IMU预积分的约束就起不到什么效果,也就无法准确的更新IMU偏置。

因此我认为,如果不需要更新IMU偏置,在LIO-SAM中完全可以不维护增量式里程计,直接使用后端优化后的位姿联合IMU帧间的预积分结果,就可以发送最终的imu里程计信息。

相关推荐
通信小呆呆2 小时前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
benben0442 小时前
强化学习之DQN算法族(基于gymnasium开发)
算法
何以解忧,唯有..3 小时前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
闪闪发亮的小星星4 小时前
高斯光以及高斯光公式解释
笔记
想吃火锅10054 小时前
【leetcode】88.合并两个有序数组js
算法
cqbzcsq5 小时前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息
生成论实验室5 小时前
机器人:一个自主运动的系统
人工智能·算法·语言模型·机器人·自动驾驶·agi·安全架构
Qres8215 小时前
算法复键——树状数组
数据结构·算法
H178535090965 小时前
SolidWorks第四部分_直接实体建模特征9_替换面原理
线性代数·算法·机器学习·3d建模·solidworks