码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • VINS系统框架--原理剖析


    一. VINS系统的残差项

    1.1 先验残差项


    1.2. IMU测量残差

    仅仅是把预积分量当作构建残差的一把梯子而已。

    IMU预积分类——IntegrationBase_yuntian_li的博客-CSDN博客

    残差里面的待优化变量:i时刻的p_{wb_{i}},v_{i}^{w},q_{wb_{i}},b_{i}^{g},b_{i}^{a}

                                            j时刻的p_{wb_{j}},v_{j}^{w},q_{wb_{j}},b_{j}^{g},b_{j}^{a}

    由于构建残差项时,通用形式是r^{T}\Sigma ^{-1}r,因此,构建这部分残差分为两个任务:

    (1)构建IMU测量残差r

    (2)构建对应的协方差矩阵\Sigma,用于残差项的比例分配,一个变量越准确,其方差值越小,那么其逆越大,就越相信这个变量所产生的残差。

    1.2.1 构建残差r

    (1.2.1.1) 

    蓝色项是测量值,另一部分黑色项是估计值

    注意:这里直接给出各预积分量对b_{i}^{g},b_{i}^{a}的雅可比求法

     这里解释一下递推得到\frac{\partial \alpha_{b_{i}b_{j}}}{\partial \delta b_{i}^{g}},注意,有\frac{\partial \alpha_{b_{i}b_{j}}}{\partial \delta b_{i}^{g}}=\frac{\partial \delta \alpha_{b_{i}b_{j}}}{\partial \delta b_{i}^{g}}
     

    根据式(1.2.2.20),我们可以知道我们会依次计算\frac{\partial \delta \alpha_{b_{i}b_{i+1}}}{\partial \delta b_{i}^{g}},\frac{\partial \delta \alpha_{b_{i}b_{i+2}}}{\partial \delta \alpha_{b_{i}b_{i+1}}},\frac{\partial \delta \alpha_{b_{i}b_{i+3}}}{\partial \delta \alpha_{b_{i}b_{i+2}}},...,\frac{\partial \delta \alpha_{b_{i}b_{j}}}{\partial \delta \alpha_{b_{i}b_{j-1}}}

    而\frac{\partial \delta \alpha_{b_{i}b_{i+1}}}{\partial \delta b_{i}^{g}}=J_{i},\frac{\partial \delta \alpha_{b_{i}b_{i+2}}}{\partial \delta \alpha_{b_{i}b_{i+1}}}=F_{i+1},\frac{\partial \delta \alpha_{b_{i}b_{i+3}}}{\partial \delta \alpha_{b_{i}b_{i+2}}}=F_{i+2},...,\frac{\partial \delta \alpha_{b_{i}b_{j}}}{\partial \delta \alpha_{b_{i}b_{j-1}}}=F_{j-1}

    很显然有:J_{j} = F_{j-1}F_{j-2}...F_{i+2}F_{i+1}J_{i}(下标或者有点不一样,但是大致是这个道理)

    其他的依次类推。


    接下来对(1.2.1.1)求雅可比,注意只需要对估计值部分求雅可比,测量值部分相当于一个具体的数,也只有估计值部分含有我们要求导的状态变量。


    接下来只需要对除开b_{i}^{g},b_{i}^{a}的状态变量求雅可比就行。

    (1)速度项残差的雅可比:

  • 相关阅读:
    unity开发Hololens编辑器运行 按空格没有手
    xray:漏洞扫描利器
    爱心熊 Game Jam 来啦,30,000 SAND等你们来赢取!
    Spring Boot 2.x系列【8】功能篇之自定义启动Banner
    上传 iOS App ipa安装包 【推荐使用mac】
    SSM框架-Spring整合Mybatis
    联想混合云Lenovo xCloud,新企业IT服务门户
    【Python+C#】手把手搭建基于Hugging Face模型的离线翻译系统,并通过C#代码进行访问
    Error in render: “TypeError: data.slice is not a function“
    【STM32】SD卡
  • 原文地址:https://blog.csdn.net/qq_43526137/article/details/126990888
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    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号