一、前言
为了实现“纸上得来终觉浅,绝知此事要躬行”理念,请复现小白另一篇博客中讲解的扩展卡尔曼滤波Matlab实例。
二、卡尔曼与扩展卡尔曼公式的汇总
各有5个公式,以卡尔曼为例:
- 第一个:根据物理模型,我们得出由上一时刻预测出本时刻的状态;
- 第二个:我们预测结果的协方差,既可以判断预测的准不准,又为了做公式运算使用;
- 第三个:根据观测方程、卡尔曼增益以及状态转移矩阵得出下一时刻的状态;(在大多数paper中,这里都是拆开讨论的)
- 第四个:卡尔曼增益的计算公式;
- 第五个:下一时刻的协方差矩阵,可以看出预测的准确度。
(在控制系统中,我们常认为本时刻是" t-1 "。为了适应学习,在EKF中,使用 t 表示本时刻)
三、EKF实现的核心
扩展卡尔曼滤波共有五个公式,前两个与后两个都是套路牌,在任何模型中都无变化。由此得出,状态转移矩阵(中间公式)才是问题的核心。它是根据不同的物理模型得出,所以这个公式千差万别,也正是讨论EKF的核心所在。
四、使用EKF的目的
EFK的目的就从计算精确的后验概率转换为有效地估计其均值和方差。
五、如何使EKF收敛
使用所提出的输入和输出噪声协方差矩阵估计方法获得EKF良好的状态收敛。
六、如何判断EKF的优良程度
评价EKF估计器良好性能的指标:稳定性和收敛性。
七、使用EKF的优点
EKF算法能够很好的应用于非线性系统。
八、使用EKF的缺点
1. EKF算法应用在非线性系统时,会产生二次项以上的截断误差,这样会产生累计误差影响机器人的定位精度。
2. 算法的迭代更新需要计算雅可比矩阵,计算量比较大,影响机器人定位的实时性。此外,EKF算法的初始状态不好确定,初始状态选择不当会导致滤波器发散。