触发条件参考 — 19 个场景条件
触发条件决定了事件的动作何时启动。drawtonomy 在触发条件下拉菜单中提供 19 个条件,再加上 Advanced… 后面的若干高级选项。
其中 8 个条件显示在 COMMON 分组下。剩余 11 个条件位于可折叠的 More conditions… 一行后面 — 点击这一行可以展开看到其余选项。

新事件默认以 Simulation time 在 0.00 s 处开始。
常用条件(COMMON)
Section titled “常用条件(COMMON)”| UI 标签 | OpenSCENARIO | 触发时机 |
|---|---|---|
| Immediately (no condition) | (no condition) | 立刻执行。仅在触发条件的第一个条件以及非 END CONDITIONS 时提供。 |
| Simulation time | SimulationTimeCondition | 仿真运行达到指定秒数时。 |
| Time gap to actor | TimeHeadwayCondition | 与其他角色的时间间隔(秒)超过阈值时。 |
| Time to collision | TimeToCollisionCondition | 与其他角色的预计碰撞时间(秒)超过阈值时。 |
| Distance to actor | RelativeDistanceCondition | 与其他角色的距离(米)超过阈值时。 |
| Traveled distance | TraveledDistanceCondition | 角色从仿真开始后的行驶距离达到指定值时。 |
| Phase / event state | StoryboardElementStateCondition | 指定的阶段或事件处于 starts(开始)、is running(正在运行)、ends(结束)或 is complete(已完成)状态时。 |
| Distance to point | DistanceCondition | 角色到固定点的距离超过阈值时。持续监控距离。 |
更多条件(More conditions…)
Section titled “更多条件(More conditions…)”| UI 标签 | OpenSCENARIO | 触发时机 |
|---|---|---|
| Reach position | ReachPositionCondition | 角色进入指定点周围的容差范围内时。这是一个到达判定,而不是距离监控。 |
| End of road | EndOfRoadCondition | 角色在道路终点位置停留超过指定时长时。 |
| Actor speed | SpeedCondition | 角色自身的速度超过阈值时。 |
| Relative speed | RelativeSpeedCondition | 角色相对于其他角色的速度超过阈值时。 |
| Stand still | StandStillCondition | 角色处于静止状态超过指定时长时。 |
| Actor acceleration | AccelerationCondition | 角色的加速度超过阈值时。 |
| Collision | CollisionCondition | 角色与其他实体发生碰撞时。 |
| Off-road | OffroadCondition | 角色驶离可行驶表面超过指定时长时。 |
| Scenario parameter | ParameterCondition | 已声明的参数与某个值进行比较时。 |
| Scenario variable | VariableCondition | 已声明的变量与某个值进行比较时。 |
| Traffic signal | TrafficSignalCondition | 指定的信号达到某个状态时。 |
高级条件(Advanced conditions)
Section titled “高级条件(Advanced conditions)”有些条件根本不出现在下拉菜单中。点击条件行下方的小 Advanced… 链接可以看到它们:
| UI 标签 | OpenSCENARIO |
|---|---|
| Relative clearance | RelativeClearanceCondition |
| Angle | AngleCondition |
| Relative angle | RelativeAngleCondition |
| Traffic signal controller | TrafficSignalControllerCondition |
| Time of day | TimeOfDayCondition |
| User-defined value | UserDefinedValueCondition |
触发条件是若干条件组的集合。编辑器在 ALL OF (AND) 标题下显示第一个组。
- + and 在当前组中添加一个条件。组内的每个条件都必须同时满足 — 组对应一个 OpenSCENARIO 的
ConditionGroup。 - or… 开始一个新的条件组,显示为 Any of (OR)。任意一个组被满足就能满足整个触发条件 — 多个
ConditionGroup元素按标准进行 OR 操作。
例如,(A and B) or C 就是两个组:一个组包含 A 和 B,另一个组包含 C。
字段的具体内容取决于所选条件,但这些字段会重复出现:
| 字段 | 含义 |
|---|---|
| ACTOR | 被监控的角色 — 触发此条件的实体。 |
| REFERENCE ACTOR | 另一个角色,用于比较两个角色状态的条件。 |
| SECONDS | 阈值,用于基于时间的条件。 |
| exceeds / falls below | 比较规则。不同条件的默认值不同。 |
| DELAY AFTER MET | 在事件的 ADVANCED 部分:条件满足后延迟执行事件的秒数。对应 OpenSCENARIO 的 Condition@delay。 |