摘要
利用仿真技术的场景测试方法已成为国内外研究热点,其中如何在大量场景中找到有价值的关键场景至关重要。针对上述问题,基于优化搜索算法提出了一种面向决策规划系统的关键场景自动化测试方法,能够克服传统场景测试方法的盲目性,提高测试效率。基于决策规划系统硬件在环测试平台,验证了该方法的有效性,并对比了不同搜索算法的关键场景生成效果。实验结果表明,贝叶斯优化算法和遗传算法相比于随机搜索算法产生危险关键场景的数量提高了3.3倍和2.5倍,配合自动化测试手段,方法能够有效提高场景测试效率。
在自动驾驶汽车飞速发展和广泛应用的进程中,自动驾驶事故屡有发生,其安全性成为自动驾驶技术发展的关键。合理的测试和验证方法是发现系统缺陷并优化系统功能,从而避免类似事故的重要手
为解决上述问题,在基于场景测试方法的基础上,有学者提出了基于数据优化搜索的场景测试方法。Bühler
针对上述问题,本文提出一种基于目标优化搜索的决策规划系统自动化测试方法,能够针对性地为被测对象生成关键场景并实现自动化测试;本研究基于决策规划系统硬件在环仿真测试平台,对方法的有效性进行了验证;并进一步对比分析了贝叶斯优化算法(Bayesian optimization,BO)、遗传算法(genetic algorithm,GA)、随机搜索算法(random searching,RS)三种搜索算法在生成关键测试场景时的效果,探索面向不同实际测试需求的最优算法。
仿真场景测试基于真实交通环境包含的各类要素及其特征进行抽象和简化,从而构建出满足测试需要的仿真测试场景。但由于场景中要素数量众多、要素参数连续变化等问题,场景数量呈现爆炸式增长的趋势,穷尽式测试方案是不具备可操作性的。同时,随机生成的大多数测试场景是“低风险的”正常行驶场景,测试价值较低,测试更应关注使车辆在特定层面出现临界状态的关键场景。本文中的关键场景主要是指安全性相关的危险场景。关键场景的产生可能有系统外部和内部的原因,一方面,它们可能由外部交通参与者的危险驾驶行为导致。另一方面,被测系统自身的缺陷和决策规划的非线性逻辑,也会形成关键场景。
本文将被测对象视为黑箱,以场景参数空间作为输入,基于被测对象行为表现的安全性评估作为输出,将关键场景生成与测试问题转化为目标优化问题。基于优化算法不断寻找“最值”的性质,有目的性地搜索符合需求的测试场景。同时,基于仿真环境下的自动化测试工具,可以实现自动化迭代计算,提高场景测试效率。
本文的核心思路是将场景测试问题转化为目标优化问题,首先确定问题的输入、输出以及连接输入与输出的场景生成方法。本文在场景描述时,使用功能场景、逻辑场景、具体场景的三层场景结

图 1 关键场景生成与测试框架
Fig. 1 Framework of critical scenario generation and testing
设代表逻辑场景参数空间,基于在环仿真平台,定义仿真函数sim的输入是中的场景参数向量,输出为原始仿真结果,如自车和其他交通参与者的运动轨迹等。另外,定义成本函数,其输入为原始仿真结果,输出为成本函数值, σ为设定的成本函数危险阈值。由此,场景参数向量和成本函数值通过在仿真平台中运行的仿真实验形成了如
(1) |
综上,面向决策规划系统的关键场景生成问题,可以转化为如
(2) |
对于该优化问题,搜索算法表征了寻找关键场景的策略。本文的黑箱存在两方面特性:其一,仿真软件的不确定性以及仿真消息可能发生的随机延迟或丢失使成本函数值存在一定随机误差,降低了成本函数的导数计算的可靠性。其二,实时硬件的引入增高了单轮仿真实验的时间成本。因此,通过对比不同搜索算法的随机误差处理策略和效率,本文最终选择了贝叶斯优化算法和遗传算法作为搜索算法。
在使用贝叶斯优化算法进行关键场景搜索时,需要结合黑箱特性设计算法参数。考虑到模型表征非线性函数以及处理随机误差的能力,本文选用了如
(3) |
(4) |
(5) |
在使用遗传算法进行关键场景搜索时,需要结合优化问题特性选择具体参数。对于编码方式,传统的二进制编码以离散方式搜索,可能使欧式距离较小的两组场景参数存在着较大的汉明距离,进而削弱交叉和突变操作的效果,使算法不能有效探索整个场景参数空间,陷入局部优化之中。因此本文采用实数编码的方式,以在连续域上搜索整个场景参数空间。对于交叉方法,本文采用模拟二值交叉方式以结合二进制编码的搜索特点,提升产生新的场景参数组合的概率。对于变异方法,考虑场景参数组合作为染色体的特性,本文采用高斯突变算子,对染色体上每个基因即具体的场景参数都进行在一定阈值范围内的概率变异。对于选择方法,本文采用了锦标赛选择方法以提高收敛速度。
对于遗传算法需要设置的其他参数,考虑本文中单轮仿真实验的评估时间成本较高,因此种群规模不宜过大,代数也应被控制在一定合理范围内。最终选择的遗传算法参数如下。种群规模:10,进化代数:40,交叉概率:0.9,变异概率:0.1。
本文设计的自动化仿真测试框架如

