图书前言

PREFACE

前言

自从1886年德国人卡尔·本茨发明了人类历史上的第一辆汽车,汽车工业已经发展了将近一个半世纪。而自动驾驶的概念首次提出是在20世纪20年代,至今也已走过一个世纪。自20世纪80年代开始,随着科学家们不懈的追求与产业界的不断创新,从汽车的辅助安全驾驶系统到限定场景中的自动驾驶系统,自动驾驶技术逐渐成熟。自动驾驶作为一种具有环境感知理解和自适应行为能力的具身智能(Embodied Intelligence),其技术的发展也带来了人工智能(Artificial Intelligence,AI)

在智能交通、国防、工业、农业、物流等领域的深层次应用。

自动驾驶涉及诸多领域,包括人工智能、计算机视觉、模式识别、车辆工程、自动控制、交通工程、网络、通信等,它是一门理论与工程并重、多学科融合的新兴交叉学科。尽管当前自动驾驶技术已取得了巨大的进步,但要在各种路况和天气条件下实现真正意义上的完全自动驾驶(L5级自动驾驶)仍面临着诸多挑战,包括确保安全性、处理复杂和不可预测的道路环境和变化的气候条件、实现乘员与车辆的自然交互等。为了应对这些挑战,自动驾驶汽车必须具备学习和预测的能力。此外,自动驾驶汽车的大规模商用还需要解决“车车”与“车路”协同交互与控制问题,同时要满足更加严格的网络安全要求,并进一步完善自动驾驶技术的标准体系和法律法规,以应对自动驾驶汽车大规模商用带来的一系列社会性问题,如产生的大量数据如何处理、事故责任划分、个人隐私保护和信息安全等。

近年来,已有一些关于自动驾驶技术导论性的专业图书出版,多是以自动驾驶某个专门技术方向展开讨论或对自动驾驶技术的一般性介绍。然而,对于从事自动驾驶教学与科研的教师,相关学科的高年级本科生、研究生,以及从事自动驾驶技术研究与开发的工程技术人员,仍需要一本从实际工程的角度出发,全面、系统地对自动驾驶理论、模型、人工智能算法、关键技术、仿真与验证平台,以及自动驾驶大规模应用的支撑要素和社会因素的参考书。目前,尚未见有适用的这种参考书。

本书基于著者团队长达二十余年自动驾驶研究与实践,全面、系统地讨论了自动驾驶的传感器系统、交通场景感知与理解、地图构建与定位、行为决策与规划、控制系统、仿真测试与验证系统、自动驾驶的操作系统等关键技术及其算法实现,并分析了当前自动驾驶技术的局限性。此外,本书还讨论了自动驾驶技术在商业化过程中备受关注的社会问题。书中的许多章节内容是著者团队在自动驾驶领域取得的科研成果和实际系统研发的总结和提炼。本书是一本体系化、前沿性、可读性的关于自动驾驶的学术专著,适合作为人工智能、自动控制、智能科学与技术、信息工程、车辆工程等相关理工科专业的本科高年级学生和研究生的教材,也可供从事自动驾驶技术研究与开发的工程技术人员参考,对自动驾驶商业化的决策者和运营管理者也具有指导意义。

通过本书的学习,读者可以了解自动驾驶诸多经典和新的算法、核心关键技术和系统开发平台,从整体上认识自动驾驶的技术体系,从而找到适合自己的研究方向或有价值的参考内容。此外,本书的附录介绍了自动驾驶相关的数学预备知识、神经网络模型和强化学习的基础知识,希望帮助一些没有学过相关数学基础的读者也能读懂本书。未来,随着人工智能技术的进步,自动驾驶技术一定会走向大规模应用,对专业性人才的需求将不断增加,需要学习和了解自动驾驶相关知识的教师、学生和工程师也会越来越多。如果本书对读者的学习和实际工作有所裨益,著者将不胜欣慰。

自动驾驶: 理论、算法与实践

前言

全书共17章,内容如下: 

