Print

发布时间: 2021-01-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.200493
2021 | Volume 26 | Number 1




    综述    




  <<上一篇 




  下一篇>> 





自动驾驶软件测试技术研究综述
expand article info 冯洋, 夏志龙, 郭安, 陈振宇
南京大学计算机软件新技术国家重点实验室, 南京 210023

摘要

自动驾驶系统(autonomous driving system,ADS)是一种集成高精度传感器、人工智能和地图导航系统等模块的信息—物理融合系统。该类系统中的自动驾驶软件完成了从高级辅助驾驶到无人驾驶任务中关键的感知、定位、预测、规划和控制任务。随着深度学习和强化学习等人工智能技术的发展和车载硬件设备的不断升级,高级别的自动驾驶软件已经逐渐应用于多种安全攸关的场景中,保障其运行稳定性与可靠性的测试技术逐渐成为学术界和产业界的研究重点。本文在广泛调研国内外文献基础上,对自动驾驶软件测试技术进行了深入分析与梳理。结合自动驾驶软件的架构特点及系统特征,讨论了面向自动驾驶系统的仿真测试和实景测试,以及面向组件的测试技术。其中,在仿真方法方面,分析了软件仿真、半实体仿真和在环仿真等技术;在仿真对象方面,讨论了静态环境仿真、动态场景仿真、传感器仿真和车辆动力学仿真等。同时,本文介绍了当前实景测试的进展与情况,重点分析了实景测试案例中的得失优劣。在面向自动驾驶软件组件的测试技术方面,重点讨论了当前数据驱动技术在感知组件、决策规划组件,以及控制组件测试方面的进展。最后,本文总结分析了自动驾驶软件测试当前面临的挑战,并对未来自动驾驶软件测试技术的研究方向和研究重点进行了展望。

关键词

自动驾驶软件; 综述; 仿真测试; 数据驱动的测试; 软件测试

Survey of testing techniques of autonomous driving software
expand article info Feng Yang, Xia Zhilong, Guo An, Chen Zhenyu
State Key Laboratory for Novel Software Technology, Nanjing University, Nanjing 210023, China
Supported by: National Natural Science Foundation of China (61932012, 61832009)

Abstract

An autonomous driving system(ADS) is a cyber-physical system that integrates a number of complicated software modules, such as high-precision sensors, artificial intelligence, and navigation systems. The autonomous driving software in this system performs sensing, positioning, forecasting, planning, and controlling tasks. With the development of artificial intelligence technologies and the continuous upgrading of onboard hardware devices, advanced autonomous driving software has been applied in a variety of safety-critical scenarios. Thus, the testing technology that assures its stability and reliability has naturally become the focus of academia and industry. To summarize the advance of the testing technology of autonomous driving software, this paper first characterizes the architecture and design of autonomous driving software. It presents the reference architecture of autonomous driving software and details the primary functionality of each component. It also introduces the interaction between these components and summarizes the features and challenges of autonomous driving software testing. Then, this paper extensively reviews the literature, providing a comprehensive discussion on the testing technology of autonomous driving software, which includes three related topics: simulation-based testing, real-scenario testing, and component-oriented testing. Simulation testing provides a method to examine the behaviors of real vehicle software in virtual environments. It constructs the internal and external factors and conditions that influence the software system to simulate various situations faced by autonomous vehicles with different degrees. This paper examines two critical components of simulation testing: the simulation methods and simulation targets. With regard to the simulation methods, software simulation, semi-physical simulation, and X-in-the-loop simulation are investigated. Currently, all these simulation methods are widely employed in autonomous driving software testing. They are capable of reflecting the behaviors of autonomous driving software under various virtual environments and thus enable engineers to test autonomous driving software at a much lower cost. For the simulation targets, this paper details the simulation of static environments, dynamic scenarios, sensors, and vehicle dynamics. Various simulation techniques are designed for these targets and are further employed to test different functionalities of autonomous driving software. For each simulation target, this paper discusses its usage and state-of-the-art simulation techniques. However, because simulation testing can reflect the behavior of autonomous driving software only in a virtual environment, it cannot completely represent the testing results under real scenarios. Compared with simulation testing, the cost of real scenario testing is relatively high, and the testing scale is often small. Thus, it cannot cover the input field and operating environment completely. However, real scenario testing is critical in quality assurance because it is the only way to identify the performance of autonomous driving software under real physical settings. This paper introduces the real-scenario testing cases conducted by the manufacturers of autonomous driving cars, which provide solid data that reflect the real road traffic scenario for the simulation testing of autonomous driving software. Component-oriented testing focuses on assuring the quality of individual components of autonomous driving software. In modern autonomous driving software, deep neural networks (DNNs) play a critical role. They are employed to assist in various driving tasks, such as perception, decision, and planning. However, testing the DNN-embedded software component is significantly different from conventional software components because their business logic is learned from massive data but is not defined with interpretable rules. To ensure the quality of these components, software engineers often adopt data-driven testing techniques. This paper introduces data-driven testing techniques for three primary components, i.e., perception, decision and planning, and controlling. For the perception component, the primary challenge is to generate test data to input into various sensors, such as LiDAR, radar, and camera. The existing solutions are often built based on a mutation algorithm to augment the seed dataset, with the goal of increasing neuron coverages. For the decision and planning component, some researchers leverage reinforcement learning algorithms to combine traditional path planning algorithms, expert systems, and machine learning techniques to enhance the testing engines. For the controlling component, the testing often involves the hardware, including speed controller, steering controller, braking controller, and stability controller. Researchers have evaluated the performance and reliability of controller-oriented algorithms and explored automated test generation methods. Finally, this paper summarizes and analyzes the current challenges of automatic driving software testing and prospects for the future research direction and emphasis of automatic driving software testing technology.

Key words

autonomous driving software; survey; simulation testing; data-driven testing; software testing

0 引言

随着人工智能技术的进步,自动驾驶软件快速发展。作为一种典型的智能软件,自动驾驶软件利用雷达与摄像头等传感器捕获周围环境信息作为输入,并通过人工智能模型做出驾驶决策,从而自动化或半自动化地完成各类驾驶任务(Maurer等,2016; Lin等,2018)。目前,自动驾驶软件已经逐渐应用于民用汽车辅助驾驶器、自动物流机器人、军用无人机、无人舰以及群体智能蜂群作战系统等领域,并且由于其可能会对安全、交通、能源乃至土地使用等产生重大影响,世界各国均投入了大量的资源进行研发。国外许多传统的汽车公司(如福特、奥迪)和高科技公司(如谷歌、特斯拉、苹果、优步等),已经纷纷在自动驾驶软件领域投入了巨大的资源技术进行研究。相应地,国内的百度、北京汽车、滴滴、华为等企业,也启动了一系列的自动驾驶软件研究项目。

根据中国汽车工业信息网近日公布的数据,截至目前,在世界范围内已经大约有50家以上的企业进行着自动驾驶相关技术的研发和测试相关工作。早期的自动驾驶技术主要围绕车辆定位与环境感知能力进行研究,影响自动驾驶软件的性能关键因素来源于各类传感器与地图信息对应的性能或精度。相关研究已经深入到面向人工智能模型算法的自动驾驶汽车智能感知、决策规划能力的测试与验证中。

在自动驾驶系统中,软件在实现环境感知、智能自主决策、路径规划和驾驶操作控制功能等方面发挥着核心作用(Jo等,2014Behere和Torngren,2015)。然而,就像其他任何软件系统一样,自动驾驶软件也容易受到软件缺陷的影响,并且,由于自动驾驶软件通常被部署到安全攸关环境中运行,其软件缺陷很可能导致灾难性后果(Garcia等,2020)。近年来,已经发生多起自动驾驶软件缺陷导致的人员伤亡事故。例如,2019年特斯拉自动驾驶电动车在测试过程中,因为摄像头无法从白色天空背景中分辨出白色卡车,同时雷达又因为卡车过高而失效,导致车辆直接撞向该卡车(Lee,2019)。2018年优步在美国亚利桑那州坦佩地区进行自动驾驶测试时,因为在夜间能见度较低的环境中其感知系统无法检测到过马路的行人,发生事故导致行人死亡(Wakabayashi,2020)。

在此背景下,自动驾驶软件的测试技术受到业界的极大重视,各大公司与研究机构相继提出了一系列自动驾驶测试技术。同时,由于自动驾驶软件的应用场景往往涉及人员财产安全,必须在部署前严格保障系统质量,也从另一方面推动了相关质量保障技术,尤其是自动驾驶软件测试验证理论方法的研究。

