MSCKF文章中没有给出的推导和一些疑问。
这个逼怕是用的左手系哦!!!!!!
关于状态向量
这个逼的状态向量里面的四元数是从全局坐标系到IMU坐标系变换的,也就是IMU坐标系中全局坐标系的方向,也就是全局坐标系中IMU坐标系方向的逆
方向的true state为:
导数为:,文章中的证明了这个是左手系
Jacobian矩阵
相机状态的Jacobian矩阵计算,单位四元数的逆就是其共轭四元数
error state角度的Jacobian,导数第二步推导使用分配律,从IMU坐标变换到相机坐标
error state坐标的Jacobian(我觉得文章里面推的不对!)
Update
根据残差方程
计算error state,先计算特征点重投影误差和Jacobian矩阵,然后再计算error state
计算特征点坐标
多个相机由feature约束,map: feature -> {camera}
特征点的像素
特征点在相机坐标系中的坐标有
使用最小二乘解得到特征点坐标
先使用首尾两帧三角交汇得到初始解,先通过像素坐标(归一化平面)获得投影方向(各自相机的坐标系)单位长度向量与,即
然后获取相机到的旋转矩阵与平移,有
则为特征点在第一个相机的坐标系中的坐标,以此坐标为初始值再利用其他帧数据计算特征点坐标
逆深度参数: ,逆深度的逆深度是本身
由计算得到的坐标与相机参数得到重投影误差
计算误差Jacobian
重投影误差线性化有
其中
与
且有
将投影到的左零空间,有
由于是满秩矩阵,其左零空间维数为
Update
由于Jacobian矩阵维度很高,因此考虑使用QR分解降低维度,然后使用标准的EKF更新状态和协方差矩阵