高斯滤波_概率机器人-高斯滤波(卡尔曼滤波)

2023-05-16

所谓的高斯滤波共享了一个基本思想,那就是置信度用多元正态分布表示。在这里我们再重申一下多元正态分布的定义:

1. 卡尔曼滤波(Kalman Filter:KF)

实现贝叶斯滤波的最好的技术就是卡尔曼滤波(Kalman Filter)。卡尔曼滤波是由Swerling和Kalman作为线性高斯系统中的预测和滤波技术而发明的,用矩来定义。卡尔曼滤波实现了对连续状态的置信度计算。

我们回顾一下贝叶斯滤波,贝叶斯滤波的目标是求解状态变量

的置信度
,求解的方式是递归,有两个步骤:
  1. 预测:根据
    计算
  2. 测量更新:利用测量值
    计算

卡尔曼滤波则是通过合理的假设是以上的计算更容易实现,通过假设

符合高斯分布,这样我们就可以用均值
和方差
来表示置信度。

除了满足贝叶斯分布的马尔可夫假设之外,卡尔曼滤波还需满足以下三个条件

(1)状态转移概率

必须是带有随机高斯噪声的线性函数,可由下式表示:

其中,

为状态向量,
时刻的控制向量,
为高斯随机噪声,均值为0,方差为
的方针,
的矩阵。

那么状态转移概率 :

(2)测量概率

也与带有高斯噪声的自变量呈线性关系:

其中,

的矩阵,
为测量向量
的维数,
为测量噪声,是均值为0,方差为
的高斯分布。

那么测量概率:

(3)初始置信度

必须是正态分布,均值为
,方差为

这三个假设保证了

在任何时刻
总符合高斯分布。

卡尔曼滤波的算法表示如下:

算法第2、3行计算预测的置信度,4、5、6行为测量更新,其中第4行的变量矩阵

被称为卡尔曼增益矩阵,它明确了测量综合到新的状态估计的程度。

由于篇幅原因,这里我们就不进行卡尔曼滤波的数学推导了,如果真的有人看这篇文章然后强烈想看推导的话可以留言,我专门写一篇来证明,不过思路比较清晰,很容易就可以推导出来了。

我们来看一个例子:

a)实线为初始置信度

b)实线为存在不确定性的测量值

c)实线为应用过卡尔曼滤波后的置信度

d)实线为运动后存在不确定性的估计量,即控制系统得到的状态量

e)实线为存在不确定性的测量值

f)实线为应用过卡尔曼滤波之后的置信度

2. 扩展卡尔曼滤波(Extended kalman Filter:EKF)

尽管卡尔曼滤波效率很高,可是他也有局限性,就是他仅适用于线性高斯系统假设,然而实际情况下很多机器人系统不是线性系统,卡尔曼滤波并不适用。于是扩展卡尔曼滤(Extended kalman Filter:EKF)便发展出来。

EKF是KF在非线性情况下的推广,具体来说就是我们放宽了对于状态转移概率测量概率的假设,我们假设状态转移概率和测量概率分别由非线性函数

表示。在EKF下,我们假设:

但是直接食用非线性函数在数学推导中会存在问题,所以为了方便推导,我们利用一阶泰勒展开来将非线性函数线性化:

其中,

那么EKF的算法可以表示如下:

我们可以看到,基本思路和KF是一致的,区别在于:

  1. 我们在计算
    的时候直接用了非线性函数
    来计算;
  2. 在其余部分将
    分别用
    来替换。

3. 无痕迹卡尔曼滤波(Unscented Kalman Filter:UKF)

无痕迹卡尔曼滤波是另一种线性化方法,他通过使用加权统计线性回归过程实线随机线性化。

UKF明确地从高斯中提取

,其中
为确定
点分布在均值多元的范围内的比例参数,并将这些
点经过函数
进行变换。

每个

有两个与之相关的权值,一个权值
计算均值时使用,另一个权值
计算高斯的协方差时使用:

对高斯表示的附加的分布信息进行编码,如果分布式精确的高斯分布,则
是最佳选择。

剩下的思路也和KF、EKF相类似,就不赘述了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

高斯滤波_概率机器人-高斯滤波(卡尔曼滤波) 的相关文章

随机推荐