自动驾驶-使用粒子滤波定位

本文介绍了自动驾驶中用于高精度定位的粒子滤波算法,包括初始化粒子、预测、更新粒子权重和重采样四个步骤。通过与GPS结合,利用传感器数据不断修正车辆位置,以减小定位误差。详细讲解了每一步的实现,并提供了重采样代码示例。
摘要由CSDN通过智能技术生成

前几章介绍了卡尔曼滤波是用来对其他车辆追踪和定位的,本章介绍的粒子滤波是用来定位自身的。通常我们用手机地图的gps功能已经能大致定位出自身位置,但是gps存在10m左右的偏差,这么大的偏差在自动驾驶时是无法承受的。本章介绍的粒子滤波是一种高精度定位自身位置的算法。

粒子滤波的原理概括来说是通过地图得到一些路标的坐标,假设自身车辆以某种概率分布在一定范围内,在这个范围内按概率分布假设一些粒子代表车辆位置,根据车辆运动情况预测每个粒子 Δ t \Delta t Δt以后的位置,车辆每隔 Δ t \Delta t Δt的时间还会用传感器感知路标相对自己的距离,用每个粒子周围路标的位置和传感器感知的路标位置做比较,传感器感知的路标和探测到的路标越接近则该粒子越有可能代表车辆位置。从预测到探测更新循环迭代,确认车辆的实际位置。

粒子滤波可以抽象为以下几步:

  1. 初始化粒子
  2. 预测
  3. 探测更新
  4. 重新分布粒子,重复2, 3步

下图是自动驾驶车辆使用粒子滤波的一般流程
在这里插入图片描述
粒子滤波是一种比卡尔曼滤波更加简单的算法,下面对每一步进行更详细的说明并给出源码实现加深理解。

初始化粒子

第一步是撒粒子,但是粒子应该撒到什么位置呢?又该按什么规律撒呢?和其他传感器一样,gps数据应该也满足正态分布。所以先通过gps得到一个位置不精确的位置坐标 ( x , y ) (x, y)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值