进阶无人驾驶—百度Apollo定位技术
课程简介
本课程旨在介绍无人车的定位技术。系统地向学习者阐述无人车定位的核心概念和实现方法,并深入分析百度Apollo平台上的相关技术应用。期待学习者通过本课程获得宝贵的知识收获,并在交流平台上积极参与讨论,分享见解与经验。
一、技术入门
首先介绍定位技术,则是为了明确了解利用一些定位装置确定我们在地图上的具体位置以及姿态状态,并进而完成后续的操作流程。
在同样的情况下我们不仅需要了解车辆的位置信息及其姿态数据还需要掌握完整的车辆动态信息如图所示
| 项目 | 内容 | 自由度 |
|---|---|---|
| 位置 | X、Y、X | 3 |
| 姿态 | Yaw、Pitch、Roll | 3 |
| 速度 | Vx、Vy、Vz | 3 |
| 加速度 | ax、ay、az | 3 |
| 角速度 | wx、wy、wz | 3 |
这些数据也是通过置信度来确定该数据对于无人车的描述是否合理。
同样的,我们也会对自动驾驶汽车定位系统的指标进行以下要求:
| 项目 | 指标 | 理想值 |
|---|---|---|
| 精度 | 误差均值 | <10cm |
| 鲁棒性 | 最大误差 | <30cm |
| 场景 | 覆盖场景 | 全天候 |
超出给定的数值范围可能会导致无人车正常行驶产生不利影响。因此建议采取措施将操作参数控制在指定范围内。
显然地讲,在汽车这样的设备中,感知环境确实存在挑战。与人类不同的是,在人类可以通过视觉和听觉感官能够较为全面地获取周边环境的信息;而从计算机角度来看,则是一些简单的数值数据(具体范围通常在0到255之间)所构成的颜色值集合。因此为了准确识别物体特征,则需要依靠一系列复杂的算法来进行处理工作
现在我们已经认识到定位在无人驾驶汽车中的关键地位,并因此可以展开深入的探讨来确定位置的方法。

以上的内容我在前面也详细的讲解过,在此就当是回顾内容知识点了。
依据电子信号定位技术:GNSS(全球导航卫星系统)、Wi-Fi(无线网络)、手机(Cell Phone)、FM广播(FM radio)以及超宽带技术(UWB)。通过航迹推算技术实现位置估计:IMU和Odometry。在环境特征匹配方面采用的技术包括LiDAR系统用于三维成像以及雷达和摄像头
同样的我们也能够利用基站部署差分定位技术来提升定位精度水平,并以此满足无人驾驶车辆定位精度需求。
当然差分定位也有很多优缺点,例如:
| 优势 | 劣势 |
|---|---|
| 全球、全天时、全天候 | 基站布设成本高:硬件+人力 |
| 高精度 | 强依赖可视卫星 |
| 易受电磁环境干扰 | |
| GNSS信号遮挡引起多径效应 |
激光定位

激光定位是利用激光雷达收集的数据以及点云图来进行匹配的过程。这一过程经过分析计算得到各区域的概率预估值,并通过进一步分析确定其概率分布特征。最终得出了完整的定位信息
视觉定位
因为视觉定位是基于摄像机采集的数据,在光照等环境因素存在较大变化的情况下容易影响结果。因此我们必须要求采集定位的对象具有独特性和不变性例如一个稳定的特征点能够更好地适应不同的光照条件

基于高精度地图所包含的数据以及摄像机获取的数据对上述数据进行比对分析,并研究其吻合程度以获得最终的匹配结果
惯性导航
众所周知,惯性导航基于已有的数据进行预判和估计;同样地用于惯性导航的设备也是稂莠不齐,并如图所示:

在之前的讨论中涉及了多种定位技术。然而单一的技术无法支撑精确的定位功能。因此我们需要将多种传感器的数据进行融合从而实现了更高精度的定位效果以下即为我们介绍几种常见的多传感器融合模式

可观察到LiDAR等传感器所获取的点云数据经过预处理后被输入到卡尔曼滤波器中完成数据融合,并从而生成最终的位置信息
二、基础知识
上文复习了定位的相关知识点。接下来我们将深入学习并系统回顾现有的数学知识以巩固定位的基础。
首先我们要知道三维几何变化的知识:

我们主要采用右手坐标系作为基准方向。适应这种思维模式后,我们就能够系统地学习二维旋转的知识点了。

在右侧部分展示了一个作为二维旋转的一个范例的具体案例说明,在该案例中可以看到其计算过程相对简单,并未涉及明显的困难
是否三维旋转也会同样简单呢?让我们来观察一下三维旋转的过程就能一探究竟了。
是否三维旋转也会同样简单呢?让我们来观察一下三维旋转的过程就能一探究竟了。


实际上,在实现三维空间中物体的旋转变换时,并不需要复杂的算法支持。这种变换的核心机制是通过一系列基向量之间的坐标系转换来完成的。
然而这种旋转方式明显不符合我们的实验需求。为此我们进行了深入研究。

欧拉角和四元数的说明通过图形进一步说明了它们之间的关系。在引入这两个特性之后,在分析旋转矩阵时会更加直观和容易理解。
然而除了旋转之外还有一种情况是平移。这种情形实际上非常简单因此无需过多阐述。
我们今天就来深入掌握刚体的姿态与位置。将无人车视为一个刚体以便对其展开研究。

