0%

Apollo基础课程之无人驾驶概览

这是学习Apollo基础课程的第一课,课程从自动驾驶核心技术模块出发,讲解高精地图、定位、感知、预测、规划、控制等模块知识,帮助零基础开发人员了解无人驾驶的基本原理与整体框架,初步掌握并运用 Apollo 自动驾驶开放平台所使用的自动驾驶算法。

一、全面了解自动驾驶主要模块

Apollo 技术框架由四个层面组成,参考车辆平台、参考硬件平台、开源软件平台、云服务平台。其中主要模块包括高精度地图、定位、感知、预测、规划、控制等模块。要学习的课程也将围绕这些模块展开。

在高精地图课程中我们将为大家介绍无人车的核心模块,高精地图几乎支持着软件栈的所有其他模块,尤其是定位、感知、规划和决策。
在定位课程中,我们将讨论车辆如何确认所在位置。车辆利用激光和雷达数据将这些传感器感知内容与高分辨率地图进行对比,这种对比使车辆能够以个位数厘米级精度进行定位。

感知课程将带大家了解无人驾驶车如何感知这个世界,深度学习是一个重要且强有力的感知工具,卷积神经网络构成深度学习分支,对感知任务至关重要,如分类、检测和分割。
预测课程将概述几种不同的方式,用于预测其他车辆或行人可能如何移动一种方法称为递归神经网络,可对其他物体随时间的运动进行跟踪,并使用该时间序列数据预测未来。

二、无人车的运作方式

首先了解无人驾驶车包括五个核心部件,计算机视觉、传感器融合、定位、路径规划、控制
无人驾驶车的工作原理
计算机视觉和传感器融合,获取一幅关于我们在世界上的位置的丰富画面并确定我们在这个世界的精确位置。然后使用路径规划来绘制一条通过这个世界到达目的地的路径,通过控制转动方向盘、打开油门、然后踩制动器,沿着该轨迹行驶并最终移动车辆。从本质上讲,其他一切无人车都是这些核心功能更复杂的实现。

1
简言之,就是先通过摄像头或其与其它传感器融合,得到无人车的具体位置,一般是与高精地图相比较以得出地址,相当于看路的过程。

三、开放式软件栈

Apollo开放式软件层分为三个子层,实时操作系统、运行时框架、应用程序模块层。
实时操作系统(RTOS),可确保在给定时间内完成特定任务,“实时”是指无人车的操作系统,能够及时进行计算,分析并执行相应的操作,是在车辆传感器收集到外界数据后的短时间内完成的。实时性能是确保系统稳定性和驾驶安全性的重要要求。
注:Apollo最新的3.5版本已经取代了RTOS,用了自研的Cycer平台作为底层的通讯与调度平台。
运行时框架,是Apollo的操作环境,是ROS的定制版即机器人操作系统。为了使ROS适应无人车,Apollo团队改进了共享内存的功能和性能、去中心化和数据兼容性。
核心内容–应用程序模块层,Apollo软件平台具有各种模块,这些模块包括 MAP引擎、定位、感知、规划、控制、端到端驾驶以及人机接口(HMI)。每个模块都有自己的算法库,之间的关系也非常复杂,我们将在整个课程中对这些模块及其关联方式进行研究。

四,本节其他重点

参考车辆与硬件平台、云服务
进阶拓展阅读学习:
《自动驾驶汽车硬件系统概述》
《Apollo“云+端”研发迭代新模式实战》

自动驾驶汽车硬件系统概述:
与人做比较的话,如果说人工智能技术将是自动驾驶汽车的大脑,那么硬件系统就是它的神经与四肢。从自动驾驶汽车周边环境信息的采集、传导、处理、反应再到各种复杂情景的解析,硬件系统的构造与升级对于自动驾驶汽车至关重要。
来自百度自动驾驶技术部高级产品经理—王石峰的分享。有关自动驾驶汽车硬件系统的内容。分为五个方面,学习的总结如下:

1,自动驾驶系统的硬件架构

去年Uber无人车测试撞死人案相信大家都知道,毕竟是无人车测试撞死人第一案,先抛开谁的责任不说先说说这个无人驾驶为什么识别到行人没有?识别到了的话有没有做刹车的决策?做了的话有没有做相应的控制,或者有什么其它的问题导致汽车没有刹车。题外话这是用的沃尔沃的XC90改装的,哎,号称最安全的车如今出事了,感觉沃尔沃被Uber坑了一把啊。
最后的事故调查显示:事故的主要原因是车辆不在环和司机不在环造成的。Uber在改造原车加装自动驾驶系统时,将原车自带的AEB功能执行部分截断造成原车ADAS功能失效。自动驾驶系统感知到受害者确定要执行应急制动时,并没有声音或图像警报,此时司机正低头看手机也没有及时接管刹车。据说测试员之前还做过牢,居然还让他在晚上来测试无人车,Uber真的是。
目前绝大多数自动驾驶研发车都是改装车辆,相关传感器加装到车顶,改变车辆的动力学模型;改装车辆的刹车和转向系统,也缺乏不同的工况和两冬一夏的测试。图中Uber研发用车是SUV车型自身重心就较高,车顶加装的设备进一步造成重心上移,在避让转向的过程中转向过急过度,发生碰撞时都会比原车更容易侧翻。

在自动驾驶中,安全是自动驾驶技术开发的第一天条,我记得陆奇博士在首个pollo开发者大会时候说过,一辆无人车如果失去控制,可以变成一个武器。当时没有明白,现在想他说的是这个意思,的确是。安全真的很重要,特别重要。

2,自动驾驶的传感器

3,自动驾驶传感器的产品定义

4,自动驾驶的大脑

5,自动驾驶汽车的线控系统