第1章介绍自动驾驶的发展历史和面临的挑战、自动驾驶的基本架构和技术分级,讨论实现完全自动驾驶需要解决的基本科学问题和大规模应用的支撑要素,重点介绍了国内外自动驾驶研究领域的一些重大事件和具有代表性的自动驾驶原型汽车。

第2章介绍自动驾驶传感器系统的构成和不同传感器的基本原理,包括相机的内外参数标定、全景相机与事件相机原理与应用、激光雷达数据采集与处理、毫米波雷达数据采集与处理、全球导航卫星系统(Global Navigation Satellite System,GNSS) 

与惯性测量传感器(Inertial Measurement Unit,IMU) 的工作原理,以及多传感器的时间同步与联合标定方法。

第3章讨论交通场景感知与语义理解。交通场景感知与理解是自动驾驶汽车的核心技术之一,其目的是识别自动驾驶汽车所处交通场景中的各种物体、道路环境及交通标识等。在环境感知与识别的基础上,自动驾驶车辆需要进一步抽象和理解交通场景信息,形成对场景的三维空间描述、物体运动识别和预测及物体之间的拓扑关系的高级语义表征,进而为后续的定位、规划、决策、控制等模块提供有效输入信息。本章内容包括车道线检测、交通场景目标检测、交通场景语义分割等算法,重点介绍著者团队在交通场景层次化表征和基于分层注意力的视觉位置识别方面的研究成果。

第4章讨论弱势道路使用者(Vulnerable Road User,VRU)的行为识别和预测。弱势道路使用者是指在交通场景中由于缺乏安全保护而易受伤害的交通参与者,包括行人、道路施工者以及自行车、摩托车、轮椅、滑板、独轮车等交通工具的使用者。交通场景中道路使用者的自身安全是自动驾驶车辆普及应用的前提条件,VRU作为主要的交通参与者,在道路使用过程中,需要与其他VRU、车辆以及环境进行复杂的交互。因此,识别VRU的行为,理解其行为意图,提前预测其未来运动,为自动驾驶的运动规划和控制决策提供重要依据,对实现高级自动驾驶和道路安全至关重要。

第5章讨论自动驾驶周围车辆行为预测与驾驶风格识别。准确预测自动驾驶车辆周围其他车辆的行为是实现安全舒适自动驾驶的重要因素,车辆行为预测需要对交通场景中的环境因素、历史观测、社会交互等信息进行建模。相对弱势道路使用者运动预测,由于驾驶规则和环境条件(如道路几何形状)的约束,车辆行为随机性较小,但之间相互依赖性强,即周围车辆的行为相互具有因果关联。此外,交通规则和驾驶环境能够重塑车辆的行为,且车辆的行为是多样的,因此,车辆行为在本质上具有不确定性。另外,车辆行为与驾驶风格也密切相关。本章详细介绍当前基于统计建模和深度学习的具有代表性的车辆行为预测的方法,并介绍基于短期观测的周围车辆驾驶风格的识别方法。

第6章介绍自动驾驶的高精度地图。高精度地图(High Definition Map,HD MAP)提供了精确的、综合的道路几何与语义信息,是真实场景在数字世界中的抽象对应,为自动驾驶的定位、感知、预测和规划模块提供不可或缺的基础支撑。高精度地图通常由影像地图(Imagery Map)和语义地图(Semantic Map)两部分组成: 影像地图包括3D雷达点云、反射率、高度、斜率等物理信息; 而语义地图含有丰富的标注信息,如道路向量化表示、类型(车道、自行车道或公交车道)、速度限制、交通标识位置、车道线类型(虚线、实线、双实线)等。高精度地图中包含的道路信息、标识信息等,可以为自动驾驶和辅助驾驶提供大量的先验信息,从而降低定位、全局导航、局部路径规划等任务对传感器数据和算法性能的要求,使这些任务更容易实现。本章主要讨论高精度语义地图的构建和语义生成,介绍常用的地图编辑策略和高精度地图标准格式。