我们通过设立坐标系将刚体纳入局部范围中去,并在获得定位之后我们可以对其展开深入的研究与进一步的拓展。
接着我们学习地心惯性坐标系:

可以看到是建立在地球上的坐标系体系,并用于实现汽车定位。其特性已经被提出,并无需过多赘述。

由于地心坐标系在汽车定位过程中存在显著的定位误差,因此我们采用大地坐标系以消除定位误差
存在多种类型的坐标系;它们将地球划分为不同的区域;进而通过赋予特定代号来明确汽车的位置;按照特定的转换方法对其进行坐标计算。
接下来我们了解一下车体坐标系的介绍:

基于车辆中心的坐标系构建方法中,在分析环境物体时实现了其位置信息的定位功能
关于IMU坐标系、相机坐标系以及激光雷达坐标系这些内容目前介绍得不够深入。如对这方面有兴趣者,请自行深入研究。
下面是对各个坐标系的融合利用,从而提高定位的精度:

我们观察到各坐标系间的旋转关系融合,并通过如四元数等方法处理后即可实现最终定位目标。
三、百度无人车定位技术

此幅图片与百度无人车研究的发展紧密相连,在其成长轨迹上留下了深刻的印记。我们清晰地看到了百度在这一过程中的艰辛经历,在这个过程中我们可以触摸到那些不易触及的部分;尽管我们无法体会其中滋味儿,在这个过程中我们知道它注定是非凡之途。
让我们一起来学习这些课程内容吧!如果你也有成为无人驾驶汽车研究工程师的梦想的话
首先是GPS:

除此之外,在选择定位系统时我们还需要像中国北斗、欧洲伽利略等定位系统这样的备选方案
接着我们对GPS定位原理进行学习,其原理介绍如下所示:


鉴于此,为了确保更高的精度,我们引入了载波定位系统,并将详细阐述该系统的原理及应用。

载波技术的主要目标是减少信号失准,并通过这种方式改善定位精度以弥补GPS定位的缺陷。
为了更加深入地探讨载波性能的本质和技术细节,在深入研究的基础上我们对其中涉及的各种误差进行系统分析,并以此透彻地理解其核心原理
| 量级(m) | RTK | PPP | |
|---|---|---|---|
| 卫星轨道误差 | 2.1 | 站间单差 | IGS精密轨道 |
| 卫星钟差 | 2.1 | 站间单差 | IGS精密钟差 |
| 电离层 | 4.0 | 站间单差 | 双频消除或模型校正 |
| 对流层 | 0.7 | 站间单差 | 模型校正+设参估计 |
| 多径 | ~ | ~ | ~ |
接着我们讨论一下GNSS在无人车中的作用;
一、GPS定时:为无人车提供ns级的高精度定位。
二、HD-MAP绘制:通过采用更高分辨率的信息收集模块进行高精度地图绘制,则能显著提升地图细节。
三、RTK实时定位技术。
熟悉了GNSS的作用并掌握了激光点云定位技术的核心原理

观察到图中包含两个功能模块:一个是图形对齐模块(GCP),另一个是SSD-HF模块。随后利用优化算法对这两个模块进行分析与融合处理,最终获得所需的结果。

可以看到百度的地图中包含有两个值分别是反射值与高度值我们对定位地图进行了划格划分提取出红色格子得到了两个地图块分别是中间位置与右边位置的图形他们都分别存储了各自对应的地图数值信息

例如,在对某个区域赋值时,通过查看图表可获取数据数值。结果被平方差异之和计算后得出概率,并以颜色呈现。
视觉定位概述

回顾了视觉定位的基本知识,那我们就来看看算法流程吧。

已经系统地学习过那么多相关知识后,在面对视觉定位的整体流程时就能够清楚地了解它的各个步骤。掌握这个流程后就需要深入了解相关内容。为了更好地开展工作,在开始之前我们需要先系统回顾一下特征匹配的相关知识。

可以看到外面利用了粒子滤波的技术,以计算其位姿概率。
捷联惯性导航及组合导航技术
下面我们对捷联内容进行介绍:

了解了概述,我们便可以了解IMU单元的特点如下:

该惯性导航系统的首要任务即为初始校准工作:即需要将载体坐标系与世界坐标系建立关联,并整合位置信息与姿态信息等内容。具体包括:

完成首次校准后

就是逐步推导过程,在此基础上基于现有的多组汽车姿态数据对后续一次汽车运动状态的演变趋势进行深入分析与预测。
通过整合应用这些导航方式, 我们就能够显著提升整体效能.

我们采用多套不相似的导航系统进行融合叠加应用其于实际操作中从而弥补单一导航系统的不足实现互利共赢的效果基于此我们可以构建一个整合后的系统架构:通过整合多套不相似的导航系统我们可以打造一个综合性的平台以满足复杂环境下的精准导向需求

将输入到滤波器中的误差信息处理那些含有误差的数值,并进行相应的补偿措施以降低由于缺陷产生的误差值
如果大家对这些内容感兴趣的话,可以玩一下Apollo的代码库。
例如:
https://www.apollo.auto/
https://github.com/ApolloAuto/
等平台参考,并分享自己的独特见解。感谢大家的参与,请期待下次课再见。
