Apollo无人驾驶课程笔记 第三课-定位

从第三课开始,终于到了系列课程的最核心部分啦!

1. 定位简介

定位是让无人车知道自己确切位置的方法。大家肯定不会想坐上一辆不知道自己在哪的车吧23333!
GPS的定位精度通常在1~3m,这对于无人车来说是远远不够的。Apollo无人驾驶课程笔记 第三课-定位_第1张图片
而且如果周围是高楼、峡谷、山脉,则GPS的精度会更差:通常是在10~50m。
Apollo无人驾驶课程笔记 第三课-定位_第2张图片
所以我们无法只靠GPS来确定定位信息,我们需要一种更为精确的方法。通常的做法是将汽车传感器所看到的内容与地图上的内容进行比较(上一课高精地图的内容)。车辆的传感器可以测量车辆与静态障碍物(比如树木、路标、电线杆、墙壁)之间的距离。
我们在车辆自身的坐标系中测量这些距离以及这些静态障碍物的方向,在车辆坐标系中,汽车的前进方向始终向前。在汽车左转或者右转时,坐标系也随之旋转,使得汽车方向能够始终向前。Apollo无人驾驶课程笔记 第三课-定位_第3张图片
然而随着汽车的旋转,车辆坐标系必然会与地图坐标系不一致。车辆坐标系和地图坐标系可能均取决于导航系统中的设置,所以要明白坐标系的切换(ros里典型的tf变换)。
在传感器找到地图上的路标时,我们就要进行坐标的匹配,传感器需要将测量值转换为地图坐标系下的值,反之亦然,这是解决定位问题中非常重要的一步。
Apollo无人驾驶课程笔记 第三课-定位_第4张图片
最后,整个系统必须在10cm的精度下实现精确定位。定位也有很多种方法,下面我们将一起探讨这些方法的优劣。

2. Sebastian 介绍定位

Sebastian的主要研究领域就是定位问题,在斯坦福任职教授期间曾发过100多篇关于定位的论文,膜拜大佬orz。

3. GNSS RTK_a

如果在野外迷路,看到一棵树,离自己75m远,那么可以确定的是自己在这棵树的半径75m的圆上,但是不能确定具体位置:Apollo无人驾驶课程笔记 第三课-定位_第5张图片
现在,我们又知道了一个房屋,离自己64m远,那么我们就可以确定自己在两个圆的两个交点之一处,但仍不知道具体位置:Apollo无人驾驶课程笔记 第三课-定位_第6张图片
但是如果又知道了一个距离自己55m的路灯,那么现在结合地图,我们就可以确切的知道了自己的定位:
Apollo无人驾驶课程笔记 第三课-定位_第7张图片
以上这个过程被称为“三角测量",也是GPS的工作原理。

4. GNSS RTK_b

GNSS:Global Navigation Satellite System(全球卫星导航系统)
GPS:Global Positioning System(全球定位系统)
GPS是美国的卫星导航系统。还有,俄罗斯的GLONASS;欧盟的Galileo;中国的北斗。这几大导航系统统称为GNSS
GPS是使用最广泛的GNSS系统。GPS分为三部分:

  1. 第一部分是卫星
  2. 第二部分由世界各地的控制站组成
  3. 第三部分是接收系统(例如手机、电脑等终端设备)

Apollo无人驾驶课程笔记 第三课-定位_第8张图片
由于GPS测量的距离是用光速*时间,所以及时是配备了原子钟的卫星,依然会有测距上的误差。Apollo无人驾驶课程笔记 第三课-定位_第9张图片
为了更加精确,在使用GPS的时候通常会结合RTK(Real-time kinematic )使用,RTK通过相位差,能够在很大程度上消除GPS的定位误差。Apollo无人驾驶课程笔记 第三课-定位_第10张图片
结合RTK的GPS能够将精度控制在10cm以内,但是在面对高楼等情况时,GPS仍捉襟见肘,GPS的另一个缺点在于更新频率太低,不能很好的满足实时性的要求。Apollo无人驾驶课程笔记 第三课-定位_第11张图片