第7章讨论自动驾驶汽车的空间定位问题。自动驾驶的定位系统通过车载传感器,包括GPS接收机、IMU、轮速里程计、激光雷达、相机等,估计车辆在全局坐标系[如经纬度坐标系、UTM坐标系(Universal Transverse Mercator Grid System)等]下的位置和姿态,并给出当前车辆位姿估计的置信度。由于信号遮挡、环境动态变化、传感器测量误差等因素,实现高准确度、强实时性、环境适应性好的车辆位姿估计算法是一项关键且具有挑战性的工作。本章首先介绍自动驾驶汽车空间定位常用的基本方法,包括里程计定位、组合惯性导航系统的融合定位和同时建图与定位(Simultaneous Localization and Mapping,SLAM),然后重点讨论著者团队提出的利用车载传感器的无依托定位方法,并阐述协同其他交通要素的有依托定位方法的基本原理。协同其他交通元素的定位是未来自动驾驶技术发展的一个重要研究方向。

第8章介绍自动驾驶的行为决策。行为决策是自动驾驶规划系统的重要组成部分,它根据感知算法给出的结构化感知信息、地图模块提供的语义地图信息以及车辆自身状态信息,生成合理、可行的行驶策略(行为)。行驶策略用于约束轨迹规划算法的规划空间,可大幅降低轨迹规划等相关算法的计算量及计算耗时,从而提升整个规划系统的实时性。本章总结了当前一些成熟的行为决策方法,并讨论了正在发展的基于学习的驾驶行为决策方法。

第9章讨论自动驾驶的运动规划。自动驾驶运动规划使自动驾驶汽车能够应对不同的道路情况,在满足预设约束条件下,产生符合自动驾驶汽车安全性的运动状态序列,进而生成安全有效的可行路径。在复杂的交通场景中,其他交通参与者的交互行为使自动驾驶运动规划算法在生成可行路径时,必须使车辆能始终与周围的交通参与者保持安全距离,并能及时响应突发状况。本章详细介绍基于优化、搜索和采样的3种自动驾驶运动规划方法,重点讨论多层混合A*路径规划方法和多模型的自动驾驶轨迹规划方法。

第10章阐述自动驾驶的控制算法。控制算法直接关系自动驾驶汽车的安全性和舒适性。此外,先进的控制系统还需要具备模拟不同人类驾驶员的驾驶风格和控制习惯的能力,为乘客提供个性化的乘坐体验。本章首先阐述乘用汽车的典型运动学模型和动力学模型,以及自动驾驶横向和纵向运动控制算法的基本原理; 然后,讨论自动驾驶系统的路径跟踪控制和自适应巡航控制的算法实现,并介绍基于模仿学习和强化学习的车辆控制方法。

第11章讨论自动驾驶的仿真、测试与验证技术。自动驾驶汽车由大量的软件、硬件和零部件组成,包括用于不同检测目的的传感器、计算单元、操作系统、算法软件等。要保证自动驾驶汽车实际应用稳定性和安全性,需要对软件、硬件以及所有可能出现的意外情况进行全面反复测试。利用仿真方法对自动驾驶系统进行离线测试,不仅能减少研发过程中的时间和资金消耗,还可以帮助研究者和开发者对算法进行评估、改进和创新,为算法的验证提供充足的数据资源。本章介绍车辆动力学模型构建与表征、传感器仿真与建模、情景生成等关键技术方法,讨论自动驾驶注入式仿真、虚实融合仿真与平行仿真的基本原理及系统实现。

第12章介绍室内智能移动机器人。自动驾驶汽车本质上可看作一种应用阿克尔曼转向结构在室外开放环境中工作的轮式移动机器人系统。与之对应的是工作在室内环境的轮式机器人,如自动导引车(Automatic Guided Vehicle,AGV)、自主移动机器人(Autonomous Mobile Robot,AMR)等,它们在技术原理上与自动驾驶汽车的实现框架有诸多相似之处。室内智能移动机器人是自动驾驶相关技术的重要应用方向之一。室内智能移动机器人的通用系统框架包含地图构建与定位、环境感知与理解、路径导航与运动规划等主要技术模块。此外,在室内工作的移动机器人系统所应对的环境通常有较多的人员,需要与人类进行安全的互动,因此,不同功能的室内移动机器人具有不同的人机交互方式。本章详细讨论室内智能移动机器人通用系统中各个模块的基本实现方法和专用算法,以及SLAM在室内场景中的实现与应用,并介绍3种常见的人机交互情景及其基本实现方法。