图 2 自动化仿真测试框架
Fig. 2 Framework of automatic simulation testing
对于基础仿真实验配置部分,首先初始化并连接仿真服务器和仿真客户端,其次初始化仿真静态环境等基本仿真配置。
对于自动化测试部分,首先由优化搜索算法选择特定的场景参数组合,在已初始化的仿真静态环境中通过动态对象生存管理器配置相应场景参数后开始进行仿真实验,被测决策规划系统不断从仿真客户端中订阅感知信息流,并发布控制信息流。当仿真实验满足预先设定的场景终止条件时,从仿真实验中获取原始仿真结果,并由对象生存管理器销毁动态对象,由此结束当前轮次仿真实验。优化搜索算法在分析了基于相应仿真结果计算出的成本函数值后,给出下一个建议的场景评估点,即待评估的场景参数组合,再通过动态对象生存管理器根据场景参数重新生成对象并进行新一轮仿真实验。在整个过程中,被测决策规划系统一直维持在运行状态。
本节基于自动化在环仿真测试平台进行仿真测试,被测决策规划系统以硬件形式接入测试环境。基于对决策规划系统特性的分析,选取典型功能场景,分析场景参数和参数范围得到相应的逻辑场景作为测试输入。以评价指标为基础并结合规避无效场景的条件构建成本函数。接下来简要介绍实验方案部署情况。
为了提供接近决策规划系统实际运行条件的测试环境,同时保证测试效率,本文设计并搭建了基于硬件在环的决策规划系统测试平台,能够实现仿真环境与被测硬件系统的信息交互,达到在环测试的目的。平台包括硬件层、仿真层和数据层。硬件层主要包括被测决策规划系统硬件、感知信息输入接口、控制信息输出接口。本文所测试的决策规划系统为团队自行开发的面向城市自动驾驶功能的决策规划系统,具备循迹、跟车、换道、避障等功能,可满足实际仿真测试时的基本需求,该决策规划系统被部署于型号为ARK-3500的工控机中。仿真层为面向自动驾驶测试的仿真测试环境。考虑决策规划系统对场景输入信息的多样性需求,本文采用CARLA开源仿真平台作为仿真软件,提供环境要素模型、车辆动力学模型和传感器模型。本文主要研究决策规划系统性能表现,为避免感知系统的影响,本文采用理想传感器模型,基于仿真数据接口构建了导航定位和对象列表等环境信息输入方案。数据层主要用于仿真层与硬件层之间的信息传输,并管理整个自动化仿真测试过程。其将来自仿真层的感知信息和车辆自身状态信息通过软件的仿真数据接口导出,相关数据在被编码为仿真消息后,通过逻辑接口和物理接口传输至被测硬件。
在仿真环境中,对于环境车辆的行为实现方式,主要通过基于规则的行为决策和基于PID(proportion⁃integral⁃derivative)的轨迹跟踪实现。对于车道保持行为,通过使用横向和纵向的PID控制器跟随特定路径点实现;对于换道行为,环境车需检测换道触发距离是否满足设定阈值,并通过局部规划器,配合PID控制进行换道轨迹跟踪。
所要测试的功能场景可以通过多种手段确定,如对被测系统进行安全分析以获得潜在的危险场

图 3 邻车道车辆切入功能场景示意
Fig. 3 Schematic diagram of functional scenario: cut-in
在确定场景参数后,需要进一步确定每个场景参数的取值范围构建逻辑场景。参数范围的选取一般基于自然驾驶数据的分析获取参数范围及其分布情况,同时结合被测对象特点和测试需求进行确定。考虑到参数范围的选取并不是本文的研究重点,且并不影响本方法的有效性,因此本文主要结合系统的功能需求和一般经验制定场景参数范围,并设参数为均匀分布,最后通过预实验最终确定场景参数范围,如
成本函数作为本方法中搜索算法的优化目标,需要客观反映测试的总体目标和需求。本文重点关注决策规划系统的安全性,因此成本函数需要基于安全性评价指标进行设计,同时要求有一定连续性,以量化每个场景参数组合的关键程度,进而有效地应用搜索策略。此外,成本函数需要考虑排除无效场景,即期望的系统行为并未发生的场景,以提高测试效率。
对于本文研究的场景,碰撞时间(time to collision,TTC)是衡量危险程度的重要指标,且具有一定的连续
综上,本文最终设计了如
(6) |
Olsen

