引言
据美国兰德公司研究:从统计学角度出发,自动驾驶汽车需要在真实或者虚拟环境中至少进行110亿英里的里程测试,才能证明自动驾驶系统比人类驾驶员更可靠;然而,基于里程的测试方法具有测试周期长、效率低、成本高等弊端,自动驾驶汽车要商业化落地,单纯依靠基于里程的测试方法显然是不够的,基于场景的仿真测试方法不可或缺。
现实世界中的场景具有无限丰富、极其复杂、不可预测等特点,在虚拟环境中要完全复现这些场景却又十分的困难;如何利用有限的测试场景去映射出无限丰富的世界是实现自动驾驶测试验证的关键。基于场景库的仿真测试是目前解决自动驾驶路测数据匮乏的重要路线。场景库中的测试场景对现实世界的覆盖率越高,仿真测试结果的准确性就越高。
接下来笔者把最近一段时间关于测试场景和场景库相关的学习体悟整理出来与大家分享,如有表达不准确或者错误的地方,欢迎各大佬批评指正。
第一部分:测试场景
1.1 测试场景定义及作用
自动驾驶测试场景:是指在一定的时间和空间范围内,自动驾驶汽车与行驶环境中的其它车辆、道路、交通设施、气象条件等元素综合交互过程的一种总体动态描述。它是自动驾驶汽车的驾驶情景与行驶环境的有机组合,既包括各类实体元素,也涵盖了实体执行的动作及实体之间的连接关系。
测试场景的作用:在自动驾驶汽车设计、研发、测试和评价中扮演重要角色
开展自动驾驶汽车测试评价的重要前提;
基于场景的自动驾驶汽车测试方法是实现加速测试、加速评价的有效途径;
测试、验证、评价自动驾驶功能与性能的关键,贯穿自动驾驶车辆研发测试全生命周期。
1.2 测试场景要素
测试场景要素:主要分为测试车辆自身要素和外部交通环境要素两大部分;外部交通环境要素又涵盖:静态环境要素、动态环境要素、交通参与者要素、气象要素等。
1)测试车辆自身要素:指测试车辆自身的基础属性、位置信息、运动状态信息及驾驶任务信息。
2)静态环境要素:指交通环境中静止状态的物体。
包括:道路、交通设施、周围景观以及障碍物等。
3)动态环境要素:指交通环境中处于动态变化的要素。
包括:动态指示设施 和 通信环境信息。
4)交通参与者要素:在自动驾驶测试场景中对本车决策规划造成影响的对象信息。
包括:车辆、行人和动物。
5)气象要素:包括驾驶场景中的环境温度、光照条件以及天气情况等信息。
1.3 测试场景的常见分类
1)按照场景的抽象程度可分为:功能场景、逻辑场景、具体场景
不同类型场景的抽象等级和场景数量关系
三者之间的关系:
自动驾驶系统开发需经历的三个阶段:概念阶段、系统开发阶段、测试阶段;随着系统开发过程的逐渐深入,测试场景的抽象程度需求不断降低,但测试场景的数量需求却不断在增加。通过将结构化的功能场景与参数范围相结合能够转换生成逻辑场景,参数范围可以通过数据驱动方法来定义。每个逻辑场景都可以通过从参数范围中选择具体值来转换为具体场景。
a.功能场景
通过语义描述的最抽象级别的操作场景, 即通过语言场景符号来描述场景区域内的实体以及实体间的关系;
功能场景用于概念阶段的项目定义、危险分析和风险评估;在测试过程中,往往需要将功能场景转换为逻辑场景,并转换为可用于相应仿真环境的数据格式。
b.逻辑场景
通过定义状态空间内变量的参数范围来表达实体特征和实体间的关系;
逻辑场景是基于状态空间变量对功能场景的进一步详细描述,用于项目开发阶段生成需求;对于每一个具有连续取值范围的逻辑场景, 都可以派生出任意数量的具体场景。
c.具体场景
通过确定状态空间中每个参数的具体值来明确描述实体和实体间的关系,以状态空间详细描述了测试场景;
具体场景可以直接转化为测试用例;要将具体场景转换成测试用例, 需要增加被测对象的预期行为表现以及对相关测试设施的需求。
2) 按照测试场景数据来源分类:自然驾驶场景、危险工况场景、标准法规场景、参数重组场景
a. 自然驾驶场景
数据源自汽车真实的自然驾驶状态场景下,是最基础的数据来源;包含自动驾驶汽车所处的人-车-环境-任务等全方位信息;
自然驾驶场景能够提供车辆数据、驾驶人行为、道路环境等多维度信息,是证明自动驾驶有效性的一种充分测试场景。
b. 危险工况场景
数据主要来源于交通事故数据库,是自动驾驶控制策略安全性和可靠性验证的关键;
危险工况场景主要涵盖恶劣天气环境、复杂道路交通以典型交通事故三大类场景,是证明自动驾驶有效性的一种必要测试场景。
c. 标准法规场景
数据主要来源于现有的标准、评价规程等,如ISO、NHTSA、E-NCAP、C-NCAP等多项标准、评价规程对现有自动驾驶功能进行了测试规定;
标准法规测试场景是自动驾驶功能在研发和认证阶段必须要满足的基础测试场景。
d. 参数重组场景
数据来源于现有场景数据库资源,通过对已有的仿真场景进行参数化设置,随机生成或自动重组相应类型的场景;
参数重组场景通过对静态要素、动态要素以及驾驶人行为要素等进行不同排列组合及遍历取值,扩展参数重组场景边界;有效覆盖自动驾驶功能测试盲区,是对未知工况的有效补充测试场景。
1.4 测试场景的格式标准
1) 静态场景格式标准:OpenDRIVE、OpenCRG、RoadXML和OSM
OpenDRIVE(OpenX标准系列):包含道路路网上的所有静态对象,主要描述道路拓扑结构、车道线和道路周边的其它静态元素。OpenDRIVE将道路分为三个部分:道路参考线(reference line)、车道(lanes)和特征元素(features)。