IMU预积分公式汇总
本文中全部公式来自论文:On-Manifold Preintegration for Real-Time Visual-Inertial Odometry
为了查看公式时更加方便,现把文中的有关IMU预积分的公式汇总如下:
IMU观测模型
Bω~WB(t)_{\mathrm{B}} \tilde{\omega}_{\mathrm{WB}}(t)Bω~WB(t)是陀螺仪观测值,Ba~(t)_{\mathbf{B}} \tilde{\mathbf{a}}(t)Ba~(t)是加速度计观测值,wg_\mathrm{w} \mathrm{g}wg是重力加速度,bg(t)\mathbf{b}^{g}(t)bg(t)和ba(t)\mathbf{b}^{a}(t)ba(t)分别是陀螺仪和加速度计的零偏,ηg(t)\boldsymbol{\eta}^{g}(t)ηg(t)和ηg(t)\boldsymbol{\eta}^{g}(t)ηg(t)分别是陀螺仪和加速度计的观测噪声。
IMU预积分模型
连续时间下:
离散时间下:
带入IMU观测模型后:
考虑两个关键帧之间的IMU预积分:
将上式转换为两帧之间的相对运动关系(包括相对旋转、速度和位置):
假设两个关键帧之间的陀螺仪和加速度计的零偏保持恒定:
分离出状态噪声:
状态噪声向量为:[δϕij⊤,δvij⊤,δpij⊤]⊤[\delta \phi_{i j}^{\top}, \delta \mathbf{v}_{i j}^{\top}, \delta \mathbf{p}_{i j}^{\top} ]^{\top}[δϕij⊤,δvij⊤,δpij⊤]⊤
计算协方差阵
迭代求解状态噪声:
通过噪声向量构建协方差阵:
ηikΔ≐[δϕik,δvik,δpik]ηkd≐[ηkgdηkad]\boldsymbol{\eta}_{i k}^{\Delta} \doteq\left[\delta \boldsymbol{\phi}_{i k}, \delta \mathbf{v}_{i k}, \delta \mathbf{p}_{i k}\right]\\ \boldsymbol{\eta}_{k}^{d} \doteq \left[ \begin{array}{ll}{\boldsymbol{\eta}_{k}^{g d}} & {\boldsymbol{\eta}_{k}^{a d}}\end{array}\right] ηikΔ≐[δϕik,δvik,δpik]ηkd≐[ηkgdηkad]
其中,ηikΔ\boldsymbol{\eta}_{i k}^{\Delta}ηikΔ为状态噪声,ηkd\boldsymbol{\eta}_{k}^{d}ηkd为IMU观测噪声
将式(59)-(61)写为矩阵形式:
ηijΔ=Aj−1ηij−1Δ+Bj−1ηj−1d\boldsymbol{\eta}_{i j}^{\Delta}=\mathbf{A}_{j-1} \boldsymbol{\eta}_{i j-1}^{\Delta}+\mathbf{B}_{j-1} \boldsymbol{\eta}_{j-1}^{d} ηijΔ=Aj−1ηij−1Δ+Bj−1ηj−1d
则协方差阵为:
Σij=Aj−1Σij−1Aj−1⊤+Bj−1ΣηBj−1⊤\boldsymbol{\Sigma}_{i j}=\mathbf{A}_{j-1} \boldsymbol{\Sigma}_{i j-1} \mathbf{A}_{j-1}^{\top}+\mathbf{B}_{j-1} \boldsymbol{\Sigma}_{\eta} \mathbf{B}_{j-1}^{\top} Σij=Aj−1Σij−1Aj−1⊤+Bj−1ΣηBj−1⊤
融合零偏更新
实际上,两个关键帧之间的陀螺仪和加速度计的零偏已经发生了变化δb\delta \mathrm{b}δb,在jjj时刻的零偏应该等于b=b‾+δb\mathrm{b}=\overline{\mathrm{b}}+\delta \mathrm{b}b=b+δb
所以,融合零偏更新后的相对运动关系为:
其中,
计算残差雅可比
相关参数:δϕi,δpi,δvi,δϕj,δpj,δvj,δ~big,δ~bia\delta \boldsymbol{\phi}_{i}, \delta \mathbf{p}_{i}, \delta \mathbf{v}_{i}, \delta \boldsymbol{\phi}_{j}, \delta \mathbf{p}_{j}, \delta \mathbf{v}_{j}, \tilde{\delta} \mathbf{b}_{i}^{g}, \tilde{\delta} \mathbf{b}_{i}^{a}δϕi,δpi,δvi,δϕj,δpj,δvj,δ~big,δ~bia
位置残差雅可比:
速度残差雅可比:
姿态残差雅可比:
IMU预积分公式汇总相关推荐
- VINS-Mono IMU 预积分公式及协方差、雅可比矩阵传递推导
原论文链接:VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator 参考:崔华坤-<VINS论文推 ...
- IMU预积分公式推到及代码解析
主要是各个公式与代码之间的变换: IMU器件的测量模型: 是陀螺仪实际的旋转值,是陀螺仪的测量值, 在测量值与真实值之间相差bias 和 噪声 aw 是物体的加速度在世界坐标系下的值,换言之,也可 ...
- VINS-mono之IMU预积分(IMU预积分引出)
目录 1 滤波问题中的IMU积分 2 IMU预积分引出 3 离散时间的预积分 4 观测的置信度问题(协方差) 5 非常感谢您的阅读! 接 上篇. 1 滤波问题中的IMU积分 我们知道上式中的IMU积分 ...
- VINS-Mono理论学习——IMU预积分 Pre-integration (Jacobian 协方差)
引言 VINS论文的IV-B. IMU Pre-integration介绍了IMU预积分模型,Foster的两篇论文对IMU预积分理论进行详细分析. 传统传统捷联惯性导航的递推算法,是在已知上一时刻的 ...
- IMU预积分及残差雅克比计算
前段时间推了泡泡机器人邱笑晨博士的IMU预积分公式,收获很大,再看到VIORB的时候,大都用的这一套公式. 后再看VINS的时候,VINS用的是连续时间的预积分,看一些大佬的博客,说代码里写的是离散时 ...
- VINS-Mono之IMU预积分,预积分误差、协方差及误差对状态量雅克比矩阵的递推方程的推导
文章目录 1. 前言 2. IMU模型 3. 基于世界坐标系下的IMU运动模型 3.1 连续形式下的IMU运动模型 3.2 离散形式下的IMU运动模型 3.2.1 欧拉法离散形式 3.2.2 中值法离 ...
- IMU预积分--详细推导过程
一.提前了解 二.预积分的目的 1.IMU通过加速度计和陀螺仪测出的是加速度和角速度,通过积分获得两帧之间的旋转和位移的变换: 2.在后端非线性优化的时候,需要优化位姿,每次调整位姿都需要在它们之间重 ...
- VINS-Mono 代码详细解读——IMU预积分的残差、Jacobian和协方差
前言: 对第k帧和第k+1帧之间所有的IMU进行积分,可得到第K+1帧的PVQ(位置.速度.旋转),作为视觉估计的初始值. 每次qwbt优化更新后,都要重新进行积分,运算量较大.将积分模型转为预积分模 ...
- 3d激光SLAM:LIO-SAM框架—IMU预积分功能数据初始化
前言 LIO-SAM的全称是:Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping 从全称上可以看出,该算法是一个紧耦合的 ...
- VIO残差函数的构建以及IMU预积分和协方差传递
基于滑动窗口的 VIO Bundle Adjustment,为了节约计算量采用滑动窗口形式的 Bundle Adjustment,在 i 时刻, 滑动窗口内待优化的系统状态量定义如下: χ=[Xn,X ...
最新文章
- Docker Compose安装
- Linux非阻塞IO(八)使用epoll重新实现非阻塞的回射服务器
- python有用知识
- union和union all有什么区别_什么是Python Wheels?为什么要关心它?
- excel只对筛选后的结果单独用公式
- Android判断网络连接是否可用【从新浪云搬运】
- 使用Red Gate Sql Data Compare 数据库同步工具进行SQL Server的两个数据库的数据比较、同步...
- 美团性能分析框架和性能监控平台
- vscode写python_vscode如何编写python?
- SDOI2010 代码拍卖会
- 计算机 学术论文写作,计算机辅助学术论文写作系统的研制策略与方法.pdf
- mybatis 插入一条记录 参数为map的写法【用遍历Map的key和value的方式,可以实现只插入有效值】...
- 试卷自动生成工具使用说明
- python3的spyder安装_Python开发环境Spyder安装教程
- 数学模型--预测模型、BP神经网络预测
- 基于java设计小游戏目的_java小游戏设计
- 英文卡通字体_40种独特的卡通和漫画字体
- CSTC—基于零仲裁证明的价值协议
- 如何提高CSDN博客排名
- Qt QSet 详解:从底层原理到高级用法
热门文章
- 对话张冬洪 | 全面解读NoSQL数据库Redis的核心技术与应用实践
- 有容云:梁胜-如何让Docker容器在企业中投产(上)
- 获取上周一及上周天日期
- w3c怎么检测html5,HTML5教程:html标签属性通过w3c验证
- 5.3 - 抽屉新热榜
- 湖南师范大学2018年大学生程序设计竞赛新生赛 F-小名的回答
- python math类
- 测试用例Passed和Failed有效性问题
- Java String、StringBuffer和StringBuilder的区别
- 转(js幻灯片,jQuery幻灯,js焦点轮换图,js幻灯轮播代码大全(2) - 酷站代码)...