当前位置: 首页 > news >正文

VINS-Mono-后端优化 (一:预积分残差计算-IMU预积分约束)

这里先回顾一下预积分是怎么来的
VINS-Mono-IMU预积分 (三:为什么要预积分+预积分推导)
这里贴出预积分的公式
在这里插入图片描述
具体含义解释看对对应的文章
整个误差函数如下
在这里插入图片描述
预积分 α \alpha α β \beta β γ \gamma γ 是用 IMU 预积分获得的增量(前面用了大篇幅去推导,可以看之前的文章),左边是优化获得的增量,整体就是优化后的值不能离预积分的增量太远,太远的话误差值就会变大
对于四元数就是旋转后的相乘结果尽可能为 0 , θ → 0 , q = [ 1 , n ⃗ θ 2 ] \theta\rightarrow0,q=[1,\frac{\vec{n}\theta}{2}] θ0,q=[1,2n θ],这里有个 1 2 \frac{1}{2} 21 ,所以要乘个2
代码中实际的写法是 ( γ b k + 1 b k ) − 1 ⊗ ( q b k w ) − 1 ⊗ q b k + 1 w (\gamma^{b_{k}}_{b_{k+1}})^{-1}\otimes(q^{w}_{b_{k}})^{-1}\otimes q^{w}_{b_{k+1}} (γbk+1bk)1(qbkw)1qbk+1w ,含义是一样的

注意:
这个残差计算是每次优化后都会进来计算的, k + 1 k+1 k+1 时刻(代码中的 j j j)的值就是待优化的值,每次进入函数计算都会被改变,具体计算方法和上面的公式一样,疑问:感觉好像是 i i i j j j 的值同时优化的,后面具体看看代码优化量是哪个?
由于零偏 B a Ba Ba 也是优化变量,而预积分又与零偏有关系,零偏改变了理论上是要重新积分的,但是由于这个零偏量变化很小,所以这里采用一阶近似的方式来更新预积分,更新的预积分继续作为这个约束,零偏更新建模看这篇文章VINS-Mono-IMU预积分 (七:预积分零偏建模方式)
这就是所谓的紧耦合,就是又作为约束又同时优化自身变量

预积分协方差矩阵的使用
前面算出残差 e e e 后,还需要成上信息矩阵(协方差)才行,因为虽然预积分作为约束,但是不是说这个约束是绝对准确的,它是有一个置信度的,前面通过ESKF就是为了计算预积分的置信度

由于现在设置的预积分约束因子,所以前面计算的预积分置信度就是用在这里计算的残差上面,公式为 e T P e e^{T}Pe eTPe,对置信度 P P P 进行 L L T LL^{T} LLT 分解,这个分解相当于是对 P P P 开根号,那么新的残差用 L T e L^{T}e LTe 来当作新的残差。
代码中对置信度取逆是因为,协方差越大代表不确定性越高,则权重应该越小,所以要取逆

http://www.lryc.cn/news/223354.html

相关文章:

  • 怎么调整excel表里面所有单元格中,某个相同字体大小,单元格中其他文字大小不变?
  • 流式数据库引擎备受关注,亚信安慧AntDB数据库受邀参加“2023中国PostgreSQL数据库生态大会”
  • kafka开启SSL认证(包括内置zookeeper开启SSL)
  • Powerpoint不小心被覆盖?PPT误删文件如何恢复?
  • 美团产品经理面试题大解密:流量VS口碑,如何找到最佳平衡点?
  • docker部署tomcat
  • 大语言模型(LLM)综述(七):大语言模型设计应用与未来方向
  • 牛客网:链表分割
  • pytorch(小土堆)深度学习
  • 统计 boy girl 复制出来多少次。 浴谷 P1321题
  • odoo16前端框架分析1 boot.js
  • 酷开科技持续推动智能投影行业创新发展
  • TIA博途中已经被调用的变量,为什么交叉引用时却没有显示调用信息?
  • OSPF下的MGRE实验
  • 论文速览 | TRS 2023: 使用合成微多普勒频谱进行城市鸟类和无人机分类
  • 《网络协议》02. 物理层 · 数据链路层 · 网络层
  • 【chatgpt问答记录】双端队列、栈和函数调用栈
  • 另辟蹊径者 PoseiSwap:背靠潜力叙事,构建 DeFi 理想国
  • 如何查看笔记本电脑电池损耗
  • 一键批量视频剪辑、合并,省时省力,制作专业视频
  • 使用R语言构建HTTP爬虫:IP管理与策略
  • Stable Diffusion源码调试(二)
  • 网络安全(黑客)-零基础自学
  • 在线CRM系统的安全性高吗?企业该如何选择?
  • R-install_miniconda()卸载 | conda命令行报错及解决方法
  • leaflet:利用Leaflet-Geoman绘制多种图形,导出为geojson文件(135)
  • 【C语言基础】第02章_变量与进制
  • 【案例教程】基于AERMOD模型在大气环境影响评价中的实践技术应用
  • 【C语言从入门到放弃 4】字符串,结构体,共用体,位域,typedef详解
  • Linux学习第34天:Linux LCD 驱动实验(一):星星之火可以燎原