动作参考 — 35 个 OpenSCENARIO 动作
事件的 ACTION(动作)是指触发条件启动时将执行的操作。drawtonomy 提供 35 个动作, 每一个都对应到 ASAM OpenSCENARIO 1.x 中的某个元素。
动作下拉菜单在 COMMON(常用)下显示 4 个。其余 31 个 动作位于可折叠的 More actions… 一行后面 — 这一行看起来像分组标题,点击时会展开。下拉菜单按菜单顺序列出这些动作, 而下面的表格则按功能分组,方便你按需求查找。

一个事件可以包含多个动作。点击事件编辑器中的 + Action 可以添加新动作; 所有动作会在触发条件启动时同时开始执行。
常用动作(COMMON)
Section titled “常用动作(COMMON)”| UI 标签 | OpenSCENARIO | 功能描述 |
|---|---|---|
| Change Speed | SpeedAction | 将角色速度改为目标值,可以是绝对值或相对于其他角色。 |
| Change Lane | LaneChangeAction | 将角色向左或向右移动到相邻车道。 |
| Follow Path | FollowTrajectoryAction | 让角色沿着用路径工具绘制的轨迹行进。 |
| Teleport | TeleportAction | 将角色瞬间放置在指定位置,中间无移动过程。 |
更多动作(More actions…)
Section titled “更多动作(More actions…)”剩余的 31 个动作位于 More actions… 行后面。 下表按功能意图进行分组;在下拉菜单中它们按菜单顺序显示为单一列表。
纵向动作(Longitudinal)
Section titled “纵向动作(Longitudinal)”速度时间曲线与前向间距。
| UI 标签 | OpenSCENARIO | 功能描述 |
|---|---|---|
| Speed Profile | SpeedProfileAction | 按照速度/时间点对序列行进,而非到达单一目标速度。 |
| Keep Longitudinal Distance | LongitudinalDistanceAction | 与参考角色保持前方或后方固定间距。 |
| Synchronize | SynchronizeAction | 同步角色与另一角色到达各自目标位置的时刻。 |
横向动作(Lateral)
Section titled “横向动作(Lateral)”横向位置与横向间距。
| UI 标签 | OpenSCENARIO | 功能描述 |
|---|---|---|
| Lateral Offset | LaneOffsetAction | 在车道内横向移动角色,不改变车道。 |
| Keep Lateral Distance | LateralDistanceAction | 与参考角色保持侧向固定间距。 |
位置与路由(Position & routing)
Section titled “位置与路由(Position & routing)”角色的位置和在道路网络中的行进路径。
| UI 标签 | OpenSCENARIO | 功能描述 |
|---|---|---|
| Assign Route | AssignRouteAction | 为角色分配由路点组成的路由。 |
| Drive to Position | AcquirePositionAction | 让角色通过道路网络路由到达指定位置。 |
控制器(Controllers)
Section titled “控制器(Controllers)”向角色附加控制器并管理其纵向/横向控制。
| UI 标签 | OpenSCENARIO | 功能描述 |
|---|---|---|
| Assign Controller | AssignControllerAction | 为角色附加一个控制器。 |
| Activate Controller | ActivateControllerAction | 启用或禁用已分配控制器的纵向或横向控制域。 |
| Override Controller Value | OverrideControllerValueAction | 强制油门、刹车、转向、档位等参数为指定值。 |
外观与可见性(Appearance & visibility)
Section titled “外观与可见性(Appearance & visibility)”角色的外观和组成。
| UI 标签 | OpenSCENARIO | 功能描述 |
|---|---|---|
| Visibility | VisibilityAction | 控制角色对图形、传感器或交通是否可见。 |
| Light State | LightStateAction | 切换车灯 — 转向灯、刹车灯、前大灯等。 |
| Animation | AnimationAction | 驱动诸如车门、后备箱或雨刷的动画。 |
| Connect Trailer | ConnectTrailerAction | 为角色连接挂车。 |
| Disconnect Trailer | DisconnectTrailerAction | 断开角色的挂车连接。 |
交通与实体(Traffic & entities)
Section titled “交通与实体(Traffic & entities)”在场景运行中生成、移除和管理角色与背景交通。
| UI 标签 | OpenSCENARIO | 功能描述 |
|---|---|---|
| Add Entity | AddEntityAction | 在运行场景中生成一个实体。 |
| Delete Entity | DeleteEntityAction | 从运行场景中移除一个实体。 |
| Traffic Source | TrafficSourceAction | 在指定位置持续生成背景交通。 |
| Traffic Sink | TrafficSinkAction | 移除到达指定位置的背景交通。 |
| Traffic Swarm | TrafficSwarmAction | 在中心角色周围保持背景交通群。 |
| Traffic Stop | TrafficStopAction | 停止之前启动的交通源、汇或群。 |
| Traffic Area | TrafficAreaAction | 在指定区域或道路集合中填充背景交通。 |
基础设施与环境(Infrastructure & environment)
Section titled “基础设施与环境(Infrastructure & environment)”角色驾驶的世界 — 信号与环境条件。
| UI 标签 | OpenSCENARIO | 功能描述 |
|---|---|---|
| Traffic Signal State | TrafficSignalStateAction | 强制交通信号处于指定状态。 |
| Traffic Signal Controller | TrafficSignalControllerAction | 切换信号控制器到指定相位。 |
| Environment | EnvironmentAction | 设置天气、时段和路面条件。 |
参数、变量与同步(Parameters, variables & sync)
Section titled “参数、变量与同步(Parameters, variables & sync)”场景级数值和结果报告钩子。
| UI 标签 | OpenSCENARIO | 功能描述 |
|---|---|---|
| Set Parameter | ParameterSetAction | 为场景参数赋值。 |
| Modify Parameter | ParameterModifyAction | 对参数进行算术运算。 |
| Set Variable | VariableSetAction | 为场景变量赋值。 |
| Modify Variable | VariableModifyAction | 对变量进行算术运算。 |
| Set Monitor | SetMonitorAction | 设置命名监控值,用于报告场景结果。 |
| Custom Command | CustomCommandAction | 传递模拟器特定的命令。 |
动力学:动作的时间形状
Section titled “动力学:动作的时间形状”大多数运动动作共享两个设置。
DYNAMICS(动力学)决定了附带的 VALUE(值)如何被解释:
| DYNAMICS | VALUE 是 | 含义 |
|---|---|---|
over time | 秒 | 在此时间内完成改变。 |
over distance | 米 | 在此距离内完成改变。 |
at rate | m/s² | 以此速率改变直到达到目标。 |
ADVANCED(高级)部分中的 PROFILE 决定了插值形状 — Linear(线性)、
Cubic(三次)、Sinusoidal(正弦)或 Step(阶跃)。
它映射到 OpenSCENARIO 的 dynamicsShape。
不同动作的默认值不同。Change Speed 的默认值为 over time 2.00 s;
Change Lane 的默认值为 over distance 30.00 m,采用 Sinusoidal 曲线。
改变速度(Change Speed)
Section titled “改变速度(Change Speed)”
| 字段 | 取值 |
|---|---|
| RELATIVE TO | Fixed(固定)或 Actor(相对于角色) |
| SPEED | 数字,单位为 m/s |
| DYNAMICS | over time(用时)/ over distance(用距)/ at rate(用速率) |
| VALUE | 数字,单位根据 DYNAMICS 为 s、m 或 m/s² |
当 RELATIVE TO 设为 Actor 时,会出现两个额外字段:
- REFERENCE — 用作参考的角色。
- MODE —
× factor(参考角色速度的倍数)或+ delta(参考角色速度的偏移)。
Fixed 生成绝对 SpeedAction;Actor 生成相对 SpeedAction。
编辑器中速度始终以米/秒表示。8.33 m/s 等于 30 km/h;27.78 m/s 等于 100 km/h。
变道(Change Lane)
Section titled “变道(Change Lane)”
| 字段 | 取值 |
|---|---|
| TARGET | Left(左)/ Right(右)/ Same lane(同车道)/ Specific lane(指定车道) |
| REFERENCE | 作为参考的角色所在车道 |
| NUMBER OF LANES | 数字 — 仅对 Left 和 Right 显示 |
| DYNAMICS | over time(用时)/ over distance(用距)/ at rate(用速率) |
| VALUE | 数字,默认单位为 m |
TARGET 和 REFERENCE 协同工作,这对组合是理解的关键:
| TARGET | REFERENCE | 结果 |
|---|---|---|
Right(右),1 条车道 | 角色自身 | 将角色向自己的右边移动一条车道。这是普通变道。 |
Same lane(同车道) | 另一个角色 | 移动到该角色所在的车道。这是写入切入场景的方式。 |
Same lane(同车道) | 角色自身 | 无操作。编辑器会显示警告。 |
Specific lane(指定车道) | — | 移动到 OpenDRIVE 道路中的绝对车道 ID。 |
当你将动作切换为 Change Lane 时,它默认设为 Same lane 且角色参考自身,
因此会立即显示警告:
⚠ Change Lane target is the actor’s own current lane — no lateral movement will occur.
这是默认状态,不是你犯的错误。将 TARGET 设为 Left 或 Right(这也会显示 NUMBER OF LANES)
或将 REFERENCE 指向另一个角色。
- 触发条件参考 — 动作何时启动。
- 阶段与事件 — PROFILE、PRIORITY、REPEAT 和 ADVANCED 的其他设置。
- 构建你的第一个场景 — Change Speed 和 Change Lane 的实际应用。
- RoadRunner 与 OpenSCENARIO 术语