自动驾驶自动紧急制动关键场景测试案例提取研究
2024-01-12陈曦赵津石晴杨清蓉
陈曦, 赵津*, 石晴, 杨清蓉
(1.贵州大学机械工程学院, 贵阳 550025; 2.贵州大学现代制造技术教育部重点实验室, 贵阳 550025)
现阶段已有较多支持先进驾驶辅助系统(advanced driver assistance systems, ADAS)的L3级车辆上路,其中AEB系统作为一种重要的主动安全技术,具有很大的安全潜力,但相关报道显示事故仍层出不穷。其技术发展仍需各种自然驾驶数据测试场景支持,有研究表明自然驾驶环境下跟车场景不论时间还是里程占比都是最高的一类驾驶场景,而追尾事故的重要原因之一是驾驶员错误的跟车决策[1]。美国国家公路交通安全管理局(National Highway Traffic Safety Administration, NHTSA)统计数据表明,追尾事故是最易高发的交通事故类型,2020年最新公布的报告显示,当年美国共发生超过145万起追尾事故,占总交通事故的比例高达27.8%[2]。基于上述研究,十分有必要开展跟车场景的场景提取研究。
传统的无人驾驶测试技术包括测试矩阵和自然道路测试,理论上足够里程的实际道路测试可确保无人驾驶汽车的全面评估。目前最长的模拟测试Waymo多年来总共模拟了150×108in[3](1 in=1 609.344 m)。相关研究显示,在3σ原则下,至少需要50 in才能完全测试其安全性,然而这种测试方法需要大量的时间与经济成本,才能发现导致自动驾驶汽车失效的安全问题[4]。这种低效率问题在一定程度上阻碍了自动驾驶汽车的开发和部署。基于以上观点,传统的测试方法已不足以确保无人驾驶安全性,需要综合的方法来测试真实交通环境中的危险场景。现阶段基于场景的仿真测试,有配置灵活、重复性高、成本低等优点,早已得到广泛应用。目前的研究趋势已经转变为以仿真测试为主,开放道路测试为辅的验证方式[5]。
基于场景的测试评价是目前极具前景的自动驾驶测试方法。邓伟文等[4]将场景生成方法分为机理建模与数据驱动两大类,为未来自动驾驶汽车测试评价奠定理论基础。Menzel等[6]根据场景抽象级别将测试场景由分为:功能场景、逻辑场景、具体场景。因其简单且易操作,在测试场景生成已有较多应用。赵通等[7]提出了基于复杂度聚类的蒙特卡洛测试场景生成方法,其方法可以提高测试案例的多样性与覆盖度,其方法未考虑各参数间的依赖,假设各关键参数间独立分布,可能会产生估计错误,且未对提取到的测试用例开展仿真测试。任立海等[8]基于交通事故数据,使用聚类算法提取到14种面向自动紧急制动系统(autonomous emergency braking system, AEB)的测试,可为标准测试提供参考,但未对某一具体场景展开深入研究。Feng等[9]为解决高维重要性抽样函数难构造问题,采用密集强化学习以重要性抽样函数方差设计奖励函数,计算其最小值;郭洪艳等[10]针对人车交互场景,设计了一种重要性抽样可以筛选出有挑战性的场景,但未进行仿真测试评估;Kluck等[11]提出了一种基于遗传算法优化参数获取关键场景的场景生成方法,但该方法仅对AEB系统展开测试,其该算法会生成大量同质场景;舒红等[12]基于定强度和变强度组合测试策略结合场景关键性识别和评价指标生成关键场景测试用例,但生成测试用例未考虑真实场景分布特性。目前针对关键场景研究还不完善,测试关键场景通常涉及可能发生碰撞的测试案例,在对自动驾驶汽车进行安全验证时,这种测试方法可以加速场景测试的进程,同时也是一种经济可行的方法。然而对自然驾驶数据下跟车场景AEB关键场景测试案例提取研究仍有不足,现有研究主要关注单维度场景要素的数据分布特征,未充分考虑各关键参数间的依赖关系。同时,现有研究中,场景生成与仿真测试两部分相对割裂,无法有效验证生成场景对自动驾驶算法的测试有效性。因此,考虑自然驾驶数据集的多维分布特征,并将生成场景与测试过程密切结合的关键场景提取工作具有较大实际意义和创新价值。
现以AEB关键场景测试案例提取为研究对象,根据场景表示的3个抽象层次生成测试案例。首先根据关键字定义逻辑场景;运用自然驾驶数据集结合关键字中的主要参数结合高斯混合分布构建逻辑场景,并利用Gibbs抽样生成具体场景。为生产更多挑战性场景,以TTC为评价指标运用重要性抽样生成关键场景,聚类后生成典型场景,最后测试典型关键场景的AEB系统性能表现。
1 功能场景定义
功能场景是以文字的形式对测试场景进行描述,可以从场景要素分类进行展开,融合自然环境信息、道路信息、交通参与者信息、临时性操纵以及交通标志等。考虑场景要素对测试场景影响,本文研究参考文献[13]的层级关键字方案,并使用可赋值的关键字中的主要场景要素定义功能场景。以场景抽象层级生成测试案例流程如图1所示。
图1 自动驾驶测试案例生成框架Fig.1 Autonomous driving test case generation framework
2 逻辑场景构建
针对上述功能场景关键字的可赋值情况,将其映射为特定参数。根据自然驾驶数据特性可以为这些参数构建符合某种连续分布模型的参数空间,并生成对应的逻辑场景,选取关键字参数如表1所示。
表1 关键字关键参数映射关系Table 1 Keywords key parameter mappings
高斯混合模型(Gaussian mixture model, GMM)常用于描述多变量数据,该方法考虑到各变量间的依赖关系,较好拟合真实场景分布情况。高斯混合模型将观测到的数据视为若干个p维高斯分布的线性组合[14],即
(1)
根据机器学习相关理论,高斯混合模型过量聚类会使分布与原始分布匹配较高,在罕见事件的数据估计中,过拟合会产生误差。对于自动驾驶中的关键事件的采集,需要稳定采样参数,并能估计危险事件发生的概率。因此较小的聚类值可以提供准确的参数采样。本文选用贝叶斯信息代价函数(Bayesian information criterion,BIC)确定最小聚类数[15]。
BIC=Klnn-2lnL
(2)
式(2)中:K为模型个数;n为样本数;L为其似然函数。
在已知最小分量数的条件下,需确定高斯混合模型的各参数。EM算法现已广泛用来计算高斯混合分布各项参数[16],EM算法流程如图2所示。EM算法求高斯混合分布中未知参数的具体方法如下。
图2 EM算法流程图Fig.2 EM algorithm flowchart
假设自然驾驶数据关键参数数据集为X=(x1,x2,…,xN),其中任一个数据xn为p维向量。
(1)E步:根据给定的初始参数θ0,计算后验概率γ(znk),即自然驾驶数据关键参数xn属于第k个高斯分布的概率。
(3)
(2)M步:根据E步中的γ(znk)计算下一轮的迭代模型参数。
(4)
(5)
(6)
计算对数似然函数,即
(7)
检查参数是否收敛,不收敛则返回E步;若收敛,结束程序,返回估计值。
3 具体场景生成
逻辑场景是高斯混合分布的这类复杂高维空间上的复杂概率分布,通常很难进行精确采样。马氏链蒙特卡洛(Markov Chain Monte Carlo, MCMC)是一种对高维随机向量抽样的方法。一般有两种常用的MCMC方法,MH抽样与Gibbs抽样。MH抽样是接受或拒绝式抽样,可能会存在多次的无效尝试,导致其效率较低[17]。Gibbs抽样因为全部接受的情况,相比之下效率更高,故采用Gibbs抽样来生成具体的测试用例,Gibbs抽样算法如表2所示。
表2 Gibbs抽样算法Table 2 Gibbs sampling algorithm
假设随机变量X=(x1,x2,…,xN)表示基于Gibbs抽样的MCMC方法生成的具体测试实例集合,其中xi表示其中的一个具体测试实例,其服从上述高斯混合分布函数p(x)的p维向量,为计算关键场景的概率,定义关键场景的指示函数hε(xi)为
(8)
对于生成的具体场景集合,指示函数的均值用E表示,其值为
(9)
(10)
4 关键场景提取
现阶段常用指标有碰撞时间(time-to-collision,TTC)、碰撞距离(bumper-to-bumper distance)和车头时距(time head way, THW)是安全领域中经常使用的三个指标,在跟车场景下主要考虑TTC[18]。本文研究以两车碰撞时间作为关键场景的评价标准,其定义为两车的纵向距离与两车的速度差比值的负数,即
(11)
式(11)中:vl为前车速度;va为自动驾驶车辆的速度;R为两车的纵向距离。
跟车场景模型如图3所示。参考文献[12-13]可知,TTC<0.5 s时碰撞概率为1,当TTC在[0.5 s,2.5 s]时存在一定的碰撞概率,基于此,本文研究选取TTC在区间[0.5 s,2 s]的场景为关键场景。
鉴于蒙特卡洛方法生成的关键场景数量较少,采用重要性抽样(importance sampling,IS)获取更多关键场景。重要性抽样通过重构逻辑场景参数空间的概率分布,以g(x)代替原始分布f(x)减小方差提高低概率事件分布,通过重要性抽样方法可提高关键场景的比例,抽取更多的关键场景实例[7]。
考虑到重要性抽样生成的关键场景数量较大,可通过聚类算法对典型关键场景开展仿真测试,进一步加速仿真测试进程。聚类算法能够根据数据之间的相似性,将其划分为多个不同的类簇,分别属于不同簇的数据之间差异性较大。采用聚类分析来获取典型跟车场景的分类情况,可以显著降低个人主观因素对场景分类的负面影响。K均值算法相较于其他大部分聚类算法,聚类效果较优。使用K均值算法前需要确定最佳聚类,本文通过手肘法确定最佳聚类数。
5 仿真验证与结果分析
选取数据来自美国联邦高速公路管理局(Federal Highway Administration,FHWA)发起的一项名为下一代仿真(next generation simulation, NGSIM)的交通仿真工程,该工程采用鸟瞰的视角摄像头获取车辆的轨迹,其中车辆轨迹数据是通过专用软件进行提取、处理后生成,主要用于研究微观驾驶行为。NGSIM数据有大量车辆跟驰行数据,并由 I-80、US-101、Lankershim、Peactree 这4个路段组成,其平均车速为8.32 m/s[19]。
以公路环境下的低速跟车场景作为研究案例,对于该跟车场景影响危险场景的因素包括车辆的运动状态、天气状况和路面情况。考虑到天气状态和路面情况相对于车辆运动状态对危险场景的影响较小,因此本文研究主要关注车辆的运动状态。基于NGSIM数据集选取功能场景3个关键参数为:自动驾驶车辆的初始速度va、前车的初始速度vl以及两车的纵向距离R[8]。本文提取到NGSIM数据I-80道路中的4 288个有效低速跟车场景实例数据,以此构建逻辑场景参数空间,使用高斯混合分布拟合上述3个关键参数向量[vl、va、R]的分布,后续对该拟合分布抽样可生成测试案例。为获取高斯混合模型的最小分量个数m,对4 288个实例场景数据计算贝叶斯信息代价函数后,其结果如图4所示。
图4 贝叶斯信息代价函数曲线图Fig.4 Bayesian information cost function graph
图4显示在参数个数选取为4时取得了局部最小值,因此高斯混合分布的个数选取为4时获得最佳拟合效果。
考虑真实驾驶数据参数分布范围,重构重要性抽样分布[20]。假设关键场景边界集合为Ω,若将重要性抽样函数均值向集合Ω靠近可以提取到更多关键场景。重要性抽样函数构造原则为:对于跟车场景两车纵向距离越小,速度差的不变情况下,车辆的碰撞时间将减小,车辆发生危险的机率将会变大。
基于图5自然驾驶数据车速分布情况,车速的均值在6~8 m/s,重要性抽样函数车速均值可选取为7 m/s,为减小两车距离,重要性抽样函数两车距离纵向距离均值选取为15 m,因此重要性抽样分布构造为
图5 自然驾驶数据车速分布图Fig.5 Mapping of the speed distribution of natural driving data
(12)
采用蒙特卡洛生产30 000个具体场景,其结果如表3、图6和图7。图6和图7中三维分布图中红色区域为关键场景,绿色为安全场景,图7中分布中有大量红色关键场景聚集,关键场景分布较蒙特卡洛抽样方法明显。
表3 不同类型场景的具体场景占比Table 3 The proportion of specific scenes of different types of scenarios
图7 重要性抽样场景分布图Fig.7 Importance sampling scene distribution map
由表3可知:相较于蒙特卡洛方法,重要性抽样生成的关键场景数据提高了5.03倍。
为验证搭载AEB功能的自动驾驶车辆对这些关键场景反应性能,采用Prescan软件建立典型关键场景,Prescan自带雷达去探测前方车辆,其模型参数为:长波雷达探测长度150 m,探测角度9°,短波雷达探测长度30 m,探测角度80°。选用基于TTC的AEB算法,因其较好的安全性能得到广泛应用,其制动逻辑如表4[21]所示。
表4 基于TTC的AEB制动逻辑Table 4 AEB braking logic based on TTC
采用手肘法确定最佳聚类数,图8为手肘法结果,最佳聚类数可选取为8。对于重要性抽样方法生成的1 720组关键测试案例,使用K均值聚类后可得到8组典型测试案例,如表5所示。
表5 关键场景测试实例Table 5 Critical scenario test examples
图8 聚类个数k与聚类误差平方和SSE关系Fig.8 The number of clusters k is related to the sum of squares of the clustering error
鉴于篇幅所限,仅对关键场景案例A1的仿真测试结果做出说明。该测试实例中自动驾驶车辆以恒定速度靠近慢速行驶的前车。仿真结果如图9~图11所示。在Prescan仿真环境中,仿真开始[图11(a)]时TTC值约为1.4 s,AEB控制逻辑开始制动,AEB系统进入一级制动状态(实施40%制动),此时自动驾驶车辆速度大于前车车速,相对距离和TTC数值将会减小,当TTC的数值小于0.6时,在0.44 s时(图10),自动驾驶车辆开始2级全力制动(实施最大制动)如图9所示,其最大制动减速度为-9.92 m/s-2,在1.7 s时自动驾驶车辆停止,图11(b)是停止点,此时两车并未发生碰撞。其他测试案例的结果如表5所示,对于这些关键场景,搭载AEB功能的自动驾驶车辆均可以实现避免碰撞功能。
图9 仿真过程输出信号Fig.9 The simulation process outputs a signal
图10 自动驾驶车辆速度与加速度关系图Fig.10 Diagram of velocity and acceleration in autonomous vehicles
图11 Prescan仿真模拟图Fig.11 Prescan simulation diagram
6 结论
根据自然驾驶数据,通过高斯混合模型拟合参数分布,运用基于Gibbs抽样的蒙特卡洛方法生成用于测试的具体场景,为提高关键场景的占比数,结合重要性抽样方法重构逻辑场景参数分布。相较于蒙特卡洛方法,重要性抽样可以提高5.03倍的关键场景数量,可加速虚拟关键场景仿真的进程。
AEB系统可以实现对文正所提取的关键场景可以避免碰撞,然而制动时减速度过大会影响舒适度,后续可以对AEB算法进行满足安全性的同时提高舒适性。本文方法可以为今后无人驾驶虚拟仿真测试在其他复杂场景测试提供参考。