卡尔曼滤波(六)——二维例子

一维例子

使用尺子测量一段距离:

Z1 = 6.5mm,σ1 = 0.2mm 

Z2 = 7.3mm,σ2 = 0.4mm 

如何求最优估计?

根据模型:

Xk=AXk-1+BUk+Wk-1 

Zk = HXk + Vk

Q =E(WWT)= E( [w1,w2]T [w1,w2] )。

理解办法:

1. 认为 【一段距离】的长度是恒定的,因此,Xk=Xk-1 ,那么A = 1

2. 因为Xk 为固定的【一段距离】,而Zk又恰好是这段距离,中间没有转换,所以 H =1

 

预测:

先验值:X-k = AX^k-1 + BUk-1 

先验协方差:P-k =  A Pk-1 AT   + Qk-1

令 H = 1:

问题:X-2 =  X^1 ,问题: X^1 等于多少?

答:X^1  = 6.5mm ,只能从k =2开始算,而k =1时,只能拿测量值当后验值用。

 

根据:先验协方差:P-k =  A Pk-1 AT   + Qk-1,A = 1 ,K =2 ,得:先验协方差:P-2 =  P  + Q1

问题:Q1是多少?

答:Q1为过程误差协方差, 这里不认为有模型误差,Q1= 0。因为X^1 是直接估计的,所以不存在过程误差。  所以:P-2 =  P

又P1 是后验协方差矩阵,k =1时,只能拿测量值当后验值用,所以P1 = 0.2²

 

【预测】整理:

X-2 =  X^1 = 6.5

P-2 =   P1 = 0.2²

 

校正:

卡尔曼增益:K= P-kH/ (HP-kH+  Rk)

后验值:X^= X-+ K(Zk - HX-K)

 

【预测】整理:

K= P-2 / (P-2 +  R2)  (观测值协方差阵: R = E(VVT) = E( [v1,v2]T [v1,v2] )

R2 = 0.42    (测量值协方差:R = E(VVT) = E[ [v1,v2]T [v1,v2] ])

K= 0.2² / (0.2² +  0.42) = 0.2

最优估计:

X^=  6.5 + 0.22 / (0.2+  0.42) * ( 7.3 - 6.5 )= 6.66m

后验协方差:Pk = (I - KkH)P-k

P2 = (1 - 0.2)* 0.2² = 0.032

 


 二维例子

假设一个人在走路,那么有如下状态:

x1:位置

x2:速度

有如下条件:

1. 速度假设是恒定的。(实际上不会匀速)

 

那么,模型方方程【Xk=AXk-1+BUk+Wk-1 】,可以写成如下:

x2,k = x2,k-1 + W2,k-1

x1,k = x1,k-1 + ΔT * x2,k-1 +  W1,k-1

ΔT :采样间隔,k时刻与k-1时刻的间隔,令ΔT=1(如何保证ΔT每次都是1是个难题)

W:过程噪声,可能地面有石头,有上下坡,导致速度不能完全匀速,

p(W) ~ N[0,Q]:概率分布服从正态分布,期望是0,协方差矩阵为Q

 

如果这个人使用了GPS导航,时刻得到这个人的位置、速度。

那么,第二条模型方程【Zk = HXk + Vk】:

Z1k = X1k +  V1,k

Z2k = X2k +  V2,k

p(V) ~ N[0,R]:概率分布服从正态分布,期望是0,协方差矩阵为R

矩阵形式:

 

Xk=AXk-1+Wk-1

Zk = HXk + Vk


 

DR CAN给出的例子:

 

 

 

问题一:位置过程误差、速度过程误差是如何得到?DR CAN使用随机数,但是实际上不能用随机数吧?

问题二:Q、R矩阵为什么长这样?

DR CAN视频说,Q、R中,X,Z假设是独立的,所以对角形式。至于其中的数字也是自己编的。

R阵好理解,可以以仪器的标称精度搞得,但是Q应该怎么获得?

 

说明:

1. 位置过程标准差、速度过程标准差,分别是Q对角开根号

2. 位置测量标准差、速度测量标准差,分别是R对角开根号

 


 

posted on 2022-07-05 17:31  耀礼士多德  阅读(20)  评论(0编辑  收藏  举报