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.hqwc.cn/news/166557.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BP神经网络的数据分类——语音特征信号分类

大家好,我是带我去滑雪! BP神经网络,也称为反向传播神经网络,是一种常用于分类和回归任务的人工神经网络(ANN)类型。它是一种前馈神经网络,通常包括输入层、一个或多个隐藏层和输出层。BP神经网…

什么是运营商精准大数据?又有什么作用?

大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。 精准大数据,是一种…

php 二分查询算法实现

原理:二分查找算法(Binary Search)是一种针对有序数组的查找算法。它的原理是通过将查找区间逐渐缩小一半来快速定位要查找的目标值。 应用场景: 数据库或文件系统索引查找:在数据库或文件系统中,索引是有…

golang工程中间件——redis常用结构及应用(set,zset)

Redis 命令中心 这些篇文章专门以应用为主,原理性的后续博主复习到的时候再详细阐述 set 集合,为了描述它的特征,我们可称呼为无序集合;集合的特征是唯一,集合中的元素是唯一存在 的; 存储结构 元素都…

CSS特效004:hover图片,显示文字或附加层

css实战中,时常会碰见鼠标放在某个区块上,显示出一段文字或者其他附加信息。思路是利用position的层叠关系,将文字层放在图片的上面,display:none; hover的时候层 display:block。 效果图 源代码 /* * Author: 大剑师…

2013年108计网

第33题 在 OSI 参考模型中, 下列功能需由应用层的相邻层实现的是()A. 对话管理B. 数据格式转换C. 路由选择D. 可靠数据传输 很显然,题目所问的应用层的相邻层是表示层。该层实现与数据表示相关的功能。选项a中的对话管理属于会话层。选项c中的路由选择属于网络层。…

算法--数据结构

这里写目录标题 本节内容链表与邻接表链表主要思想链表操作初始化在head结点后面插入普通插入删除操作 例子 双链表(双向循环链表)主要思想操作初始化双向插入删除第k个点 邻接表主要思想 栈和队列栈主要思想主要操作 队列主要思想操作 单调栈与单调队列…

ChatGPT生产力|中科院学术ChatGPT优化配置

资源链接:GitHub - binary-husky/gpt_academic b站配置讲解链接:chatgpt-academic 新手运行官方精简指南(科研chatgpt拓展) 某知配置图文讲解:图文详解:在windows中部署ChatGPT学术版 - 知乎 (zhihu.com) 一…

linux系统,确认账户密码正确

linux系统,确认账户密码正确 1、问题背景2、解决方法 1、问题背景 有时在linux系统安装软件时,有的软件可能会在安装过程中创建系统用户,同时会给出这个用户的密码。过了一段时间我们不确定这个密码是否还正确,那怎么确认这个密码…

安卓系统手机便签app使用哪一款?

在现代快节奏的生活中,我们经常会遇到各种繁忙的事务和容易遗忘的备忘事项。为避免大家遗忘重要的事情,大家可以在常用的手机上安装记录备忘事项的工具,为了帮助安卓用户高效地记录和管理这些信息,今天我将向大家推荐一款功能强大…

【C++数据结构】顺序存储结构的抽象实现

文章目录 前言一、目标二、SeqList实现要点三、SeqList函数实现3.1 get函数3.2 set函数3.3 insert函数带2个参数的insert带一个参数的insert 3.4 remove函数3.5 clear函数3.6 下标运算符重载函数无const版本const版本 3.7 length函数 总结 前言 当谈到C数据结构时,…

【被面试官吊打系列】啥,你没说面试要考智力题呀 (上) ?

你好,我是安然无虞。 文章目录 1. 二进制问题分金条问题毒药问题 2. 先手必胜问题轮流拿石子抢30的必胜策略Nim游戏 3. 水桶问题5L和6L的水桶怎么量出3L的水?3L和5L的水桶怎么量出4L的水?一个装了10L水的桶,一个7L的空桶还有一个…