为了梳理面向自动驾驶软件的测试技术发展现状,探究未来该领域的研究方向,本文对相关技术与方法进行了综述。本文首先从自动驾驶软件的架构出发,分析了其架构特点、关键组件以及运行环境特征。然后,系统性地介绍了面向自动驾驶软件的测试技术研究进展,详细讨论了仿真测试、实景测试和面向组件的测试等技术。最后,本文对面向自动驾驶软件的测试技术研究的未来发展方向进行了分析与展望。

1 自动驾驶软件系统简介

自动驾驶软件系统(Levinson等,2011)是集成了人工智能、计算机视觉、状态机、高精度地图、雷达和定位系统等组件的车载电脑系统。典型的自动驾驶架构系统如图 1所示,自动驾驶软件需要在条件支持下完成包含地图定位、传感器数据采集分析、环境感知、预测规划、决策到逻辑控制等一系列分解的自动驾驶任务(Debouk等,2013)。

图 1 自动驾驶软件系统架构
Fig. 1 The reference architecture of autonomous driving software

自动驾驶软件架构庞大复杂(Jo等,2014),具备许多传统软件不具备的系统软件特征(Uricár等,2019),这也为相关质量保障研究带来了挑战(Helle等,2016)。本文对自动驾驶软件的系统特征总结如下:

1) 高集成度的运行环境。自动驾驶软件是在基本的车辆平台之上添加的一个认知智能层,具有典型的数据驱动特征,结合各种传感器来感知周围环境,借助先进的决策系统对于感知信息进行处理分析,实现对应导航路线识别、标志和障碍物分析任务,并在车辆控制层辅助进行决策(Lin等,2018)。作为支撑自动驾驶车辆的智能核心,需要与车辆内部包括数据采集传感器、数据处理系统、车辆决策控制单元和底盘硬件等各类软硬件主体实现联接交互,软件质量同时也会受到影响,相关缺陷会被外部模块放大。因此,面向自动驾驶软件的质量保障技术,无论基于何种测试与验证方法,如何精确地模拟系统所处整体运行环境,面向环境设计和开展真正有价值有意义的质量保障手段是一项重点与难点。

2) 高复杂度的数据驱动软件系统。与传统车载软件系统不同,自动驾驶软件本身具有极高的复杂性(Jo等,2015)。自动驾驶软件具有极高的数据依赖特征,构建自动驾驶的关键功能,如目标检测、模式识别等,本身需要来自诸如激光雷达、光学摄像头、声呐和车身状态数据采集器等多种来源形式的各类数据。传统汽车辅助驾驶软件对于这类汽车内外部数据一般不做直接处理,少量语义丰富数据,如图像会直接转由驾驶人员自行判断。然而自动驾驶软件需要在自身的环境感知等组件中直接处理和分析这些数据(以及进一步融合数据、高纬度抽象数据等),借助智能模型与算法使系统替代驾驶人员做出合理的道路情况判断和车辆控制行为。复杂数据和复杂功能逻辑使得自动驾驶软件规模和复杂程度极高,相关质量保障技术研究需要聚焦这一领域,解决自动驾驶数据多样性、有效性和系统功能完备性等质量问题,才能确保训练和学习后自动驾驶软件的可靠性。

3) 高不确定性的系统行为。事实上,困扰很多自动驾驶研究人员,影响自动驾驶技术成熟度的正是系统“智能”本身,研究人员迫切需要明确如机器学习、深度学习和状态机等用于智能感知定位、智能决策控制的模型或算法,能否在有限的车辆驾驶场景条件下,高效准确地完成对应自动驾驶任务(Behere和Torngren,2015)。然而,基于部分智能模型算法本身理论上的不可解释性和黑盒运行下的不透明性,用户难以划分模型运行的中间状态,进而无法直接挖掘出模型错误行为的触发机理。这使得用纯粹的理论解释模型最终输出结果成为一个非常具有挑战性的课题。

2 面向自动驾驶软件系统的测试技术

面向自动驾驶软件系统级别的测试验证技术是相关自动驾驶软件质量保障领域最受关注的部分(Koopman和Wagner,2017Wotawa,2017余卓平等,2019)。当前,以数据为基础、软件为主导的自动驾驶系统,其作用场景和系统本身都表现出极高的复杂性。自动驾驶软件对内在架构上依托于多种组件和算法模块,对外则依赖多种车周环境信息数据,诸如数据处理(Waltz和Llinas,1990)、环境感知(Yan等,2018)、决策规划(McNaughton等,2011)和逻辑控制(Wolter和Golm,2016)等关键功能模块共同构成了完整的自动驾驶软件。仅靠针对构成系统的单一子类对象的测试无法满足整体系统的质量保障要求(Wotawa等,2018),因为它没有考虑到自动驾驶软件作为一个高度聚合的软件实体的重要特征,分析与测试必须首先要对多个功能要素集成的系统或者子系统开展。Koopman和Wagner(2016)分析了自动驾驶车辆进行系统测试验证时存在的各种挑战,表明测试并非传统测试方法可以解决。

基于自动驾驶软件的复杂特性,在对关键功能组件进行独立测试前,最重要的是将自动驾驶软件作为整体,分析其作为一个软硬件高度集成的独立实体在预期自动驾驶相关功能上的可靠性,从而确保相关软件系统产品能够部署于现实交通场景,正确完成实际环境中各项自动驾驶任务,并真正形成相关产业。当前,已经有多种面向自动驾驶软件的测试技术研究(舒红等,2019)。在测试思路上,常常以自动驾驶软件系统级别的关键功能作为切入点,围绕实现该功能点的局部或整体系统展开,研究对象包括基于模拟仿真的车辆模型(Wang等,2018)、集成自动驾驶软件的电子控制单元(electronic control unit,ECU)硬件单元、集成关键自动驾驶模块的小型验证无人车辆(Chowdhury等,2017)和真实的自动驾驶车辆(Tettamanti等,2018)等。在测试方法上主流的测试技术包括软件测试、仿真测试和实景测试。其中面向系统代码级别的软件测试手段相关研究目前还比较匮乏,一方面,自动驾驶软件在软件代码结构上区别于传统软件,传统测试方法,如覆盖测试、分支测试、修正条件判定覆盖(modified condition/decision coverage,MC/DC)测试难以直接使用,需要提出一系列面向自动驾驶特征的全新有效的程序分析和测试技术。另一方面,针对自动驾驶软件源码普遍庞大的代码规模,相应的测试用例生成和测试规范标准建立也是研究人员面临的另一个难点。

本部分重点分析仿真测试技术与实景测试技术相关内容。仿真测试的优点是简单、低成本且易于复制。但是,测试结果的可靠性高度依赖模拟传感器、车辆和环境模型的准确性。实景路测具有高度的现实代表性,然而封闭场景测试很难再现所有的复杂交通场景,而公路实景测试受限于真实车辆部署运行成本和人员测试效率,同时需要考虑对应的社会风险。尽管如此,实景测试仍然具有其优越性和重要性。仿真测试与实景测试作为当前最为有效和成熟的汽车系统测试技术,正为自动驾驶理论研究和落地应用研究提供可信支撑。当前面向自动驾驶软件系统级别的这两类主流测试手段存在一些共同特点。其中重要的一点在于固化驾驶场景,利用仿真模拟、封闭场地部署或实际道路环境,构造用于检验自动驾驶软件完备应对交通场景、处理泛化标准驾驶场景业务的能力。Li等人(2016a)注意到自动驾驶软件基于场景和功能两种要素之间的联系,给出系统智能的新语义图定义,并基于此给出了一种测试和衡量智能的理论框架。另一共同点在于数据驱动的特征突出,这是由于系统结构和模型算法强烈的数据依赖和数据敏感特点,它促使对应的测试验证方案围绕数据驱动特征展开。

2.1 仿真测试

自动驾驶汽车的道路测试成本高昂,存在人员财产风险,同时受限于实景测试场景丰富度、测试驾驶人员素质和时间因素,存在明显的技术瓶颈,测试效果往往无法达到研究人员预期。另外,在缺少关键的复杂极端环境的边界用例情况下,系统容易隐藏与人员财产生命相关的安全缺陷,因此,该测试方法不适宜大规模的车辆系统测试。仿真测试技术已广泛用于解决以上问题。图 2给出了当前使用较广的面向自动驾驶软件的仿真测试框架。当前主要使用的仿真方法包括软件仿真、半实体仿真和在环仿真等;当前的仿真对象方面主要包括静态环境、动态场景、传感器和车辆动力学等。仿真测试提供了在虚拟环境中重现真实车辆系统特征的方法,它构建了与系统相互作用的内外部因素和条件,从而能在不同程度上模拟自动驾驶车辆面临的多种场景条件。

