码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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+1​bk​​)−1⊗(qbk​w​)−1⊗qbk+1​w​ ,含义是一样的

    注意:
    这个残差计算是每次优化后都会进来计算的, 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 来当作新的残差。
    代码中对置信度取逆是因为,协方差越大代表不确定性越高,则权重应该越小,所以要取逆

  • 相关阅读:
    springboot配置log4j2,现扒现用,简单易懂
    springboot vue elementui理发店预约系统源码
    35 LRU缓存
    推荐一个数据可视化大屏幕报表开源系统
    大数据开发,Hadoop Spark太重?你试试esProc SPL
    Kafka消息队列详解
    【ASM】字节码操作 工具类与常用类 GeneratorAdapter 介绍
    计算机毕设(附源码)JAVA-SSM基于web的企业人事管理系统
    银行业国产数据库现状
    【论文阅读】基于隐蔽带宽的汽车控制网络鲁棒认证(一)
  • 原文地址:https://blog.csdn.net/zysss_/article/details/134289803
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号