apollo自动驾驶教程学习笔记-Apollo自定位技术3-1

视频链接:http://bit.baidu.com/Course/detail/id/283.html
老师:万国伟 百度Apollo研发工程师

无人车技术入门

接下来开始主要讲定位技术。通常谈到自动驾驶,大多数人都会想到核心技术是感知、决策和控制,然而,定位技术在自动驾驶过程中,也具有非常重要的意义。

定位相关的参数

最主要的6个自由度:三个位置和三个姿态。三个位置使用在某个三维坐标系下的(x, y, z)坐标对来表示,相对于该坐标系存在;三个姿态是指车辆相对于三个旋转轴的姿态角,通常用欧拉角表示,即row、pitch、yaw。老师没有提四元数等其他知识,我估计也会用到。
除此之外,还有速度、加速度、角速度,各有三个维度,用来描述车辆的瞬时状态。
另外还有各个参数的置信度,用来描述各参数的准确性。

无人驾驶定位指标

三个技术指标:

  • 精度。要求误差均值小于10cm;
  • 鲁棒性。要求最大误差小于30cm;
  • 场景。要求适应各种场景,如白天夜晚、各类天气、各种路况;

通常简单的使用单个传感器的直接输出很难达到技术指标的要求。定位就是告诉无人车,它现在在哪里。

定位的主要组成

三个主要组成内容:基于电子信号定位、航迹推算、环境特征匹配

各种定位信号源的定位实现

1. GNSS

这里主要说的就是使用GPS、WiFi等信号源做定位的操作。通常单纯使用信号的直接输出作为定位结果的准确性较差,需要配合差分技术。
距离差分技术分为伪距差分和载波相位差分。
伪距差分是指通过距离定位车辆较近的基站接收和车辆一样的信号,然后由于基站的坐标已知,这样就可以计算出误差量,将误差量传送到车辆,车辆再去接收信号并与误差量做差后,得到较为准确的信息。这种方法的误差通常也在米级。
载波相位差分没听太懂,大概是车辆接收信号的相位差,通过相位差和波长去估计实际距离。这种方法的误差通常小于5cm,但依赖于足够的微信。
基于电子信息定位有一些缺点,如:

  1. 基站成本和人力成本高;
  2. 依赖于卫星数量;
  3. 易受到电磁信号干扰;
  4. 受多径效应影响;

2. 激光定位

依赖于Lidar去采集点云信息,然后将点云信息制作成网格地图,地图划分成大概几米乘几米的网格,每个网格里存储图像值或者高度值。
在车辆运行后,同样通过Lidar采集信息,将信息与地图中做匹配,匹配后会得到一个概率图,通过概率图来获知车辆最大概率所处的位置。
定位的精确性依赖于匹配算法和参考地图的准确性。

3. 视觉定位

依赖于Camera的图像信息,基本思想依然是构建基础的参考数据库,提取特征信息,然后在实际车辆运行时采集的信息与数据库中作对比,从而预估位置就是匹配度最佳的特征信息的坐标。
这些信息可以是车道线、路边固定的障碍物等,但不宜是容易变化的物体。
图像匹配算法也比较关键。

4. 惯导定位

使用惯导也能定位,IMU能够输出三轴加速度和三轴角速度,通过积分运算,可以得到距离值。
但是说实话,基本不会拿加速度做两次积分来获得距离,因为两次积分误差太大了,老师也说了,在微秒级别的累积误差是很准的,但相对于车辆的长期运行来说,由于累积误差,无法独立使用。
不过IMU估算姿态是没啥问题的,之前我项目中也做过,能够输出准确的车辆姿态信息和加速度信息,用来采集车辆的运行状态,对于车辆运行的舒适度和安全性也是很有帮助的。
IMU价格差很多,便宜的十几块钱,贵的几十万,差别很大,好的IMU的精度高、抗干扰性强、温漂低、输出频率高、稳定性高、航海用的IMU通常非常贵。老师说Waymo使用的是航海级别的IMU,所以惯导单元很贵,那确实,拿钱搭出来的东西一定会好一些,但是东西做出来后成本降不下来也不行。apollo现在使用的是商业级IMU,也在尝试使用更便宜的传感器。
IMU的优点:短时精度高、输出频率高、无外部依赖;缺点:误差累积。

多传感器融合定位

看到这里,我感觉我研究生期间学的东西都基本用在了这里,多传感器融合是当时和女朋友一起研究的,一直都认为非常重要,只是一直也没研究清楚。
多传感器融合的核心是卡尔曼滤波,输入数据是IMU,输出是定位信息,将GPS和Lidar的信息和输出的定位信息做对比,修正估计误差,得到一个低频输出的定位信息。
卡尔曼确实厉害,都这么长时间了,依然在实践中屹立不倒,之后学者们提出的各种更新的估计算法,基本都是在卡尔曼滤波的基础上搞出来的,都可以说是卡尔曼滤波的分支。

这一节的知识和我的硕士毕业课题很相似,所以整体感觉很清晰,包括匹配定位算法、信号采集与误差估计、姿态估计算法(也是卡尔曼)、多传感器融合算法。

你可能感兴趣的:(自动驾驶,学习笔记)