| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> (一)卡尔曼滤波算法简介 -> 正文阅读 |
|
[人工智能](一)卡尔曼滤波算法简介 |
1.卡尔曼滤波器–最优状态估计假如有一个自动驾驶汽车比赛,要求参赛汽车根据GPS测量定位分别在100种地形上行驶1公里,在每种地形上都尽量停靠在1公里终点处。计算100次的平均最终位置,取位置方差最小且平均位置最接近1公里的队伍获胜。 GPS的定位是比较粗糙的,误差较大,为了赢得比赛,期望获得尽量准确的位置估计。一个汽车系统可以简化成如下形式,输入是油门,输出是位置。 上图所示的汽车系统有比较多的状态量,其模型可表示为: 只保留速度作为输入,输出是位置后的简化模型为: 上式中:
μ
k
\mu_k
μk?是速度,
x
k
x_k
xk?是预测量,
y
k
y_k
yk?是测量量。 实际场景还需考虑噪声,对于测量量
y
k
y_k
yk?,使用GPS测量时难免会有测量误差,记为
v
k
~
N
(
0
,
R
)
,
R
=
σ
v
2
v_k\sim N(0,R),R=\sigma _v^2
vk?~N(0,R),R=σv2?。同样对于预测变量
x
k
x_k
xk?,因
x
k
x_k
xk?与速度有关,速度有可能受风速等的影响,必须考虑这个过程噪声,记为
ω
k
~
N
(
0
,
Q
)
,
Q
=
σ
ω
2
\omega_k \sim N(0, Q),Q=\sigma _ \omega^2
ωk?~N(0,Q),Q=σω2?。虽然不能准确的确定噪声的具体值,但可以知道噪声值的概率分布服从高斯分布。 上述介绍的是实际的汽车动力学模型,这个模型我们是不知道的,只能根据假设的模型来预测计算。 这里如何根据带有噪声的测量量和有噪声的预测量来尽可能准确的估计汽车的真实位置,正是kalman滤波可以做的事情。 如上图, k ? 1 k-1 k?1时刻的估计位置 x ^ k ? 1 \hat{x}_{k-1} x^k?1?方差较小,预测位置的不确定性较小,到了第 k k k时刻,预测值 x ^ k \hat{x}_k x^k?的不确定性变大,测量值 y k y_k yk?的不确定性相对较小,将预测量与测量量概率分布相乘,得到新的高斯分布,取其均值作为汽车在 k k k的位置是比较准确的。 预测量与测量量概率密度函数的乘法与如下所示的离散Kalman滤波方程有关,
x
^
k
?
\hat{x}_k^-
x^k??部分取决于先前时刻的位置估计和当前的速度,因此也称为先验估计。借助
x
^
k
?
\hat{x}_k^-
x^k??,可将
x
^
k
\hat{x}_k
x^k?表示为: 从上式可以看到第二部分使用的是测量量,
K
a
l
m
a
n
Kalman
Kalman滤波方程由预测值和基于测量量的更新值组成,
K
k
K_k
Kk?称为
回过来说汽车的例子,汽车位置估计的卡尔曼方程的先验估计和更新部分可表示为 还记得 观察卡尔曼增益 K K K的表达式,当测量误差趋近于0时, R R R趋近0,可以得到估计值等于测量值,测量值的概率密度函数将变成1个脉冲值,其对应的位置就是最优估计。 再考虑当 P P P趋近于0时,此时卡尔曼增益也等于0,预测值完全取决于先验估计,与测量值无关。 卡尔曼滤波进行状态估计,并不需要所有的先验信息,只需 k ? 1 k-1 k?1时刻的预测估计,不断进行更新即可。 从前面描述中可以看到测量值是基于 G P S GPS GPS的,增加更多的传感器,如 I M U IMU IMU等可提高测量值的准确度,得到更准确的位置估计。观察卡尔曼方程,增加传感器时,只需要增加 y y y, K K K, C C C的维度即可。因此卡尔曼滤波器也被称为传感器融合算法。 2.非线性系统第一部分介绍的简化后汽车模型的卡尔曼方程对应的是一个线性系统,实际中,更常见的是非线性系统,如汽车模型考虑摩擦,则预测值与速度的关系将变成非线性的。对应的测量函数也有可能与预测值之间是非线性的。 在线性系统中,服从高斯分布的预测值和测量值经过线性运算后得到的估计值依然服从高斯分布: 而对于非线性系统得到的估计值将不再服从高斯分布,这将导致卡尔曼滤波器可能不收敛。 2.1扩展卡尔曼滤波器EKF这里引出用于非线性系统的扩展卡尔曼滤波器(Extened Kalman Filter,EKF), 使用EKF时有如下缺点:
2.2 无迹卡尔曼滤波器UKF由于EKF中使用了非线性函数的线性近似,存在诸多问题,而无迹卡尔曼滤波器(Unscented Kalman Filter,UKF) 通过近似预测量和测量量的概率分布而非近似非线性函数来进行状态估计。无迹卡尔曼滤波器在原概率分布上选择一组最小的采样点,使采样点的均值和方差与原概率分布相同,然后将每个采样点代入非线性函数进行计算得到输出点的均值和方差。根据输出点来计算高斯分布。 2.3 粒子滤波器粒子滤波器(Particle Filter,PF),粒子滤波器近似任意分布,而不像UKF仅局限于高斯分布,为了估计任意的概率分布,粒子滤波器所需的采样点远远大于UKF。 3.总结
1.https://www.bilibili.com/video/BV1V5411V72J?p=6&spm_id_from=pageDriver |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/8 4:24:22- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |