前言
- PRML中提到,卡尔曼滤波是高斯过程的一种应用,本文便从高斯过程的角度来总结一下卡尔曼滤波;
- 首先明确卡尔曼滤波包括两部分:预测和更新。预测就是根据系统上一时刻的状态最优估计 S k − 1 S_{k-1} Sk−1预测当前时刻的状态 S k S_{k} Sk;更新就是通过当前时刻的观察值 Z k Z_k Zk更新当前时刻的状态预测值,作为当前时刻的最优估计 S k ′ S_{k}' Sk′。以此方法迭代。
- 其次明确系统的真实状态是确定的、唯一的,但是!!我们得到的所有估计值都是不确定的,是一个随机变量,因此使用二阶统计量(均值、协方差)来描述。
预测(高斯过程)
- 设上一时刻的系统状态的最优估计为 S k − 1 S_{k-1} Sk−1,其服从多元高斯分布:
S k − 1 ∼ N ( x ^ k − 1 , P k − 1 ) S_{k-1}\sim\mathcal{N}(\hat{x}_{k-1},P_{k-1}) Sk−1∼N(x^k−1,Pk−1) - 系统状态空间方程描述了状态转换的规则:
S k = F k S k − 1 + B k u k S_{k}=F_kS_{k-1}+B_ku_k Sk=FkSk−1+Bkuk
F k F_k Fk状态转移矩阵, B k B_k Bk控制矩阵, u k u_k uk控制量; - 由上一时刻系统状态随机变量 S k − 1 S_{k-1} Sk−1转换到当前时刻系统状态随机变量 S k S_{k} Sk就是一个高斯过程,我们虽然对该转换进行了建模(状态空间方程),但是仍然存在一些不可控因素(风阻、打滑、突发事件等),因此加入独立随机噪声 ϵ ∼ N ( 0 , Q k ) \epsilon\sim\mathcal{N}(\mathbf{0},Q_k) ϵ∼N(0,Qk),因此真实的状态空间方程应该是这样的:
S k = F k S k − 1