图 2 面向自动驾驶软件的仿真测试框架
Fig. 2 The simulation testing structure of autonomous driving systems

2.1.1 仿真方法

仿真测试的重点在对象建模。依据其模拟对象和仿真程度,从完全软件模型的仿真,到半实体参与的仿真,再到体系化的在环仿真,目前已经发展出几类典型的仿真测试形式(Papp等,2003Wei等,2016)。这些方法本身既有一部分层级递进的关系,分别对应自动驾驶软件从设计到实装部署阶段的不同系统测试要求,同时每类方法本身具有各自的测试优势,能够在仿真测试过程中实现优势互补,以满足自动驾驶软件的复杂测试要求。

1) 软件仿真。软件仿真是一种对自动驾驶软件系统进行高度模拟化测试的方法。在软件仿真方法下,自动驾驶软件各模块和测试应用环境均为虚拟环境下产物。一般没有相应的真实的被测系统或待测对象实体接口的参与。仿真测试依赖于自动驾驶硬件模型化、自动驾驶车周环境虚拟化、自动驾驶交通场景参数化等技术手段,将完整的自动驾驶软件测试场景完全迁移到虚拟环境之中(Chao等,2020)。纯模型的软件仿真主要用于在自动驾驶物理原型出现之前,在系统层面上验证和优化相关模块和功能的设计,在减少工程成本和时间延迟的条件下完成自动驾驶汽车系统的早期的科学分析任务。同时,可以在自动驾驶模型算法迭代初期,协助对于算法原理和软件模型的验证。在这种情形下,车辆对象和雷达、全球定位系统(global positioning system,GPS)传感器信号、控制器等组件都是基于模拟模型构建。很多高级的游戏和场景渲染物理引擎可以实现高保真的数据模拟和场景对象建模,可以作为这类仿真的测试工具。Yao等人(2018)基于微软的AirSim系统(Shah等,2018)及UE4引擎(unreal engine 4)(McCaffrey,2017)模拟了一个大型的复杂交通网络测试环境,将车辆动力学模型、虚拟现实环境模型库、自动驾驶软件及雷达传感器组合到一起,构成了虚拟环境下的自动驾驶测试平台。Kufieta和Ditze (2017)同样基于3D游戏引擎提出了生成虚拟测试环境方法,构建了测试车辆的交通环境,同时实现了相机、雷达、激光雷达的仿真组件的构建,生成了这些传感器所需数据,实现了测试自动驾驶软件的虚拟环境构建。

2) 半实体仿真。半实体仿真是对自动驾驶软件模块成品或功能原型采用的测试技术。在该技术下,仿真部分围绕特定测试需求建模,在测试整体流程中需要考虑到待测对象参与,并重点关注待测对象的行为。待测对象的在完整的仿真测试流程中,常常基于真实的软硬件特征,以专业软件建模、真实硬件接口等形式接入测试方案。半实体的仿真测试的研究受以下因素推动:完全软件模型化的仿真测试存在缺点、模型和数据过于理想化、模拟设备物理信息参数不齐全、系统模拟组件缺失、实际的环境因素没有考虑周全等。为此,学术和工业界都进一步使用了半实体的自动驾驶软件仿真测试方案。将部分被测组件或者系统模型使用实际对象替代。基于实例化的对象的不同,这种半仿真测试又大致分类为两种:一种是针对控制算法的快速原型测试;另一种是针对被控对象的硬件测试。目前,前者在自动驾驶领域的应用并不深入,这是由于大部分自动驾驶软件的底层控制决策算法并不公开透明,测试结果很难由第三方机构验证。但是,随着近年来相关自动驾驶软件开源开发SDK(software development kit)的发展,如Apollo,Autoware等,这类测试技术研究可能会呈现飞跃式的增长。后者则是目前自动驾驶测试的重要形式,并进一步推动了更成熟的自动驾驶在环仿真测试的进步。

3) 在环仿真。该技术需要在现有纯软件仿真接入的架构上,增加硬件层接入。硬件控制层与仿真层相连接构成闭环测试系统,用于全面测试和验证硬件和算法(Gietelink等,2006)。自动驾驶在环仿真测试技术充分考虑到使用真实硬件和被测单元接口的重要性,将模拟技术和对应的实体系统测试整合到被测对象完整的开发评测的生命周期之中(Brogle等,2019)。在半实体的仿真测试基础上,在环仿真致力于构建模拟仿真与实际测试的完整闭环,在核心控制算法构建完备、系统原型基本集成的条件下,实现真实被测系统对象和整车的真实对接,并在测试环路中提供快速的测试反馈,形成一个具有高效率的可以快速迭代的测试体系结构(Chen等,2018)。另外在实景测试的结合下,研究人员能够在此基础上进一步开展车辆在环测试(vehicle-in-the-loop, VIL),以满足自动驾驶车辆原型的快速迭代开发验证。

自动驾驶领域往往采用硬件在环仿真(hardware-in-the-loop, HIL)(Deng等,2008)和车辆在环仿真(Gietelink等,2004)进行测试。一般在环仿真的目的是设计和开发自动驾驶实验环境,以支持相关系统功能和算法的开发,测试和验证(Papp等,2003)。这种HIL仿真无缝地弥补了纯离线仿真与车载开发之间的差距,并大大缩短了研发过程(Joshi,2017)。自动驾驶软件在环仿真(software-in-the-loop,SIL)广泛用于自动驾驶软件关键算法的分析与测试(Sievers等,2018)。借助SIL工具链,在闭环测试流程中,可以将本应在目标硬件上执行的软件和算法模型部署在准PC进行仿真,借助PC硬件强大的数据处理和运算能力,生成大规模的测试用例,实现虚拟测试(Schöner,2018)。Ahamed等人(2018)创建了一个自由构建车辆模型的框架,着重于在仿真工具Gazebo中使用机器人操作系统(robot operating system,ROS)开发的SIL建模和仿真。该框架的目标是充当创建多个车辆模型的平台,并帮助用户验证和比较各种模型的不同算法。Sampaio等人(2013)提出一个使用MSFS(Microsoft flight simulator)的新型SIL平台,以协助针对在AscTec Pelican平台中发现的稳定问题进行控制设计。该软件将Pelican平台与控制算法之间的通信连接到一起,从而使控制设计人员可以执行快速全封闭嵌入式传感器的仿真,同时提高OpenCV光流算法集成到虚拟的向下摄像头的可能性,提升SIL可靠性。

2.1.2 仿真对象

从仿真构建的对象来看,仿真测试方法可以细分为静态环境仿真、动态场景仿真、传感器仿真、车辆动力学仿真等,结合各类故障注入模块,最终共同组成完整的仿真测试系统。

1) 静态环境仿真。虚拟环境仿真模拟构建了自动驾驶车辆行驶的静态交通环境。为了满足系统可靠性要求,主要利用以下几种虚拟场景的构建方式生成测试用环境:基于专业建模软件构建技术、基于增强现实场景合成构建技术和基于高精度地图数据构建技术。基于专业建模软件构建,主要依赖一系列专业的3D建模软件,在软件内创建仿真交通场景内各部分模型,添加适合的环境信息参数,最终形成完整的仿真环境。基于物理渲染引擎构建场景,主要借助成熟的3D物理引擎,如虚幻4、Unity引擎进行场景设计,这类引擎本身就常常应用在高物理逼真的仿真场景开发,同时还拥有很多可以直接套用的环境模型。基于增强现实的场景合成、主要利用现有的交通环境信息,如道路系统采集的历史环境数据,采用技术手段,如图像合成、参数化重组等进一步加工丰富内容,从而生成合适复杂度的虚拟环境。最后,还可以借助高精度的环境数据进行构建,这些数据可以来自高准确度的无人机扫描数据、地图服务商提供的高精确度地图数据、激光雷达点云数据,将这些高精度数据做数据融合,实现维度对齐和信息互补,共同形成全方位的虚拟环境测试数据。Zhao等人(2015)使用实际交通环境数据构建了图像序列表示交通场景,模拟自动驾驶行为相对一般模型系统更加平稳和逼真。Zhang等人(2014)在RoadView系统中实现基于图像序列和道路GIS数据的新型交通场景建模方法,用于辅助自动驾驶软件的性能评估与测试。

