电子说
上周我们开始带领小白开发者学习“Udacity X Apollo自动驾驶入门课程”,也收到了很多社区开发者的学习笔记,让我们看到他们热爱自动驾驶、努力学习的信心。希望有更多开发者在学习课程的同时,记录下学习要点,更快掌握Apollo自动驾驶知识。
开发者笔记
本周我们将介绍高精地图部分的主要内容,这是Apollo定位、感知、规划模块的基础。
与普通地图不同,高精地图主要服务于自动驾驶车辆,通过一套独特的导航体系,帮助自动驾驶解决系统性能问题,扩展传感器检测边界。目前 Apollo 内部高精地图主要应用在高精定位、环境感知、决策规划、仿真运行四大场景,帮助解决林荫道路GPS信号弱、红绿灯是定位与感知以及十字路口复杂等导航难题。
1
高精地图与传统地图
当我们开车时,打开导航地图通常会给我们推荐几条路线,甚至会显示道路是否拥堵以及每条路线将花费多长时间、交通管制,例如交通信号灯或限速标志等,我们会根据地图提供的信息来决定是在行驶中直行、左转还是右转以及对周围驾驶环境的评估。
而无人驾驶车缺乏人类驾驶员固有的视觉和逻辑能力。如我们可以利用所看到的东西和GPS来确定自己的位置,还可以轻松准确地识别障碍物、其他车辆、行人、交通信号灯等,但要想让无人车变得和人类一样聪明,可是一项非常艰巨的任务。
这时就需要高精地图了,高精地图是当前无人驾驶车技术不可或缺的一部分。它包含了大量的驾驶辅助信息,最重要是包含道路网的精确三维表征,例如交叉路口布局和路标位置。
高精地图还包含很多语义信息,地图上可能会报告交通灯不同颜色的含义,也可能指示道路的速度限制,及左转车道开始的位置。
高精地图最重要特征之一是精度,手机上的导航地图只能达到米级精度,而高精地图可以使车辆能够达到厘米级的精度,这对确保无人车的安全性至关重要。
2
高精地图与定位、感知规划的关系
高精地图用于定位
高精地图是Apollo平台的核心,许多无人驾驶车模块都有赖于高精地图,有了高精地图我们就需要在该地图上进行自定位。这意味,需要弄清我们在地图上的位置,这就是定位——无人驾驶车辆在地图上的确切位置。
首先车辆可能会寻找地标,我们可以使用从各类传感器收集的数据,如摄像机图像数据、激光雷达收集的三维点云数据来查找地标。车辆将其收集的数据与其在高精地图上的已知地标进行比较,这一匹配过程是需要预处理、坐标转换、数据融合的复杂过程。
无人车的整个地位过程取决于高精地图,所以车辆需要通过高精地图明确它处于什么位置。
高精地图用于感知
无人车也可以使用高精地图来帮助感知,就像人的眼睛和耳朵会受到环境因素的影响一样,无人车的传感器也是如此。摄像机、激光雷达、雷达探测物体的能力,在超过一定距离后都会受到限制。在恶劣的天气条件下或在夜间,传感器识别障碍物的能力可能会受到进一步限制。另外当车辆遇到障碍物时,传感器无法透过障碍物来确定障碍物后面的物体。这时,就需要借助高精地图的帮助了。
即使传感器尚未检测到交通信号灯,高精地图也可以将交通信号灯的位置提供给软件栈的其余部分,帮助车辆做下一个决策。
另一个好处在于,高精地图可帮助传感器缩小检测范围,如高精地图可能会告知我们在特定位置寻找停车标志,传感器就可以集中在该位置检测停车标志,被称为感兴趣区域ROI。ROI可帮助我们提高检测精确度和速度,并节约计算资源。
高精地图用于规划
正如定位和感知依赖高精地图那样,规划也是如此。高精地图可帮助车辆找到合适的行车空间,还可以帮助规划器确定不同的路线选择,来帮助预测模块预测道路上其他车辆将来的位置。
如高精地图可帮助车辆识别车道的确切中心线,这样车辆可以尽可能地靠近中心行驶。在具有低速限制、人行横道或减速带的区域,高精地图可以使车辆能够提前查看并预先减速。如果前方有障碍物,车辆可能需要变道,可帮助车辆缩小选择范围,以便选择最佳方案。
3
Apollo高精度地图与构建
Apollo高精地图
Apollo高精地图专为无人车设计,里面包含了道路定义、交叉路口、交通信号、车道规则,及用于汽车导航的其他元素。
高精度地图可在许多方面为无人车提供帮助,如高精度地图通常会记录交通信号灯的精确位置和高度,从而大大降低了感知难度。
高精地图不仅可以减少计算需求,还可以通过提供有关驾驶环境的详细信息,来确保无人车的安全。保持这些地图的更新是一项重大任务,测试车队需要不断地对高精度地图进行验证和更新。此外,这些地图可能达到几厘米的精度,这是水准最高的制图精度。
Apollo 高精地图是最懂自动驾驶的高精地图,也是业界精细化程度最高、生产率最高、覆盖面最广的高精地图。目前,Apollo 高精地图的自动化程度已经达到了90%、准确识别率达到了95%以上,预计2020年可以覆盖全国所有的重点道路。
高精地图有很多种格式,为了方便数据共享,Apollo高精地图采用了OpenDRIVE格式,这是一种行业制图标准。同时,Apollo也对OpenDRIVE做出了改进,进而产生了Apollo OpenDRIVE标准,以便更适合无人车。
Apollo高精地图的构建
高精度地图的构建由五个过程组成:数据采集、数据处理、对象检测、手动验证和地图发布。
数据采集是一项庞大的密集型任务,近300辆Apollo测试车辆负责收集用于制作地图的源数据,以便确保每次道路发生改变时,地图均会得到快速更新。测试车辆使用了多种传感器,如GPS、IMU、激光雷达、摄像机。Apollo定义了一个硬件框架,将这些传感器集成到单个自主系统中,通过支持多种类的传感器,Apollo收集各类数据将这些数据融合,最终生成高精度地图。
数据处理指的是Apollo如何对收集到的数据进行整理、分类和精简,以获得没有任何语义信息或注释的初始地图模板。
对于对象检测,Apollo使用人工智能来检测静态对象并对其进行分类,其中包括车道线、交通标志、甚至是电线杆,手动验证可确保自动地图创建过程正确进行并及时发现问题。Apollo使手动验证团队能够高效标记和编辑地图,在经过数据采集、数据处理、对象检测、手动验证之后,高精地图才能发布。
除高精地图外,Apollo还发布了采用自上而下视图的相应定位地图、三维点云地图。
在构建和更新地图的过程中,Apollo使用众包向公众发布其数据采集工具,以便任何人都可以参与制作高精度地图的任务,这加快了高精地图制作和维护的过程。
全部0条评论
快来发表一下你的评论吧 !