一、前言
道路测试是在真实世界中测试智能驾驶功能而进行的长期测试,在道路测试中,可以基于仿真测试的结果识别孤立场景,可以在真实的物理实际的下识别系统故障,也可以对测试通过的场景进行风险等级评估,验证实际道路验证过程中的智驾功能的性能及安全性。
长期路测获取的数据量是海量的,每日获取的数据量日以TB级计算,但同时也是具有低数据价值的,仅有不到5%可以作为智驾功能有价值的数据。那么如何采用工具来提升数据挖掘效率,在海量数据中提取关键场景,并对这些场景进行评估?
本文即将展开的内容即为使用OrienLink实现大规模路测中的场景挖掘及评估。
二、AML语言及大规模场景挖掘
2.1 获取数据
场景提取可以基于车辆或者感知信号的规则进行批量提取,同时评估车辆功能基本也可基于信号状态来判断,因此在车辆配置时需将各个场景及车辆CAN、ETH等信号进行预定义匹配,保证场景参数能够完全录入。
这些信号包含各个车辆在场景中的自车动态参数,状态参数以及障碍物参数等,同时也包含为场景提取所衍生生成的Start/ Trigger/ End/ Valid等场景状态描述参数。
路测过程中,量产车辆或测试车辆录制的原始数据,通过批量入库的方式完成入库。
2.2 基于AML的大规模场景提取
在前一篇文章中我们已经简单介绍了AML(Auto Motive Language )的定义,并举例了Cutin和AEB场景提取的方法,AML作为智能驾驶数据处理的专有语言包,包含丰富的场景提取专有Function及算子,同时也可接入Python、C/C++、Java等语言的自定义场景处理算子。
经纬恒润已形成针对各类智驾场景的提取算子近万条,如ACC激活后跟随目标行驶的场景、不同跟车时距下切入不同车速的目标场景、前车速度低于巡航车速两侧有车道提供变道的场景等,并已集成在算子库中,供场景提取模块调用。通过拉取场景提取工作流,将多辆车,跨月跨年的车辆原始数据数据,用不同的场景提取算子进行场景挖掘。
挖掘到的场景可以聚类其场景参数范围以重新调整ODD,也可以作为场景评估的输入,评估各个场景在现有功能定义下评价指标的通过情况,为下一轮算法迭代提供依据。
2.3 基于AML的场景评估
在上一节中我们已经完成大批量场景的提取工作。对于场景的评估,分为对于每个具体场景下的基本指标,安全性指标以及舒适性指标。
基本指标和舒适性指标可通过对每个具体场景的参数范围来判断,如跟车时距超调,加减速度以及加减速度的变化率,可通过其范围是否符合KPI要求来判断具体场景的通过情况。
安全性指标一般是对于车辆自动驾驶在固定公里范围内,统计 AEB/FCW的触发、误识别、漏识别,以及人工接管次数等来判断。
三、场景分析
针对各个场景评价结果进行定向分析,可以在Orienlink的可视化中对评估结果和截取出来的场景数据进行可视化分析和验证。
如下图为其中Cutin场景的评价,其中有2个Cutin场景未通过测试,根据通过标准逐条分析,确认为在车间时距固定时,跟车距离小于60m本车并未开始减速,根据此结果,可将分析结果应用到算法调整或需求调整中,逐步迭代智驾功能达到安全及舒适性要求。
大规模场景挖掘及评估在智能驾驶开发过程中可以帮助快速找到并定位问题。挖掘的场景数据同样可以积累到场景库,为后续功能开发提供最核心最有价值的数据。
本方法目前适用于通过信号规则来进行处理,未来在平台中也将逐步开放基于感知的场景识别及评估,为智能驾驶的功能开发和评价提供更多方法。