2) 动态场景仿真。仿真测试环境搭建对于自动驾驶仿真是远远不够的,还需要在环境中添加特定的动态交通场景,如驾驶场景中的人流、车辆行驶信息,道路信号灯的交通管控信息等。通常,这些动态场景信息的仿真测试数据构建基于真实情景下的历史数据,从交通案例中总结各类需要模拟的动态交通数据的统计学规律和数据特征,构建用于模拟动态场景信息的参数化方法,形成用于测试的大规模动态场景。另外,也有很多仿真工具使用物理建模引擎创建这些动态场景要素,并实现了诸如车辆跟踪、信号灯变换、多类型车辆移动方式和突发交通场景模拟等功能,如NVIDIA Driver Constellation、Intel的CARLA、微软的AirSim。中国百度在《Science》子刊发表的论文中提出了AADS(augmented autonomous driving simulation)(Li等,2019), 这是一种基于数据驱动的场景生成框架,通过模拟交通流量来增强真实世界的图片,以创建逼真的模拟图像和渲染。作者团队使用LiDAR和摄像头扫描街道场景,从获取的轨迹数据中生成了汽车和行人的合理交通流,并将其组合为背景。Google的Waymo在构建动态场景时采用了模糊化技术,将特定虚拟城市“Castle”中的交通结构中重要元素进行变异、组合、参数调整等操作,创建了大量适用不同测试条件的模拟场景。

3) 传感器仿真。在仿真测试中,仿真场景需要反映自动驾驶汽车真实的驾驶环境,构建的光、点、声等仿真传感器数据需要遵循严格的客观物理规则约束,以满足有效的感知算法的开发要求。传感器仿真要求仿真物体尽可能符合物理逼真的要求。在某些具有场景特征要求的极端情形下,对于传感器仿真数据还有更加严格的要求,如仿真图像中不同物体的基础颜色、仿真雷达数据扫描的角度要求等。当前的传感器仿真测试中,基于物理的渲染过程被广泛应用。传感器仿真是一种极为重要的仿真手段,其对应了场景和环境仿真背后关键特征要素的重要传感数据支持。目前主要的仿真传感器为激光雷达仿真、摄像头仿真和毫米波雷达仿真。激光雷达仿真思路是参照真实激光雷达的扫描方式,模拟每一条真实雷达射线的发射,与场景中所有物体求交, 利用并行计算达到实时效率,仿真结果包括带反射强度的点云和障碍物真值信息。除此之外也有一些新的雷达仿真手段,如Yue等人(2018)利用计算机游戏实现了快速创建具有精确点级标签的点云数据,并提出一种在点云和捕获的场景图像之间进行自动配准的方法。摄像头仿真基于环境物体的几何空间信息,在物理渲染引擎中构建对象的3维模型,利用坐标系转化,将3维空间点通过透视关系变换,并根据物体的真实材质与纹理,通过计算机图形学对3维模型附加各类属性,还会对摄像头结构与光学特征、系统数据采集处理流程进行仿真。毫米波雷达一般会根据配置的视场角和分辨率信息,向不同方向发射一系列虚拟连续调频毫米波,并接收目标的反射信号,可以根据障碍物的径向距离、距离分辨率和角度分辨率等信息对同一个障碍物的点进行聚类并返回最终仿真结果。其他传感器仿真方法还有面向定位的GPS仿真、面向通信的V2X仿真、面向超声波雷达的仿真等。

4) 车辆动力学仿真。自动驾驶软件的主要承载对象仍然为汽车,在仿真测试中也有专门用于反映真实汽车真实规格、物理性质的车动力学模型仿真,目的是为了在虚拟环境中更好地模拟真实车辆的真实反馈,使观察结果能够最大程度地逼近现实车辆。这种仿真技术实际上在传统机电主导的汽车设计时就已经被广泛研究和使用,具有相当的技术成熟度。在自动驾驶相关的测试中,尤其是在车辆相关环境和传感器信息都为模拟构建的条件下,车辆动力学仿真的要求更加严格。车动力学仿真既需要确保车辆仿真模型符合虚拟场景条件规则约束,又要尽可能确保仿真车辆能够代表真实车辆,可以利用后续真实车辆积累的实验数据对建立的车动力仿真模型进行反向验证。相关仿真主要包括车辆转向模型仿真、轮胎仿真、悬挂模型仿真等。车辆动力学仿真依据要求的真实程度,可以使用不同的仿真软件建立不同的模型。常见的软件有ADAMS(automatic dynamic analysis of mechanical systems)、Carcraft、Simpack、CarSim、CarMaker、RanoSim和MATLAB等。值得一提的是,有部分研究者在测试研究中考虑到不同类型仿真之间的联系,Minnerup和Knoll(2014)建议将仿真序列中不同仿真进行组合,以覆盖更多种仿真场景条件。

2.2 实景测试

随着自动驾驶前沿科学领域的不断发展,在仿真器上进行自动驾驶仿真测试是现今比较流行的方式,但由于仿真测试的局限性,其测试结果并不能代替实际路测。与仿真测试相比较,实景测试成本相对高昂,其测试规模通常较小,无法对输入域及车辆运行环境进行较为完整的覆盖。但是,实景测试具有其不可替代性,测试能够去除理想化数据模型的不足,为自动驾驶软件提供符合真实道路交通场景的测试数据和测试条件(Buehler等,2009朱冰等,2019),同时,实景测试能够产生快速推动实用自动驾驶软件研究发展和自动驾驶产业落地的科学和社会效益。因此,实景测试仍然是自动驾驶软件质量保障最为重要的手段。

面向自动驾驶的实景测试沿袭了传统汽车测试中对应方法,并针对自动驾驶软件特点做了改进。当前主要测试形式有预设场景测试(Briefs,2015)和公路实景测试(Broggi等,2014)。预设场景测试往往由自动驾驶开发人员自行搭建模拟真实道路场景的场地,并基于不同的实景测试目的,设置对应的道路环境条件。公路实景测试则是进一步的形式,在真实的公路道路区域进行有限的原型车辆测试。由于自动驾驶车辆与传统车辆的差异,考虑到技术成熟度与社会安全因素,公路测试的限制会更加严格。另一种可行的测试、验证方式是使用真实发生碰撞场景的实验数据进行自动驾驶软件评估(Blanco等,2016)。2007年城市挑战赛是第一次将无人车和有人车进行实际情景交互,极大地启发了无人驾驶技术。2010年VisLab团队定位过程中使用了车道保持算法(立体和单目)和导向系统,进行了世界上第一个跨洲的上万公里无人驾驶测试,从意大利到中国进行了1.3万公里的行驶,测试过程中系统需要适应不同环境(Bertozzi等,2011Broggi等,2013)。

现阶段的不同实景测试在测试内容上也存在差异,部分测试主要评估自动驾驶“脱离”次数和每次“脱离”行驶里程,而部分测试则重在多场景多维度的道路测试。按照交通密度、车道类型、交叉路口形态等交通场景复杂程度,划分测试路段级别和对应测试评估指标。

3 面向自动驾驶软件组件的测试技术

面向非全局系统的组件级别测试验证方法同样受到广泛关注,主要测试自动驾驶软件构成组件中最为核心的关键部分。这些部分在自动驾驶软件内部抽象为交互协作的组件或功能层,实现实时的、可持续的和高安全性的自动驾驶任务,主要包括定位、感知、预测、决策与控制组件,以确保系统底层高度安全性与可靠性。Garcia等人(2020)对自动驾驶组件缺陷引发的Bug研究说明了针对自动驾驶组件软件测试的必要性。与面向系统级别的测试有显著差异的是,由于测试目标和内容的深入和范围的缩小,面向系统组件的测试方法理论性更加突出, 也频繁出现。可以单独剥离的模型算法使非自动驾驶测试方向的专业研究人员也能进行相关质量保障研究,如在感知组件中面向机器学习算法和深度神经网络(deep neural network,DNN)模型的独立测试验证、关键控制算法的控制逻辑测试等。在以往国内外的自动驾驶测试研究的介绍或总结中,往往没有考虑到自动驾驶软件级测试与面向组件测试技术的区别,而实际上后者具有明显的方法理论下沉特征,测试目的在于自动驾驶软件关键组件内部运行逻辑和相关缺陷触发机理的探索(Lyu等,2018)。

