VIO与VSLAM中关于ZUPT工程化的深化讲解

授人以鱼不如授人以渔,请勿私信要代码,在我看来如果看完这篇“葵花宝典”连基础代码都无法工程化的同学,最好还是远离VIO和VSLAM。

后续的文章计划是FPGA篇,NAVION(顺便朔一下17年MIT的工作)详解,DSO光度标定详解。

DM-VIO深化工作进行中,越做问题越多,估计还得挺长时间的。

为什么说ZUPT是葵花宝典呢? 因为ZUPT就是类似作弊,专门去应对你实在没招的情况。

VIO,不管是哪个系统,最要命的地方就是极端情况

就是我们在前文中所提到的状态3

尤其是在相机质量低劣(如卷帘快门曝光时间未知,无MCU同步对时,内参张正友标定不准的情况)或IMU质量低劣的情况下(毛刺,延迟,BIAS严重等各种乱七八糟的情况)。

无数的幺蛾子都能出来,收敛幺蛾子首先要打好基础,首先列一下多传感器紧耦合最重要的基础影响排序(分先后,分等级):

1.快门(全局室内远优于卷帘,室外全局细化的工作较多,卷帘优势略回升)

2.Td (不管你耦合多少个传感器,只要是紧耦合,不能同步对时系统就会变成要你命3000,尽量要控制在10ms内)

3.IMU数据 (必须控制毛刺和收敛延迟,这2个本身就互相矛盾,因为加了滤波就容易产生延迟,所以还是本身IMU质量要好,不要去省那几十块钱去做垃圾)

4.外参 (外参的重要性远高于内参,标定起来也比较麻烦,Qbc Pbc Gc0这几个)

5.初始化质量(VINS-MONO初始化还是开销很小的,ORB-SLAM一般般,类似DSO/VI-DSO/DM-VIO的初始化开销极高,质量直接影响后续所有的运行)

6.光度 (光度,lux自动曝光这些对VINS/ORB这类影响一般,但是对DSO/DM-VIO这些就是要你命3000,后续我会专门写一篇DSO光度标定,不能深入理解DSO光度标定,就无法完成真正的直接法,连这基础都不明白就跑去做DM-VIO调参侠的话,是一件浪费人生的事情,DM-VIO开销巨高,前后端并行化难度顶天)

7.内参(内参的影响真的一般般,不会张正友标定或者Kalibr这些简单东西就别做CV了!)

其实1-7做到非常干净的时候,先验/视觉/IMU三约束的紧耦合是能工作得很好的,协方差之间的配合与不确定度传递会高度符合理论,但是仍然会有ZUPT(数量下降了)

首先,ZUPT肯定是"葵花宝典",几乎能应用到任何极端情况,但我还是建议,与其整天写ZUPT,还不如把上面7样好好整干净。

1. 零速漂移: 零速面前无干扰物,机器人快速由静至动产生的BIAS导致scale被破坏开始漂移的情况。

这个最容易解决:欧式距离链式统计作为ZUPT判定条件,使VIO迅速进入纯IO,保持SWF延续性。

2.零速前扰:零速,前面一大堆移动目标(如人员)

这个稍微麻烦一点,和1类似,但是保持SWF延续性时要持续更新一张条件进入后的静态图。

3.上下电梯:这个相当简单,由6自由度中的Z轴加速度分量启动ZUPT条件,启动时进入IO,完毕时回到VIO

4.高速Row/Pitch:这个就是真正的宝典了,由于4自由度不可观的问题,这2个场景其实是VIO死穴,前面1-7再干净这2个爷也是很难解决的(DM-VIO靠DSO超强大的光度优化和开销巨高的延迟边缘化很好的耦合住了),那ZUPT怎么解决呢?简单得一批。。。加入Y和Z轴角速度欧氏距离分立的链式统计条件快速进入纯IO并保持SWF,就能近乎完美地解决,但是高速大Pitch(比如高速抬头然后停下看天。。。还是搞不定)

5.视觉盲人:机器人进入隧道/一片片的白墙/大草原等:),其实几乎是没得救的,但是靠ZUPT或者延迟边缘化能苟活好一阵子,方法很简单,建立判定条件:这些条件很丰富,建议根据实际情况来设计,比如说持续的白墙,RANSAC完之后特征点会呈现一些非常连贯的线分布,触发后进入纯IO并保持SWF连贯性。特征点开始扩散后收回。但是如果场景太长这个是一定会挂掉的,和延迟边缘化一样,任何策略都有它的极限。最终产生的偏差也会比较大。

6.运动中的前置大扰动:车子在跑,前方有个J人不断的恶意阻挡车辆破坏路线,这种情况其实已经超出ZUPT的管理范围内,甚至都不属于这个范畴,但还是可以整活的。还是对特征点的分布建立时间轴判定条件(这种情况特征点在各个分块上波动的马氏距离在时间轴上的变化会非常异常,根据你车辆实际的运行情况建立条件),条件生效后进入纯IO并更新条件生效后最早的静态图像进入SWF,6总体来说是很难整的,尽量避免使用,或者用NPUD相机建立条件,遇到这种情况好好停下来,一让二看三通过

最极端的情况基本都覆盖了,写了一堆,还是建议少用ZUPT(除非没办法),早期文章参考:关于VIO零速更新(ZUPT)与控制三种约束的工程实践_紫川Purple River的博客-CSDN博客_vio控制

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值