当前位置: 代码网 > it编程>软件设计>算法 > LIO-SAM前端中预积分的意义

LIO-SAM前端中预积分的意义

2024年08月03日 算法 我要评论
(个人理解为,假设调整第 k 时刻的位姿,但是 k 到 k+1时刻的IMU积分项是不会变的,因为这就是个固定的测量值,但是根据最上面的公式可以看到,当调整 k 时刻位姿时 第 k+1 时刻就要重新积分,而在图优化中,关键帧的位姿在不停的调整是必然且正常的,每次调整都要使得第 k+1 帧的位姿重新积分很耗时间)乘了以后,所有状态量都和世界坐标系无关,都变成只和当前起始的 第 k 帧有关,即和前一个关键帧相关。首先看 IMU 原始积分的公式 ,两个关键帧。实际的系统状态是离散的,则变成如下。......

原始积分传递方程

首先看 imu 原始积分的公式 ,两个关键帧 b k , b k + 1 b_{k} ,b_{k+1} bk,bk+1之间的状态传递

在这里插入图片描述
实际的系统状态是离散的,则变成如下
在这里插入图片描述

预积分的原因

从上面可以看出,当 k 时刻的状态发送变化时,第 k+1 时刻的状态也要发送变化,此时则会产生重新积分,而在因子图优化过程中,对状态调整是必然的,每次调整都会重新积分则很耗时,问题就在于,这个重新积分的的积分项的结果是不变的。

  • 预积分的作用:使得imu积分的结果和上一时刻系统的状态无关,这样当系统状态在优化中发送调整时就不需要对下一时刻的系统状态进行重新积分了

预积分做法

两边同乘 r w b k r_{w}^{b_{k}} rwbk
在这里插入图片描述
乘了以后,所有状态量都和世界坐标系无关,都变成只和当前起始的 第 k 帧有关,即和前一个关键帧相关

零偏建模的原因

上面的操作使得状态改变时不用重新积分,但是预计分虽然和两帧的具体位姿和速度无关,但是和零偏相关,从上面公式中可以看到零偏在积分项中,所以当零偏改变就需要重新积分,这样前面预积分的操作就失去意义了

零偏建模做法

为了避免零偏的变化导致预计分重新积分,,考虑通常零偏的变化在短时间内(100ms)非常小,因此可以用泰勒展开式来近似在这里插入图片描述
这样当零偏被优化时,只需要根据以上公式进行更新即可,这样就不用重新积分了,里面的关于零偏的雅客比在预计分计算的时候一并算出来的

离散时间的预计分更新

实际系统是离散的数据,每收到一帧新的imu数据时更新一次预计分量,这里是求和不是连续积分的过程,公式如下
在这里插入图片描述

视觉vio中预计分和视觉的建模图解

在这里插入图片描述
这⾥⻩⾊代表imu预积分,可以看到其只对相邻帧发⽣约束,五⾓星代表视觉地图点,同⼀个地图点可以通过重投影误差对多个关键帧的位姿形成约束

lio-sam中预计分和lidar位姿的建模图解

在这里插入图片描述
如图,蓝⾊圆圈代表关键帧位姿,蓝⾊矩形代表关键帧速度和零偏,橙⾊矩形代表imu预积分约束,可以看到,它可以约束相邻帧的位姿、速度和零偏,绿⾊矩形代表lidar⾥程记的帧间约束,其约束相邻两帧的位置和姿态。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com