图 4 优化搜索算法成本函数值迭代结果
Fig. 4 Results of cost function by optimization algorithms
横轴为迭代轮次,纵轴为成本函数值。可以看出相比无优化的随机搜索,BO算法和GA算法更容易生成使被测系统发生紧急或危险状况的场景。且随着迭代次数增加,成本函数会逐步集中于TTCmin ≤3 s的范围内。但需要说明的是,试验结果并没有显示出显著的收敛性,这主要是由于本试验采用了硬件在环的测试方式,引入了部分仿真消息随机延迟或丢失导致的不确定性;此外,由于被测决策规划系统采用了动态规划加二次规划的方案进行轨迹和路径规划,每次求解的时间根据硬件状态存在一定波动,使得系统在相同的参数输入下输出结果产生波动。上述不确定性导致了算法无法稳定的向特定值收敛,但总体而言,优化算法相比随机搜索,有效地提高了生成危险场景的效率。未来,可以通过多次测试取均值的方式,或引入概率统计方法,对不确定性进行刻画和表征,提高算法的适用性。
基于本文所提出的关键场景优化搜索生成方法,按照硬件在环仿真测试的试验方案,分别应用贝叶斯优化算法、遗传算法和随机搜索算法进行了方法验证,并从方法的搜索效率和搜索质量两方面对算法效果进行了比较。
在搜索效率方面,以预先设定的最大迭代次数400轮作为实验终止条件,并进行多次测试取平均值。4次试验中,BO、GA和RS方法生成场景和测试所得不同成本函数的平均频次分布如

图 5 场景测试不同成本函数值平均频次分布
Fig. 5 Average frequency distribution of different cost function values of scenario testing
对生成的场景及测试结果做进一步分析。当TTCmin ≤0.2 s时,即认为自车与切入车发生了碰撞。在4次400轮迭代测试中,BO算法共生成了3次碰撞场景,GA算法生成6次碰撞场景,RS算法则没有产生碰撞场景。以产生0.2 s<TTCmin ≤1 s的关键危险场景的平均间隔进行比较,GA:BO:RS=1.0:5.1:17.3。结合
在搜索质量方面,本文主要关注各算法产生的关键场景的参数分散程度。由于不同优化方法采用的寻优策略存在差异性,造成场景参数分散程度有较大差别。在4次400轮迭代测试中,选取BO和GA搜索结果中成本函数值最小的37个样本,分析切入车速度、换道触发距离、换道轨迹纵向距离、前车速度4组参数中任意2组参数的分散情况,如注:对贝叶斯优化算法与遗传算法各选取了37个成本函数值最小的样本点进行离散程度分析,图中遗传算法样本点数远少于37个,是由于其多个样本点完全重叠造成。

