OSC2 语言概述
OpenSCENARIO 2 (OSC2) 是 ASAM 标准定义的场景描述语言,用于描述自动驾驶仿真中的交通场景和测试用例。
场景文件结构
一个典型的 OSC2 场景文件包含导入声明、类型定义、实体声明和场景定义等部分。
基本概念
- 物理量: OSC2 内置完整的物理量系统,支持速度、距离、时间、角度等物理量及单位
- 实体: 场景中的参与者,如车辆、行人等
- 行为: 实体执行的动作,如加速、变道等
- 事件: 场景中发生的事件序列
完整示例
import std.base
scenario highway_merge:
do serial:
ego: vehicle with:
speed: 72 km/h
position: lane at(1, 0, 0) of Highway_1
merge: vehicle with:
speed: 54 km/h
position: lane at(0, 0, 0) of Ramp_1
parallel:
ego.drive(duration: 10s)
merge.change_lane(to: Highway_1, at: 5s)