登录
首页 » Others » VINS论文推倒及代码解析

VINS论文推倒及代码解析

于 2020-12-07 发布
0 428
下载积分: 1 下载次数: 3

代码说明:

VINS 的功能模块可包括五个部分:数据预处理、初始化、后端非线性优化、闭环检测及闭环优化。代码中主要开启了四个线程,分别是:前端图像跟踪、后端非线性优化(其中初始化和 IMU 预积分在这个线程中)、闭环检测、闭环优化。、总体框架Measurement PreprocessingInitializationCamera(30hz)Feature Detectionnd rackerVisual-lnertialInitializedis- onlySfMAlignmentIMU (100hMU Pre-integrationLocal Visual-Inertial: OldestSliting WindowNewestNonli+、 Keyframe?OptimizationBundle Adjustment II Loop detectionwith RelocalizationStates from Loop ClosureFealure retrievel oop Deleted二二1---11------22===Global Pose Graph4-DoF Pose Graph OptimizationKeyframe DatabaseOptimization图1VINS框架ⅵINS的玏能模块可包括五个部分:数据预处理、初始化、后端非线性优化、闭环检测及闭环优化。代码中主要开启了四个线稈,分别是:前端图像跟踪、后端非线性伉化(其中初始化和IMU预积分在这个线程中)、闭环检测、闭环优化各个功能模块的作用上要有:1.I图像和MU预处理●图像:提取图像 Harris角点,利用金字塔光流跟踪相邻帧,通过 RANSAC去除异常点,最后将跟踪到的特征点push到图像队列中,并通知后端进行处理●IU:将IMU数据进行积分,得到当前时刻的位置、速度和旋转(PVQ),同时计算在后端优化中将用到的相邻帧的预积分增量,及预积分误差的 Jacobian矩阵和协方差项。1.2初始化首先,利用SFM进行纯视觉佔计滑窗內所有帧的位姿及3D点逆深度,最后与IMU预积分进行对齐求解初始化参数1.3后端滑窗优化将视觉约束、IMU约束和闭环约束放在·个大的目标函数中进行非线性优化,求解滑窗内所有帧的PVQ、bias等。L M States in the sliding windowIMU:k States from loop clos1Camera:冷 MU measurements>visual measurements★ Catur图2滑窗优化示意图14闭环检测和优化利用D)BoW进行闭环检测,当检测成功后进行重定位,最后对整个相机轨迹进行闭环优化。U预积分VisionIMUVision图3MU预积分示意图21当前时刻pVQ的连续形式将第k唢和第kl帧之间的所有IMU进行积分,可得第kHI帧的位置、速度和旋转(PVQ),作为视觉估计的初始值,这里的旋转采用的四元数。v△t+k+1∈[k,k+1]rW(at-ba ) -owletbk JtE[k, k+1]n(,-bdt∈[k,k+1]其中,a2和O为ⅠMU测量的加速度和角速度,是在Body自身坐标系, world坐标系是IMU所在的惯导系,上式的旋转公式推导可参考附录10.1。22当前时刻PVQ的中值法离散形式公式(1)给出的是连续吋刻的相机当前PVR的达代公式,为了跟代码致,下面给出基于中值法的公式,这与 Estimator:; processIMg(O函数中的Ps]、Rs]和Vs是一致的,IMU积分出来的第j时刻的物理量可以作为第j帧图像的初始值。tr t+a26t(2)ka,St其中q(a1-ba)-g"+q:+1(a+1-ba)(a;+o;+1)2.3两帧之间PVQ增量的连续形式通过观察公式(1)可知,IvU的预积分需要依赖与第k帧的ν和R,当我们在后端进行非线性优化时,需要迭代更新第κ唢的ν和R,这将导致我们需要根据每次迭代后值重新进行积分,这将非常耗吋。因此,我们考虑将优化变量从第k帧到第κ+1帧的IU预积分项中分离开来,通过对公式(1)左右两侧各乘Rb,可化简为:R(+p2k-=2△)+ak+1b其中DtElk, k+1t∈[k,k+1R k(at-bar)ldt)Wendtt∈[kk+1这样我们就得到了连续时刻的MU预积分公式,可以发现,上式得到的MU预积分的值只与不同时刻的a2和o相关。这里我们需要重新讨论下公式(5)预积分公式,以ab,为例,我们发现它是与MU的bias相关的,而bias也是我们需要优化的变量,这将导致的问题是,当每次迭代时,我们得到一个新的bias,又得根据公式(巧5)重新对第k帧和第k+1帧之间的IMU预积分,非常耗时。这里假设预积分的变化量与bias是线性关系,可以写成:ab,+/6n6ba+/16b+8 8ba +p(6)k+1sb24两帧之间PVQ增量的欧拉法离散形式面给出离散时刻的IMU预积分公式,首先按照论文中采用的欧拉法,给出第i个MU时刻与第i1个IMU时刻的变量关系为b+1k+的6t+元R(P)(1+R(P")(a2-bbn)δt25两帧之间PⅤQ增量的中值法离散形式卜面给出代码中采用的基」中值法的IMU预积分公式,这与 Estimator: processIMUO函数中的 Integration Base: push backo上是一致的。注意这里跟公式(2)是不一样的,这里积分出来的是前后两顿之间的IU增量信息,而公式(2)给出的当前帧时刻的物理量信息+1+B k St +=a, &tbb+1Bi + au1其中a,=slqilai-bai)+qiDi t aitl2.6连续形式下PVQ增量的误差、协方差及 JacobianIMU在每个吋刻积分出来的值是有误差的,下面我们对误差进行分析。首先我们直接给出在t时刻误差项的导数为:sa00016a000000-82(066hkR;0006|=00-(a-bh)0-1192k|+|000|mLL000016ba00101n000018b000F+ozk+ Gt其中:F25×15,G215×2,62x1,n12×,上式推导可参考附录102。下面我们讨论它的作用,将其可以简写为:6之k=F62z+Gtnt根据导数定义可知:62b=1m24-6262+8=62+628t=(+F6t)6z+(Gt6t)nt(11)这里我们对公式(1)的IMU误差运动方程再说明,将上式和EKF对比可知,上式恰好给出了如EKF一般对非线性系统线性化的过程,这里的意义是表示下一个时刻的IMU测量误差与上一个时刻的成线性关系,这样我们根据当前时刻的值,可以预测出下一个时刻的均值和协方差,而公式(1)给出的是均值预测,协方差预测公式如下Pb+6=(1+Ft)P(+Fl6t)7+(G,t)Q(G18t)ot(12)上式给出了协方差的选代公式,初始值Pk=0。其中,Q为表示噪声项的对角协方差矩阵000003000另外根据(11)式可获得诀差项的 Jacobian的迭代公式:(I+F26t)(14)其中 Jacobian的初始值为bk=12.7离散形式的PVQ增量误差分析我们首先直接给出PVQ增量误差在离散形式下的矩阵形式,为了与代码一致,我们修改下变量顺序,这和代码中 midPointIntegration(函数是一致的。(但不知为何计算的V中与前四个噪声项相关的差个负号?)1t fo660f106t‖loeBk+1=0f211f20016bδb0[6b102001rnot000kRkotk+1(15006t0n0000δt其中,推导可参考附录10.3:stE(ak-ba)02-4B+1(kk+121k+1b.)6t|6t2(Rr+ rk+18t2Stn=71=Rk+1(a+1-b)6tWr+ wf1=Ik+11+Gb。)δt-Rn+1(ak+121=-2配+1Stl st21(RK+Ruts)4rula1RrotstStR+1(a1R,+114/+11t28离散形式的PVQ增量误差的 Jacobian和协方差将公式(15)简写为:k+1F15×158215×1+V15×13Q则 Jacobian的迭代公式为k+15×15=F/k(16)其中, Jacobian的初始值为/k=l。这里计算出来的k+1只是为了给后面提供对bias的acoblar。协方差的迭代公式为P+15×15=FPFr+vQv(17)其中,初始值P=0。Q为表示噪声项的对角协方差矩阵:00000000aa000Q18×180a00(18)000000三、后端非线性优化31状态向量状态向量共包括滑动窗口内的n+l1个所有相机的状态(包括位置、朝向、速度、加速度计bias和陀螺仪bias)、 Camera到IMU的外参、m+1个3D点的逆深度X=[xr=pw,vb bpc,q3.2目标函数吗+(喻,2)+2(19)其中三个残差项即误差项分别为边缘化的先验信息、IMU测量残差、视觉的重投影残差。三种残差都是用马氏距离表示。根据《十四讲》中高斯牛顿法,若要计算目标函数的最小值,可以理解为,当优化变量有一个增量后,目标函数值最小,以IU残差为例,可写成如下所示:nin lre2bk, X+8Xrk x)+HSⅩDk+1oXk+1k+1其中HB,为B关于 XIK Jacobian,将上式展开并令关于6X的导数为0,可得增量δx的计算公式:H k 8X=k+1TB那么,公式(28)可写成+∑+∑Tk∑1rc上式中,B为MU预积分噪声项的协方差,P为vual观测的噪声协方差。当MU的噪声协方差P越大时,其信息矩阵Pk,将越小,意味着该MU观测越不可信,换句话说,因MU噪声较大,越不可信IMU预积分数据,而更加相信 visual观测。注意,这里的IMU和vsua协方差的绝对值没有意义,因为考虑得是两者的相对性可将上式继续简化为:(Ap+AB +Acox=bp +bB +bc其中,Ap,AB和Ac为 Hessian矩阵,上述方程称之为增量方程。33MU约束1)残差:两帧之间的PVQ和bias的变化量的差△tx+k+1bk qbk+1bR+1 xyz+g"△t)-Bk(20)sbbbb其中各增量关于bias的 Jacobian可从公式(16)的大 Jacobian中的相应位置获得。上面与代码中 Integration base: evaluateD对应,2)优化变量pb, 0W, Svb ,8ba:,bor Opb,, 80W ,Swb,, bakr, Sba3)Jacobian:计算 Jacobian时,残差对应求偏导对象分别为p6e,6vB,6h,ba],6b,6b

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • kalman滤波的语音降噪matlab
    采用kalman滤波算法,对含噪声的语音信号进行降噪,能够取得较好的效果。
    2020-11-27下载
    积分:1
  • 混合动力汽车整车控制器模型
    很实用的混合动力汽车VCU MATLAB/simulink模型
    2020-05-31下载
    积分:1
  • 智能卡操作示例,pc/sc模式
    pcsc读卡器的操作示例,可以执行apduatr复位部分有一个类处理的很好
    2020-11-29下载
    积分:1
  • ASP.NET与Echarts实现前后端数据的交互
    【实例简介】在帮公司做一个小项目用到的就分享一下,这个使用ASP.NET与Echart使用的,通过在后台获取sql的数据,然后转换成Json,运用前端的Ajax读取json文档。
    2021-11-03 00:31:59下载
    积分:1
  • matlab 二分法序.m
    【实例简介】数值分析的二分法的实现,自己随便写的,大家交流交流。有不对的请指出来,谢谢。
    2021-11-30 00:52:36下载
    积分:1
  • 基于ARM9+NRF24L01+OV7620图片传输.rar
    【实例简介】基于ARM9+NRF24L01+OV7620图片传输,图片采集格式为rgb raw格式,经过转换为rgb565格式,并在4.3LCD上显示。包括nrf24l01 linux下驱动,linux版本为2.6.13,其他版本的话,可以修改下头文件的位置 OV7620是接在Atmega16单片机上的。http://blog.csdn.net/hwwr112100
    2021-12-13 00:48:22下载
    积分:1
  • 遗传算法 网络图的路径规划 MATLAB代码可直接运行
    遗传算法 网络图的路径规划 MATLAB代码可直接运行遗传算法 网络图的路径规划 MATLAB代码可直接运行遗传算法 网络图的路径规划 MATLAB代码可直接运行
    2020-11-28下载
    积分:1
  • OFDM迭代注水算法
    注水算法的基本仿真,以及迭代注水算法,与平均注水的比较
    2020-12-05下载
    积分:1
  • 控制理论导论:从基本概念到研究前沿
    控制理论导论:从基本概念到研究前沿 很详细的理论介绍前言维纳(N. Wiener)在1948年出版的专著《控制论,或关于在动物和机器中的控制与通讯》,标志着控制论作为科学的一门重要分支正式诞生.维纳也因此成为控制论的主要创始人之一,我国著名科学家钱学森在1954年出版的专著《工程控制论》又进一步推动了控制论与工程技术问题的峦切结合从那时到现在,控制论经历了半个世纪的迅猛发展.工业化和高科技的发展,对工业控制提出了越来越高的要求,特别是制导和航天技术的发展,促进了自20世纪60年代初以来现代控制理论的诞生和发展.而计算机的出现和高速发展,网络技术的日新月异使得高精度控制的在线实现成为可能半个世纪后的今天,控制论已经成为一门理论严谨、内容丰富、分支众多、发展迅速、应用广泛的学科领域.钱学森曾经从生产力,特别是技术革命的进程分析了控制论的产生和发展,他强调:“我们可以毫不含糊地说,从科学理论的角度来看,20世纪上半叶的三大伟绩是相对论、量子论和控制论,也许可以称它们为三项科学革命,是人类认识客观世界的三大飞跃控制理论发展到今天,恐怕没有一位系统与控制专家能够同时掌握控制理论的所有前沿分支,正如当今一个数学家很难同时是拓扑学、几何学、代数学、微分方程、泛函分析、概率统计、数论等各方面的专家.但是,与纯数学不同的是,一个优秀的系统与控制科学家,应该能对不同的控制理论与控制方法有一个比较全面的了解.控制论是一门应用性很强的科学理论,它面对的是各种各样错综复杂的实际系统.宇宙飞船到底是有夯维模型还是无穷维模型,是随机系统还是确定性系统,是该采用最优控制还是用鲁棒控制,抑或是多种模型和多种控制手段的综合,不可能有现成的答案模型的刻画、控制手段的选择,都是控制工程师自己的事情.这种以问题为导向、以解决问题为目标的研究路线,要求系统与控制的理论工作者和工程师面对需求或实际对象,有宽阔的知识面,对本学科各个重要分支的理论和方法有一个全面、综合的了解.这也是我们对研究生,特别是对那些有志在系统与控制科学的理论与应用研究方面,实现其人生宏伟理想的博士研究生们的要求和期盼.控制论方面的书籍汗牛充栋,文献更是如山似海,但不求甚解的“泛读”不如“不读精读一本好的工具书,可以让人达到事半功倍的效果20世纪70年代中期至80年代,我们的老研究室主任关肇直主编的“现代控制前言理论小丛书”,为现代控制理论在中国的传播和发展起到了历史性的作用.20多年过去∫,控制论有了长足的发展,相当一部分内容亟待更新.另外,“小丛书”虽册数较多,但系统性和整体性还不完善.所以,我们希望本书能达到以下几点要求(1)从必要的数学基础到控制理论,基本上自成体系,一个具有现代工程数学背景的大学毕业生就能读懂它的主要部分(2)它具有全方位性,能够对控制理论的几个主要方向都作出一定深度的介绍.使“读破”这卷书的读者能对现代控制理论有一个较为全面的了解3)它是一本综合性的教科书,基本部分论述详尽具体,每节后附有启发性的习题,可供学生循序渐进地学习,引导研究生迅速进入研究前沿(4)它又是一本前沿性的参考书,提高部分对现代控制理论的最新进展和挑战性课题作了专门介绍,可供有关科学和工程研究工作者参考这样一个目标绝非一两个人所能完成的,国内外也未曾见过此类书籍,这是一个创新的尝试.本书是由八位资深研究员执笔,十多位一线科研人员参与,依靠大家的协作、奉献和团队精神完成的.部分内容曾作为中国科学院有关专业博士生课程教材试讲本书的内容大体上可分为两大部分.第一部分前5章)是工具篇,介绍本书及控制理论中用到的一些基本数学工具.这些可以看作是对控制论专业博士研究生的基本要求,也可以作为有关科研工作者理论进修的参考或工具型手册第1章包括线性代数和线性系统两部分.在线性代数部分中给出一些在一般大学教科书中不多见的内容,如张量积、奇异值分解等,可以看作是标准线性代数课程的补充.线性系统部分则包括能控性、能观测性、标准分解等一些基本知识现在这些内容不仅对于控制专业,而且对许多相近专业已经成为必修的基础理论了第2章介绍常微分方程的基本理论,包括解的存在和唯一性、解的延拓及解对初值和参数的连续依赖性;线性常微分方程的基本结果;稳定性理论和平面定性理论初步.这些内容是集中参数控制理论的必不可少的数学工具第3章的内容包括抽象代数、拓扑及微分几何.对抽象代数只讨论群、环与代数概念.对点集拓扑作了较全面的介绍.对代数拓扑,只涉及同伦、基本群等.微分几何因为是非线性系统研究的基本工具,本章对它的讨论相对而言较详细.对流形、向量值纤维丛、黎曼流形、辛几何等均作了讨论第4章从测度论的观虑引进严格的概率空间、事件独立性等概念,介绍概率中的独立变量、极限定理等基本工具,然后介绍鞅与鞅差序列.并讲述随机过程和前言随机微分方程初步.为随机控制系统提供理论基础第5章介绍分布参数系统控制所要用的泛函分析、线性算子半群理论和偏微分方程的一些基本知识主要内容包括 Hilbert空间和 Banach空间、线性算子理论、谱理论、线性发展方程、 Sobolev空间、偏微分方程边值问题等.当然这些基本理论的深入掌握则需要读者去阅读有关的专著了本书的第二部分后6章)是控制篇,介绍现代控制理论中最活跃的几个理论分支,目的是帮助研究生了解有关控制理论,并引导他们进入科研前沿,也可以作为相关研究人员的参考资料第6章首先讨论了线性系统H控制的基础理论与设计方法.然后讨论非线性系统H-控制问题它在理论与设计上都与线性系统有显著区别最后给出一些它在上程设计中应用的典型例子第7章介绍集中参数系统最优控制理论的基本绪果.从T程实际问题归纳出最优控制问题的共同特点和数学描述开始,讲述最优控制理论的基本结果.包括最大值原理;线性系统时间最短控制;线性二次最优控制;双方极限原理及其与H灬控制的关系,为了解20世纪60年代的最优控制理论与9年代的干扰抑制控制之间的区别和联系提供“桥”第8章讨论非线性系统控制理论.由于非线性系统控制的理论与方法十分丰富,这里着重于非线性系统的几何理论.内容包括主要的经典方法与理论结果如能控性、能观测性、不变分布及解耦、线性化与近似线性化等.也包括新近发展起来的后推式自适应控制,中心流形方法,耗散理论,哈密顿系统理论等第9章讨论自适应系统.内容包括自适应估计和自适应控制两部分.该章将首先对自适应系统作以综合介绍,然后讨论定常及时变参数系绕的自适应估计理论和方法,其中涉及线性时变随机系统的稳定性研究;接着给出自校正调节器和自适应极点配置等典型自适应控制器的基本理论与设计技巧.该章的习题也是从事该领域进一步研究的必要基础第10章讨论分布参数控制系统的基本理论,包括无穷维线性系统的稳定性、能控性、能观测性、反馈镇定、弹性梁振动控制、波动方程的控制和无穷维线性系统二次型最优控制,以及时域乘子法、频域乘子法、Resz基方法等各种具体方法的介绍第1章研究关于以制造系统,计算机网等为应用背景的离散事件动态系统先简单综述了各种方法,然后主要论述了极大代数方法,包括建模与分析,能达能观测性,周期(“极点”)配置与稳定性,最优控制与调度等.最后论述了这个方向aIy.前言的两个最新进展:双子(Did代数方法与极小极大函数方法本书各章的执笔人为:张纪峰(第1章),秦化淑(第2章),程代展(第3章),陈翰酸(第4章,冯德兴(第5章).申铁龙(第6章),秦化淑(第7章),程代展(第8章)郭雷第9章),冯德兴(第10章),陈文德第11章)最后,由郭雷、程代展和冯德兴等负责统编如今,复杂系统科学、信息科学与生命科学的发展,社会与生态问蔥,高科技与经济全球化都给控制理论提出了新的挑战,同时也给予控制理论发展以新的机遇希望寄托于年轻的一代,寄托于现在的大学生和研究生们、伴随着中华民族的腾飞,他们必将成为未来国际系统与控制科学主导潮流的弄潮几.如果能用我们的肩膀为他们的成长起一点铺路石子的作用,那么本书的目的也就达到了笔者感谢华夏英才基金对本书出版的支持,感谢常金玲、刘智敏等同志在本书打印、编排等方面的贡献,感谢科学出版社的支持与帮助.本书的出版还得到国家自然科学基金委员会创新研究群体科学基金和重点项目(60334040)的资助笔者学识浅薄,错误和疏漏在所难免,愿专家和读者不吝赐教编者2004年3月中国科学院数学与系统科学研究院系统控制重点实验室数学符号表属于∈C∩u包含于集合交运算集合并运算集合差运算蕴含当且仅当实数域RCzzN复数域整数域4非负整数集自然数集,即正整数集空集Re实部虚部pan M由M中向量的线性组合构成的线性子空间SIRI符号函数LP(9)可测集92上p次可积函数空间LPJ; Rn)区间J到Rm上的p次可积函数空间r(a)矩阵A的迹A矩阵A的转置Reo(A)矩阵A的特征值的实部dim M子空间M的维数cool子空间N的余维数ker(A)矩阵A的零(核)空间Image (A)矩阵A的值域直和宜交和第3、8章专用符号MnX弧m×n矩阵集n×"矩阵集TI數学符号友GL(n, r)一般线性群gl(n, R)般线性代数So(n, R)特殊正交线性群特殊正交线性代数p(n, R)辛群sp(n, R)辛代数李括号协变张量的外积泊桑括号H
    2020-12-10下载
    积分:1
  • 计算全息代码
    二维计算全息用matlab实现,可以包括全息图的制作与数字再现。
    2020-12-05下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载