跳转到内容

触发条件参考 — 19 个场景条件

触发条件决定了事件的动作何时启动。drawtonomy 在触发条件下拉菜单中提供 19 个条件,再加上 Advanced… 后面的若干高级选项。

其中 8 个条件显示在 COMMON 分组下。剩余 11 个条件位于可折叠的 More conditions… 一行后面 — 点击这一行可以展开看到其余选项。

触发条件下拉菜单打开状态 — 上方是 8 个常用条件,下方是展开的 More conditions 行显示其余选项

新事件默认以 Simulation time0.00 s 处开始。

UI 标签OpenSCENARIO触发时机
Immediately (no condition)(no condition)立刻执行。仅在触发条件的第一个条件以及非 END CONDITIONS 时提供。
Simulation timeSimulationTimeCondition仿真运行达到指定秒数时。
Time gap to actorTimeHeadwayCondition与其他角色的时间间隔(秒)超过阈值时。
Time to collisionTimeToCollisionCondition与其他角色的预计碰撞时间(秒)超过阈值时。
Distance to actorRelativeDistanceCondition与其他角色的距离(米)超过阈值时。
Traveled distanceTraveledDistanceCondition角色从仿真开始后的行驶距离达到指定值时。
Phase / event stateStoryboardElementStateCondition指定的阶段或事件处于 starts(开始)、is running(正在运行)、ends(结束)或 is complete(已完成)状态时。
Distance to pointDistanceCondition角色到固定点的距离超过阈值时。持续监控距离。
UI 标签OpenSCENARIO触发时机
Reach positionReachPositionCondition角色进入指定点周围的容差范围内时。这是一个到达判定,而不是距离监控。
End of roadEndOfRoadCondition角色在道路终点位置停留超过指定时长时。
Actor speedSpeedCondition角色自身的速度超过阈值时。
Relative speedRelativeSpeedCondition角色相对于其他角色的速度超过阈值时。
Stand stillStandStillCondition角色处于静止状态超过指定时长时。
Actor accelerationAccelerationCondition角色的加速度超过阈值时。
CollisionCollisionCondition角色与其他实体发生碰撞时。
Off-roadOffroadCondition角色驶离可行驶表面超过指定时长时。
Scenario parameterParameterCondition已声明的参数与某个值进行比较时。
Scenario variableVariableCondition已声明的变量与某个值进行比较时。
Traffic signalTrafficSignalCondition指定的信号达到某个状态时。

有些条件根本不出现在下拉菜单中。点击条件行下方的小 Advanced… 链接可以看到它们:

UI 标签OpenSCENARIO
Relative clearanceRelativeClearanceCondition
AngleAngleCondition
Relative angleRelativeAngleCondition
Traffic signal controllerTrafficSignalControllerCondition
Time of dayTimeOfDayCondition
User-defined valueUserDefinedValueCondition

触发条件是若干条件组的集合。编辑器在 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