第13章探讨受脑认知和神经科学启发的自动驾驶系统。近年来,脑认知和神经科学家在探究大脑信息处理过程中所形成的分析方法与量化描述对完成自动驾驶任务有很大启发。本章介绍了受脑和神经科学启发的自动驾驶系统的基本框架,将人类驾驶员主观意识的安全性,与机器执行的一致性相结合,构建出更为健壮、安全,且具有可解释性的自动驾驶系统。讨论交通环境认知地图的构建和交通场景语义化表征,阐述基于认知构建的自动驾驶系统的基本原理和系统架构,讨论基于注意力机制和车辆历史行为序列的类人自动驾驶算法,以及一种受生物认知启发的自动驾驶神经控制器—神经电路策略。

第14章讨论数据驱动的学习型自动驾驶系统。传统的自动驾驶系统通常由“感知规划控制”三大模块组成,各个模块有各自独立的算法,这种架构具有较好的可解释性。随着对高级自动驾驶研究的深入,传统的自动驾驶计算框架凸显出运算效率低、环境适应性差、自学习能力不足等问题。数据驱动的学习型自动驾驶系统采用受生物神经系统启发得到的卷积神经网络进行“端到端”的计算,可以在一定程度上克服上述问题。这类数据驱动的学习方法直接将传感器获得的高维信息映射到车辆转弯、加速度等指令,大幅提高了系统的运算效率,并使自动驾驶计算模型具有较好的泛化能力和较强的环境适应性。本章介绍数据驱动的学习型自动驾驶的基本原理和不同类型的端到端自动驾驶方法,包括模仿学习、强化学习等新型学习方法。

第15章介绍自动驾驶的软件系统。自动驾驶车辆需要具有可靠且高性能的计算平台和完善的软件系统,才能保证行驶过程的安全和高效。自动驾驶软件系统建立在计算机操作系统架构的基础上,通过操作系统提供的一系列软硬件资源管理功能(如进程管理、内存管理、文件管理、网络通信、驱动程序等),为自动驾驶系统众多软件模块提供组织管理、通信等功能,以及多种不同的程序之间的协调、有序且高效的执行,从而为自动驾驶车辆的安全、稳定运行提供基础保障。本章介绍自动驾驶汽车软件系统的开发准则和基本架构,讨论自动驾驶软件系统的可靠性和优化方法,分析自动驾驶汽车如何从系统层面保证使用者的安全和隐私,并以著者团队开发的基于机器人操作系统(Robot Operating System,ROS)的自动驾驶软件开发平台——Pioneer为例,介绍高级自动驾驶软件系统开发平台的基本结构和各模块组成,同时简要介绍一些其他的开源自动驾驶开发平台。本章内容有助于读者了解在自动驾驶软件平台开发过程中,面临的实际问题和对应的解决方案。

第16章阐述自动驾驶的人机交互与人机共驾的基本原理和技术框架。人机交互是指人与机器之间通过某种对话语言和交互方式来完成确定任务的信息交换过程,建立自动驾驶系统与乘员之间建立能够进行自然对话和交互的机制。人机共驾指的是“人类驾驶员在环”与机器合作共同实施对车辆的有效控制,实现人机智能的混合增强,从而提高汽车的安全性和舒适性。实现高等级自动驾驶的传统技术路线通常忽略了“人”的因素,算法集中在对地图、感知、规划以及控制的技术上,对高精度地图、传感器套件及算法的鲁棒性要求高。“以人为中心”的人机共驾将人置于感知和决策规划闭环中的关键位置,这是为了解决机器感知的局限性。人机交互与人机共驾密不可分,丰富、高效的人机交互是人机共驾系统的重要组成部分。本章简要阐述高级辅助驾驶或自动驾驶中人机交互的基本方法、设计原则和内容,以及“以人为中心”的人机共驾的六大原则,讨论人机共驾中的驾驶员状态监测和人机共驾的定制化问题。

