无人驾驶定位与贝叶斯滤波
Posted Young_Gy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无人驾驶定位与贝叶斯滤波相关的知识,希望对你有一定的参考价值。
无人驾驶需要精确的定位。本文将简要介绍无人驾驶定位的相关方法,重点介绍贝叶斯滤波框架进行递归的状态估计。同时附上一维马尔科夫定位的实例及代码。
无人驾驶定位
定位是指在空间中确定自己的位置。
传统的定位方法有GPS(Global Positioning System),但是GPS的误差较大且不稳定(m级)。无人驾驶对定位精度要求较高需要达到cm级的误差,因此需要多传感器融合定位。
定位的数学问题之贝叶斯滤波
定位的目标:记汽车的位置为
x
,定位即是求解
那么,为了确定汽车的位置,我们有哪些数据呢?
- 地图数据 m ,包含地图上标志物的位置信息
- 观测数据
z ,包含汽车感知到的标志物与汽车的相对位置信息 - 控制数据 u ,包含汽车的油门转弯等控制信息
定位本身是一种位置不确定性的度量,我们的目标是尽量减少这种不确定性。那么,上面的数据信息是如何帮助我们减少不确定性的呢?
- Sense:
P(x|z)∝P(x)P(z|x) - Move: P(xt+1)=∑P(xt)P(xt+1|xt)
贝叶斯滤波是一种使用递归进行状态估计的框架。其交替利用Move阶段的prediction和Sense阶段的update,便可以对汽车的位置 P(x) 做更精准的描述。
一维马尔科夫定位
一维马尔科夫定位、卡尔曼滤波、粒子滤波都属于贝叶斯滤波的一种,这里将简要介绍一维马尔科夫定位。
数据
这里使用的数据包含以下三种,目的是要获得汽车在
t
时刻位置的置信为
- 地图数据 m ,包含地图上标志物的位置信息
- 观测数据
z ,包含汽车感知到的标志物与汽车的相对位置信息 - 控制数据 u ,包含汽车的油门转弯等控制信息
动机
记汽车在
bel(xt)=P(xt|z1:t,u1:t,m)
这里额外提一下,如果求 P(xt,m|z1:t,u1:t) ,那么则从定位问题变成SLAM(simultaneous location and mapping)问题。
容易看到,随着
t
的增大,估计
- 减少估计所用的数据量
- 需要的数据不随时间增加
也就是:
bel(xt)=f(bel(xt−1),zt,ut,m)
根据贝叶斯公式,可得:
bel(xt)=P(xt|z1:t,u1:t,m)=P(xt|zt,z1:t−1,u1:t,m)=P(xt|z1:t−1,u1:t,m)P(无人驾驶中的机器学习-朴素贝叶斯分类(Naive Bayes)
自动驾驶定位算法-直方图滤波(Histogram Filter)定位
粒子滤波 particle filter —从贝叶斯滤波到粒子滤波——Part-I(贝叶斯滤波)
粒子滤波 particle filter —从贝叶斯滤波到粒子滤波——Part-I(贝叶斯滤波)