无迹卡尔曼滤波_自动驾驶基础技术(七)-无迹卡尔曼滤波Unscented Kalman Filter

无迹卡尔曼滤波(UKF)是一种处理非线性问题的滤波算法,它避免了扩展卡尔曼滤波(EKF)中求雅可比矩阵的复杂性,提供更精确的估计。UKF利用Unscented Transform来近似概率分布,通过选择和变换Sigma Points来计算预测和校正步骤。在自动驾驶定位中,UKF能够有效地处理车辆的运动和测量模型,提高定位精度。
摘要由CSDN通过智能技术生成

cac3d84a0f8f3044199139d61a36932d.png

Unscented Kalman Filter是解决非线性卡尔曼滤波的另一种思路,它利用Unscented Transform来解决概率分布非线性变换的问题。UnScented Kalman Filter不需要像Extended Kalman Filter一样计算Jacobin矩阵,在计算量大致相当的情况下,能够获得更加精确非线性处理效果。

1.Unscented Kalman Filter的思想

it is easier to approximate a probability distribution than it is approximate an arbitary nonlinear function.

逼近概率分布要比逼近任意的非线性函数要容易的多,基于这种思想,Unscented Kalman Filter利用概率分布逼近来解决非线性函数逼近的问题。

以一维的高斯分布为例,如下图所示,左侧是一维高斯分布,

是非线性变化,右侧是变换后的高斯分布。

e711c678d21d6b47a27d63002027bb5c.png
图片来源:State Estimation and Localization for Self-Driving Cars:Lesson 6: An Alternative to the EKF - The Unscented Kalman Filter

左侧的高斯概率分布参数是已知的,

;非线性变换
也是已知;如何估计非线性变换后的分布呢?Unscented Transform提供了这样一种对变换后的概率分布的估计方法。

2.Unscented Transform

Unscented Transform的流程如下:

2.1 Choose Sigma Points

首先从Input Distribution进行点采样,注意,这里不是随机采样,采样点距离Input Distribution的mean距离是标准差的倍数,因此这些采样点也被称为Sigma Point。Unscented Transform有时也被称为Sigma Point Transform。

55805b4977e7a9b8351d325cd4b45e24.png
图片来源:State Estimation and Localization for Self-Driving Cars:Lesson 6: An Alternative to the EKF - The Unscented Kalman Filter

Sigma Points个数

Sigma Point的个数如何选择呢?通常情况下,N维的高斯分布选择2N+1个Sigma Point(一个Point是Mean,其它Point关于Mean对称分布)。一维高斯分布选择3个Sigma Point,二维高斯分布选择5个Sigma Point。

52f5881900cfd5447faa2f4b55ebe807.png
图片来源:State Estimation and Localization for Self-Driving Cars:Lesson 6: An Alternative to the EKF - The Unscented Kalman Filter

Sigma Points的选取

1) 计算协方差矩阵的Cholesky分解。

2) 计算Sigma Point。

其中N是高斯分布的维度,K是可调参数,通常设置

是一个好的选择。

2.2 Transform Sigma Points

将Sigma Points通过非线性变换$h(x)$映射到Output Distribution。

ddb51161f062b83bd9a050e7b7119a45.png
图片来源:State Estimation and Localization for Self-Driving Cars:Lesson 6: An Alternative to the EKF - The Unscented Kalman Filter

个Sigma Point代入Nonlinear Function:

2.3 Compute Weighted Mean And Covariance of Transformed Sigma Points

通过Sigma Points的映射点计算Output Distribution的均值和方差,从而实现对Output Distribution的分布估计。

其中:

3.The Unscented Kalman Filter (UKF)

3.1 None Linear Motion Model:

3.2 None Linear Measurement Model:

3.3 Prediction Steps

1)Compute Sigma Points:

2)Propagate Sigma Points:

3)Compute Predicted Mean And Covariance

3.4 Correction Steps

1) Predict Measurement From Propagated Sigma Points

2) Estimate Mean And Covariance of Predicted Measurement

3) Compute Cross-Covariance And Kalman Gain

4)Compute Corrected Covariance And Mean

4.UKF在自动驾驶定位中的应用举例

95fcc93f629192480e3be917eb6f90f6.png

4.1 已知参数

已知机器人在k-1时刻的State的矩阵形式如下:

车辆加速度

,LandMark的位置参数
均为已知。

车辆的Motion Model

车辆的Measurement Model:

系统的初始值:

4.2 应用UKF

首先是Prediction过程:

计算协方差矩阵的Cholesky分解:

可得:

计算Sigma Points:

对Sigma Points执行Transforming过程:

计算Transforming之后的Sigma Points的均值和方差:

其次是Correction的过程,与Prediction过程类似。

计算协方差矩阵的Cholesky分解:

Sigma Points采样:

执行Transforming变换:

计算均值和协方差:

计算交叉协方差和卡尔曼增益:

获得t=1时刻的车辆状态:

参考链接

1)本文主要来自Coursera自动驾驶课程: State Estimation and Localization for Self-Driving Cars:Lesson 6: An Alternative to the EKF - The Unscented Kalman Filter

2)Research Paper: https://www.seas.harvard.edu/courses/cs281/papers/unscented.pdf

78b01b4d7283a07fb93cb4839bbe69c3.png

自动驾驶学习系列:

自动驾驶State Estimation And Localization(六)-ES-EKF

自动驾驶State Estimation And Localization(五)-扩展卡尔曼滤波

自动驾驶State Estimation And Localization(四)-卡尔曼滤波

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值