0. 简介

在讲完前面三节后我们将开始以主函数触发,并分析ESKF和IKD-Tree中对应的算法。其中ESKF作为主要的部分来进行展开介绍

1. 主函数

作为主函数,内部主要存放了一系列的参数传入,这部分没什么好说的基本都已经注释完成。

其中有一个函数我们需要特地关心一下,就是kf.init_dyn_share,这部分传入了不同的函数用于初始化

2. get_f函数

这部分主要对应的是fast_lio2论文公式(2-3),这里列一下原文的解释: 取第一个IMU框架(记为 )作为全局框架(记为 ),记为ITL = ( , )为LiDAR和IMU之间的未知外部属性,运动学模型为: 在这里插入图片描述 式中, 表示IMU在全局框架中的位置和姿态, 是全局坐标系中的重力矢量, 是IMU的测量值, 表示 的测量噪声, 表示 驱动下的随机游动过程模型的IMU偏差,符号 ^表示一个映射了叉乘运算的向量 的斜对称矩阵。

设i为IMU测量值的索引。根据FAST-LIO中定义的运算符 ,可以在IMU采样周期 处对连续运动学模型(1)进行离散化: 在这里插入图片描述 函数f、状态x、输入u和噪声w,定义如下: 在这里插入图片描述

3. df_dx函数和df_dw函数

矩阵 ~和 的计算如下(更抽象的推导见论文[55],更具体的推导见论文[22]): 在这里插入图片描述 这里以FAT-LIO1的公式作为补充 在这里插入图片描述

4. h_share_model残差计算函数

h_share_model函数主要用来计算残差,并根据IKD-Tree算出可用的点集合,并计算残差。 这里假设在当前迭代更新时状态 的估计值是 ,预测状态源于公式(6)中的传播,当k=0 (即第一次迭代前), 。之后,我们将每个测量到的LiDAR点 投影到全局框架,如下 在这里插入图片描述 并在ikd-Tree所表示的地图上搜索其最近的5个点。然后利用找到的最接近的相邻点,用测量模型(见(4)和(5))中使用的法向量 和质心 拟合一个局部小平面补丁。此外,用测量方程(5)在 处的一次近似可以得到: 在这里插入图片描述 其中, 关于 在0处取值的雅可比矩阵; 源于原始测量噪声 称为残差: 在这里插入图片描述在这里插入图片描述

从真值与预测值的等式可推断出,真值与第K次迭代的值的差值,等同于在第K次迭代的时候对误差量进行一阶展开,这里求得的式16是误差的协方差矩阵的先验更新矩阵

 

5. 参考链接

https://blog.csdn.net/MWY123_/article/details/124110021 https://zhuanlan.zhihu.com/p/471876531 https://zhuanlan.zhihu.com/p/471876061 https://blog.csdn.net/weixin_42048023/article/details/120515558 https://zhuanlan.zhihu.com/p/476286576