第一部分:残差函数
约定符号:
IMU的真实值:ceres 残差 残差ei怎么算_ceres 残差
IMU的测量值:ceres 残差 残差ei怎么算_ceres 残差_02
某个时刻ceres 残差 残差ei怎么算_世界坐标系_03,二者的关系:
ceres 残差 残差ei怎么算_VINS_04
ps. IMU机体系即ceres 残差 残差ei怎么算_ceres 残差_05系,ceres 残差 残差ei怎么算_ceres 残差_06系表示世界坐标系。
不考虑高斯白噪声项,有:
ceres 残差 残差ei怎么算_世界坐标系_07
考虑高斯白噪声项,有:
ceres 残差 残差ei怎么算_VINS_08
【注意】:此处考虑与不考虑高斯噪声,记为了同一个符号


P(ose),V(elocity),Q(uaternion)某一时刻ceres 残差 残差ei怎么算_世界坐标系_03的导数为:
ceres 残差 残差ei怎么算_VINS_10
那么,已知第ceres 残差 残差ei怎么算_世界坐标系_11帧的姿态、位置(相对于世界坐标系),根据IMU的输出,可以递推求得第ceres 残差 残差ei怎么算_世界坐标系_12帧的姿态、位置(相对于世界坐标系):
ceres 残差 残差ei怎么算_VINS_13
【问题】姿态的积分?
另一种求得第ceres 残差 残差ei怎么算_世界坐标系_12帧的姿态、位置:
应用 ceres 残差 残差ei怎么算_世界坐标系_15,转而去求相对于第ceres 残差 残差ei怎么算_世界坐标系_11帧,第ceres 残差 残差ei怎么算_世界坐标系_12帧的姿态、位置变化。
ceres 残差 残差ei怎么算_ceres 残差_18
【注】四元数之间的乘、四元数与矢量之间的乘
第二种积分的好处在于,即使优化过程使得第ceres 残差 残差ei怎么算_世界坐标系_11帧的姿态、位置发生变化,即ceres 残差 残差ei怎么算_ceres 残差_20ceres 残差 残差ei怎么算_世界坐标系_21变化,但积分部分并不变化!!
IMU预积分以第ceres 残差 残差ei怎么算_世界坐标系_11帧为参考,将一段时间ceres 残差 残差ei怎么算_VINS_23的IMU数据积分起来,为了简化表达,定义三个符号(表示预积分量):
ceres 残差 残差ei怎么算_VINS_24
【注】在纯惯导里,第三项被称为姿态变化四元数。
综上,整理一下(用新符号表示第ceres 残差 残差ei怎么算_世界坐标系_12帧的姿态、位置):
ceres 残差 残差ei怎么算_VINS_26


【注意】预积分量,既可以预测(即以递推形式得到)【记为】ceres 残差 残差ei怎么算_世界坐标系_27,又可以被观测(即通过IMU数据的积分得到)【仍记为】ceres 残差 残差ei怎么算_ceres 残差_28,因此使用二者的差值构造IMU的残差函数:
ceres 残差 残差ei怎么算_ceres 残差_29
其中,
ceres 残差 残差ei怎么算_世界坐标系_30



一个IMU量测数据的噪声强度通过Allan方差能够标定,现在我们更关心:目前我们使用的预积分量(一段时间内,即第ceres 残差 残差ei怎么算_世界坐标系_11帧到第ceres 残差 残差ei怎么算_世界坐标系_12帧多个IMU数据的积分结果)的方差。
【补充性质】:已知两个随机变量之间的线性关系ceres 残差 残差ei怎么算_ceres 残差_33,若有ceres 残差 残差ei怎么算_ceres 残差_34,则可推导得ceres 残差 残差ei怎么算_ceres 残差_35
ceres 残差 残差ei怎么算_VINS_36
ceres 残差 残差ei怎么算_世界坐标系_37

如果,我们回答上述问题,需要明确任一IMU采样时刻ceres 残差 残差ei怎么算_ceres 残差_38到下一时刻ceres 残差 残差ei怎么算_VINS_39之间的随机变量,以及线性关系:
时刻ceres 残差 残差ei怎么算_VINS_39的随机变量记为:ceres 残差 残差ei怎么算_ceres 残差_41
时刻ceres 残差 残差ei怎么算_ceres 残差_38的随机变量记为:ceres 残差 残差ei怎么算_VINS_43
噪声项:ceres 残差 残差ei怎么算_ceres 残差_44
三者之间的关系:ceres 残差 残差ei怎么算_世界坐标系_45
ceres 残差 残差ei怎么算_ceres 残差_46ceres 残差 残差ei怎么算_世界坐标系_47,则ceres 残差 残差ei怎么算_VINS_48。其中,
ceres 残差 残差ei怎么算_世界坐标系_49


待求取的是ceres 残差 残差ei怎么算_VINS_50等和ceres 残差 残差ei怎么算_世界坐标系_51等之间的关系,
目前根据预积分连续形式得到的离散形式可以反应:ceres 残差 残差ei怎么算_世界坐标系_52等和ceres 残差 残差ei怎么算_VINS_53之间的关系,即:
已知,
ceres 残差 残差ei怎么算_VINS_24
则:
ceres 残差 残差ei怎么算_世界坐标系_55
使用中值积分法(考虑高斯噪声):
ceres 残差 残差ei怎么算_世界坐标系_56
注意此处,1.噪声项可加可减,使用加;2.预积分时ceres 残差 残差ei怎么算_ceres 残差_57被提到了积分之外;3.预积分相对于ceres 残差 残差ei怎么算_VINS_58系,故可写为:
ceres 残差 残差ei怎么算_世界坐标系_59

其中,
ceres 残差 残差ei怎么算_ceres 残差_60


至此,和上一节视觉雅可比公式的推导类似了:即求
ceres 残差 残差ei怎么算_ceres 残差_61

ceres 残差 残差ei怎么算_ceres 残差_62
可以看出来,这里共有ceres 残差 残差ei怎么算_世界坐标系_63个小块,故以F.1.1 ~ F.1.5 ~ … F.5.5 ~ … G.5.5顺序依次求解。

残差函数已经得到,下面明确需要对哪些状态求雅可比?