图 6 不同参数组合的参数分散情况
Fig. 6 Parameter dispersion of different parameter combinations
针对贝叶斯优化算法和遗传算法在搜索效率和搜索质量方面的差异,本文分析认为主要原因在于二者采用的搜索策略不同。由于贝叶斯优化算法本质上采用了基于代理模型和采集函数的优化策略,遗传算法采用了基于启发式规则的优化策略,前者相比于后者更倾向于全局优化,因此在搜索质量方面表现更好,而在搜索效率和搜索速度方面表现相对较差。在实际应用中,应根据需要选择不同搜索算法,达到更好的场景生成和测试效果。
本文面向自动驾驶决策规划系统测试过程中的关键场景测试问题,以仿真场景测试方法为基础,基于优化思想,将关键场景生成问题转化为优化搜索问题,提出了一种关键场景自动化生成方法。并以典型的前车切入场景为例,验证了本文所提方法的有效性,进一步对比了不同优化搜索算法的效果。
(1) 基于优化搜索进行关键场景自动化生成,能够有效规避决策规划系统测试过程中的场景数量爆炸问题,提高发现高测试价值场景的效率,减少无意义测试场景的数量,从而提高测试效率。
(2) 不同优化算法在场景生成效果上存在差异,以本文400轮迭代次数为例,这种差异较为显著。在搜索效率方面,遗传算法的搜索效率最高,随机搜索的效率最低。遗传算法和贝叶斯优化算法搜索到的关键场景数量是随机搜索算法的3.3倍和2.5倍;产生关键危险场景的平均间隔遗传算法为9.25次每危险场景,贝叶斯优化算法为47.06次每危险场景,随机搜索则为160次每危险场景。在搜索质量方面,贝叶斯优化算法优于遗传算法,以相邻具体场景参数组合欧式距离之和表征的分散程度,前者是后者的31.4倍。
(3) 由于贝叶斯优化算法本质上采用了基于代理模型和采集函数的优化策略,遗传算法采用了基于启发式规则的优化策略,前者相比于后者更倾向于全局优化,因此在搜索质量方面表现更好,而在搜索效率方面表现相对较差。
综上,在实际应用场景下,结合不同的测试需求,选用合适的搜索算法,可以有效提高场景测试效率,加速测试过程。基于本文提出的方法,在后续研究中将考虑组合不同的优化算法以提高关键场景搜索效率和覆盖率,同时进一步提高算法的稳定性,以及对决策规划系统不确定性的适应能力;考虑引入离散型参数并结合自然驾驶数据等分析参数分布,构建更符合真实情况的多维复杂场景参数空间;构建成本函数时将综合考虑安全性、舒适性、鲁棒性等多维度指标,以满足不同功能和性能需求的关键场景测试。
作者贡献声明
邢星宇:算法优化,测试结果分析,论文撰写。
吴旭阳:算法调试与仿真测试,测试结果分析,论文修订。
刘力豪:算法调试与仿真测试,论文修订。
陈君毅:研究命题提出与构思,仿真测试方案制定,论文修订。
余卓平:论文修订与审核。
参考文献
余卓平, 邢星宇, 陈君毅. 自动驾驶汽车测试技术与应用进展[J]. 同济大学学报(自然科学版),2019,47(4):540. [百度学术]
YU Zhuoping, XING Xingyu, CHEN Junyi. Review on automated vehicles testing technology and its application[J]. Journal of Tongji University (Natural Science), 2017, 47(4):540. [百度学术]
ZIBAEENEJAD M H, ZHANG C, ATLEE J M, et al. Continuous variable-specific resolutions of feature interactions[C]//The 2017 11th Joint Meeting on Foundations of Software Engineering. Paderborn: Association for Computing Machinery, 2017: 408-418. [百度学术]
BÜHLER O, WEGENER J. Automatic testing of an autonomous parking system using evolutionary computation[R]. Warrendale: SAE, 2004. [百度学术]
ABDESSALEM R B, NEJATI S, BRIAND L C, et al. Testing advanced driver assistance systems using multi-objective search and neural networks[C]//2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE), Singapore: IEEE, 2016: 63-74. [百度学术]
TUNCALI C E, FAINEKOS G, ITO H, et al. Simulation-based adversarial test generation for autonomous vehicles with machine learning components[C]//2018 IEEE Intelligent Vehicles Symposium. Changshu: IEEE, 2018: 1555-1562. [百度学术]
KLISCHAT M, ALTHOFF M. Generating critical test scenarios for automated vehicles with evolutionary algorithms[C]//2019 IEEE Intelligent Vehicles Symposium. Paris: IEEE, 2019: 2352-2358. [百度学术]
MENZEL T, BAGSCHIK G, MAURER M. Scenarios for development, test and validation of automated vehicles[C]//2018 IEEE Intelligent Vehicles Symposium. Changshu: IEEE, 2018: 1821-1827. [百度学术]
陈君毅, 周堂瑞, 邢星宇,等. 基于系统理论过程分析的自动驾驶汽车安全分析方法研究[J]. 汽车技术, 2019(12):1. [百度学术]
CHEN Junyi, ZHOU Tangrui, XING Xingyu, et al. Research on safety analysis method for autonomous vehicles based on STPA[J]. Automobile Technology, 2019(12):1. [百度学术]
WOLSCHKE C, ROMBACH D, LIGGESMEYER P, et al. Mining test inputs for autonomous vehicles[M]//Commercial Vehicle Technology 2018. Wiesbaden: Springer Vieweg, 2018: 102-113. [百度学术]
OLSEN E C B, LEE S E, WIERWILLE W W, et al. Analysis of distribution, frequency, and duration of naturalistic lane changes[C]//Proceedings of the Human Factors and Ergonomics Society Annual Meeting. Los Angeles: SAGE Publications, 2002, 46(22): 1789-1793. [百度学术]