本文简要而全面地概述了自动驾驶汽车(自动驾驶系统)的关键组成部分,包括自动驾驶水平、自动驾驶汽车传感器、自动驾驶汽车软件、开源数据集、行业领导者、自动驾驶汽车应用程序和正在面临的挑战。
引言
在过去的十年里,在自动驾驶领域发表了许多研究论文。然而,它们大多只关注特定的技术领域,如视觉环境感知、车辆控制等。此外,由于自动驾驶汽车技术的快速发展,这样的文章很快就过时了。
在过去的十年中,随着自动驾驶系统技术在世界范围内的一系列突破,自动驾驶汽车(自动驾驶系统)商业化的竞争比以往任何时候都更加激烈。例如,2016年,Waymo在亚利桑那州推出了自己的自动驾驶出租车服务,吸引了广泛的关注。此外,Waymo花了大约9年的时间开发和改进其自动驾驶系统,使用各种先进的工程技术,如机器学习和计算机视觉。这些前沿技术极大地帮助他们的无人驾驶汽车更好地理解世界,在正确的时间采取正确的行动。
由于自动驾驶技术的发展,近十年来发表了许多科学论文,其引用量呈指数增长,如图1所示。我们可以清楚地看到,自2010年以来,每年的发表量和被引用量都在逐渐增加,并在去年达到了巅峰。
图1 在过去的十年中,自主驾驶研究的出版物和引文的数量
一、自动驾驶系统
自动驾驶系统使汽车能够在没有人类驾驶员干预的真实环境中运行。每个自动驾驶系统由两个主要组件组成:硬件(汽车传感器和硬件控制器,即、油门、刹车、车轮等)及软件(功能组)。
软件方面,已在多个不同的软件架构中建模,如Stanley (Grand Challenge)、Junior (Urban Challenge)、Boss (Urban Challenge)和同济自动驾驶系统。Stanley软件架构包括四个模块:传感器接口、感知、规划和控制以及用户界面。Junior软件体系结构由传感器接口、感知、导航(规划与控制)、线控驱动接口(用户接口和车辆接口)和全局服务五个部分组成。Boss采用三层架构:任务、行为和运动规划。同济自动驾驶系统将软件架构划分为:感知、决策和规划、控制和底盘。本文将软件架构划分为感知、定位与映射、预测、规划与控制五个模块,如图2所示,图2与同济自动驾驶系统软件架构非常相似。
图2 自动驾驶系统软件构架
自动驾驶等级划分
根据汽车工程师协会(SAE international),自动驾驶可以分为六个等级,如表1所示。人类驾驶员负责0-2级自动驾驶系统的驾驶环境监测(DEM)。从第4级开始,人类驾驶员不再负责动态驾驶任务回传(DDTF)。目前,最先进的自动驾驶系统主要在2级和3级。业内人士普遍认为,要达到更高等级的自动驾驶水平可能还需要很长一段时间。
表1
传感器安装在自动驾驶系统上的传感器通常用于感知环境。选择每个传感器是为了权衡采样率、视场(FoV)、精度、范围、成本和整个系统复杂度。最常用的传感器有无源传感器(如摄像头)、有源传感器(如激光雷达、雷达和超声波收发器)和其他传感器类型,如全球定位系统(GPS)、惯性测量单元(IMU)。
摄像头通过收集反射到三维环境对象上的光来捕捉二维图像。图像质量通常取决于环境条件,即不同的天气条件,不同的光照环境,都会对图像质量产生不同的影响。计算机视觉和机器学习算法通常用于从捕获的图像/视频中提取有用的信息。
激光雷达利用脉冲激光照射目标,通过分析反射脉冲,测量到目标的距离。由于激光雷达具有较高的三维几何精度,通常用于制作高分辨率的世界地图。激光雷达通常安装在车辆的不同部位以实现不同的作用,如顶部、侧面和前部。
雷达通过发射电磁波并对反射波进行分析,可以准确地测量出目标的距离和径向速度。雷达特别擅长检测金属物体,当然雷达也可以检测非金属物体,比如在短距离内检测行人和树木。雷达已经在汽车工业应用多年,催生了ADAS功能,如自动紧急制动,自适应巡航控制等。
与雷达类似,超声波传感器通过测量发射超声波信号到接收回波之间的时间来计算到目标的距离,超声波传感器通常用于自动驾驶汽车的定位和导航。
GPS是美国政府的一种基于卫星的无线电导航系统,可以为自动驾驶系统提供时间和地理位置信息。然而,GPS信号很容易被建筑物和山脉等障碍物阻挡,例如所谓的城市峡谷,GPS在此类区域往往表现不佳。因此,惯性测量单元(IMUs)通常被集成到GPS设备中,以确保自动驾驶汽车在“城市峡谷”等地的定位。
硬件控制器
自动驾驶汽车硬件控制器包括转矩转向电机、电子制动助力器、电子节流阀、变速杆和驻车制动。车辆的状态,如车轮速度和转向角,可自动感知,并通过控制器区域网络(CAN)总线发送到计算机系统。这使得人类驾驶员或自动驾驶系统能够控制油门、刹车和方向盘。