数据驱动测试的概念在自动驾驶组件测试中极为重要,在近年来智能模型算法深入自动驾驶环境感知、道路目标分析和车辆行为规划等关键功能的情况下,数据驱动测试是解决智能软件测试有效性问题的一种重要手段(Corso等,2019)。自动驾驶组件内嵌的神经网络模型算法本身存在不可解释性,模型结果与模型代码结构不存在类似传统软件中的强相关性,这使得如代码覆盖、分支覆盖等测试方法无法直接应用。另外智能模型本身需要依赖大规模的训练学习数据样本,模型内外部数据都是影响模型软件的重要因素。数据驱动测试能够针对自动驾驶软件关键组件模型算法数据依赖特征,在有限测试资源条件下,高效地挖掘组件缺陷,以解决上述问题。在数据驱动这一点上,相当多国内外面向自动驾驶组件的测试方法研究呈现一致性(Tuncali等,2018)。

限于篇幅,本节重点围绕当前关注较多的感知、决策规划和控制组件相关测试方法进行说明。这并不意味着如地图定位、导航组件相关测试在自动驾驶中并无价值,实际上对应测试理论方法研究同样重要(Isele等,2018)。但在自动驾驶领域,高精度地图构建和导航系统测试与在现代汽车系统内部一般并无太大区别。

1) 感知组件测试。使用机器学习模型实现环境感知已经成为主流(Satılmış等,2018Rosique等,2019)。测试研究人员针对深度学习模型的测试技术,基本上是对一般AI(artificial intelligence)模型缺陷测试方法在道路驾驶垂直领域的延伸,主流的手段包括测试生成和模型算法分析。测试生成包含大规模的测试数据扩增(Jöckel等,2019)和有针对性的特殊测试数据构建(如极端边界用例、对抗样本等)(Tian等,2018)。测试人员将涉及模型输入各类数据,基于其特殊的数据类型和特定驾驶场景领域特征进行变换、添加合理扰动等操作,形成与原始数据存在一定范围内差别的多样性扩增数据。特定引导下生成数据可以挖掘学习模型“边界”,期望智能模型产生错误输出,并定性分析是否属于模型缺陷。自动的无监督测试正被广泛研究。Pei等人(2017)在DeepXplore中首先引入的神经元覆盖引导,实现了自动化生成符合触发不同DL模型行为和最大化神经元激活要求的测试样本,并在自动驾驶相关数据集中进行了实践。DeepTest(Tian等,2018)构建了多种实际自动驾驶图像变换,基于最大神经元激活引导实现自动化数据驱动测试。DeepRoad(Zhang等,2018)则在测试中引入了生成对抗网络,无需依赖具体的图像变换规则进行测试。另一部分的研究则重视模型本身,面向感知组件关键算法(Krook等,2019),如点云数据处理(Navarro等,2017)和数据融合算法等(Emzivat等,2018)。Emzivat等人(2018)还利用形式化方法设计多传感器数据融合系统,在多传感器融合方案中使用基于概率的Petri网为已知算法建模,提升了自动驾驶软件感知能力。

2) 决策规划组件测试。面向自动驾驶规划决策组件测试已经引起很多研究人员的重视(Schwarting等,2018)。在决策规划方面,高科技公司和研究人员正在探索非传统基于规则的模型算法可用性,如深度学习和强化学习(Isele等,2018)。这表明了一定的趋势,即自动驾驶需要传统车辆路径规划算法、专家系统和机器学习的有效结合,以提高自动驾驶汽车规划和决策能力,也为新的测试理论方法提供了思路。Li等人(2016a)Li等人(2016b; 2018)利用分层的博弈论决策框架来对驾驶员决策和交通交互进行建模,测试评估了基于Stackelberg策略和决策树的两种算法。Rizaldi等人(2018)提出一种形式化验证方法,规划器利用Isabelle/HOL(high-order logic)中的自动机进行辅助定理证明。该方法确定了数值健全性(无浮点数错误)和逻辑正确性(满足线性时序逻辑中特定的计划)两个一般性质。

3) 控制组件测试。控制组件测试常常涉及对应的底盘硬件,包含几种主要类型、速度控制、转向控制、制动控制和稳定控制(Canale等,2010)等。现代车辆驾驶系统极大地丰富了高精度电子传感器与信息技术,广泛引入了电子油门、电子助力转向模块,使得车辆能够实现“drive-by-wire”,这为相关的自动驾驶控制组件的开发研究以及针对性的软件质量保障方法探索提供了良好支持。除了基本的控制组件模型仿真测试手段之外,很多研究者进行面向控制算法的性能和可靠性评估,探索用于替代手动测试的自动化测试构建方法。Tuncali等人(2020)提出的测试框架使用信号时态逻辑(signal temporal logic,STL)公式对测试用例进行评估,他们提出的框架能够针对自动驾驶软件机器学习控制算法进行有效验证,并利用包含覆盖表的多种方式构建用于增强模型算法的数据样本。Jha和Raman(2016)提出STL的概率拓展了机会约束时态逻辑(chance-constrained temporal logic,C2TL),可以指定存在不确定性时的正确要求。使用AI算法将转向命令直接对接控制组件的研究有了一定的进展,但是相关验证和评估仍然依赖对比方法(Rausch等,2018)。而针对传统控制逻辑和控制算法的测试,形式化方法作用仍然占据主要地位。Duplouy(2018)提出了一种统计模型检验的方法,利用统计模型检验工具Casmos对车辆控制器进行验证,并评估自动驾驶控制器安全性。Skruch等人(2017)设计了一种数据驱动的自动驾驶评估验证方法,利用大规模测试数据的黑盒测试评估控制系统。

4 挑战与展望

测试技术是自动驾驶软件研发中的一项重要的基础技术,能够极大地提升自动驾驶系统的可靠性与稳定性。同时,以测试为目的生成或获取的大量感知数据,能够支持自动驾驶软件的研发与迭代,能够使得智能模型在运行过程中,精确度与健壮性均得到较好提升。然而,当前面向自动驾驶软件的测试技术,在研发过程中,依然面临较多新的问题与挑战。下面基于多源数据的自动化测试技术与面向人工智能模型的测试技术两方面可能遇到的问题与挑战进行讨论。

4.1 基于多源数据的自动化测试技术

自动驾驶系统是一种典型的信息—物理融合系统,其运行状态不仅由用户输入信息及软件系统内部状态决定,同时也受到物理环境的影响。自动驾驶软件需要通过摄像头、雷达等传感器捕获多源数据信息,从而完成对外界环境的感知。通常情况下,自动驾驶软件需要将多源数据信息完成融合,然后输入至智能模型完成系统驾驶行为的决策。然而,多源数据的获取,却需要消耗较多资源。

虽然目前业界已经有少量的面向自动驾驶的感知数据集开源,如KITTI(A project of Karlsruhe Institute of Technology and Toyota Technological Institute at Chicago)(Geiger等,2013),Waymo数据集(Sun等,2020)等,然而自动驾驶软件的输入域极其复杂庞大,依赖于这些开源数据集与仿真场景的测试方法,极难对输入域形成较好的覆盖。如何采用自动化的方法获取多源数据以对自动驾驶软件完成较为充分的测试,是一个具有挑战性的问题。后续的一个重要研究方向是期望在资源限制的条件下,部分自动化软件的测试。例如,如何自动化地获取大量特殊驾驶场景的图像数据与点云数据;如何获得不同天气与光照条件下的图像信息;如何在有较为严格的成本约束条件下,获得多行人多种类载具共同存在场景下的环境信息?这些问题的探究与解决,对于扩大对自动驾驶软件输入域的有效覆盖,降低测试成本,提高系统测试充分性,具有极其重要的意义。

4.2 面向人工智能模型的测试技术

