更新时间:2024-10-30 GMT+08:00
分享

场景管理分类设计使用逻辑

场景管理提供所有仿真场景、测试用例和泛化场景的管理功能,用户可上传符合平台规范的自定义场景,也可将场景下载至本地开发。Octopus平台自研场景标签分类体系,从多维度深层次科学分类场景。仿真场景库可自建仿真场景库,集合相同场景格式的不同条件仿真场景,检验在特定条件下仿真算法控制质量。

仿真服务场景管理分为三大类型:

  • 场景和场景库。
  • 逻辑场景和逻辑场景库。
  • 测试用例和测试套件。

场景和场景库

其中片段式场景仿真是自动驾驶系统测试的重要手段,当前业内对于片段式场景普遍遵循ASAM主导的OpenX系列标准。OpenSCENARIO对动态驾驶环境进行了描述,交通参与物之间通过其他物体的状态变化作为触发条件,进而改变自身的状态。

通过OpenX场景可对算法与环境的动态交互能力进行测试,场景库的目的则是将一批有相同测试目的的场景进行汇总,如想测试Acc算法的应对切入功能,可将多个应对切入的测试场景归到一个场景库,进而在创建仿真任务时可直接选择该场景库进行仿真。

逻辑场景和逻辑场景库

逻辑场景是基于状态空间变量对功能场景的进一步详细描述,每个逻辑场景都有场景参数,比如前车的车速及其加速度,自车与前车距离等参数,这些参数都有一定的取值范围,根据这些参数可以派生出任意数量的具体场景。

逻辑场景库是不同逻辑场景的数据集合,以树状结构的形式表现出来,便于对逻辑场景进行统一的、有效的组织、管理和应用,比如当用户想系统管理和方便查看超车的逻辑场景,可以将所有超车相关的逻辑场景加入一个场景库中。

测试用例和测试套件

如上所述,OpenSCENARIO场景能描绘动态环境的,但无法根据主车内部动力学状态、自动驾驶算法状态作为触发条件来驱动各个交通参与物变化,因此为了实现更加精细的测试控制,需要额外提供一个测试脚本实现与仿真器中的交通参与物和算法内部数据的交互。

图1 测试用例和测试套件

如上图所述,测试脚本能同时仿真器数据运行时RDB数据和AD算法的内部数据,如通过RDB判断主车与前车距离小于20m,可发送某个控制信号给算法改变esp状态,也可以通过SCP指令控制场景中的副车改变运动姿态。

测试脚本很大程度上弥补了单纯场景仿真的不足,能够实现以算法内部信号为触发条件,改变仿真场景中交通参与物的状体和算法内部状态。

因此,在场景的基础上,添加与该场景相匹配的测试脚本,就形成了一个测试用例。也就是说,测试用例是一个场景和测试脚本的集合。

同样,测试套件是将测试目的相同的测试用例归到一起,方便创建仿真任务时直接选择。

相关文档