产量预测4 卡尔曼滤波

卡尔曼滤波 参考1
卡尔曼滤波 参考2
贝叶斯滤波
多元高斯分布

先给出终极公式:
卡尔曼滤波核心公式
x ^ k ′ \hat x'_k x^k: 最优估计值
P k ′ P'_k Pk: 最优估计的协方差
K ′ K' K: 卡尔曼增益(应该写在第一排)
x ^ k \hat x_k x^k: 预测值
P k P_k Pk: 预测值协方差
H k H_k Hk: 转移矩阵
z k → \overrightarrow {z_k} zk : 传感器观测值
R k R_k Rk: 观测值高斯噪声 协方差


1 机器人工作引入

有一个依靠传感器和系统预测,从而在运作的小机器人,状态 x k x_k xk 可以表示在 k k k 时刻,机器人的位置与速度:
x = [ p v ] (1) \begin{aligned} x = \begin{bmatrix} p \\ v \end{bmatrix} \end{aligned} \tag 1 x=[pv](1)

假设速度不变,现对通过 k − 1 k-1 k1 时刻对 k k k 时刻机器人的运动进行预测:
p k = p k − 1   + v k − 1 Δ t v k = v k − 1 (2) \begin{aligned} &p_k = p_{k-1} \ + &v_{k-1} \Delta t \\ &v_k = &v_{k-1} \tag 2 \end{aligned} pk=pk1 +vk=vk1Δtvk1(2)

2 矩阵表示

表达式可以修改成如下, x ^ k \hat x_k x^k 为对 k k k 时刻机器人的预测状态, F k F_k Fk 为状态转移矩阵:
x ^ k = [ 1 Δ t 0 1 ] x ^ k − 1 = F k x ^ k − 1 (3) \begin{aligned} \hat x_k &= \left[ \begin{matrix} 1 & \Delta t \\ 0& 1 \end{matrix} \right] \hat x_{k-1} \\ &=F_k \hat x_{k-1} \end{aligned} \tag 3 x^k=[10Δt1]x^k1=Fkx^k1(3)

求预测结果的协方差:
可获取到各变量的间的协方差如下, P k P_k Pk 为预测后 各变量的协方差:
因为:
C o v ( x ) = Σ C o v ( A x ) = A Σ A T Cov(x) = \Sigma \\ Cov(Ax) = A \Sigma A^T Cov(x)=ΣCov(Ax)=AΣAT
所以:
x ^ k = F k x ^ k − 1 P k = F k P k − 1 F k T (4) \hat x_k = F_k \hat x_{k-1} \\ P_k = F_k P_{k-1} F_k^T \tag 4 x^k=Fkx^k1Pk=FkPk1FkT(4)

3 加入控制变量

如果加入控制参数,就可加入机器人的加速度 a a a
p k = p k − 1   + Δ t v k − 1   +   1 2 a Δ t 2 v k = v k − 1   +   a Δ t (5) \begin{aligned} &p_k = p_{k-1}\ + &\Delta t v_{k-1} \ +\ &\frac 1 2 a \Delta t ^2\\ &v_k = &v_{k-1} \ +\ &a \Delta t \end{aligned} \tag 5 pk=pk1 +vk=Δtvk1 + vk1 + 21aΔt2aΔt(5)

可以修改为两个矩阵相加来表示:
x ^ k = F k x ^ k − 1 + [ Δ t 2 2 Δ t ] a = F k x ^ k − 1 + B k u k → (6) \begin{aligned} \hat x_k &= F_k \hat x_{k-1} + \begin{bmatrix} \frac { \Delta t ^2} {2}\\ \Delta t \end{bmatrix} a \\ &= F_k \hat x_{k-1} + B_k \overrightarrow {u_k} \end{aligned} \tag 6 x^k=Fkx^k1+[2Δt2Δt]a=Fkx^k1+Bkuk (6)

B k B_k Bk 为控制矩阵, u k → \overrightarrow {u_k} uk 为控制向量

4 加入外部干扰