自动驾驶软件作为一种典型的智能软件系统,人工智能模型对于驾驶决策及系统行为具有极其重要的影响。在本文第2节所介绍的自动驾驶软件常见软件架构中,人工智能模型影响到的功能包括:物体识别、路径规划、行为预测、驾驶决策和车辆定位等。然而,人工智能模型的质量保障却面临诸多困难。首先,当前人工智能模型广泛采用深度神经网络实现。虽然该技术可以在特定任务上获得较高的精确度,但是由于其结果缺乏可解释性,用户与开发人员无法对其行为进行分析确认。这为测试技术的研发以及测试充分性的评估,带来了极大的困难。其次,深度神经网络可能存在一定的安全性问题(Rakin等,2019)。当前存在一系列的针对深度神经网络的攻击手段与方法对自动驾驶软件造成了较大威胁。例如,Zhou等人(2020)提出通过在路沿广告牌上插入特殊标记,可以误导神经网络的行为,从而使得自动驾驶软件做出错误的驾驶决策。人工智能模型的正确性与安全性,直接决定了自动驾驶软件的稳定性与可靠性。因此,如何构建面向人工智能模型的测试技术,是未来自动驾驶软件的测试人员需要面对的一项重要挑战。

5 结语

自动驾驶系统是一种以多源信息为输入的信息—物理融合系统,其中的软件系统内部结构复杂,外部运行环境多样,其研发构建过程中涉及包括计算机视觉、数据融合、目标检测和路径规划等一系列技术。自动驾驶软件具有极高的社会价值与经济效益,通常应用于交通、物流、救援等安全攸关场景,其系统稳定性与健壮性已成为业界关注的焦点。本文从自动驾驶软件的发展现状出发,归纳总结了包括数据驱动测试、仿真测试、面向人工智能组件测试等在内的主要测试方法与技术。然而,当前自动驾驶软件的测试技术研发依然面临一系列的挑战,如高结构化感知测试数据的获取问题、智能决策模块的测试谕言问题、多源输入域多样性问题等。这些问题的研究与探索,能够较好地促进面向自动驾驶软件的测试技术的发展,为自动驾驶软件的广泛应用提供更好的质量保障。

