17.2.0
Abstract
Add an optional per-entity lateral collision threshold (meters) that scenario authors can specify via OpenSCENARIO Controller Properties.
When set, this margin overrides the current default threshold (half of the reference entity width) used in lateral collision checks, enabling tighter validation rules without false failures.
Background
There was a request from scenario authors to set collision thresholds per entity for NPC trajectories.
In some scenarios, the pass/fail rule declares a failure if the ego and an NPC come within 0.2 m. With the current behavior—where the lateral collision “tolerance” effectively equals half the vehicle width—the scenario can fail even when authors intend to allow a small but explicit threshold. Providing a per-entity override solves this mismatch and keeps scenarios expressive and reproducible.
Details
-
New property (OpenSCENARIO Controller → Properties):
lateralCollisionThreshold(unit: meters, optional).
If omitted, legacy behavior is preserved (uses half of the reference entity width). -
Usage (example):
- ObjectController: Controller: Properties: Property: - name: lateralCollisionThreshold value: 0.62 name: ''
-
Interpreter & Wiring
- The OpenSCENARIO interpreter reads
lateralCollisionThresholdfrom ControllerPropertiesand forwards it to the entity. If the setter is unsupported by the entity type, it is ignored gracefully. - Behavior Tree (BT) plumbing adds an input port
lateral_collision_thresholdand stores it asstd::optional<double>. BehaviorPluginBase,VehicleBehaviorTree(and prepared hooks for pedestrian and do-nothing plugins) expose getter/setter forlateralCollisionThreshold.VehicleEntityimplementssetLateralCollisionThresholdand passes the value to its behavior plugin.
- The OpenSCENARIO interpreter reads
-
Collision logic
- In lateral collision distance evaluation, the threshold becomes:
threshold = lateral_collision_margin.value_or(width * 0.5)
wherewidthis the reference entity’s bounding-box Y dimension. - This keeps the default unchanged while allowing per-entity tightening (e.g.,
0.2).
- In lateral collision distance evaluation, the threshold becomes:
References
N/A
Destructive Changes
N/A
Known Limitations
N/A