第17章讨论车路协同的自动驾驶技术。车联网作为车路协同系统的基础,是通信协议和标准之下,以及无线通信技术,实现车车(Vehicle to Vehicle,V2V)、车路(Vehicle to Infrastructure,V2I)、车互联网(Vehicle to Network,V2N)、车人(Vehicle to Pedestrian,V2P)等之间的数据交互,从而达到交通系统的智能化管理。车联网的应用可以在一定程度上解决在当前技术条件下单车智能面临的复杂交通环境的可靠感知、算力等技术瓶颈,如感知范围受限、多车编队的规划控制及协同决策问题,以及车辆定位中可能出现的机器人绑架问题(Robot Kidnapping Problem)。本章在介绍车路协同的基本架构的基础上,简要讨论多车协同定位、感知通信融合的超视距感知和多车协同决策等技术及其存在的问题。

截至目前,自动驾驶技术已取得显著进展,但尚未达到L5级自动驾驶(即无须人工干预,能够在所有条件下自动驾驶)。实现L5级完全自动驾驶(Full SelfDriving,FSD)是一个令人兴奋却又艰巨的挑战。只有了解自动驾驶技术的现状和所面临的困难,我们才能明确未来发展的方向。目前,部分自动驾驶(L2/3级)已经得到大规模的应用,能够在特定条件下实现自动驾驶,但仍需驾驶员随时接管。国内外许多公司也已研制出接近L4级自动驾驶汽车,车辆可以在特定条件下和城市道路区域实现自动驾驶,并在某些城市进行测试或提供自动驾驶出租服务,但在复杂或突发情况下仍需要人工干预。

在本书付梓出版之际,处于自动驾驶技术领先地位的特斯拉公司在其中国网站主页介绍了新款Tesla车将配备能够在绝大多数情况下实现完全自动驾驶所需的硬件。然而,实现L5级完全自动驾驶所需的软件和法规环境仍在开发、测试中。总之,实现真正意义上的完全自动驾驶,必须完美地解决"感知-控制"的问题,而这仍是一段艰难的路程。要创造一个智慧城市的未来,自动驾驶只是一个开始。任何新技术的发展都不是一蹴而就的,面对实现L5级完全自动驾驶的挑战,我们要进一步加强完全自动驾驶基础理论研究和关键技术的突破,不注重基础方法的研究,就会使自动驾驶技术研究成为无源之水、无本之木,难以实现在真实物理世界中所有条件下的完全自动驾驶。

本书由郑南宁教授组织撰写并审定全稿,主要著者有陈仕韬、杜少毅、康妙、张崧翌、沈艳晴、史佳敏、董金鹏; 参加章节撰写和后期内容校对的其他成员有简志强、黄宇豪、朱孔涛、杨珺晴、张晓彤、张皓霖、陈辉、陶乐嵩、海仁伟、严宇宸、庞金龙; 此外,夏超、张唐一可、闫钰玺、朱子瑜、胡煜枫、常恩韬、邓晓东等参与了章节部分内容的撰写。研究团队的其他成员: 陈雨、周卓礼、薛培鑫、霍勇博、郑振潭、王圣琦、侯倩、詹钧翔、肖同、张稼慧、闫欣蕊、宋星辰、王若彤、关鑫、王润生、符嘉玮、宗紫琪、林泽伟、刘伟、何千越、叶锞也对本书内容成稿做了贡献。

著者团队有关自动驾驶的研究工作曾先后得到国家“863”高技术发展计划、国家自然科学基金委员会、科技部重大科技攻关计划、科技部2030人工智能重大专项的支持,得到广汽、潍柴动力、舜宇光学等企业和常熟市、鄂尔多斯市、赤峰市等地方政府以及许多同行的大力支持和帮助,在此谨致以诚挚的感谢。另外,本书引用和参考了一些论文和资料,在此也对相关作者一并表示衷心的感谢。

由于自动驾驶技术正处在迅速发展的过程中,加之篇幅有限,本书的内容取材和组织一定会有不足之处。另外,书中介绍的一些算法和学术观点也是著者团队一家之言,不足之处在所难免,殷切希望广大读者批评指正。

著者

2024年9月