正如我们在前一章中所看到的,当状态转移模型f (x)和观测模型h (x)接近于线性时,EKF的性能是令人满意的。然而,当f (x)或h (x)模型是高度非线性的时,线性化误差会导致与状态的真实值显著不同的估计,以及不能捕获状态中的真实不确定性的估计不确定性。
无迹卡尔曼滤波器是线性化的另一种方法。扩展卡尔曼滤波器使用解析线性化来处理非线性,而无迹卡尔曼滤波器基于一组规则进行无味变换(UT)-统计线性化。
杰弗里·乌尔曼最初提出了无香味变换(UT)作为他的博士论文[18]的一个组成部分;然而,它主要是来自[8]
“无香味”这个名字的意思是什么?一个流传的笑话是,“无味”与“香味”形成对比,意思是EKF的表演是“臭的”。UKF的创始人杰弗里·乌尔曼解释说,“无味”是他随意使用的名字,目的是避免被称为“乌尔曼过滤器”。
最初,我只把它称为“新过滤器”。由于需要一个更具体的名字,我实验室里的人们开始把它称为“乌尔曼过滤器”,这显然不是一个我可以使用的名字,所以我不得不想出一个官方术语。一天晚上,实验室里的其他人都在皇家歌剧院,当我工作的时候,我注意到桌子上有人有除臭剂。“无味”这个词作为一个完美的技术术语吸引了我的注意。
杰弗里·乌尔曼还说:“对人们来说,最引人注目的不是它的准确性,而是它的容易实施能力。不再需要推导出一个线性化的近似值,然后它就必须被编码起来,以便在过滤器中使用。
无迹变换(UT)
无味变换是一种计算经过非线性变换[8]的随机变量的统计量的方法
无香味变换包括三个步骤:
步骤1-从输入分布中选择一组点。这些点是根据一个特定的、确定性的算法来选择的。
•步骤2-通过非线性函数传播每个选定的点,产生一组属于输出分布的新点。
•步骤3-计算西格玛点的权重。
•步骤4-使用传播的点集和精心选择的权重来近似输出分布的样本均值和协方差。
步骤1-sigma点的选择
西格玛点的集合包括平均值和位于距离平均值一定距离处的一定数量的点
-》选定点数
所选点的数量取决于输入的分布。N维随机变量近似为2N +1点。对于一维分布(N = 1),点的数量是3。对于一个二维分布(N = 2),点的数量为5个。
在无迹卡尔曼滤波(UKF)中,选定 sigma 点的数量与增强状态向量的维度 N有关。通常,sigma 点的数量由以下公式确定:
这里的 M是生成的 sigma 点的总数,N 是增强状态向量的维度。
假设你在跟踪一个物体的位置和速度,状态向量定义为:
这个状态向量的维度 N 是 4,因此你将生成 个 sigma 点。
-》选定的点位置
第一个点是输入分布的平均值:
括号中的上标0 关于是一个sigma点数。
提醒:在“卡尔曼滤波语言”中,输入分布的平均值是当前估计值,输入分布的不确定性由当前估计值的协方差矩阵表示。协方差矩阵的主对角线包括每个维度的方差()
其他的点位于与平均值有一定的统计距离上。统计距离是对概率分布的距离度量。换句话说,统计距离用标准差或sigma (σ)表示。因此,选定的点被称为西格玛点,而未扫描的点变换有时被称为西格玛点变换。
其中
N是维数
(希腊语字母kappa)是一个调优参数
是 第i行或列的矩阵平方根
对于高斯分布,经验法则是设置: N + κ = 3。
应该选择西格玛点,以便它们捕获先验随机变量xˆ[9]的最重要的统计特性。
是时候做一些数值例子了