当前位置:网站首页>ORB_SLAM2视觉惯性紧耦合定位技术路线与代码详解3——紧耦合优化模型
ORB_SLAM2视觉惯性紧耦合定位技术路线与代码详解3——紧耦合优化模型
2022-06-10 15:08:00 【知易行难wangshuailpp】
4.紧耦合优化模型
视觉惯性紧耦合优化部分分为三个部分,分别是Tracking、LocalMapping和Loopclosing,我只是学习了前两个部分,所以就简单的介绍下这两个内容
(1)Tracking线程中帧间紧耦合优化
论文中说的也比较清楚,分为两中情况,分别是有地图更新和无地图更新。Tracking线程中一开始是没有地图更新的,地图更新是在LocalMapping和LoopClosing中完成。因此这两种方式是随机切换的。首先讲一下优化方法和边缘化策略 
红色虚框是固定的状态量(fix),不会进行优化但是会在优化的时候作为约束项优化其他状态量,浅灰色实框是将要进行边缘化的状态量(marginalize),蓝色实框是视觉重投影误差方程,深灰色实框是无地图更新时候的先验数据(prior),绿色实框是IMU测量误差方程。
(a)是出现地图更新的状态,一开始j是当前帧,i是上一帧,通过视觉重投影误差和IMU测量误差优化当前帧的状态量(pj,vj,bj),上一帧的状态量和Map Points不会进行优化而是作为约束项优化当前状态量。
(b)是(a)优化后的结果(估计值和海塞矩阵H),同时将优化结果
(c)是无地图更新状态,当前帧变成了j+1,此时通过重投影误差和IMU测量误差优化当前帧和上一帧j的状态量(pj,vj,bj, pj+1,vj+1,bj+1),Map Points不会进行优化而是作为约束项优化j和j+1时刻的状态量,同时j时刻的优化结果作为先验数据优化,然后将j时刻的状态量边缘化掉。
(d)边缘化掉j时刻的j+1时刻优化量(估计值和海塞矩阵H)作为下一时刻优化的先验数据。
(e)和(c)的过程一模一样。
(f)和(d)的过程一模一样。
然后一直循环(c)(d)过程,直到LocalMapping和LoopClosing中发生地图更新会回到(a)处重复过程。下面给出两种优化方式的误差方程:
①出现地图更新
首先构建整体优化状态向量,包含当前时刻j的旋转,平移速度,位移,加速度计偏置和陀螺仪偏置。整体误差方程包含视觉重投影误差和IMU测量误差。 
视觉重投影方程就是简单的针孔相机重投影方程,并没有什么特别其残差,雅可比计算和信息矩阵与一般视觉无异。 
IMU测量误差方程包含两部分,分别是P,V,R和ba,bg偏置。其残差,残差雅可比矩阵和信息矩阵在IMU预积分过程已经结算完成,直接代入即可。 
②没出现地图更新
按照前面所说,首先构建整体优化状态向量,包含当前时刻j+1和上一时刻j的旋转,平移速度,位移,加速度计偏置和陀螺仪偏置。整体误差方程包含视觉重投影误差、IMU测量误差和先验误差。 
视觉和IMU的误差方程和前面相同,下面看一下先验误差,是j时刻的状态量。 
(2)LocalMapping线程
整个BA优化的只优化固定的N帧,而且这N帧是共视程度最高的N个关键帧,在局部窗口中(Local Windows),地图中所有的点都是这些N个关键帧产生,其他的关键帧是在固定窗口中(Fixed Window),只提供与局部地图点的观测值,不进行优化。当然局部地图路标点也需要优化。需要优化的关键帧包含有视觉重投影误差和IMU测量误差。需要优化的特征点包含Local和Fixed Window的重投影误差。 
边栏推荐
- 4. Meet panuon again UI. Title bar of silver form
- Problems with database creation triggers
- [logodetection data set processing] (2) draw the label box of the training set picture
- In what scenario can we not use the arrow function?
- 2022第十四届南京国际人工智能产品展会
- 一文带你了解J.U.C的FutureTask、Fork/Join框架和BlockingQueue
- 在什么场景下,我们不能使用箭头函数?
- 2022第十五届南京国际工业自动化展览会
- 3、再遇HandyControl之窗体
- Notes on the second test of C language
猜你喜欢

After class assignment for module 8 of phase 6 of the construction practice camp

3、再遇HandyControl之窗体

100003 words, take you to decrypt the system architecture under the double 11 and 618 e-commerce promotion scenarios

产品设计软件Figma用不了,国内有哪些相似功能的软件

CVPR 2022 oral | SCI: fast, flexible and robust low light image enhancement

3. Encounter the form of handycontrol again
![[logodetection data set processing] (2) draw the label box of the training set picture](/img/66/6c19b80b99d1e3ce50bac439e0e903.jpg)
[logodetection data set processing] (2) draw the label box of the training set picture
![[logodetection data set processing] (1) divide the data set into training set and verification set](/img/f9/422cd4b710cd57f0ebb3abd7e01c29.png)
[logodetection data set processing] (1) divide the data set into training set and verification set

RSA a little bit of thought

详解OpenCV的函数filter2D(),并提醒大家它做的运算并不是卷积运算而是相关运算
随机推荐
Euclidean algorithm for finding the greatest common factor
【奖励公示】【内容共创】第16期 五月絮升华,共创好时光!签约华为云小编,还可赢高达500元礼包!
golang使用反射将一个结构体的数据直接复制到另一个结构体中(通过相同字段)
3. Encounter the form of handycontrol again
How can JMeter parameterization be implemented?
详解OpenCV的函数filter2D(),并提醒大家它做的运算并不是卷积运算而是相关运算
Overview of cann interface calling process
2022第十五届南京国际工业自动化展览会
How does CRM help enterprises and salespeople?
. Net C Foundation (7): interface - how people interact with cats
面试题详情
Mitm (man in the middle attack)
Jaeger引入了对OpenTelemetry的原生支持
Cmake actual combat record (I)
JMeter 中如何实现接口之间的关联?
[logodetection data set processing] (2) draw the label box of the training set picture
Does Fortran have a standard library
[reward publicity] [content co creation] issue 16 may Xu sublimation, create a good time! You can also win a gift package of up to 500 yuan if you sign a contract with Huawei cloud Xiaobian!
Wechat applet date comparison, calculation days
Information theory and coding 2 final review BCH code