整个VINS-MONO系统,较容易在系统静止或外力给予较大冲击时产生轨迹漂移,原因是imu的bias在预积分中持续发散,视觉重投影误差产生的约束失效(如静止),先验约束可能会在LM的线性求解器中产生无法收敛的情况,导致后端优化完全失效,因视觉静止系统也无法回环。

对这一类问题的定位方向如下

1.标定方向:VINS-MONO对系统标定的要求很高,尤其是imu的内参标定如果不准确还会直接影响双传感器之间的外参,所以定位重心首先应该放在标定的准确性上。另外也应该检验可见光相机的标定准确性,可通过ORB-SLAM等进行验证

2.对时方向,IMU与相机的对时是一个难度较大的事项,如果有MCU从传感器直读数据进行对时的话,会是一个比较好的方式,这样对应的td会比较小。但如果通过vins-mono自己的优化对时的话,实际是异步的方式,比较容易受到各种因素的干扰,如视觉数据通过网络输入产生的延时,通过VI数据接口进入主控中的vins系统处理也会有延时,这个问题目前我们还在处理当中

3.imu本身的数据问题导致权重变化,使视觉约束无法再拉回imu的偏移,这个是之前定位问题的思路,但是实际位置姿态的估计是由3种核心约束构成的,后续定位过程中我们发现了先验约束是直接进入了无法迭代的状态,即在舒尔补或cholesky分解的过程就出现了严重问题,这个问题的定位需要更多的打印日志与数据分析,我们暂时排除了这种可能性将更多的精力放到了lamda数据NAN值上。为何在静止状态时视觉约束无法将imu轨迹漂移拉回,这个也是需要深度定位的问题,后续在问题解决后我们会给出分析与对应的解决手段

如果大家有解决同类问题的经验也可以进行探讨与分析。