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

前言:

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

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

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

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

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

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

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

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

相关推荐
FII工业富联科技服务8 小时前
Omniverse + Isaac Teleop + 合成数据:工业富联机器人大脑训练+执行落地闭环拆解
大数据·人工智能·深度学习·机器学习·机器人·制造·具身智能
点心的游戏开发世界9 小时前
GDScript 入门笔记(十一):Lambda 与匿名函数
开发语言·笔记·游戏引擎·godot
摇滚侠9 小时前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 使用 JdbcTemplate 阅读笔记 32
spring boot·笔记·后端
phltxy9 小时前
C语言操作符详解
java·c语言·算法
aqiu1111119 小时前
【LeetCode 902】最大为 N 的数字组合 - 详细题解与数位组合思路
数据结构·算法·leetcode·蓝桥杯·数位dp
YFJ_mily10 小时前
985中山大学主办|往届3个月EI检索|ACIRA2026先进计算与智能机器人会议 10.31截稿
机器人·rdlink研发家·广州会议·先进计算·智能机器人应用·985高校背书·往届会议历史
辰烨chenye10 小时前
LeetCode Hot 100 题解 · 哈希篇
算法·leetcode·哈希算法
罗西的思考11 小时前
DreamZero 与 DreamDojo:世界模型与策略的分层协同综合分析与对比
人工智能·算法·机器学习
鱼子星_11 小时前
【C++】继承和多态(上)
c++·笔记