对于外部干扰,加入 Q k Q_k Qk 高斯噪声处理,得到完整的预测表达式:
x ^ k = F k x ^ k − 1 + B k u k → P k = F k P k − 1 F k T + Q k (7) \hat x_k = F_k \hat x_{k-1} + B_k \overrightarrow {u_k} \\ P_k = F_k P_{k-1} F_k^T + Q_k \tag 7 x^k=Fkx^k1+Bkuk Pk=FkPk1FkT+Qk(7)


5 观测值 高斯分布

(看到这里脑袋宕机了,感觉有问题。待处理)
z k z_k zk为传感器观测值, R k R_k Rk 为观测噪声,观测值服从高斯分布:
N ( x , μ 1 , σ 1 2 ) = N ( x , z k → , R k ) (8) N(x, \mu_1, {\sigma_1}^2) =N(x, \overrightarrow {z_k}, R_k) \tag 8 N(x,μ1,σ12)=N(x,zk ,Rk)(8)

6 预测值 高斯分布

(是预测值转换到观测值相同的单位或格式?)
一般情况下,传感器测量单位或指标不同于需要预测的单位,引入转换矩阵 H k H_k Hk 来表示预测值转换到与传感器值同单位的参数。所以,转换为相同单位,预测值的高斯分布为:
N ( x , μ 0 , σ 0 2 ) = N ( x , H k x ^ k − 1 , H k P k H k T ) (9) N(x, \mu_0, {\sigma_0}^2) = N(x, H_k \hat x_{k-1}, H_k P_{k} H_k^T) \tag 9 N(x,μ0,σ02)=N(x,Hkx^k1,HkPkHkT)(9)

7 卡尔曼增益 最优估计值

(how? why?)
有性质:高斯分布的乘积仍然是高斯分布
N ( x , μ 0 , σ 0 ) ⋅ N ( x , μ 1 , σ 1 ) = N ( x , μ ′ , σ ′ ) N(x, \mu_0,\sigma_0)\cdot N(x, \mu_1,\sigma_1) = N(x, \mu', \sigma') N(x,μ0,σ0)N(x,μ1,σ1)=N(x,μ,σ),求新的 N ( x , μ ′ , σ ′ ) N(x, \mu', \sigma') N(x,μ,σ) 并归一化

μ ′ \mu' μ μ 0 , μ 1 \mu_0,\mu_1 μ0,μ1 的加权平均:
μ ′ = μ 0 + σ 0 2 ( μ 1 − μ 0 ) σ 0 2 + σ 1 2 (10) \mu' = \mu_0+\frac{{\sigma_0}^2 (\mu_1-\mu_0)}{{\sigma_0}^2+{\sigma_1}^2} \tag {10} μ=μ0+σ02+σ12σ02(μ1μ0)(10)
σ ′ \sigma' σ σ 0 , σ 1 \sigma_0, \sigma_1 σ0,σ1 的调和平均的二分之一:
σ ′ 2 = σ 0 2 − σ 0 4 σ 0 2 + σ 1 2 (11) {\sigma'}^2 = {\sigma_0}^2- \frac {{\sigma_0}^4} { {\sigma_0}^2+ {\sigma_1}^2} \tag {11} σ2=σ02σ02+σ12σ04(11)


k = σ 0 2 σ 0 2 + σ 1 2 (12) k = \frac {{\sigma_0}^2} { {\sigma_0}^2+ {\sigma_1}^2} \tag {12} k=σ02+σ12σ02(12)

那么
μ ′ = μ 0 + k ( μ 1 − μ 0 ) σ ′ 2 = σ 0 2 − k σ 0 2 (13) \mu' = \mu_0+k(\mu_1 - \mu_0) \\ {\sigma'}^2 = {\sigma_0}^2 - k {\sigma_0}^2 \tag {13} μ=μ0+k(μ1μ0)σ2=σ02kσ02(13)

8 过程整合

(主要将式(12),(13)整合到卡尔曼滤波当中)


待学习

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值