Apollo进阶课程[4]——百度Apollo高精度地图1

HD Map与自动驾驶的关系

Apollo进阶课程[4]——百度Apollo高精度地图1_第1张图片
主要特征:

  1. 用于L3/L4级别的HD Map对道路描述更加准确清晰全面,除了由传统地图的道路级别和道路级别的连接关系(Link),它还将车道、车道的边界线、道路上各种交通设施和人行横道等所有人能看到的影响交通驾驶行为的特性全部表述出来。
  2. 实时性。实时性是非常关键的指标,因为自动驾驶车完全依赖于车辆对于周围环境的处理,如果实时性不达标,可能在车辆行驶过程中会有各种各样的问题甚至造成危险。

HD Map更类似于自动驾驶的专题组,并不是特指精度,它在描述上更加的全面,对实时性的要求更高。
导航地图表示形式更多的是一个有向图结构,把道路抽象成一条条的边,各边连通关系构成整体上的有向图。起一个方向性的引导,根据人的行为习惯设计。
HD Map完全是为机器设计。

**HD Map与其他模块的关系:**高精地图对于感知、定位、规划、决策、仿真和安全都是不可缺少的。
Apollo进阶课程[4]——百度Apollo高精度地图1_第2张图片
与定位模块的作用:
主流定位方案有两种——基于点云的和基于camera的。它们本身都是一种对周围环境的感知,然后Feature提取,提取之后可以通过特征匹配最终得到精确结果。
视觉定位框架:
Apollo进阶课程[4]——百度Apollo高精度地图1_第3张图片
地图中给定位提供的Feature很多,如电线杆、车道线、停止线等都能提供很多的约束。

与感知模块的作用:
传感器本身是有局限性的,如64线激光雷达号称有一百米的检测距离。但实践中超过60米之后,点云本身已经非常稀疏,所以60米外检测的可信度会继续下降。
基于传感器本身的局限性,HD Map能够提供非常大的帮助。HD Map是一个离线生成,需要人工协助的,可以看作是一个离线的传感器。在高精地图里提前标注红绿灯的三维空间位置后,在感知检测前已经明确知道具体位置,可以进行针对性检测。可以减少感知模块的工作量,解决Deep Learning 的部分缺陷,先验有利于提高识别率。

与规划、预测、决策模块的作用:
规划模块完成的工作主要有两个——A点到B点的长距离规划和短距离规划。
车辆在行驶中是动态环境。包括自己外还有其他道路交通的参与者,比如其他车辆和行人。要实时地根据障碍物的实时动态位置做局部规划。
预测模块的作用是知道其他道路参与者的可能行驶的路径轨迹和行动。
决策模块主要是根据规划和预测的结果决定车辆是跟车、超车还是在红绿灯灯前停下等决策。
控制模块是把决策结果分解为一系列的控制行动,然后分发给控制模块。

HD Map规划是Lane(车道)级别的,需要知道从哪个Lane到哪个Lane,是一系列Lane的序列。规划的第二个层次是Planning。在轨迹约束中,在做一些车辆避让时,要知道避让之后的的地在哪里、怎么选,通过HD Map提供一些可行的解空间。
预测底层依赖于HD Map。HD Map给规划、预测和决策模块提供先验的知识,让决策更加准确。

与安全模块的作用
自动驾驶的主要目标是能够取代人类司机,能够取代的前提是车辆必须足够的安全。
四个维度的攻击:传感器、操作系统、控制系统和通信系统。如IMU对磁场非常敏感,如果在车辆周围放一些强磁场,会影响它测量的准确度。轮速计会因为轮子形状、好坏影响测量精度。激光雷达依赖于激光反射。如果在周围环境上加人工的反射物或假的红绿灯,会让车直接停下。假的GPS信号和激光也会对系统造成干扰。
在定位模块依赖于IMU和测轮距的信息做一些运动学约束,激光雷达做一些三维点的扫描。

HD Map的作用:
提供一个离线的标准。如激光雷达扫描到物体,通过与高精地图中的信息进行对比匹配。如果结果不一致,可以大概率地认为此地有问题,可以通过多传感器的融合来解决问题。

与仿真系统的作用
Apollo的仿真系统主要是基于HD Map来构建,HD Map基于真实场景来构建。仿真场景回放后,和真实上路的实际情况相比,可以保证Gap不会大。HD Map为仿真地图提供了最底层的基础结构,让仿真系统更好的去模拟真实道路的场景。
没有HD Map的高可靠性,L3/L4自动驾驶无法落地。

高精地图本身是一个静态的Perception。既然机器理解不了,就把人理解的东西告诉机器,相当于把人的经验传授给它。可以弥补系统性缺陷。自动驾驶需要非常复杂的计算系统,4G的传输速度并不能满足现阶段自动驾驶的海量数据传输需求,所以所有的计算都在终端,及其影响计算速度。传感器有局限,但HD Map给自动驾驶提供了超视觉、超过传感器边界的远距离感知,系统就根据 HD Map信息放弃检测对向车道上的障碍物,有效地降低系统负担。

