3. 场景概念与分类
在自动驾驶虚拟测试领域,“场景”是连接真实世界与仿真世界的核心语言。无论是基于场景的测试用例生成、参数敏感性分析,还是最终的安全性能评估,都依赖于对场景概念的精确理解与系统化分类。本章将首先厘清场景的学术定义与工程内涵,随后深入解析功能场景、逻辑场景、具体场景三个抽象层级,最后从道路、交通、环境、行为四个维度建立场景分类的工程框架,为后续章节的测试场景库构建与用例生成奠定概念基础。
3.1 场景的定义与工程内涵
核心原理:在自动驾驶测试领域,场景(Scenario)被定义为在特定时间和空间范围内,自动驾驶车辆(自车)与其行驶环境中的交通参与者、道路结构、交通设施、气象条件、临时事件等要素所构成的整体状态的动态描述。这一定义包含四个关键要素:时间要素(场景的起止时刻与持续时间)、空间要素(道路几何、车道位置、相对距离)、实体要素(自车、他车、行人、障碍物、基础设施)、事件要素(加减速、变道、切入、信号灯变化等)。场景不是静态快照,而是随时间演化的连续过程,因此必须包含初始状态、过程状态和终止状态。
从工程实践角度看,场景是测试用例的“骨架”。一个完整的场景描述应能够回答以下问题:自车在什么道路上行驶?周围有哪些交通参与者?它们的初始位置和运动状态如何?在场景过程中发生了哪些关键事件?气象和光照条件如何?这些信息共同决定了测试的覆盖范围和评价指标。
| 要素类别 | 具体内容 | 示例 | 对测试的影响 |
|---|---|---|---|
| 时间要素 | 场景时长、事件时序 | 前车在3秒后开始减速 | 决定感知与决策的响应窗口 |
| 空间要素 | 道路几何、车道布局、相对位置 | 双向四车道,自车位于最右侧车道 | 影响路径规划与横向控制 |
| 实体要素 | 参与者类型、尺寸、动力学属性 | 前方12米处有一辆乘用车 | 决定感知难度与碰撞风险 |
| 事件要素 | 速度变化、变道、信号灯切换 | 邻车道车辆以-3m/s²减速并入 | 触发决策算法的关键工况 |
3.2 场景的三个抽象层级:功能场景、逻辑场景与具体场景
核心原理:为了在不同抽象层次上描述和管理场景,学术界与工业界普遍采用PEGASUS项目提出的六层模型,其中与场景直接相关的是三个核心层级:功能场景(Functional Scenario)、逻辑场景(Logical Scenario)和具体场景(Concrete Scenario)。这三个层级构成了从抽象语义到具体数值的递进关系。
功能场景是最高抽象层,使用自然语言或半形式化语言描述场景的语义特征,不涉及具体数值。例如:“自车在高速公路上巡航行驶,前方车辆突然减速,自车需要执行紧急制动以避免碰撞。”功能场景的作用是明确测试意图和覆盖目标,便于跨团队沟通和测试需求分析。
逻辑场景在功能场景的基础上,为关键参数赋予取值范围和概率分布。例如,将“前方车辆突然减速”细化为“前车初始速度80-120km/h,减速度-2至-6m/s²,自车与前车初始间距20-80m”。逻辑场景通过参数空间定义了场景的“家族”,是参数化测试的基础。参数范围通常来源于自然驾驶数据统计分析、法规要求和工程经验。
具体场景是逻辑场景中参数取特定值后的一个实例,所有参数均为确定数值,可直接用于仿真软件配置或实车测试执行。例如:“自车速度95km/h,前车初始速度100km/h,间距45m,前车以-3.5m/s²减速,持续4秒。”具体场景是仿真执行的“可运行脚本”。
- 若描述中所有参数均为定性词汇(如“较快”、“接近”、“突然”),则为功能场景;
- 若描述中包含参数范围或分布(如“80-120km/h”、“2-5s”),则为逻辑场景;
- 若描述中所有参数均为单一确定数值,则为具体场景。
3.3 场景分类维度:道路、交通、环境、行为
核心原理:场景分类是构建测试场景库的基础工作。从工程实用角度出发,我们将场景按照四个核心维度进行分类:道路维度、交通维度、环境维度和行为维度。每个维度下又可细分若干子类,形成层次化的分类体系。
3.3.1 道路维度
道路维度描述车辆行驶的物理基础设施,包括道路类型(高速公路、城市道路、乡村道路、停车场等)、道路几何(直线、曲线、坡度、超高)、车道布局(车道数、车道宽度、隔离形式)、交叉口类型(十字、T型、环岛)、路面条件(干燥、湿滑、冰雪、破损)以及道路附属设施(交通标志、标线、护栏、信号灯)。道路维度是场景的基础框架,决定了车辆动力学模型和感知算法的输入范围。
3.3.2 交通维度
交通维度描述道路上的动态参与者及其交互规则,包括交通流状态(自由流、饱和流、拥堵)、交通参与者类型(乘用车、卡车、公交车、摩托车、自行车、行人)、交通密度(车辆数/公里/车道)、速度分布、交通规则(限速、优先权、信号灯相位)以及特殊交通事件(事故、施工、临时管制)。交通维度是场景复杂度的主要来源,也是测试覆盖率的重点考察对象。
3.3.3 环境维度
环境维度描述影响传感器感知和车辆动力学的外部条件,包括气象条件(晴、雨、雪、雾、霾)、光照条件(白天、夜晚、黄昏、逆光、阴影)、温度与湿度、路面附着系数、建筑与植被遮挡、电磁干扰等。环境维度对感知算法的可靠性影响显著,是虚拟测试中必须精确建模的部分。
3.3.4 行为维度
行为维度描述自车与他车的运动意图和操作序列,包括自车行为(巡航、加速、减速、变道、转弯、停车)、他车行为(跟车、超车、切入、切出、紧急制动)、行人行为(横穿、沿路行走、静止等待)、交互行为(让行、抢行、协同通过)以及异常行为(违规变道、闯红灯、逆行)。行为维度是场景动态性的核心,直接决定了决策规划算法的测试深度。
| 分类维度 | 子类 | 典型参数 | 测试关注点 |
|---|---|---|---|
| 道路 | 高速/城市/乡村/特殊路段 | 曲率半径、坡度、车道数 | 路径跟踪、限速识别 |
| 交通 | 参与者/密度/规则/事件 | 车流量、速度标准差、混入率 | 决策规划、博弈交互 |
| 环境 | 天气/光照/路面/遮挡 | 降雨量、能见度、附着系数 | 感知鲁棒性、控制稳定性 |
| 行为 | 自车/他车/行人/交互 | 加速度、变道频率、反应时间 | 预测算法、安全策略 |
3.4 案例拆解:从功能场景到具体场景的完整转化
案例背景:某自动驾驶团队需要针对“城市道路前车切入”这一典型危险工况进行虚拟测试。该工况在自然驾驶数据中频繁出现,且与多起接管事件相关。团队的目标是生成一组覆盖不同参数组合的具体场景,用于仿真回归测试。
初始目标与约束:测试需覆盖自车速度30-60km/h、前车切入速度差±10km/h、切入时间2-5秒、横向偏移0.5-2.0米等参数范围。仿真平台为CARLA,单场景运行时间不超过60秒。
分析判断过程:首先,团队将工况抽象为功能场景:“自车在城市主干道中间车道行驶,邻车道前车开启转向灯后向自车车道切入,自车需减速避让。”随后,基于自然驾驶数据统计,确定逻辑场景参数范围:自车速度40±10km/h,邻车速度45±8km/h,切入时两车纵向间距15-30m,切入持续时间2.5-4.5秒,横向加速度0.5-1.5m/s²。最后,采用拉丁超立方采样生成200个具体场景,每个场景的参数组合均不同。
实际操作步骤:① 在CARLA中搭建城市道路模型(双向六车道,含人行道和路边停车);② 配置自车传感器套件(摄像头、激光雷达、毫米波雷达);③ 编写场景脚本,定义邻车切入轨迹(采用五次多项式拟合);④ 批量运行200个具体场景,记录自车最小TTC(碰撞时间)、最大减速度、是否发生碰撞等指标;⑤ 对结果进行敏感性分析,识别关键参数。
结果对比与复盘:测试发现,当切入时间小于2.8秒且横向加速度大于1.2m/s²时,自车制动介入明显滞后,最小TTC低于1.5秒。团队据此优化了预测模块的响应速度,并将该参数组合纳入高优先级回归测试集。复盘经验:功能场景到具体场景的转化过程中,参数范围的合理性直接决定测试有效性,必须基于真实数据而非主观经验。
3.5 总结复盘与工程要点
本章系统阐述了场景的定义、三个抽象层级和四个分类维度。核心要点总结如下:
- 场景定义四要素:时间、空间、实体、事件,缺一不可;场景是动态过程而非静态快照。
- 三层级递进关系:功能场景(语义)→ 逻辑场景(参数范围)→ 具体场景(数值实例),每一层级都有明确的工程用途。
- 四维度分类框架:道路、交通、环境、行为,覆盖了场景描述的全部关键信息,是构建测试场景库的索引结构。
- 参数化思维:逻辑场景是参数化测试的核心载体,参数范围应来源于真实数据统计,而非拍脑袋。
在实际项目中,建议团队建立统一的场景描述模板,明确每个场景的层级归属和维度标签,以便于场景库的管理、检索和复用。同时,应建立功能场景到具体场景的自动化转化工具链,减少人工配置的工作量和出错概率。