李平飞,王咪杨,车瑶栎,张 友,谭正平,牟小军
(1.西华大学汽车与交通学院,成都 610039;2.四川西华交通司法鉴定中心,成都 610039;3.成都智行安全科技有限公司,成都 611730)
自动驾驶汽车为解决交通事故、交通拥堵、环境污染、能源短缺等问题提供了新的途径[1],在其发展过程中必须进行大量安全测试.德国PEGASUS项目[2]提出的一种基于场景的虚拟仿真测试标准化流程,已成为自动驾驶汽车测试评价的重要环节.测试的本质是让自动驾驶车辆适应环境变化,这个“环境”即是所理解的场景库,PEGASUS项目提出了功能场景、逻辑场景和具体场景概念[3].美国国家公路交通安全管理局(National Highway Traffic Safety Administration,NHTSA)发布了关于自动驾驶的37类测试场景及相关实例的基本架构体系报告,欧洲新车评估组织[4](Euro New Car Assessment Programme Test Euro,NCAP)中对自动驾驶测试场景的描述更加具体化,并将场景细化处理后对自动驾驶功能进行测试.国内汽车检测机构和研究院所(如中国汽车工程研究院股份有限公司、中国汽车技术研究中心有限公司)在进行场景库的建立工作,但测试场景的定量研究还不够完善.
场景分类方面,James[5]对事故数据聚类得到22个聚类场景,Philippe等[6]聚类得到T形和十字路口分别有13、6个类别,并描述了共同的碰撞特征.Sui等[7]聚类得到6种典型的汽车—二轮车碰撞场景;场景评价分析方面,冯屹[8]构建出自动驾驶场景的复杂程度评价体系;孟瑾[9]和秦利[10]利用神经网络建立了风险评估模型,张朋[11]利用人工势场法建立了交通环境中复杂度的量化模型.王荣等[12]提出基于场景复杂度模型的自动驾驶车辆道路测试评价方法;吴斌等[13]对中国自然驾驶数据中的直行追尾危险工况场景的诱导因素进行分析并构建了诱导因素逻辑图.
已有学者对事故严重程度和场景定量评价做了研究,然而还未有涉及结合事故致损和场景复杂度来评价测试场景,鉴于此,本文提出了基于车-车事故的自动驾驶道路测试场景风险评价方法.通过整理国家车辆事故深度调查体系(National Automobile Accident In-Depth Investigation System,NAIS)中的车-车事故数据,构建出事故致损和场景复杂程度模型,根据模型计算出测试场景综合风险指数,以解决现有技术无法评估测试场景的风险系数以及无法选择合理的自动驾驶典型测试场景的问题.
本文的研究数据来源于NAIS数据库,是由国家市场监督管理总局缺陷产品管理中心于2011年与8家高校、事故鉴定机构及科研单位合作建立,事故采集区域覆盖我国东北、华南、西南、华北、华东等地区.以下将NAIS数据库中的事故时段、天气、道路类型、路段与公安部统计年报数据进行对比(2017年)[14],得到统计结果如图1所示.从图中可看出,NAIS数据的事故发生时段、天气等数据分布趋势与公安部统计年报基本一致.因此NAIS采集事故案例整体具备一定的代表性.
图1 NAIS数据库与公安部统计年报对比
基于NAIS事故数据库展开相应的研究工作,构建事故场景风险综合评价模型,为自动驾驶测试场景风险评价提供参考.由于场景是对车辆行驶环境的一种数学映射描述,映射过程能刻画和模拟场景的不同要素对自动驾驶汽车的影响与作用[15],考虑到车-车事故采集数据完整性和影响场景复杂度的要素设置,设定如下案例选取原则:
1)机动车类型包括乘用车、客/货车;
2)事故参与方数目为2;
3)造成人员伤亡或车辆损失.
根据所需要素在数据库中完整性进行数据整合与筛选,最终选择出670个满足要求的完整事故样本.
670例数据中场景构成因素较多,初步筛选出包括驾驶员信息、车辆信息、道路信息和环境信息在内的总共15个初始变量.
经统计一部分指标的参数如图2所示,这些指标不适用于聚类分析,如运动状态、视野、天气及路灯等5个指标中的直行、无遮挡、晴天和无路灯占样本65%以上,差异性不明显,为了挑选出合理的特征指标变量,不遗漏关键信息,也不增加冗余信息,以上5个变量不用于聚类分析.
图2 未采用参数的变量分布
此外,相似或细化的参数只为场景的设计提供借鉴,不作为主要参数用于聚类分析,如道路类型、受力方向与目标车辆相对主车行驶方向存在关联性.且自动驾驶车辆有行驶在各种行政等级道路上的可能,因此路段行政等级不选作测试参数.
最终选择的评价指标分别为:目标车辆相对主车位置,主车及其他车辆类型,主车及目标车辆碰撞速度、时段和是否有信号灯.
从NAIS数据库中提取车-车事故670例,因事先无法得到聚类数量,故选用无需提前制定聚类数量的自下而上的合并层次聚类方法.
整个聚类过程中距离的计算包括3个层级[16]:变量间距离、样本间距离、类与类之间距离:
1)计算变量间距离.在聚类分析之前需要对变量取值归一化处理,对于间隔尺度变量用归一化公式转化后进行距离计算;对于名义尺度变量需要对变量取值进行处理满足每2个取值之间的距离为1,有序尺度变量只需将变量取值设为0、1即可.
2)计算样本间距离.采用绝对值距离法,设X1,X2,…X670为取自7元总体的样本,第i个样本Xi=(xi1,xi2,…,xi7)(i=1,2,…,7),第i个和第j个样本之间的距离计算式如式(1)所示:
(1)
3)计算类与类之间的距离.采用类平均法计算类GK和类GL之间的距离公式为:
(2)
对数据进行聚类分析,对于名义尺度变量得到聚类分析样本数量的分布如表1所示.表中将有显著特征的变量取值对应的卡方值位置标记为加粗,且用加粗标记出具体取值.
表1 聚类分析样本数量分布
类别6中时段变量不符合显著性,因晨昏事故损失程度大于其余时段,故选择晨昏作为特征变量.此外类别7~12占比小,故不考虑在内.最终得到典型危险场景如表2所示,图示中1为主车,2为其他车辆.
表2 车-车碰撞致损典型场景
目前国内对交通事故严重程度分类考虑事故造成的死亡人数和财产损失,NAIS数据库按照事故严重程度分为轻微、一般、重大和特大事故4类,仅机械地计算总损失财产之和,未能合理地考虑人员劳动力和通货膨胀,所以本文将人员伤亡和车辆损失用经济折合方式综合构建致损模型,得到670例车-车事故致损指数分布.
NAIS数据库中对事故严重程度做了分类记录,还收集了乘员损伤的评价标准,将车内乘员受伤程度分为5个等级,即未受伤、轻伤、急诊、住院、死亡.未受伤的情况本文不纳入人员伤亡的计算,将轻伤、急诊、住院归为受伤类别;死亡单独归为一类,将交通事故死亡的损失总和记为E2,为每个等级的损伤建立以下损失模型.
E=E1+E2
(3)
式中,E1、E2为交通事故中造成人员不同伤情的经济损失总和及死亡损失总和.
结合NAIS数据,将车辆受损程度划分为报废、大面积严重变形、局部明显变形、轻微变形和轻微刮擦5类.在交通事故发生后,车辆损失为事故发生前车辆评估价值与事故发生后车辆评估价值之差.由于车辆报废损失后车辆无法继续使用,损失较大,因此,以车辆报废为临界点,分别计算报废损失和车辆受损损失:
V=V1+V2
(4)
式中,V1、V2为交通事故中车辆受损损失的总和及报废损失总和.
为了对交通事故中人员和车辆致损评程度进行指标化处理,需要减少人员损失和车辆损失在量纲上的差异,本文将人员损伤与车辆损伤的加权总和取自然对数,即可得事故整体致损模型Z:
Z=ln[(σ1E1+σ2E2)+(σ3V1+σ4V2)]
(5)
式中,σ1、σ2、σ3、σ4分别为E1、E2与V1、V2的权重系数.
在交通事故中,人伤和车损在交通事故中的权重不同,参照中国交通事故分类方法中的等级划分标准,采用等价折算的方法对评价指标权重系数进行估算,可得各权重系数取值为σ1=0.18,σ2=0.26,σ3=σ4=0.28[17].
按照以上致损指数评定模型,计算出单个案例中的所有事故参与人员和车辆致损指数,670例事故案例致损指数分布如图3所示.
图3 事故致损指数分布图
人类驾驶员在执行驾驶任务时会观察行驶场景中的道路,而交通状况中影响复杂度的因素分为静态和动态2类,本节自动驾驶汽车道路测试场景复杂度将通过这两类复杂度综合计算得到.
对于自动驾驶车辆来说,行驶环境的识别和检测功能大多是由激光和雷达等传感器设备实现的,因此选取影响车-车测试场景的静态复杂度要素如图4所示.
图4 交通静态环境要素构成图
通过查阅文献总结出静态场景复杂度模型如式(6)所示[18]:
(6)
式中,θ1为静态环境复杂度系数;X1,X2,…,Xn为待求静态环境要素的第1类、第2类…第n类的分值,由专家打分法给定;α1,α2,…,αn分别是环境要素类别X1,X2,…,Xn相应的权重.
熵是复杂度的度量,静态环境复杂度系数则是根据一阶信息熵的物理意义计算得到,其计算公式为:
(7)
式中,h为分成的组数,pi为每种环境构成中出现要素的概率,即复杂度构建的图形结构中组内节点数与节点总数的比值.
动态影响因素的分类都是以主车作为参考,其他车辆类型、速度、运动状态和相对位置均为参照主车的相对量.动态环境要素结构如图5所示.
图5 交通动态环境要素构成图
参考静态场景复杂度模型,同理可计算交通动态环境复杂度,如式(8)所示:
(8)
式中,θ2为动态环境复杂度系数;Y1,Y2,…,Yn为待求动态环境要素的第1类、第2类…第n类的分值,由专家打分法给定;β1,β2,…,βn,分别是环境要素类别Y1,Y2,…,Yn相应的权重.
动态环境复杂度系数θ2对于行驶环境中的行车安全有紧密联系,同理根据一阶熵物理意义的定义,计算公式为:
(9)
假设交通场景复杂度为C,则由静态场景复杂度C1和动态场景复杂度C2组成,公式如下:
C=σ1C1+σ2C2
(10)
式中,σ1,σ2分别为静态、动态场景复杂度权重.
将670例NAIS数据代入式(6)~(10)计算得到每个场景的综合复杂度指数,计算出的场景复杂度指数分布如图6所示.
图6 场景复杂程度分布
6类典型场景的致损和复杂度指数分布如图7所示,第1、2、3、6类场景的致损指数中位数相比4、5类更大,这4类场景有一个共同特征是参与方为重型或轻型客货车且某一参与方的速度都大于39 km/h.第3、6类致损指数覆盖范围更大,是因为这两类场景参与方速度范围大.第4类相比第5类致损指数更低,是由于第4类场景既有直行又有转弯交通信号灯;
图7 典型场景致损、复杂度及风险指数箱线图
就复杂度而言,第2类复杂度指数中位数最高,场景最复杂,第1类复杂度指数中位数略高于第3类,同时第3类场景复杂度大于第5类.第4类场景复杂度指数最低,第6类场景复杂度高于第4类场景.
开展基于车-车事故场景风险评价研究要从事故致损程度和场景复杂度两方面考虑.本文基于事故场景致损模型和复杂度模型进行风险评估,则场景综合风险P如下:
P=C·log10(Z)
(11)
式中,Z为事故致损指数;C为道路场景的复杂度指数.
6类典型场景综合风险分布如图7所示,第4类的风险指数值大多小于12.1,第5、6类的风险指数值大多小于14.1,第1、2类风险指数都大于14.1.因此,第1、2类属于高风险场景,第3类次之;第5、6类是中风险场景;第4类为低风险场景.
如图10所示,案例风险指数分布并不均匀,是由于NAIS案例采集需满足一定的损伤要求,故本文采用的案例有一定局限性.若将风险指数等量分割,无法确定数据间的紧密程度,对阈值的界定没有明确依据,会使风险等级分布很不合理.因此,采用K-means聚类对其分类,将样本间距离最紧密的数据划分为1个数据集,使数据间形成明显的阈值界限.
最终将案例风险指数分为4个簇,从小到大依次为:一级、二级、三级、四级,如表3所示.
每类场景风险指数存在差异且取值范围有所不同,为此取中位数和平均值来表征每类场景的风险指数,结合表3得到其典型场景风险等级如表4所示.
表3 场景风险等级划分表
表4 典型场景风险等级及描述
场景1、2的风险程度最高但事故率低,因其造成的后果严重,对此类事故应引起重视;场景4风险程度最低但占比最高,同样不容忽视.其余类型场景风险程度和事故率有一定差异也需持续关注.
1)分析并筛选事故场景要素,在此基础之上对NAIS数据库中车-车事故场景进行聚类分析,得到6类典型事故场景.
2)根据事故造成的后果构建了乘员伤亡模型和车辆损失模型,将乘员伤亡和车辆损失加权得到事故致损指数.
3)基于信息熵理论,结合静态复杂度和动态复杂度要素建立场景综合复杂度评价模型.
4)构建事故场景风险综合评价模型,将风险指数进行等级划分,风险等级由低到高分别为一级、二级、三级、四级.