参考文献

  • Ahamed M F S, Tewolde G and Kwon J. 2018. Software-in-the-loop modeling and simulation framework for autonomous vehicles//Proceedings of 2018 IEEE International Conference on Electro/Information Technology. Rochester, USA: IEEE: 305-310[DOI: 10.1109/EIT.2018.8500101]
  • Behere S and Torngren M. 2015. A functional architecture for autonomous driving//Proceedings of the 1st International Workshop on Automotive Software Architecture. Montreal, Canada: IEEE: 3-10[DOI: 10.1145/2752489.2752491]
  • Bertozzi M, Bombini L, Broggi A, Buzzoni M, Cardarelli E, Cattani S, Cerri P, Coati A, Debattisti S, Falzoni A, Fedriga R I, Felisa M, Gatti L, Giacomazzo A, Grisleri P, Laghi M C, Mazzei L, Medici P, Panciroli M, Porta P P, Zani P and Versari P. 2011. VIAC: an out of ordinary experiment//2011 IEEE Intelligent Vehicles Symposium. Baden-Baden, Germany: IEEE: 175-180[DOI: 10.1109/IVS.2011.5940531]
  • Blanco M, Atwood J, Russell S, Trimble T, McClafferty J and Perez M. 2016. Automated Vehicle Crash Rate Comparison Using Naturalistic Data. Blacksburg, VA: Virginia Tech Transportation Institute
  • Briefs U. 2015. Mcity grand opening. Research Review, 46(3): 1-10
  • Broggi A, Buzzoni M, Debattisti S, Grisleri P, Laghi M C, Medici P, Versari P. 2013. Extensive tests of autonomous driving technologies. IEEE Transactions on Intelligent Transportation Systems, 14(3): 1403-1415 [DOI:10.1109/TITS.2013.2262331]
  • Broggi A, Cerri P, Debattisti S, Laghi M C, Medici P, Panciroli M and Prioletti A. 2014. Proud-public road urban driverless test: architecture and results//2014 IEEE Intelligent Vehicles Symposium. Dearborn, USA: IEEE: 648-654[DOI: 10.1109/IVS.2014.6856478]
  • Brogle C, Zhang C, Lim K L, Bräunl T. 2019. Hardware-in-the-loop autonomous driving simulation without real-time constraints. IEEE Transactions on Intelligent Vehicles, 4(3): 375-384 [DOI:10.1109/TIV.2019.2919457]
  • Buehler M, Iagnemma K, Singh S. 2009. The DARPA Urban Challenge:Autonomous Vehicles in City Traffic. Berlin, Heidelberg: Springer [DOI:10.1007/978-3-642-03991-1]
  • Canale M, Fagiano L, Razza V. 2010. Approximate NMPC for vehicle stability:design, implementation and SIL testing. Control Engineering Practice, 18(6): 630-639 [DOI:10.1016/j.conengprac.2010.03.002]
  • Chao Q, Bi H, Li W, Mao T, Wang Z, Lin MC, Deng Z. 2020. A survey on visual traffic simulation:models, evaluations, and applications in autonomous driving. Computer Graphics Forum, 39(1): 287-308 [DOI:10.1111/cgf.13803]
  • Chen Y, Chen S T, Zhang T, Zhang S Y and Zheng N N. 2018. Autonomous vehicle testing and validation platform: integrated simulation system with hardware in the loop//2018 IEEE Intelligent Vehicles Symposium. Changshu, China: IEEE: 949-956[DOI: 10.1109/IVS.2018.8500461]
  • Chowdhury M, Gawande A and Wang L. 2017. Secure information sharing among autonomous vehicles in NDN//Proceedings of the 2nd IEEE/ACM International Conference on Internet-of-Things Design and Implementation. Pittsburgh, USA: IEEE: 15-26
  • Corso A, Du P, Driggs-Campbell K and Kochenderfer M J. 2019. Adaptive stress testing with reward augmentation for autonomous vehicle validatio//Proceedings of 2019 IEEE Intelligent Transportation Systems Conference. Auckland, New Zealand: IEEE: 163-168[DOI: 10.1109/ITSC.2019.8917242]
  • Debouk R I, Czerny B J, D'ambrosio J G, Joyce J, Osella M and Ramachandra V V. 2013. Method and system for ensuring operation of limited-ability autonomous driving vehicles. USA, No.8618922
  • Deng W W, Lee Y H and Zhao A N. 2008. Hardware-in-the-loop simulation for autonomous driving//Proceedings of the 34th Annual Conference of IEEE Industrial Electronics. Orlando, USA: IEEE: 1742-1747[DOI: 10.1109/IECON.2008.4758217]
  • Duplouy Y. 2018. Applying Formal Methods to Autonomous Vehicle Control. Sacaly: Université Paris-Saclay
  • Emzivat Y, Ibañez-Guzmán J, Illy H, Martinet P and Roux O H. 2018. A formal approach for the design of a dependable perception system for autonomous vehicles//Proceedings of the 21st International Conference on Intelligent Transportation Systems. Maui, USA: IEEE: 2452-2459[DOI: 10.1109/ITSC.2018.8569903]
  • Garcia J, Feng Y, Shen J J, Almanee S, Xia Y and Chen Q A. 2020. A comprehensive study of autonomous vehicle bugs//Proceedings of the 42nd ACM/IEEE International Conference on Software Engineering. Seoul, South Korea: ACM: 385-396[DOI: 10.1145/3377811.3380397]
  • Geiger A, Lenz P, Stiller C, Urtasun R. 2013. Vision meets robotics:the KITTI dataset. The International Journal of Robotics Research, 32(11): 1231-1237 [DOI:10.1177/02783649134-91297]
  • Gietelink O, Ploeg J, De Schutter B, Verhaegen M. 2006. Development of advanced driver assistance systems with vehicle hardware-in-the-loop simulations. Vehicle System Dynamics, 44(7): 569-590 [DOI:10.1080/00423110600563338]
  • Gietelink O J, Verburg D J, Labibes K and Oostendorp A F. 2004. Pre-crash system validation with PRESCAN and VEHIL//2004 IEEE Intelligent Vehicles Symposium. Parma, Italy: IEEE: 913-918[DOI: 10.1109/IVS.2004.1336507]
  • Helle P, Schamai W, Strobel C. 2016. Testing of autonomous systems-challenges and current state-of-the-art. INCOSE International Symposium, 26(1): 571-584 [DOI:10.1002/j.2334-5837.2016.00179.x]
  • Isele D, Rahimi R, Cosgun A, Subramanian K and Fujimura K. 2018. Navigating occluded intersections with autonomous vehicles using deep reinforcement learning//Proceedings of 2018 IEEE International Conference on Robotics and Automation. Brisbane, Australia: IEEE: 2034-2039[DOI: 10.1109/ICRA.2018.8461233]
  • Jha S and Raman V. 2016. Automated synthesis of safe autonomous vehicle control under perception uncertainty//The 8th International Symposium on NASA Formal Methods. Minneapolis, USA: Springer: 117-132[DOI: 10.1007/978-3-319-40648-0_10]
  • Jo K, Kim J, Kim D, Jang C, Sunwoo M. 2014. Development of autonomous car-Part I:distributed system architecture and development process. IEEE Transactions on Industrial Electronics, 61(12): 7131-7140 [DOI:10.1109/TIE.2014.2321342]
  • Jo K, Kim J, Kim D, Jang C, Sunwoo M. 2015. Development of autonomous car-Part Ⅱ:a case study on the implementation of an autonomous driving system based on distributed architecture. IEEE Transactions on Industrial Electronics, 62(8): 5119-5132 [DOI:10.1109/TIE.2015.2410258]
  • Joshi A. 2017. Powertrain and chassis hardware-in-the-loop (HIL) Simulation of Autonomous Vehicle Platform. No.2017-01-1991. SAE[DOI: 10.4271/2017-01-1991]
  • Jöckel L, Kläs M, and Martínez-Fernández S.2019.Safe traffic sign recognition through data augmentation for autonomous vehicles software//Proceedings of the 19th IEEE International Conference on Software Quality, Reliability and Security Companion.Sofia, Bulgaria: IEEE: 540-541[DOI: 10.1109/QRS-C.2019.00114]
  • Ko M K. 2015. Autonomous vehicle driving support system and autonomous driving method performed by the same. USA, No.14.132249
  • Koopman P, Wagner M. 2016. Challenges in autonomous vehicle testing and validation. SAE International Journal of Transportation Safety, 4(1): 15-24 [DOI:10.4271/2016-01-0128]
  • Koopman P, Wagner M. 2017. Autonomous vehicle safety:an interdisciplinary challenge. IEEE Intelligent Transportation Systems Magazine, 9(1): 90-96 [DOI:10.1109/MITS.2016.2583491]
  • Krook J, Svensson L, Li Y C, Feng L and Fabian M. 2019. Design and formal verification of a safe stop supervisor for an automated vehicle//Proceedings of 2019 International Conference on Robotics and Automation. Montreal, Canada: IEEE: 5607-5613[DOI: 10.1109/ICRA.2019.8793636]
  • Kufieta K and Ditze M. 2017. A virtual environment for the development and validation of highly automated driving systems//The 17th Internationales Stuttgarter Symposium. Wiesbaden: Springer: 1391-1401[DOI: 10.1007/978-3-658-16988-6_106]
  • Lee T B. 2019. Autopilot was active when a Tesla crashed into a truck, killing driver[EB/OL].[2020-03-30]. https://arstechnica.com/cars/2019/05/feds-autopilot-was-active-during-deadly-march-tesla-crash/
  • Levinson J, Askeland J, Becker J, Dolson J, Held D, Kammel S, Kolter J Z, Langer D, Pink O, Pratt V, Sokolsky M, Stanek G, Stavens D, Teichman A, Werling M and Thrun S. 2011. Towards fully autonomous driving: systems and algorithms//2011 IEEE Intelligent Vehicles Symposium. Baden-Baden, Germany: IEEE: 163-168[DOI: 10.1109/IVS.2011.5940562]
  • Li L, Huang W L, Liu Y H, Zheng N N, Wang F Y. 2016a. Intelligence testing for autonomous vehicles:a new approach. IEEE Transactions on Intelligent Vehicles, 1(2): 158-166 [DOI:10.1109/TIV.2016.2608003]
  • Li N, Oyler D, Zhang M X, Yildiz Y, Girard A and Kolmanovsky I. 2016b. Hierarchical reasoning game theory based approach for evaluation and testing of autonomous vehicle control systems//Proceedings of the 55th IEEE Conference on Decision and Control. Las Vegas, USA: IEEE: 727-733[DOI: 10.1109/CDC.2016.7798354]
  • Li N, Oyler D W, Zhang M X, Yildiz Y, Kolmanovsky I, Girard A R. 2018. Game theoretic modeling of driver and vehicle interactions for verification and validation of autonomous vehicle control systems. IEEE Transactions on Control Systems Technology, 26(5): 1782-1797 [DOI:10.1109/TCST.2017.2723574]
  • Li W, Pan C W, Zhang R, Ren J P, Ma Y X, Fang J, Yan F L, Geng Q C, Huang X Y, Gong H J, Xu W W, Wang G P, Manocha D, Yang R G. 2019. AADS:augmented autonomous driving simulation using data-driven algorithms. Science Robotics, 4(28): #eaaw0863 [DOI:10.1126/scirobotics.aaw0863]
  • Lin S C, Zhang Y Q, Hsu C H, Skach M, Haque E, Tang L J and Mars J. 2018. The architectural implications of autonomous driving: constraints and acceleration//Proceedings of the 23rd International Conference on Architectural Support for Programming Languages and Operating Systems. Williamsburg, USA: ASPLOS: 751-766[DOI: 10.1145/3173162.3173191]
  • Lyu C, Cao D P, Zhao Y F, Auger D J, Sullman M, Wang H J, Dutka L M, Skrypchuk L, Mouzakitis A. 2018. Analysis of autopilot disengagements occurring during autonomous vehicle testing. IEEE/CAA Journal of Automatica Sinica, 5(1): 58-68 [DOI:10.1109/JAS.2017.7510745]
  • Maurer M, Gerdes J C, Lenz B, Winner H. 2016. Autonomous Driving:Technical, Legal and Social Aspects. Berlin, Heidelberg: Springer [DOI:10.1007/978-3-662-48847-8]
  • McCaffrey M. 2017. Unreal Engine VR Cookbook:Developing Virtual Reality with UE4. Boston: Addison-Wesley
  • McNaughton M, Urmson C, Dolan J M and Lee J W. 2011. Motion planning for autonomous driving with a conformal spatiotemporal lattice//Proceedings of 2011 IEEE International Conference on Robotics and Automation. Shanghai, China: IEEE: 4889-4895[DOI: 10.1109/ICRA.2011.5980223]
  • Minnerup P and Knoll A. 2014. Testing autonomous driving systems against sensor and actuator error combinations//2014 IEEE Intelligent Vehicles Symposium. Dearborn, USA: IEEE: 561-566[DOI: 10.1109/IVS.2014.6856565]
  • Navarro P J, Fernández C, Borraz R, Alonso D. 2017. A machine learning approach to pedestrian detection for autonomous vehicles using high-definition 3D range data. Sensors, 17(1): #18 [DOI:10.3390/s17010018]
  • Papp Z, Labibes K, Thean A C and van Elk M G. 2003. Multi-agent based HIL simulator with high fidelity virtual sensors//IEEE IV2003 Intelligent Vehicles Symposium. Columbus, USA: IEEE: 213-218[DOI: 10.1109/IVS.2003.1212911]
  • Pei K X, Cao Y Z, Yang J F and Jana S. 2017. DeepXplore: automated whitebox testing of deep learning systems//The 26th Symposium on Operating Systems Principles. Shanghai, China: ACM: 1-18[DOI: 10.1145/3132747.3132785]
  • Rakin A S, He Z Z and Fan D L. 2019. Bit-flip attack: CRUSHING neural network with progressive bit search//Proceedings of 2019 IEEE/CVF International Conference on Computer Vision. Seoul, South Korea: IEEE: 1211-1220[DOI: 10.1109/ICCV.2019.00130]
  • Rausch V, Hansen A, Solowjow E, Liu C, Kreuzer E and Hedrick J K. 2017. Learning a deep neural net policy for end-to-end control of autonomous vehicles//Proceedings of 2017 American Control Conference. Seattle, USA: IEEE: 4914-4919[DOI: 10.23919/ACC.2017.7963716]
  • Rosique F, Navarro P J, Fernández C, Padilla A. 2019. A systematic review of perception system and simulators for autonomous vehicles research. Sensors, 19(3): #648 [DOI:10.3390/s19030648]
  • Sampaio R C B, Becker M, Siqueira A A G, Freschi L W and Montanher M P. 2013. FVMS: a novel SiL approach on the evaluation of controllers for autonomous MAV//Proceedings of 2013 IEEE Aerospace Conference. Big Sky, USA: IEEE: 1-8[DOI: 10.1109/AERO.2013.6497415]
  • Satılmış Y, Tufan F, Şara M, Karslı M, Eken S and Sayar A. 2018. CNN based traffic sign recognition for mini autonomous vehicles//Proceedings of the 39th International Conference on Information Systems Architecture and Technology-ISAT 2018. Cham: Springer: 85-94[DOI: 10.1007/978-3-319-99996-8_8]
  • Schöner H P. 2018. Simulation in development and testing of autonomous vehicles//The 18th Internationales Stuttgarter Symposium. Wiesbaden, Germany: Springer: 1083-1095[DOI: 10.1007/978-3-658-21194-3_82]
  • Schwarting W, Alonso-Mora J, Rus D. 2018. Planning and decision-making for autonomous vehicles. Annual Review of Control, Robotics, and Autonomous Systems, 1: 187-210 [DOI:10.1146/annurev-control-060117-105157]
  • Shah S, Dey D, Lovett C and Kapoor A. 2018. AirSim: high-fidelity visual and physical simulation for autonomous vehicles//Hutter M and Siegwart R, eds. Field and service robotics. Cham: Springer: 621-635[DOI: 10.1007/978-3-319-67361-5_40]
  • Shu H, Yuan K, Xiu H L, Xia Q, He S. 2019. Construction of basic test scenarios of automated vehicles. China Journal of Highway and Transport, 32(11): 245-254 (舒红, 袁康, 修海林, 夏芹, 何杉. 2019. 自动驾驶汽车基础测试场景构建研究. 中国公路学报, 32(11): 245-254) [DOI:10.19721/j.cnki.1001-7372.2019.11.025]
  • Sievers G, Seiger C, Peperhowe M, Krumm H and Graf S. 2018. Driving simulation technologies for sensor simulation in SIL and HIL environments//Proceedings of Driving Simulation Conference Europe 2018. Antibes, France: [s.n.]: 127-130
  • Skruch P, Długosz M and Markiewicz P. 2017. A formal approach for the verification of control systems in autonomous driving applications//Proceedings of the 19th Polish Control Conference. Kraków, Poland: Springer: 178-189[DOI: 10.1007/978-3-319-60699-6_18]
  • Sun P, Kretzschmar H, Dotiwalla X, Chouard A, Patnaik V, Tsui P, Guo J, Zhou Y, Chai Y M, Caine B and Vasudevan V. 2020. Scalability in perception for autonomous driving: waymo open dataset//Proceedings of 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle, USA: IEEE, 2443-2451[DOI: 10.1109/CVPR42600.2020.00252]
  • Tettamanti T, Szalai M, Vass S and Tihanyi V. 2018. Vehicle-in-the-loop test environment for autonomous driving with microscopic traffic simulation//Proceedings of 2018 IEEE International Conference on Vehicular Electronics and Safety. Madrid, Spain: IEEE: 1-6[DOI: 10.1109/ICVES.2018.8519486]
  • Tian Y C, Pei K X, Jana S and Ray B. 2018. Deeptest: automated testing of deep-neural-network-driven autonomous cars//Proceedings of the 40th IEEE/ACM International Conference on Software Engineering. Gothenburg, Sweden: IEEE: 303-314[DOI: 10.1145/3180155.3180220]
  • Tuncali C E, Fainekos G, Ito H and Kapinski J. 2018. Simulation-based adversarial test generation for autonomous vehicles with machine learning components//2018 IEEE Intelligent Vehicles Symposium. Changshu, China: IEEE: 1555-1562[DOI: 10.1109/IVS.2018.8500421]
  • Tuncali C E, Fainekos G, Prokhorov D, Ito H, Kapinski J. 2020. Requirements-driven test generation for autonomous vehicles with machine learning components. IEEE Transactions on Intelligent Vehicles, 5(2): 265-280 [DOI:10.1109/TIV.2019.2955903]
  • Uricár M, Hurych D, Křížek P and Yogamani S. 2019. Challenges in designing datasets and validation for autonomous driving//Proceedings of the 14th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications. Funchal, Portugal: IEEE: 653-659[DOI: 10.5220/0007690706530659]
  • Wakabayashi D. 2020. Self-driving Uber car kills pedestrian in Arizona, where robots roam[EB/OL].[2020-03-30]. https://sites.psu.edu/ist110pursel/2018/03/20/self-driving-uber-car-kills-pedestrian-in-arizona-where-robots-roam/
  • Waltz E, Llinas J. 1990. Multisensor data fusion. Boston: Artech house
  • Wang G J, Deng W W, Zhang S L, Wang J S and Yang S. 2018. A Comprehensive Testing and Evaluation Approach for Autonomous Vehicles. No.2018-01-0124. SAE
  • Wei J H, Wang W and Gevorkian A. 2016. Autonomous vehicle simulation system. USA, No.20160314224
  • Wolter S and Golm F. 2016. Method and system for controlling a vehicle during an autonomous control mode. USA, No.9483927
  • Wotawa F. 2017. Testing autonomous and highly configurable systems: challenges and feasible solutions//Watzenig D and Horn M, eds. Automated Driving. Cham: Springer: 519-532[DOI: 10.1007/978-3-319-31895-0_22]
  • Wotawa F, Peischl B, Klück F, Nica M. 2018. Quality assurance methodologies for automated driving. e and i Elektrotechnik und Informationstechnik, 135(4/5): 322-327 [DOI:10.1007/s00502-018-0630-7]
  • Yan C G, Xie H T, Yang D B, Yin J, Zhang Y D, Dai Q H. 2018. Supervised hash coding with deep neural network for environment perception of intelligent vehicles. IEEE Transactions on Intelligent Transportation Systems, 19(1): 284-295 [DOI:10.1109/TITS.2017.2749965]
  • Yao S W, Zhang J H, Hu Z R, Wang Y, Zhou X L. 2018. Autonomous-driving vehicle test technology based on virtual reality. The Journal of Engineering, (16): 1768-1771 [DOI:10.1049/joe.2018.8303]
  • Yu Z P, Xing X Y, Chen J Y. 2019. Review on automated vehicle testing technology and its application. Journal of Tongji University (Natural Science), 47(4): 540-547 (余卓平, 邢星宇, 陈君毅. 2019. 自动驾驶汽车测试技术与应用进展. 同济大学学报(自然科学版), 47(4): 540-547) [DOI:10.11908/j.issn.0253-374x.2019.04.013]
  • Yue X, Wu B, Seshia S A, Keutzer K, Sangiovanni-Vincentelli A L. 2018. A lidar point cloud generator: from a virtual world to autonomous driving//Proceedings of 2018 ACM on International Conference on Multimedia Retrieval. New York, USA: IEEE: 458-464[DOI: 10.1145/3206025.3206080]
  • Zhang C, Liu Y H, Zhao D C and Su Y Q. 2014. RoadView: a traffic scene simulator for autonomous vehicle simulation testing//Proceedings of the 17th IEEE International Conference on Intelligent Transportation Systems. Qingdao, China: IEEE: 1160-1165[DOI: 10.1109/ITSC.2014.6957844]
  • Zhang M S, Zhang Y Q, Zhang L M, Liu C and Khurshid S. 2018. DeepRoad: GAN-based metamorphic testing and input validation framework for autonomous driving systems//Proceedings of the 33rd IEEE/ACM International Conference on Automated Software Engineering. Montpellier, France: IEEE: 132-142[DOI: 10.1145/3238147.3238187]
  • Zhao D C, Liu Y H, Zhang C and Li Y C. 2015. Autonomous driving simulation for unmanned vehicles//Proceedings of 2015 IEEE Winter Conference on Applications of Computer Vision. Waikoloa, USA: IEEE: 185-190[DOI: 10.1109/WACV.2015.32]
  • Zhou H S, Li W, Kong Z K, Guo J F, Zhang Y Q, Yu B, Zhang L M and Liu C. 2020. DeepBillboard: systematic physical-world testing of autonomous driving systems//Proceedings of the 42nd ACM/IEEE International Conference on Software Engineering. Seoul, South Korea: ICSE: 347-358[DOI: 10.1145/3377811.3380422]
  • Zhu B, Zhang P X, Zhao J, Chen H, Xu Z G, Zhao X M, Deng W W. 2019. Review of scenario-based virtual validation methods for automated vehicles. China Journal of Highway and Transport, 32(6): 1-19 (朱冰, 张培兴, 赵健, 陈虹, 徐志刚, 赵祥模, 邓伟文. 2019. 基于场景的自动驾驶汽车虚拟测试研究进展. 中国公路学报, 32(6): 1-19) [DOI:10.19721/j.cnki.1001-7372.2019.06.001]