报告从感知、规划、执行三个层面表述了自动驾驶汽车技术的最新发展状况,涉及了传感器、数据处理、机器学习、SLAM 与传感器融合、路径规划等多个领域,同时提供了多个自动驾驶公司的案例,包括特斯拉、Volvo、Waymo 等。
如果您想获得本报告的全文 pdf,请在雷锋网微信(leiphone-sz)回复关键词“324报告”提取。
来源:《2020 自动驾驶技术报告》
感知
自动驾驶汽车是在一个未知的动态环境中运行的,所以它需要事先构建出环境地图并在地图中进行自我定位,而执行同步定位和映射过程(SLAM,即时定位和地图构建)的输入则需要传感器和 AI 系统的帮助。
报告指出,传感器可分为有源传感器和无源传感器,各种传感器都有其优缺点,没有一种单一传感器能够适用于所有路况。通常情况下,想要可靠、安全地操控一辆自动驾驶汽车,需要同时使用多个传感器。
一般情况下,自动驾驶汽车包含的传感器主要有五种类型:
1、远程雷达:信号能够透过雨、雾、灰尘等视线障碍物进行目标检测。
2、照相机:一般以组合形式进行短程目标探测,多应用于远距离特征感知和交通检测。
3、激光雷达:多用于三维环境映射和目标检测。
4、短程/中程雷达:中短程目标检测,适用于侧面和后方避险。
5、超声波:近距离目标检测。
前面提到,各类传感器均有其优缺点,而自动驾驶汽车需要从技术上对传感器进行判断、选择,筛选的条件主要有以下几个方面:
-
扫描范围,决定了传感器对被感知的物体做出反应的时间;
-
分辨率,传感器可以为自动驾驶车辆提供的环境细节;
-
视野/角度分辨率,决定自动驾驶汽车需要多少传感器来覆盖感知的区域;
-
3D 环境下区分静态对象和动态对象的能力;
-
刷新率,决定传感器信息更新的频率;
-
在不同环境条件下的总体可靠性和准确性;
-
成本、尺寸和软件兼容性;
-
生成的数据量。
以下是 Waymo、Volvo-Uber、Tesla 的传感器方案示意图:
另外,关于无源传感器和有源传感器,报告中也作了详尽的介绍:
无源传感器
无源传感器能够探测环境中物体反射的现有能量,如光、辐射等。但在弱光环境下,由于没有自己的传播源,无源传感器的性能将有所下降。并且在产生的数据方面,对比有源传感器,无源传感器产生的数据量更多,约 0.5-3.5 Gbps。
即便如此,无源传感器仍具有多方面特点,主要包括:
1.涵盖整个视野宽度的高分辨率的像素和颜色;
2.在视野中保持恒定的帧频;
3.两个摄像头可以生成一个 3D 立体视图;
4.缺乏发射源减少了来自其他车辆的干扰的可能性;
5.技术成熟,成本低;
6.系统生成的图像便于用户理解和交互。
如果在自动驾驶汽车上使用无源摄像头传感器套件,需要覆盖汽车周边的各个环境。这可以通过使用在特定时间间隔拍摄图像的旋转相机来实现,或者通过软件将 4-6 个相机的图像拼接在一起。
此外,这些传感器需要一个超过 100 分贝的高动态范围(场景中高光和阴影的成像能力),使它们能够在各种光照条件下工作,并区分不同的对象。
有源传感器
有源传感器具有信号传输源,依靠 TOF 原理感知环境,ToF 能够通过等待信号的反射返回来测量信号从源到目标的传播时间,信号的频率决定了系统所使用的能量及其准确性。因此,确定正确的波长在选择系统时起着关键的作用。
关于有源传感器的类型,报告主要介绍了以下三种:
超声波传感器:也称为声纳;声音导航测距。在有源传感器中,声波的频率最低(波长最长),因此声波更容易被干扰,这也意味着超声波传感器很容易受到不利环境条件的影响,如下雨和灰尘。另外,其他声波产生的干扰也会影响传感器的性能,需要通过使用多个传感器和依赖额外的传感器类型来缓解干扰。
雷达:主要通过无线电波进行测距。无线电波以光速传播,在电磁波谱中频率最低(波长最长),基于无线电波的反射特性,雷达传感器可以探测到前方物体之外的东西。
不过,雷达信号容易被具有相当导电性的材料(如金属物体)反射,并且其他无线电波的干扰也会影响雷达的性能,造成雷达传感器无法对物体进行探测。在确定被探测目标的形状方面,雷达的能力不如激光雷达。
激光雷达:以脉冲激光的形式使用光。激光雷达传感器能够以每秒 50,000- 200,000 个脉冲的速度覆盖一个区域,并将返回的信号编译成一个 3D 点云,通过比较连续感知的点云、物体的差异检测其运动,由此创建一个 250 米范围内的 3D 地图。
规划
根据自动驾驶汽车传感器套件捕获的原始数据和已有地图,自动驾驶系统需要通过同时定位和映射算法构建和更新具体的环境地图,跟踪其具体定位,从而开始规划从一个点到另一个点的路径。
SLAM 与传感器融合
SLAM 是一个复杂的过程,因为定位需要地图,而绘制地图需要良好的位置估计。为了更准确地执行即时定位和地图构建,传感器融合开始发挥作用。
传感器融合是将多个传感器和数据库的数据结合起来以实现信息改进的过程。它是一个多层次的过程,能够处理数据间的联系和相关性,对数据进行组合,与使用单个数据源相比,能够获得更便宜、更高质量、相关性更高的信息。
在自动驾驶汽车 AI 架构中,主要有两种方法:
1. 逐步处理。把整个驾驶过程拆解为一系列逐层连接的流水线,其中的每一步,比如感知、定位、地图、路径导航、运动控制,都分别由各自的具体软件组件处理。
2. 端到端。基于深度学习的解决方案,一次性处理所有这些功能。
通过传感器的融合,自动驾驶汽车获得了数据,不过,如何从传感器信号中提取有用的信息,并基于现有信息执行任务,则需要利用机器学习算法——CNN、RNN、DRL。
CNN(卷积神经网络):主要用于处理图像和空间信息,提取感兴趣的特征和识别环境中的对象。这些神经网络是由一个卷积层构成的:一个过滤器的集合,它试图区分图像的元素或输入数据来标记它们。这个卷积层的输出被输入到一个算法中,该算法将它们结合起来预测图像的最佳描述。最后的软件组件通常称为对象分类器,因为它可以对图像中的对象进行分类,例如一个路标或另一辆汽车。
RNN(递归神经网络):主要用于处理视频信息,在这些网络中,先前步骤的输出将作为输入进入到网络中,从而允许信息和知识能够在网络中持久存在并被上下文化。
DRL(深度强化学习):DRL 方法允许软件定义的“代理”学习在虚拟环境中使用奖励函数实现目标的最佳可能操作。这些面向目标的算法将学习如何实现目标,或如何在多个步骤中沿着一个特定的维度最大化。目前,深度强化学习在无人驾驶汽车中的应用还处于起步阶段。
这些方法不一定是孤立存在的。为了避免过度拟合,在深度学习中通常会进行多任务训练网络。当机器学习算法被训练用于一个特定的任务时,它会变得如此专注于模仿它所训练的数据,以至于试图进行插值或外推时,它的输出会变得不现实。
通过在多个任务上训练机器学习算法,网络的核心将专注于发现对所有目的都有用的通用特性,而不是专注于一个任务,以便输出更加实际有用的应用程序。
利用传感器提供的所有数据和这些算法,自动驾驶汽车能够探测到周围的物体。接下来,它需要找到一条路径。
路径规划
车辆了解其环境中的物体及其位置后,可以使用 voronoi 图(车辆与物体之间的最大距离)、占用网格算法或驾驶廊道算法来确定车辆的大尺度路径。然而,这些传统方法并不能够满足车辆在动态环境下的移动。
报告指出,部分自动驾驶汽车不仅依靠机器学习算法来感知环境,还依靠这些数据来控制汽车。路径规划可以通过模仿学习的方式传授给 CNN,在模仿学习中,CNN 试图模仿驾驶员的行为。
通常情况下,这些机器学习方法会与经典的运动规划和轨迹优化方法相结合,以确保路径的鲁棒性。此外,出于其他目的(例如减少燃料使用),汽车制造商还会在模型中提供最佳路径参考。
车辆运行过程中的神经网络训练和推理需要巨大的计算能力,由于汽车需要对新数据作出及时反应,因此,操作车辆所需的部分处理需要在车上进行,而模型的改进可以在云上完成。
目前,机器学习的最新进展在于有效处理自动驾驶汽车传感器产生的数据,减少计算成本。此外,芯片制造和微型化的进步正在提高可安装在自动驾驶汽车上的计算能力。随着网络协议的进步,汽车或许能够依靠低延迟的基于网络的数据处理来帮助它们进行自主操作。
执行
那么,车辆是如何行动的呢?
在人类驾驶的汽车中,汽车的转向、刹车或信号等动作通常由驾驶员控制。来自驾驶员的机械信号由电子控制单元(ECU)转换成驱动命令,再由车上的电动或液压执行器执行。
在(半)自动驾驶汽车中,这种功能被直接与 ECU 通信的驱动控制软件取代。这些软件能够改变车辆的结构,减少部件的数量;尤其是那些专门用于为 ECU 将机械信号从驾驶员转换为电信号的部件。
自动驾驶汽车通常包含多个 ECU,一般车辆大约有 15-20 个,高端车型可能达到 100 个。
ECU 是一个简单的计算单元,有独立的微控制器和内存,以此处理接收到的输入数据,并将其转换为其子系统的输出命令,例如,转换自动变速箱。
一般来说,ECU 既可以负责控制车辆的操作,也可以负责安全功能,运行信息娱乐和内部应用程序。并且,大多数 ECU 支持单个应用程序,如电子动力转向,能够在本地运行算法和处理传感器数据。
挑战一:系统复杂性
工程师需要为系统设计正确的电子体系结构,以便进行传感器融合,将决策同步分发到按指令行事的较低层子系统,这对需求的增加和复杂性提出了挑战。
理论上,在一种极端情况下,人们可以选择一种完全分布式的架构,其中每个传感单元处理其原始数据并与网络中的其他节点通信。在光谱的另一端存在一个集中的架构,其中所有的远程控制单元(RCUs)都直接连接到一个中央控制点,该控制点收集所有信息并执行传感器融合过程。
而在这个范围的中间是混合解决方案,它将在更高抽象级别工作的中央单元与执行专用传感器处理,或与执行决策算法的域相结合。这些域可以基于车辆内部的位置,例如汽车前部和后部的域,它们控制的功能类型,或者它们处理的传感器类型(例如照相机)。
在集中式体系架构中,来自不同传感器的测量值是独立的量,不受其他节点的影响。数据在系统的边缘节点上没有被修改或过滤,为传感器融合提供了最大可能的信息,并且具有较低的延迟。这一架构挑战在于,大量的数据需要传送到中央单元并在那里进行处理。这不仅需要一个强大的中央计算机,而且还需要一个高带宽的重型线束。
分布式架构可以用更轻的电气系统实现,但更复杂。尽管在这样的架构中,与带宽和集中处理相关的需求大大减少,但它在驱动和传感阶段之间引入了延迟,增加了对数据验证的挑战。
挑战二:动力、热量、重量和尺寸的增加
除了增加系统的复杂性之外,自动化还会增加车辆部件的功耗、热足迹、重量和尺寸。无论架构是分布式的还是集中式的,auton - omous 系统的功耗需求都是巨大的,而在这之中,主要的驱动因素是竞争需求。
全自动汽车的竞争需求比目前生产的最先进的汽车高出近 100 倍。对纯电动汽车来说,行驶里程容易受到这种动力需求的负面影响。因此,Waymo 和福特等公司选择专注于混合动力汽车,而 Uber 则使用全汽油 suv。然而,专家指出,全电动最终会成为动力系统的选择,因为内燃机在为车载电脑发电方面效率低下。
增加的处理需求和更高的功率吞吐量会使系统升温,但为了使电子元件正常可靠地工作,不管车外部条件如何,电子元件必须保持在一定的温度范围内,这就需要冷却系统的存在。但是,冷却系统进一步增加车辆的重量和尺寸,特别是液体冷却。另外,额外的组件、额外的布线和热管理系统也会对车辆任何部分的重量、尺寸和热性能造成压力。
针对于此,自动驱动元件的供应商正改变着产品,从减轻像 LIDARs 的大型元件重量,到构建像 semicon - ductor 这样的微型元件。同时,半导体公司正在制造占地面积更小、热性能更好、干扰更小的元件,发展各种硅元件,如 MOSFET、bipo - lar 晶体管、二极管和集成电路。
不仅如此,该行业还考虑使用新材料——氮化镓(GaN)。与硅相比,氮化镓可以更有效地传导电子,从而能够在给定的导通电阻和击穿电压下,制造出更小的器件。
一辆全自动驾驶汽车所包含的代码可能比迄今为止所开发的任何软件平台或操作系统都要多,要自行处理所有的算法和过程需要显著的计算能力和强大的处理。目前,GPU 的加速处理正成为行业的标准。
在 GPU 领域, Nvidia 是这个市场领导者。Nvidia 的竞争主要集中在张量处理单元(TPU)的芯片设计上,加速了作为深度学习算法核心的张量运算。另外,GPU 用于图形处理也阻止了深度学习算法充分利用芯片的能力。
可见,随着车辆自动化水平的提高,车辆的软件形态将发生显著的变化。除此之外,车辆更大的自主权也会影响用户与车辆的互动方式。