Uploaded by Shunz Dai

UKF-IF-

advertisement
第 3 章 高斯滤波器
3.1 卡尔曼滤波: The Kalman Filter (KF)
3.2 扩展卡尔曼滤波: The Extended Kalman Filter (EKF)
3.3 无迹卡尔曼滤波: The Unscented Kalman Filter (UKF)
基于 Talor 展开进行局部线性化,仅是对高斯分布的非线性变换进行线性近似
的一种方式。另一种常用的近似方法是 “无迹 Kalman 滤波 (Unsented Kalman Filter,
UKF)”。无迹 Kalman 滤波通过一种 “Sigma Point” 采样方法,我们称为特征点采样。
这种方法,通过在特征点 {X [i] } 对函数 g(ut , µt−1 ) 进行采样,利用采样的结果进行
加权计算,获得对变换后分布的均值和方差的估计值,用于近似原高斯分布。
3.3.1 基于特征点采样的近似方法
UKF 采用基于特征点采样的方法。具体的,对具有均值为 µ,方差为 Σ 的 n-维
高斯分布,可确定 2n + 1 个特征点,这些特征点表示为:
χ [0] = µ
χ [i ] = µ +
χ [i ] = µ −

(√
(√
(n + λ) ∑
(n + λ) ∑
)
)i
i
for i = 1, ..., n
(3.1)
for i = n + 1, ..., 2n
Note: 注意,式 (3.1) 中:
� · 其中每个采样点是一个 n 维向量;下标 i 代表矩阵
√
(n + λ) ∑ 的第 i 列向量。
� · λ = α2 (n + κ ) − n 是一个微调参数,其中 α 和 κ 是缩放因子。 λ 决定每个特
征点到均值的距离。
� · 对矩阵平方根
√
(n + λ) ∑ 的计算,一般采用 Cholesky 分解 [] 的方法,这样可
以使得计算更有效和稳定。
设待近似的函数为 g(·),UKF 的基本思想就是在特征点上对要近似的函数进行
采样,然后,基于采样的结果,基于两个权值进行加权计算,计算近似均值和近似的
方差。
第 3 章 高斯滤波器
–4/18–
Y [i ] = g ( χ [i ] )
(3.2)
µ ′ = ∑ ω m Y [i ]
i =0
(
)(
)T
2n
[i ]
′
[i ] − µ ′
[i ] − µ ′
=
ω
Y
Y
∑
∑ c
(3.3)
2n
[i ]
i =0
其中,
λ
1
[i ]
, ωm =
, for i = 1, ..., 2n
n+λ
2( n + λ )
λ
1
[i ]
+ (1 − α2 + β ), ω c =
, for i = 1, ..., 2n
=
n+λ
2( n + λ )
[0]
ωm =
[0]
ωc
(3.4)
(3.5)
参数 β 可以用于编码其它附加知识,例如对分布的更高阶信息的知识。在待近似
分布为准确的高斯分布时, β = 2 为最优值。
Lineariza*on via Unscented Transform
3.3.2 UKF 近似方法示意
EKF UKF 图 3.1: UKF 基于特征点采样的近似方法示例。UKF 首先提取 2n + 1 个特征点,代入
g(x) 进行计算,获得采样值。然后基于加权计算,近似计算高斯分布的均值和方差。
原图摘自 [].
图 (3.1) 给出了 UKF 方法对高斯分布进行近似的示意图。图中,UKF 在 3 个特征
点上的采样,获得 3 个采样值后,对采样值进行加权求和计算,获得近似的高斯分布
的均值和方差。
3.3 无迹卡尔曼滤波: e Unscented Kalman Filter (UKF)
–5/18–
图 (3.1) 中也比较了 EKF 和 UKF 的近似的特点。左边两幅图中,灰色曲线为实际
分布 p(y); 蓝色曲线代表对 p(y) 通过密集采样计算均值和方差的方法,获得的高斯
近似。左 1 图中红色曲线是 EKF 的近似结果;左二图中红色曲线是 UKF 的近似结果;
我们可见通过在多个特征点上进行采样,UKF 相比 EKF 具有更好的近似准确性。
3.3.3 UKF 算法
Algorithm 1 Algorithm Unscented Kalman Filter(µt−1 , Σt−1 , ut , zt )
)
(
√
√
1. χt−1 = µt−1 , µt−1 + (n + λ)∑t−1 , µt−1 − (n + λ)∑t−1
2. χ̄∗t = g(ut , χt−1 )
2n
[i ] ∗[i ]
3. µ̄t = ∑ ωm χ̄t
i =0
(
)(
)T
2n
¯ t = ∑ ωc[i] χ̄∗ [i] − µ̄t χ̄∗ [i] − µ̄t + Rt
4. ∑
t
t
i =0
(
5. χ̄t = µ̄t , µ̄t +
√
¯ t , µ̄t −
(n + λ)∑
√
¯t
(n + λ)∑
)
6. Z̄t = h (χ̄t )
2n
[i ]
[i ]
7. ẑt = ∑ ωm Z̄t
i =0
2n
8. St = ∑
i =0
[i ]
ωc
(
[i ]
Z̄t
− ẑt
)(
[i ]
Z̄t
− ẑt
)T
+ Qt
(
)(
)T
2n
¯ tx,z = ∑ ωc[i] χ̄[i] − µ̄t Z̄ [i] − ẑt
9. ∑
t
t
i =0
¯ tx,z S−1
10. Kt = ∑
t
11. µt = µ̄t + Kt (zt − ẑt )
¯ t − K t St K T
12. ∑t = ∑
t
13. return µt , Σt
算法 (1) 给出了 UKF 的算法流程。UKF 的输入和输出同 EKF 相同。第 1 行 χt−1
为基于 t − 1 时刻的状态确定的特征点;第 2 行,将特征点代入非线性函数;第 3,4
行计算预测的 t 时刻的分布均值和方差;第 5 行基于预测分布确定特征点;第 6 行将
特征点代入观测函数进行采样;第 7,8 行计算预期观测的均值和方差,其中 Qt 是观
第 3 章 高斯滤波器
–6/18–
测噪声的方差矩阵, 注意 St 对应于 EKF 中的 Ht Σ̄t HtT + Qt ; 第 9 行计算状态和观测之
间的协方差矩阵,对应于 EKF 算法中的 Σ̄t HtT ; 第 10 行计算 Kalman 增益矩阵; 第 11,
12 行计算更新之后的状态均值和方差矩阵。
3.3.4 UKF 算法特点以及与 EKF 的比较
在计算速度方面,UKF 与 EKF 具有相似的计算复杂度,EKF 相比 UKF 仅有常数
级的速度优势,在实际中,UKF 也是非常高效的。
在准确性方面,对于纯线性系统 UKF 的近似,可达到同 KF 一致。对于非线性系
统,UKF 可产生比 EKF 更好的结果,相比 EKF 的改善效果取决于状态概率分布的特
点和模型的非线性程度。
图 (3.1), (3.2) 给出了在不同的状态分布,系统模型下 UKF 和 EKF 的直观比较结
果。可见在不同方差的情况下,UKF 对 p(y) 的高斯分布的近似更准确。但在很多实
际系统中,EKF 和 UKF 之间的差异难以察觉,其主要原因是, p(y) 的高斯分布仅是对
UKF Sigma-­‐Point Es2mate (2) p(y) 原分布的近似,虽然 UKF 通过采样方法与 p(y) 的高斯近似更接近,但并不代表
对原 p(y) 分布近似的更好。
EKF UKF 图 3.2: 相比 EKF,UKF 对原分布具有更好的近似准确性,从图中实线对虚线的近似
效果可见。原图摘自 [].
UKF 的采样方法从思路上与后面要讲的粒子滤波方法略有类似,两者都是通过
采样的方法来对非线性变换的结果进行近似,但是关键的不同点是:UKF 的采样点
是固定的,粒子滤波的采样点是随机生成的。这是关键的不同,当待近似的概率分布
是接近高斯分布时,UKF 相比粒子滤波更加有效,但当待近似的概率分布严重的非
3.4 信息滤波器: Information Filter (IF)
–7/18–
高斯时,UKF 的固定点采样的近似效果,相比与粒子滤波就可能会很差。
3.4 信息滤波器: Information Filter (IF)
信息滤波器是 Kalman 滤波器的对偶滤波器。
• 相同点:同 KF, EKF, UKF 相类似,IF 也假设状态的置信度分布符合高斯分布。
• 不同点:IF 同 KF 类方法的主要不同是对高斯置信度分布的表达方法不同。在
KF 类的滤波算法中,高斯分布由其一阶矩 (Mean) 和二阶矩 (Variance) 描述。在
IF 中,高斯分布由其典型参数 (canonical parameterization) 描述,典型参数由信
息矩阵 (information matrix)和信息向量 (information vector)组成。不同的描述方
法,使得算法的更新公式不同,特别是在一种表达方式下复杂的计算过程,对
于在另一种表达方式下可能简单,反之亦然。
典型参数描述和矩描述,常被认为是对偶的描述方法,IF 和 KF 也因此被看作是
互为对偶的滤波器。
3.4.1 高斯分布的典型参数描述
在典型参数描述中,一个多元高斯分布由信息矩阵Ω 和信息向量ξ 描述。信息矩
阵 Ω 是协方差矩阵 Σ 的逆矩阵;信息向量 ξ 是协方差矩阵的逆与均值向量的乘积。
Ω = Σ −1
ξ = Σ −1 µ
(3.6)
因为 Σ 和 µ 可由 Σ = Ω−1 , µ = Ω−1 ξ 直接计算,所以高斯分布由 Ω 和 ξ 完全确
定。
回顾多元高斯分布的表达式:
}
{
1
1
T −1
p( x ) = √
exp − ( x − µ) Σ ( x − µ)
2
|2πΣ|
典型参数表达方式可以通过将指数部分展开得到:
}
{
p( x ) = √ 1 exp − 12 x T Σ−1 x + x T Σ−1 µ − 12 µ T Σ−1 µ
|2πΣ| {
}
}
{
1
1 T −1
=√
exp − µ Σ µ exp − 12 x T Ωx + x T ξ
2
|2πΣ|
|
{z
}
const
{
}
= η exp − 21 x T Ωx + x T ξ
(3.7)
(3.8)
注意式 (3.8) 中,由于 “const” 部分不依赖于变量 x,所以将其写为归一化系数 η。
第 3 章 高斯滤波器
–8/18–
对式 (3.8) 两侧求导数,可以进一步得到:
1
− log ( p( x )) = const + x T Ωx − x T ξ
2
所以, − log ( p( x )) 是 x 的二次函数,二次项系数为
Ω
2 ,一次项系数为
(3.9)
−ξ,常
数项为 − log η。注意 − log ( p( x )) 的取值范围不再是 0-1,所以常数项部分不能在归

一化为 η。
Note: 对于高斯分布, Ω 是半正定矩阵,所以, − log ( p( x )) 表示的是一个二次距离
函数。矩阵 Ω 决定着距离值随 x 的不同维度变化的变化速率。由半正定矩阵 Ω 加权
的距离函数,称之为马氏距离 (Mahalanobis Distance)。
3.4.2 信息滤波算法
对于满足如下线性状态方程和线性观测的系统:
xt = At xt−1 + Bt ut + ε t
zt = Ht xt + δt
(3.10)
设 Rt 和 Qt 分别为系统噪声向量 ε t 和测量噪声向量 δt 的方差矩阵,则信息滤波算法
如算法 (2) 所示:
Algorithm 2 Algorithm Information Filter(ξ t−1 , Ωt−1 , ut , zt )
1. Ω̄t =
(
1
T
At Ω−
t −1 A t
+ Rt
) −1
(
)
1
2. ξ̄ t = Ω̄t At Ω−
ξ
+
B
u
t
t
t
−
1
t −1
1
3. Ωt = HtT Q−
t Ht + Ω̄t
1
4. ξ t = HtT Q−
t zt + ξ̄ t
5. return ξ t , Ωt
同 KF 算法相同,IF 算法包括预测和更新两步。算法中,第 1 行根据 Ωt−1 和 Rt
对 Ω̄t 进行预测;第 2 行根据控制 ut ,预测 ξ̄ t ; 第 3 行根据观测对 Ωt 进行更新;第 4

行更新状态 ξ t 。
Note:[基于复杂性分析 IF 和 KF 的对偶性] 对比 KF 和 IF,可以从计算复杂性上分析
和验证两者的对偶性质。在 KF 中,预测步骤的复杂度是 O(n2 ),更新步骤包括矩阵
求逆,复杂度是 O(n2.4 )。在 IF 中,预测步骤包含矩阵求逆过程,复杂度为 O(n2.4 );
更新部分不包括矩阵求逆,复杂度为 O(n2 )。
从分析可见,IF 同 KF 同样具有较高的计算效率,但二者的计算难点不同。KF
计算的难点在状态更新部分,预测部分计算较为简单,仅为一个线性方程,所以适用
3.4 信息滤波器: Information Filter (IF)
–9/18–
于控制更为频繁的情况。相反的,IF 的计算难点在于预测部分,状态更新较为简单,
所以更适用于观测比较频繁的情况。两者的这一特点也印证了 IF 和 KF 的对偶性。
3.4.3 扩展信息滤波算法:EIF
扩展信息滤波(Extended Information Filter: EIF)将 IF 扩展到非线性情况,扩展
的方式同样采用基于 Talyor 展开的局部线性化方法。对于如 (3.11) 状态函数和观测函
数所描述的动态系统:
x t = g ( u t , x t −1 ) + ε t
zt = h ( xt ) + δt
(3.11)
如 Rt , Qt 分别为过程噪声方差矩阵和观测噪声方差矩阵,如 Gt 和 Ht 分别是
g (ut , µt−1 ,) 和 h (µt ) 的雅克比矩阵,则 EIF 的算法流程如算法3所示。
Algorithm 3 Extended Information Filter(ξ t−1 , Ωt−1 , ut , zt )
1
1. µt−1 = Ω−
t −1 ξ t −1
(
) −1
1
T+R
2. Ω̄t = At Ω−
A
t
t −1 t
3. ξ̄ t = Ω̄t g (ut , µt−1 )
4. µ̄t = g (ut , µt−1 )
1
5. Ωt = HtT Q−
t Ht + Ω̄t
1
6. ξ t = HtT Q−
t [ zt − h ( µ̄ t ) + Ht µ̄ ] + ξ̄ t
7. return ξ t , Ωt
其中,第 2,3 行是信息矩阵和信息向量的预测;第 5,6 行是信息矩阵和信息向
量的更新。同 IF 的不同之处仅在于:1)信息向量的预测是直接将 µt−1 代入到非线
性函数 g(·) 进行计算;2)信息向量的更新中采用 “观测 − 预测的观测 + 线性化后的
预测的观测” 来计算。
算法中在典型参数模型的迭代更新同时,还需要计算 µt−1 和 µ̄t ,这部分将在基
于信息滤波的地图构建过程问题中进一步讨论。
3.4.4 Kalman 滤波器与信息滤波器的区别
在机器人定位导航问题中,IF 类方法相比 KF 类方法具有一些优点。
例如,表示全部信息均不确定,在 IF 中,仅需设 Ω = 0,但在 KF 中,需要将方
差矩阵中的元素设为无穷大。
–10/18–
第 3 章 高斯滤波器
在传感器的测量只能观测到部分状态的信息时,在 EKF 中需要进行特殊处理,
而这种情况在机器人定位导航中非常普遍。信息滤波器相比 Kalman 滤波器在数值计
算上更稳定。
在后续章节中我们将看到,信息滤波类方法可以在不恢复概率分布的情况下,将
新的信息直接融入到信息滤波器中,这在大型状态估计问题中,即当状态个数成千上
万时,尤其重要。Kalman 类的滤波器需要将所有状态更新以融入新的信息,而信息
滤波器可以近通过信息矩阵和信息向量的局部修改引入新的信息。当然这种融入方法
需要设计更高级的分布式信息滤波器,将在后面的章节中介绍。
信息滤波器的另一优势来自于对多机器系统的天然适配。多机器人系统常常涉及
到分布式检测的多传感信息的融合问题,这一融合常通过贝叶斯滤波进行。当采用指
数形势描述贝叶斯滤波时,贝叶斯滤波器的乘法变为加法形式。由典型参数描述的信
息滤波器即是指数形式的贝叶斯滤波,所以信息融合可以通过将多机器人的信息相
加进行计算。因为加法的特点,采用信息滤波其的信息融合可以以任意顺序,任意延
迟进行,并且可以完全分布式实现。虽然在 KF 类滤波器中也可以同样实现信息的融
合,毕竟两者是对偶的,但是计算的成本会更高。
信息滤波器也有一些重要的局限性。一个主要的不足是在 EIF 中,在状态的预测
和更新过程中需要计算 µt−1 和 µ̄t 。其中 µt−1 的计算需要计算信息矩阵的逆矩阵。而
在 EKF 计算中,无需这种附加的逆矩阵计算。所以,在状态空间维度较高时,EIF 比
EKF 具有更高的计算成本,这也是 EKF 相比 EIF 被更广泛使用的一个重要原因。
在后续章节中我们可以看到,这一局限性在信息矩阵存在特定结构时也可以避
免。在很多机器人定位导航的实际问题中,状态变量的相互影响是局部的,因而信息
矩阵是稀疏的。在信息矩阵是稀疏的情况下,协方差矩阵并不是稀疏的。
由于其稀疏性,信息矩阵可以看做图 (Graph),在信息矩阵的非对角线元素不为
零的状态向量之间存在边。稀疏的信息矩阵对应着稀疏图,常可通过 Markov 随机场
(Markov Random Field) 进行描述。针对这类问题存在一系列的算法进行状态的估计和
更新,比如 loopy belief propagation 等。在后续章节中,我们将在地图构建问题中,介
绍一个稀疏的信息矩阵。基于稀疏矩阵的 EIF 算法相比 EKF 和 IF 都将更为高效。
3.5 参考文献
Download