卡尔曼滤波

感谢大佬:421施公队

一、适用范围:

线性高斯系统
线性: 叠加性、齐次性

  • 叠加性: a ∗ f ( t ) + b ∗ g ( t ) = a ∗ F ( t ) + b ∗ G ( t ) a*f(t)+b*g(t)=a*F(t)+b*G(t) af(t)+bg(t)=aF(t)+bG(t)小写对应输入,大写对应输出。或者说:对于同一个系统,输入(a+b)的输出 等于 分别输入a和b的输出的和。
  • 齐次性: f ( k ∗ x ) = k ∗ f ( x ) f(k*x)=k*f(x) f(kx)=kf(x),即输入增大k倍,输出增大k倍。

高斯: 噪声满足高斯(正态)分布

宏观意义: 滤波即加权。理想状态中,信号权重为1,噪声为0,此即为低通滤波。卡尔曼滤波有两个值:估计值,观测值,两者融合即得修正值。

二、进阶

1.状态方程表达式

状态方程: X k = A X k − 1 + B ∗ u k + w k X_{k}=AX_{k-1}+B*u_{k}+w_{k} Xk=AXk1+Buk+wk
X k X_{k} Xk:当前状态的当前值
X k − 1 X_{k-1} Xk1:上一时刻状态的值
u k u_{k} uk:当前输入
w k w_{k} wk:过程噪声,也可以视为误差修正
A A A:上一时刻与当前状态的状态转移矩阵
B B B:输入控制矩阵

观测方差: y k = C X k + V k y_{k}=CX_{k}+V_{k} yk=CXk+Vk
y k y_{k} yk:观测量
X k X_{k} Xk:当前状态的当前值
V k V_{k} Vk:观测噪声,与观测器误差有关
C C C:观测系数
在这里插入图片描述

2. 高斯分布

1) 参数分析:
两个噪声:
w k ∈ N ( 0 , Q k ) w_k\in N(0,Q_k) wkN(0,Qk) V k ∈ N ( 0 , R k ) V_k\in N(0,R_k) VkN(0,Rk),其中0为均值,亦即数学期望。
vk是测量误差,wk是系统受到的实际扰动
2)超参
Q、R

在这里插入图片描述
带箭头是估计值,没箭头是观测值。没有横杠是最优估计也叫做修正值/后验估计值,有横杠是先验估计值。纵轴是概率值,所以重合部分的概率会变高变大。

一句话总结:当前的最有估计 x ^ k \hat{x}_{k} x^k是由先验估计 x ^ k − \hat{x}_{k}^{-} x^k和当前观测值 y k y_{k} yk取公有部分得到最优估计值,其中,先验估计 x ^ k − \hat{x}_{k}^{-} x^k为基于 x ^ k − 1 \hat{x}_{k-1} x^k1估计出的当前估计值, y k y_{k} yk为当前时刻的观测估计值。

三、放弃

1.卡尔曼公式理解

宏观过程: 使用上一次的最优结果预测当前值(即先验估计),同时用观测值修正当前值(即修正预测值),得到最优结果。
公式如下:

在这里插入图片描述


1) x ^ t − = F x ^ t − 1 + B u t − 1 \hat{x}_{t}^{-}=F\hat{x}_{t-1}+Bu_{t-1} x^t=Fx^t1+But1

基于之前的最优估计来推出当前的先验估计
x ^ t − \hat{x}_{t}^{-} x^t:当前的先验估计
x ^ t − 1 \hat{x}_{t-1} x^t1:前一步的最优估计
F F F:状态转移矩阵
B B B:控制输入的控制矩阵
u t − 1 u_{t-1} ut1:输入


2) P t − = F P t − 1 F T + Q P^{-}_{t}=FP_{t-1}F^{T}+Q Pt=FPt1FT+Q

先验估计协方差
针对第一步的先验估计,求出对应的协方差矩阵 P t − P^{-}_{t} Pt
F F F:状态转移矩阵
Q Q Q:系统的运动噪声的方差
P t − 1 P_{t-1} Pt1:后验估计协方差,前一步的步骤6得到的


3) 测量: Z t = H x t + v Z_{t}=Hx_{t}+v Zt=Hxt+v

Z t Z_{t} Zt:当前的测量值,其维度不一定与 x ^ t \hat{x}_{t} x^t相同
x t x_{t} xt:当前的观测值
H H H:观测矩阵
v v v:观测噪声


4)更新卡尔曼增益(与Q、R有关)

K t = P t − H T H P t − H T + R K_{t}=\frac{P^{-}_{t}H^{T}}{HP^{-}_{t}H^{T}+R} Kt=HPtHT+RPtHT
卡尔曼增益就是过程方差和观测方差的比例
K t K_{t} Kt:卡尔曼增益
P t − P^{-}_{t} Pt:协方差矩阵,即第二步结果
H H H:观测矩阵
R R R:观测噪声的方差
在这里插入图片描述
所以可以理解成所以调节时一般都是调节Q和R这两个超参数

5)修正估计(最终滤波结果)

x ^ t = x ^ t − + K t ( z t − H x ^ t − ) \hat{x}_{t}=\hat{x}_{t}^{-}+K_{t}(z_{t}-H\hat{x}_{t}^{-}) x^t=x^t+Kt(ztHx^t)
x ^ t \hat{x}_{t} x^t: 卡尔曼最终结果
x ^ t − \hat{x}_{t}^{-} x^t:先验估计值,即第一步结果。
K t K_{t} Kt:卡尔曼增益,即第四步结果
z t z_{t} zt:测量值,即第三步结果。
H H H:观测矩阵

6)更新后验估计协方差

P t = ( I − K t H ) P t − P_{t}=(I-K^{t}H)P^{-}_{t} Pt=(IKtH)Pt
即步骤2的 P t − 1 P_{t-1} Pt1
P t P_{t} Pt:后验估计协方差
H H H:观测矩阵
K t K_{t} Kt:卡尔曼增益,即第四步结果
P t − P^{-}_{t} Pt:协方差矩阵,即第二步结果
I I I:单位矩阵
在这里插入图片描述

2.调节超参数

1)Q与R的取值

在这里插入图片描述
例如: 因为实际中不同传感器精度不同昂贵的高精度传感器就可以更信任一些R可以小一些。 或者我建立的模型很优秀误差极小就可以更信任模型Q可以小一些

2) P 0 、 x 0 ^ P_{0}、\hat{x_0} P0x0^的取值

习惯上 x 0 ^ \hat{x_0} x0^q取0,
P往小的取,一般为1,不可为0。
随着迭代次数的增加会快速收敛,所以初始值影响不大。

3.卡尔曼滤波的使用

1) 选择状态量、观测量,
2)构建方差, 设 定 F 、 H 设定F、H FH
3)初始化参数, P 0 、 x 0 ^ , Q , R P_{0}、\hat{x_0},Q,R P0x0^QR
4)带入公式迭代
5)调节超参, Q , R Q,R QR

四、精通

1.卡尔曼公式回顾

在这里插入图片描述

2.

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值