卡尔曼滤波(Kalman Filter)公式【SLAM】

本文详细解释了卡尔曼滤波的核心公式,包括运动方程、观测方程、预测步骤中的先验状态量估计、状态更新过程中的卡尔曼增益计算,以及后验状态量的更新。该算法用于处理动态系统中的噪声数据估计。
摘要由CSDN通过智能技术生成

卡尔曼滤波

核心公式

运动方程:
x k = A k x k − 1 + B k u k + w k x_{k} = A_{k}x_{k-1} + B_{k}u_{k} + w_{k} xk=Akxk1+Bkuk+wk
w k ∼ N ( 0 , Q k ) w_{k} \sim \mathcal{N} (0,Q_{k}) wkN(0,Qk)
观测方程:
z k = C k x k + v k z_{k} = C_{k}x_{k} + v_{k} zk=Ckxk+vk
v k ∼ N ( 0 , R k ) v_{k} \sim \mathcal{N} (0,R_{k}) vkN(0,Rk)

预测:1
先验状态量均值(Predicted (a priori) state estimate):
x ˇ k = A k x ^ k − 1 + B k u k \check{x}_{k} = A_{k}\hat{x}_{k-1} + B_{k}u_{k} xˇk=Akx^k1+Bkuk
先验状态量协方差(Predicted (a priori) estimate covariance):
P ˇ k = A k P ^ k − 1 A k T + Q k \check{P}_{k} = A_{k}\hat{P}_{k-1}A_{k}^{T} + Q_{k} Pˇk=AkP^k1AkT+Qk
更新:
状态更新前的观测协方差,先验观测协方差(Innovation (or pre-fit residual) covariance):
S k = C k P ˇ k C k T + R k S_{k} = C_{k}\check{P}_{k}C_{k}^{T} + R_{k} Sk=CkPˇkCkT+Rk
卡尔曼增益(Optimal Kalman gain):
K k = P ˇ k C k T S k = P ˇ k C k T C k P ˇ k C k T + R k K_{k} = \frac{\check{P}_{k}C_{k}^{T}} {S_{k}} = \frac{\check{P}_{k}C_{k}^{T}} {C_{k}\check{P}_{k}C_{k}^{T} + R_{k}} Kk=SkPˇkCkT=CkPˇkCkT+RkPˇkCkT
状态更新前,观测值减去预测值得到的残差;未经状态更新的测量残差(
Innovation or measurement pre-fit residual):
y ˇ k = z k − C k x ˇ k \check{y}_{k} = z_{k} - C_{k}\check{x}_{k} yˇk=zkCkxˇk
后验状态量均值(Updated (a posteriori) state estimate):
x ^ k = x ˇ k + K k y ˇ k \hat{x}_{k} = \check{x}_{k} + K_{k}\check{y}_{k} x^k=xˇk+Kkyˇk
后验状态量协方差(Updated (a posteriori) estimate covariance):
P ^ k = ( I − K k C k ) P ˇ k \hat{P}_{k} = (I - K_{k}C_{k})\check{P}_{k} P^k=(IKkCk)Pˇk
更新后测量残差(Measurement post-fit residual):
y ^ k = z k − C k x ^ k \hat{y}_{k} = z_{k} - C_{k}\hat{x}_{k} y^k=zkCkx^k


  1. 本人翻译可能不准确,所以给出概念的英文描述,资料来自Wikipedia:Kalman filter ↩︎

  • 13
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
卡尔曼滤波、粒子滤波和扩展卡尔曼滤波都是常用的滤波算法,用于估计系统状态并减小测量误差。它们在不同的应用领域中有着广泛的应用。 1. 卡尔曼滤波Kalman Filter)是一种线性的递归滤波算法,适用于线性系统。它通过将系统的状态和观测值进行加权平均,得到对系统状态的最优估计。卡尔曼滤波假设系统的状态和观测值都服从高斯分布,并且系统的动态和观测模型都是线性的。卡尔曼滤波具有高效、精确和稳定的特点,广泛应用于导航、目标跟踪、机器人等领域。 2. 粒子滤波(Particle Filter),也称为蒙特卡洛滤波(Monte Carlo Filter),是一种非线性的递归滤波算法。粒子滤波通过使用一组随机样本(粒子)来表示系统的状态空间,并根据观测值对粒子进行重采样和更新,从而得到对系统状态的估计。粒子滤波不需要对系统模型进行线性化,适用于非线性系统和非高斯噪声的情况。粒子滤波在目标跟踪、机器人定位、SLAM等领域有着广泛的应用。 3. 扩展卡尔曼滤波(Extended Kalman Filter)是对卡尔曼滤波的扩展,用于非线性系统的状态估计。扩展卡尔曼滤波通过对非线性系统进行线性化,将非线性系统转化为线性系统,然后使用卡尔曼滤波进行状态估计。扩展卡尔曼滤波通过对系统模型进行一阶泰勒展开来近似非线性函数,从而实现对非线性系统的状态估计。扩展卡尔曼滤波在导航、目标跟踪、机器人定位等领域得到广泛应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值