卡尔曼滤波

在卡尔曼滤波里,目标的当前状态估计考虑2个输入。

  1. 一个是根据过去的状态估计当前的状态。如过去的位移为[0,3,6,9],则当前的状态估计就应该为12。
  2. 一个是当前时刻的观测状态(即传感器读数、跟踪里的检测器检测到的位置等),因此实际中观测值是带有噪声的,不是百分百精准的。

如需要估计物体的位移,则影响位移的因素有上一刻的位移,速度,外力(加速度)等。现在先忽略外力

根据过去的状态估计当前的状态

如考虑状态向量 x x x如下
x = [ 位 移 速 度 ] x = \left[ \begin{matrix} 位移\\ 速度 \end{matrix} \right] x=[]
x t − 1 x_{t-1} xt1为上一刻的状态,即
x t − 1 = [ 位 移 t − 1 速 度 t − 1 ] x_{t-1} = \left[ \begin{matrix} 位移_{t-1}\\ 速度_{t-1} \end{matrix} \right] xt1=[t1t1]

则根据上一时刻的状态,可以估计当前时刻的状态
{ 位 移 t = 位 移 t − 1 + 速 度 t − 1 × Δ t 速 度 t = 速 度 t − 1 \left \{ \begin{aligned} 位移_t &= 位移_{t-1}+速度_{t-1} \times \Delta t \\ 速度_t &=速度_{t-1} \end{aligned} \right. {tt=t1+t1×Δt=t1
因为忽略了外力,因此视为一个恒速运动。写为矩阵形式即为
x t = [ 1 Δ t 0 1 ] x t − 1 = F x t − 1 (1) x_t = \left [ \begin{matrix} 1 & \Delta t \\ 0 & 1 \end{matrix} \right] x_{t-1} = Fx_{t-1}\tag1 xt=[10Δt1]xt1=Fxt1(1)
以上的状态转移都是考虑理想状态的,实际情况中,上一刻的状态不是百分百准确的,是带有噪声的。因此其上一刻的状态实际上是个高斯分布在这里插入图片描述
均值为上一刻的估计值,定义其协方差为 P t − 1 P_{t-1} Pt1。又因为
C o v ( x ) = P C o v ( A x ) = A P A T Cov(x) = P\\ Cov(Ax)=APA^T Cov(x)=PCov(Ax)=APAT
因此当前时刻的估计值
均 值 x t = F x t − 1 协 方 差 P t = F P t − 1 F T + Q 均值x_t = Fx_{t-1} \\ 协方差P_t = FP_{t-1}F^T + Q xt=Fxt1Pt=FPt1FT+Q
Q是因为在根据上一刻估计当前时,又引入新的噪声。
同时因为当前估计空间和观测空间中可能因为测量单位等的不同,引入测量矩阵 H H H,用于将当前状态转移到观测空间。如在图像处理的跟踪里面,单位等都相同,因此可令 H = I H = I H=I即单位矩阵。又或者观测值只有位移,则
H = [ 1 0 ] x ^ t = H x t H = \left [ \begin{matrix} 1 & 0 \end{matrix} \right]\\ \hat x_t = Hx_t H=[10]x^t=Hxt
x ^ t = H x t \hat x_t = Hx_t x^t=Hxt为转移到观测空间后的估计值。 协方差为 H P k H T HP_kH^T HPkHT

因此就得到了从历史状态估计的当前状态,一个均值为 x ^ t \hat x_t x^t,协方差为 H P k H T HP_kH^T HPkHT的分布

当前时刻观测状态

观测值就是传感器的读数,当然也是有误差的。其分布也是高斯分布。均值即为读数( μ 1 \mu_1 μ1),协方差记为R

融合高斯

至此,有了2个分布,一个是根据历史状态估计的当前状态的分布,一个是观测值
N ( H x t , H P k H T ) = N ( μ 0 , σ 0 ) N ( μ 1 , R ) = N ( μ 1 , σ 1 ) \begin{aligned} &\mathscr{N}(Hx_t,HP_kH^T) = \mathscr{N}(\mu_0,\sigma_0)\\ &\mathscr{N}(\mu_1,R) = \mathscr{N}(\mu_1,\sigma_1)\end{aligned} N(HxtHPkHT)=N(μ0σ0)N(μ1R)=N(μ1σ1)
因此其最终估计即为2个高斯分布的融合,融合后仍为高斯分布。
卡 尔 曼 增 益 K = σ 0 ( σ 0 + σ 1 ) − 1 融 合 均 值 μ = μ 0 + K ( μ 1 − μ 0 ) 融 合 协 方 差 σ = σ 0 − K σ 0 \begin{aligned} 卡尔曼增益 K & = \sigma_0(\sigma_0 + \sigma_1)^{-1} \\ 融合均值 \mu &= \mu_0 + K (\mu_1 - \mu_0) \\ 融合协方差\sigma &= \sigma_0 - K\sigma_0 \end{aligned} Kμσ=σ0(σ0+σ1)1=μ0+K(μ1μ0)=σ0Kσ0
融合均值即为最终的最优估计。同时将观测空间的值转换到原空间即左乘 H − 1 H^{-1} H1,更新后的状态用于下一时刻的迭代。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值