卡尔曼滤波学习笔记(Kalman filter)
学习基于:卡尔曼滤波器教程与MATLAB仿真
一、 为什么使用卡尔曼滤波器
-
例:火箭燃烧腔温度测量,温度太高无法测量,只能在附近点间接测量,数据将叠加噪声干扰
-
测量汽车位置,用IMU、GPS、Odometer融合,如何融合
二、了解卡尔曼滤波器——状态观测器
由于观测器方程的参数不可能与实际系统完全一致,所以估计的x会越来越偏离实际值,需要在观测器的状态方程中引入一项观测器输出和实际输出的误差项加以补偿,观测器增益矩阵为K,是一个待定的矩阵
e o b s = x − x ^ x ˙ = A x + B u x ^ ˙ = A x ^ + B u + K ( y − y ^ ) e ˙ o b s = ( A − K C ) e o b s e o b s ( t ) = e ( A − K C ) t e o b s ( 0 ) e_{obs} = x-\hat x \\\dot x= Ax+Bu\\\dot {\hat x}=A\hat x+Bu+K(y-\hat y) \\ \dot e_{obs}=(A-KC)e_{obs} \\ e_{obs}(t)=e^{(A-KC)t}e_{obs}(0) eobs=x−x^x˙=Ax+Bux^˙=Ax^+Bu+K(y−y^)e˙obs=(A−KC)eobseobs(t)=e(A−KC)teobs(0)
三、了解卡尔曼滤波器——最优状态估计
原系统在状态方程和输出方程中都会有噪声,动态结构图如下