“ 本系列尝试从是什么、为什么、测什么、用什么测、怎么测和谁来测等方面来介绍什么是自动驾驶虚拟仿真测试。这是第五篇:怎么测,介绍自动驾驶虚拟仿真测试的方法。”
01
较低等级和较高等级自动驾驶的测试差异
较低等级(L1~L2)的自动驾驶或者说ADAS,与较高等级(L3~L4)自动驾驶相比,有个直观上比较大的区别是:较低等级的自动驾驶面对的工况复杂度和工况范围比较小,或者说由于驾驶行为的主要由人类驾驶员负责,自动驾驶系统仅需处理有限数量的、确定的工况即可;而较高等级的自动驾驶,驾驶行为主要由自动驾驶系统负责,其处理的工况复杂度和工况范围很大,甚至不能提前预知。这种对比,可以用下图做一个示意:
ADAS用一个较窄的矩形表示,高等级自动驾驶用一个较大的矩形表示。基于两者的这个差异,ADAS可以使用基于用例的测试方法较好的进行测试,而高等级自动驾驶则需要使用基于场景的测试方法。
02
基于用例和基于场景的测试
基于用例的测试方法,即是预设测试输入和测试过程,通过查看被测算法是否实现预期的功能来评价是否通过测试。比如对ACC的测试,预先设定被测车辆和前车的初始车速,以及前车减速的时刻和减速度,查看被测车辆是否能够跟随减速停车。
基于场景的测试方法,即是预设测试输入,但不预先设定测试过程,只设定交通车辆的行为,给予被测算法较大的自由度,通过查看被测算法是否达成预期的目标来评价是否通过测试。比如对直线道路行驶的测试,预先设定被测车辆和前车的初始车速,以及前车减速的时刻和减速度,但是不限定被测车辆是通过减速还是换道超车的方式避免与前车相撞。
造成对于不同等级的自动驾驶功能需要使用不同的测试方法的一个原因是:低等级的自动驾驶一般能够分解为简单而独立的功能,可以把单一功能作为被测对象;而高等级的自动驾驶较难分解成简单而独立的功能,只得把整个自动驾驶系统或其相对较大的一部分作为被测对象。
03
测试场景的来源
若想对自动驾驶功能进行较全面的测试,就需要得到尽可能全面覆盖其真实运行工况的测试场景。为获得这些测试场景,大体上可以有两种思路:
第一种思路是:①通过真实道路数据采集和理论分析等方式,得到不同的场景类型(即功能场景),②再分析出这些不同场景类型中的关键参数,并通过真实数据统计和理论分析等方法得到这些关键参数的分布范围(即逻辑场景),③最后选取其中一组参数的取值作为一个测试场景(即具体场景)。如下图所示:
第二种思路是:采集自动驾驶车辆预定工作区域内的交通流量数据,并将这些数据输入交通仿真工具中产生交通流,并使用该交通流充当自动驾驶车辆的周围交通车辆,实现测试场景的自动生成。
最后,谢谢您宝贵的正激励和正反馈!
关键词:自动驾驶, 虚拟仿真测试,simulation,virtual test,mil,sil,hi