5. 惯性导航_a

Apollo无人驾驶课程笔记 第三课-定位_第12张图片
惯性导航系统(INS,简称惯导)是一个使用加速计和陀螺仪来测量物体的加速度和角速度,并用计算机来连续估算运动物体位置、姿态和速度的辅助导航系统。它不需要一个外部参考系。

6. 惯性导航_b

惯导的数据更新率高、短期精度和稳定性好;但是由于导航信息经过积分而产生,定位误差随时间而增大,长期精度差,会有累计误差;

因此,将惯性测量单元(英文:Inertial measurement unit,简称IMU)与GPS相结合,弥补了各自的缺点:一方面,imu的更新频率高,弥补了gps更新频率低的劣势,另一方面,gps纠正了imu的运动误差。

但是在遇到诸如隧道、地下车库这样的情况时,即便是gps+imu的模式,由于长时间没有gps的更新,无人车也无法获得精确定位。

7. 激光雷达定位

利用激光雷达,可以用点云匹配来定位无人车。该方法利用激光雷达的检测数据,与预先存在的高精度地图连续匹配,有很多算法可以进行匹配。

ICP(Iterative Closest Point迭代最近点算法),ICP算法的实质是基于最小二乘法的最优匹配,它重复进行“确定对应关系的点集→计算最优刚体变换”的过程,直到某个表示正确匹配的收敛准则得到满足。关于ICP算法可参考这篇博客。

滤波算法是另一类匹配点云的算法。Apollo使用了直方图滤波算法。Apollo无人驾驶课程笔记 第三课-定位_第13张图片
卡尔曼滤波是另一种LiDAR定位算法,关于卡尔曼滤波,可以参考之前的博客,都有提到。

LiDAR定位的优势在于其鲁棒(稳健性)性好。缺陷在于需要事先就有高精度地图和昂贵的激光雷达,而且高精度地图需要频繁的更新,然而这是几乎不可能的事情,因为周围的环境永远在不断的变化。其实说白了也就是成本问题。

8. 视觉定位

仅仅通过图像是很难进行定位的,通常需要与其他传感器相融合。Apollo无人驾驶课程笔记 第三课-定位_第14张图片
视觉定位的原理就是粒子滤波算法。所谓粒子滤波就是指:通过寻找一组在状态空间中传播的随机样本来近似的表示概率密度函数,用样本均值代替积分运算,进而获得系统状态的最小方差估计的过程,这些样本被形象的称为“粒子”,故而叫粒子滤波。Apollo无人驾驶课程笔记 第三课-定位_第15张图片
利用粒子滤波原理,对车道线拍照,从而实现定位匹配。Apollo无人驾驶课程笔记 第三课-定位_第16张图片
视觉定位的优点在于成本低,图像信息容易获得;缺点在于缺乏三维信息和对三维地图的依赖。

9. Apollo 定位

Apollo定位采用的是基于GPS、IMU和激光雷达的多传感器融合定位系统。这种融合方法利用了不同传感器的互补优势,提高了准确性和稳定性。

Apollo定位模块依赖于IMU、GPS、激光雷达、雷达和高精度地图。这些传感器同时支持GNSS定位和LiDAR定位。GNSS定位输出位置和速度信息,LiDAR定位输出位置和行进方向信息,融合框架通过卡尔曼滤波将这些输出结合在一起。

卡尔曼滤波建立在两步预测测量周期之上,在Apollo中,惯性导航解决方案用于卡尔曼滤波的预测步骤,GNSS和LiDAR定位用于卡尔曼滤波的测量结果更新步骤。
Apollo无人驾驶课程笔记 第三课-定位_第17张图片

10. 项目示例: 被盯上的小车&11. 课程综述

你可能感兴趣的:(学习笔记)