前言:
在SLAM系统中,后端优化部分有两大流派。一派是基于马尔科夫性假设的滤波器方法,认为当前时刻的状态只与上一时刻的状态有关。另一派是非线性优化方法,认为当前时刻状态应该结合之前所有时刻的状态一起考虑。
卡尔曼滤波是在有干扰的条件下,通过数据的结合得到相对更准确的估计数据。
卡尔曼滤波全程只关注两个东西,一个是估计的最佳值,另一个是该值的不确定性(此处联想一下高斯分布的两个参数)。
卡尔曼滤波究竟滤了谁?
卡尔曼滤波可以看作是,通过测量数据将仅由控制数据进行状态估计而带来不断提高的噪声(不确定性)滤除掉。同时,它更像是一种数据(传感器)融合的方法。
适用系统: 线性高斯系统
宏观意义:滤波即加权
1.状态空间表达式
状态方程和观测方程的理解可参考另一篇文章:SLAM运动模型-CSDN博客,只不过这里的观测方程并不一定是为了求解建图问题了。
其中Wk和Vk为两个方程的噪声,假设符合高斯分布,高斯分布的理解可以参考另一篇文章:SLAM基础知识-高斯分布-CSDN博客
2.卡尔曼直观图解
卡尔曼滤波器的过程总共分为两步:卡尔曼滤波器的第一步称为预测,通过运动方程确定Xk的先验分布;第二步称为更新,使用观测值来修正当前值,计算得到后验概率分布即最优结果。
3.卡尔曼公式理解
实现过程:使用上一次的最优结果预测当前的值,同时使用观测值来修正当前值,得到最优结果。
下面以匀加速直线运动的汽车来举例说明卡尔曼公式:
调节超参数
卡尔曼滤波的使用
参考文章和视频:
为方便记录,文章中部分截图来自于以下参考文章和视频中的内容截图:
SLAM中的卡尔曼滤波:究竟滤了谁? - 知乎
放弃(通俗公式理解)_哔哩哔哩_bilibili