HD Map的采集与生产

两种采集方式——基于视觉、基于雷达
还有视觉和雷达融合。

采集——传感器

GPS: 确定四颗或者更多卫星的位置并计算出GPS接收设备与每颗卫星之间的距离 ,然后用这些信息使用三维空间的三边测量法推算出自己的位置。 要使用距离信息进行定位,接收机还必须知道卫星的确切位置。GPS接收机储存有星历,其作用是告诉接收机每颗卫星在各个时刻的位置。在无人车复杂的动态环境,尤其在大城市中,由于各种高大建筑物的阻拦,GPS多路径反射( Multi-Path )的问题会更加明显。导致GPS定位信息很容易就有几十厘米甚至几米的误差。
IMU: 一般使用6轴运动处理组件,包含了3轴加速度和3轴陀螺仪。加速度传感器是力传感器,用来检查上下左右前后哪几个面都受了多少力(包括重力) ,然后计算每个上的加速度。陀螺仪就是角速度检测仪,检测每个上的加速度。假设无人车以Z轴为轴心,在秒钟转到了90度 ,那么它在Z轴上的角速度就是90度/秒。从加速度推算出运动距离需要经过两次积分.所以,但凡加速度测量上有任何不正确.在两次积分后,位置错误会积累然后导致位置预测错误。
轮速计: 我们可以通过轮测距器推算出无人车的位置。汽车的前轮通常安装了轮测距器,分别会记录左轮与右轮的总转数。通过分析每个时间段里左右轮的转数,我们可以推算出车辆向前走了多远,向左右转了多少度等。可是由于在不同地面材质(比如冰面与水泥地)上转数对距离转换的偏差,随着时间推进,测量偏差会越来越大。
激光雷达: 通过首先向目标物体发射一束激光,然后根据接收-反射的时间间隔来确、定目标物体的实际距离。然后根据距离及激光发射的角度,通过简单的几何变化可以推导出物体的位置信息。LiDAR系统般分为三个部分 :一是激光发射器 ,发出波长为600m到1000nm的激光射线;二是扫描与光学部件,主要用于收集反射点距离与该点发生的时间和水平角度;三是感光部件,主要检测返回光的强度。因此我们检测到的每一个点都包括空间坐标信息以及光强度信息。

生产——计算模型

通用的高精地图制作流程:

  • 首先IMU及轮测距器可以高频率地给出当前无人车的位置预测,但由于其精确度原因,位置可能会有一定程度偏差。
  • 为了纠正这些偏差,可以使用传感器融合计技术结合GPS与激光雷达( LIDAR )的数据算出当前无人车的准确位置。
  • 然后根据当前的准确位置与激光雷达的扫描数据,把新数据加入地图中。

Apollo进阶课程[4]——百度Apollo高精度地图1_第4张图片
J = Q ( z − h ( m , x ) ) J=Q(z-h(m,x)) J=Q(zh(m,x))
该公式是个高度简化的高精地图计算模型:

  • Q代表优化方程,z代表激光雷达扫描出的点,h为方程预测最新扫描点的位置,m为扫描到的点在地图中的位置,x代表无人车当前位置。
  • 这个方程的目的是通过最小化求出测点在地图中的准确位置。在计算模型中. m与x开始都是未知的,可以先通过多传感器融合求x,再求出测量点在地图中的准确位置m。

以上偏重于激光制图。

生成——视觉制图

视觉是获取HD Map生产-视觉制图采用纯视觉的制图方案。
camera使用方式:

  • 与激光雷达融合使用。激光雷达信息准确但信息很少。图像的语义信息丰富。百度使用。
  • 在线实时检测,实时生成。需要庞大的计算能力。英伟达。

Apollo进阶课程[4]——百度Apollo高精度地图1_第5张图片

HD Map的格式与规范

NDS

偏重格式文档本身,考虑全面,支持局部更新,提供很多描述功能(语音、POI以及基本地图显示等),复杂。
Apollo进阶课程[4]——百度Apollo高精度地图1_第6张图片

OpenDRIVE

Apollo进阶课程[4]——百度Apollo高精度地图1_第7张图片
在道路表述上,有一种Section概念,举例,如左上图,当车道数变少变多的时候,都会从中间的灰线打断,打断后可以看到把道路切分成三个Section。切分原则:车道线变化、道路上的实虚线变化、道路属性变化。
Lane概念,如左下图,基于Reference Line(ID=0),ID向左递增,向右递减。
路口Junction概念,如右图,包含虚拟路(红色),虚拟路用来连接可通行的方向。
所有东西(车道线、坡度信息、道路宽度……)都是基于Reference Line和偏移量的。
tracking坐标系ST:S代表一条车道的Reference Line的起点的偏移量(纵向);T代表基于Reference Line的横向偏移量。

你可能感兴趣的:(Apolllo)