admin 管理员组文章数量: 887021
VINS
目录
- 1 滤波问题中的IMU积分
- 2 IMU预积分引出
- 3 离散时间的预积分
- 4 观测的置信度问题(协方差)
- 5 非常感谢您的阅读!
接 上篇。
1 滤波问题中的IMU积分
我们知道上式中的IMU积分分别表示位移的变化量、速度的变化量和旋转的变化量,在滤波问题中,用已知的上一帧帧的状态加上对IMU测量的积分量可以预测当前帧的状态,这就是滤波器中的预测部份,而更新通常是通过最小化重投影误差来完成。在非线性优化中,会同时优化好几帧的位姿状态,此时再用IMU积分来进行优化就不是很好了。为什么呢?
滤波只进行相邻帧的一次预测和更新,而非线性优化是相当于在优化过程中同时调整好几帧的状态量,使其能在调整的位姿下重投影误差最小。如果帧间是用积分联系起来的话,某帧姿态调整时,其后的所有帧的位姿都要通过积分重新算一遍。如果大规模优化的话,显然计算量极大。
对于优化问题,采用IMU预积分技术可以大大降低计算工作量。
2 IMU预积分引出
关于预积分的论文在这儿,高翔博士讲预积分的视频在这儿。
预积分的计算也很巧妙,只需要在IMU积分的等式两边左乘一个由世界系到IMU系的旋转矩阵即可。
其中, α \alpha α、 β \beta β、 γ \gamma γ就是IMU的预积分量。具体形式如下:
可以看到预积分中的参数与每一图像帧对应的IMU位姿调整都没有关系,无论相邻两图像帧的位姿如何调整,预积分总像一根弹簧一样将两帧的相对位姿限制在合理范围内。
IMU预积分只与IMU测量值有关,其实IMU预积分就是将相邻两图像帧之间的IMU数据积分起来,以此作为约束来限制相邻图像帧的位姿调整。
其实IMU积分和IMU预积分都可以当作相邻图像帧之间的约束,区别在于,IMU积分公式中包含了IMU在世界坐标系下的位姿,这就导致了当每次图像帧对应的IMU位姿调整时,预测下一图像帧对应的 IMU位姿只能再次进行积分。而IMU预积分公式中的位姿变化只是相对于上一图像帧对应的IMU位姿的变化量,实际计算时用不到IMU在世界坐标系下的位姿,这样每当IMU位姿调整后,只需在此基础上加上一个预积分量就能得到下一帧位姿。
3 离散时间的预积分
从上面的分析我们知道预积分就是把一段时间的IMU数据积分起来。而我们的SLAM系统是以离散时间的形式向后端发送IMU数据,所以我们要用到IMU运动模型的离散时间积分。离散时间 δ \delta δt 的状态变化量如下式计算。
在实际应用中有两种方法计算。
①用第k时刻的测量值来计算两个相邻时刻 k 到 k+1 的位姿,即:
②用两个时刻的测量值 a, ω 的平均值来计算两个相邻时刻 k 到 k+1 的位姿,即:
第①种方法叫做欧拉法,第②种方法叫做中值法。
VINS-mono中采用的中值积分的方法来计算IMU的预积分:
4 观测的置信度问题(协方差)
一个 IMU 数据作为测量值的噪声方差我们能够标定。现在,一段时间内多个 IMU 数据积分形成的预积分量的方差呢?也就是说,我们对于一个IMU的单次测量可以这样分析,它只受当前时刻的IMU零偏和高斯白噪声影响,我们可以建立它简单的运动模型。但是IMU预积分是将一段时间内的IMU测量积分起来,这里面包含了多个时刻零偏和白噪声的叠加影响,在整个预积分过程中,误差是怎样传递的呢?这很容易让人想起《王牌对王牌》里经常做的游戏,主持人让所有人戴上放着音乐的耳麦,只把正确的汉字告诉头一个人,叫他向后传递,由于“噪声”影响,传到后面消息已经面目全非,这显然和只传一次的模型不一样,这就要求我们推导预积分的协方差。
关于如何推导预积分的误差传递模型,下次再写吧。
5 非常感谢您的阅读!
本文标签: VINS
版权声明:本文标题:VINS 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1687206780h76182.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论