Skip to main content

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)