96. Match scenarios supported modifiers
The following modifiers are supported for match scenarios:
96.1 physical_object.on_road
Checks if an object is on the road within an allowed distance range.
96.1.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
at |
av_at_kind | See details | all | Optional | None |
min_threshold |
float | The minimum percentage of the object's bounding box that must be inside the road boundary. 0 means any part of the object is inside the road and 1 means the entire object is inside the road boundary | 0 | Optional | None |
check_non_driving_lanes |
bool | When set to false, the modifier will return false when the vehicle is on a non driving lane. | true | Optional | None |
96.2 physical_object.object_in_junction
Checks if an object is positioned in a junction within the specified distance.
96.2.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
at |
av_at_kind | See details | all | Optional | None |
ref_car |
vehicle | Reference vehicle to check the object's position in the junction | No default value | Optional | None |
ref_car_max_distance_from_junction |
length | Maximal distance allowed for the reference car to be considered as being in the junction. This distance is calculated from the center of the vehicle to either the start of the junction or the end of the junction. For example, if the distance is set to 10m, the ref_car will be considered to be in the junction if it is within 10 meters before or after the junction. | 0m | Optional | None |
negate |
bool | See details | false | Optional | None |
96.3 physical_object.on_lane
Checks if an object is in the same lane as the specified vehicle.
96.3.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
at |
av_at_kind | See details | all | Optional | None |
ref_car |
vehicle | Reference vehicle to check the object's position on the lane | No default value | Mandatory | None |
96.4 vehicle.lane_boundary
Check the lateral motion towards or away from the lane boundary
96.4.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
side |
av_side | Which boundary the lateral motion should be checked towards, values can be [left, right] | No default value | Optional | None |
move |
av_lateral_move | Define whether the motion is towards or away from the lane boundary, values can be [approach, on_markings, depart, stable, not_on_markings] | No default value | Mandatory | None |
at |
av_at_kind | See details | all | Optional | None |
96.5 vehicle.speed
Check if a vehicle is driving at a certain speed
96.5.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
speed |
range of speed | The speed range in which the vehicle should travel (negative values indicate driving backward). When faster_than or slower_than is specified, the speed parameter defines the required speed gap between the vehicles | No default value | Mandatory | None |
faster_than |
vehicle | Check if a vehicle is driving faster than the reference vehicle | No default value | Optional | fasterOrSlower |
slower_than |
vehicle | Check if a vehicle is driving slower than the reference vehicle | No default value | Optional | fasterOrSlower |
at |
av_at_kind | See details | all | Optional | None |
96.6 vehicle.driving_against_lane_direction
Checks if a vehicle is driving against the lane direction
96.6.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
negate |
bool | See details | false | Optional | None |
96.7 vehicle.lateral_speed
Check if the vehicle's lateral speed is within a specified range on a particular side (left or right).
96.7.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
side |
av_side | Define the side on which the the lateral speed should be checked: [left, right] | No default value | Mandatory | None |
speed |
range of speed | Allowed range of lateral speed, should be positive | No default value | Mandatory | None |
at |
av_at_kind | See details | all | Optional | None |
96.8 vehicle.acceleration
Check if a vehicle is accelerating within a range.
96.8.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
acceleration |
range of acceleration | Allowed range of acceleration | No default value | Mandatory | None |
greater_than |
vehicle | Check if a vehicle's acceleration rate is greater than the reference vehicle's within the specified range | No default value | Optional | greaterOrLess |
less_than |
vehicle | Check if the vehicle's acceleration rate is lower than the reference vehicle's within the specified range | No default value | Optional | greaterOrLess |
window_size |
time | Calculates the average acceleration for each actor over the defined sliding time window. | 0.5sec | Optional | None |
96.9 vehicle.yields
Checks if a vehicle is yielding, meaning it is slowing down or coming to a stop.
96.9.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
at |
av_at_kind | See details | all | Optional | None |
yield_acceleration |
acceleration | Maximal acceleration of the vehicle to be considered as yielding, expected to be negative (deceleration) | -1mpsps | Optional | None |
standstill_speed |
speed | Maximal speed of the vehicle to be considered as yielding, must be positive | 2kph | Optional | None |
96.10 vehicle.position
Check the position of a vehicle relative to another vehicle (one of them must be the Ego; 2 NPCs are not supported)
96.10.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
distance |
range of length | Specify the range for the longitudinal position (distance). | No default value | MandatorySet | timeOrDistance, timeToleranceOrDistance |
time |
range of time | Specify the range for the longitudinal position (time based on the following vehicle’s speed). | No default value | MandatorySet | timeOrDistance, timeOrTolerance |
ahead_of |
vehicle | Check if a vehicle is ahead of the Ego | No default value | Optional | aheadOrBehind |
behind |
vehicle | Check if a vehicle is behind the Ego | No default value | Optional | aheadOrBehind |
measure_by |
av_measure_by | Defines whether the distance between vehicles is measured from their center points (center_to_center) or their nearest edges (nearest). |
center_to_center | Optional | None |
at |
av_at_kind | See details | all | Optional | None |
96.11 vehicle.lane
Check multiple constraints related to the vehicle's lane
96.11.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
same_as |
vehicle | Check if a vehicle is in the same lane as the reference vehicle | No default value | Optional | leftRightSameSide |
side_of |
vehicle | Check if a vehicle is in a different lane than the reference vehicle | No default value | Optional | leftRightSameSide |
side |
av_side | Define the lateral side relative to the reference car used only in conjunction with "side_of" | No default value | Optional | None |
leftmost |
bool | When set to true, checks whether the vehicle is in the leftmost lane; otherwise, this condition is ignored | No default value | Optional | LRM |
rightmost |
bool | When set to true, checks whether the vehicle is in the rightmost lane; otherwise, this condition is ignored | No default value | Optional | LRM |
at |
av_at_kind | See details | all | Optional | None |
lane_calculation_tolerance |
length | Specifies tolerance when calculating the actor lane. This distance is calculated based on the nearest points between the actor and the lane | No default value | Optional | None |
negate |
bool | See details | false | Optional | None |
96.12 sut_vehicle.lane_occupied
Checks if the adjacent lane is occupied; supports only the Ego vehicle.
96.12.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
side |
av_rel_side | Which side to check [left, right, same] | No default value | Mandatory | None |
at |
av_at_kind | See details | all | Optional | None |
distance_behind |
length | Checks whether the distance, in length units, behind the Ego is occupied. This distance is calculated based on the nearest points between the Ego and the actor | No default value | Optional | None |
distance_ahead |
length | Checks whether the distance, in length units, ahead of the Ego is occupied. This distance is calculated based on the nearest points between the Ego and the actor | No default value | Optional | None |
time_behind |
time | Checks whether the distance, in time units, behind the Ego is occupied. This distance is calculated based on the nearest points between the Ego and the actor | No default value | Optional | None |
time_ahead |
time | Checks whether the distance, in time units, ahead of the Ego is occupied. The distance is calculated based on the nearest points between the Ego and the actor | No default value | Optional | None |
negate |
bool | See details | false | Optional | None |
96.13 vehicle.oncoming
Modifier that checks if a ref_car is moving towards a vehicle.
96.13.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
at |
av_at_kind | See details | all | Optional | None |
ref_car |
vehicle | The vehicle that is approaching the Ego from the opposite direction | No default value | Mandatory | None |
96.14 vehicle.veering_to_opposite_lane
Checks if a car is veering to the opposite lane by more than the specified veer_threshold.
96.14.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
veer_threshold |
float | A float number from 0 to 1 representing the portion of the vehicle that veers. A veer_threshold of 0.5 means that at least half of the vehicle's width must be outside the lane to exceed the threshold. | 0 | Optional | None |
at |
av_at_kind | See details | all | Optional | None |
96.15 vehicle.in_junction
Checks if a car is positioned in a junction with the specified distance, direction, junction entry, and relative to a reference car
96.15.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
at |
av_at_kind | See details | all | Optional | None |
turn_direction |
direction | Required turn direction inside the junction (e.g., left, right, straight, backwards) | No default value | Optional | None |
ref_car |
vehicle | Reference vehicle that should be positioned in the same junction as the actor | No default value | Optional | None |
ref_car_max_distance_from_junction |
length | Maximum distance from the junction for the reference vehicle to be considered inside the junction. The distance is calculated from the center of the reference vehicle | 0m | Optional | None |
junction_entry |
junction_entry | Required junction entry relative to the reference car (e.g., same or different direction) |
No default value | Optional | None |
start_offset |
range of length | The required distance range from the junction entry, in length units, for the actor to be considered inside the junction. This distance is calculated from the center of the actor | No default value | Optional | roadOffset |
end_offset |
range of length | The required distance range from the junction exit, in length units, for the actor to be considered inside the junction. This distance is calculated from the center of the actor | No default value | Optional | roadOffset |
negate |
bool | See details | false | Optional | None |
96.16 vehicle.in_encroachment_area
Checks if the actor is within the encroachment area, defined as the overlapping region of the actor's current lane and the reference car's lanes within the same junction, originating from different entrances, and considering the reference car's lane history over its entire trajectory.
96.16.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
at |
av_at_kind | See details | all | Optional | None |
ref_car |
vehicle | The reference vehicle whose lane history is used to define the encroachment area | No default value | Mandatory | None |
start_buffer |
float | Fraction of the encroachment area excluded from the start, where the modifier will return False. For example, start_buffer = 0.25 excludes the first 25% of the area. |
0.0 | Optional | None |
end_buffer |
float | Fraction of the encroachment area excluded from the end, where the modifier will return False. For example, end_buffer = 0.25 excludes the last 25% of the area. |
0.0 | Optional | None |
negate |
bool | See details | false | Optional | None |
96.17 sut_vehicle.global_position
Checks if the global distance (Euclidean distance) between the Ego and an object is within the specified range.
96.17.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
at |
av_at_kind | See details | all | Optional | None |
distance |
range of length | Allowed distance range in length between the Ego and the object. This distance is calculated based on the nearest points between the Ego and the object | No default value | Mandatory | None |
ref_object |
physical_object | Reference object used to measure the Euclidean distance | No default value | Mandatory | None |
96.18 sut_vehicle.lateral_position
Checks if the lateral distance between the Ego and an object is within the specified range.
96.18.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
at |
av_at_kind | See details | all | Optional | None |
distance |
range of length | Allowed lateral distance range from the specified side of the actor, should be non-negative | No default value | Mandatory | None |
ref_object |
physical_object | Reference object used to measure the lateral distance | No default value | Mandatory | None |
side |
av_side | Specifies the side (left or right) on which the object should be relative to the vehicle | No default value | Mandatory | None |
measure_by |
av_measure_by | Defines whether the distance between vehicles is measured from their center points (center_to_center) or their nearest edges (nearest). |
center_to_center | Optional | None |
negate |
bool | See details | false | Optional | None |
96.19 sut_vehicle.longitudinal_position
Checks if the longitudinal distance between the Ego and an object is within range.
96.19.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
at |
av_at_kind | See details | all | Optional | None |
distance |
length | Defines the maximum allowed distance between actors which must be a positive value. This distance is calculated based on the nearest points between the Ego and the object, according to the specified distance_type. |
No default value | Mandatory | None |
ahead_of |
physical_object | Reference object used to measure the longitudinal distance when it is ahead of the Ego | No default value | MandatorySet | aheadOrBehind |
behind |
physical_object | Reference object used to measure the longitudinal distance when it is behind the Ego | No default value | MandatorySet | aheadOrBehind |
distance_type |
distance_type | Defines the distance type for the longitudinal distance check. The options are local (local coordinate system where the Ego is the origin) and road (the distance is calculated along the Ego trajectory in Frenet coordinates, i.e., relative to the longitudinal and lateral axes of the road.). |
No default value | Optional | None |
negate |
bool | See details | false | Optional | None |
96.20 vehicle.traffic_light
Checks if there is a traffic light in the vehicle's current lane (including behind the vehicle) or in any lanes ahead within the specified distance. If a traffic light state is specified, only traffic lights matching that state are accepted.
96.20.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
at |
av_at_kind | See details | all | Optional | None |
distance |
length | Defines the maximum allowed distance to the traffic light, in length units. The distance is calculated from the center of the vehicle | No default value | MandatorySet | timeOrDistance |
time |
time | Defines the maximum allowed distance to the traffic light, in time units. The distance is calculated from the center of the vehicle | No default value | MandatorySet | timeOrDistance |
state |
traffic_light_state | Defines the required state of the traffic light [go, protected_go, slow, stop] | No default value | Optional | None |
negate |
bool | See details | false | Optional | None |
96.21 vehicle.keep_lane
Checks if the vehicle remains in the same lane.
96.21.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
lane_calculation_tolerance |
length | Specifies the tolerance when calculating the actor's lane. This distance is calculated based on the nearest points between the actor and the lane | No default value | Optional | None |
96.22 vehicle.lateral_offset
Checks if a vehicle is within the specified lateral distance from its lane
96.22.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
distance |
range of length | Allowed distance range from the specified side of the actor's lane. The distance measurement depends on the line parameter: "center" measures from the vehicle's center, "left" from its left edge, and "right" from its right edge. Negative values indicate positions to the right and positive to the left. For example, with line: "left" and a distance of [-1..5]meters, the vehicle's left edge is between 1 meter inside and 5 meters outside the lane. | No default value | Optional | None |
line |
line | Defines the reference line on the lane from which the distance is measured (left, right, center) | center | Optional | None |
at |
av_at_kind | See details | all | Optional | None |
return_value_for_non_driving_lane |
bool | In case the vehicle is not on a driving lane (such as shoulder), the modifier will always return the specified value. | No default value | Optional | None |
96.23 vehicle.nearest_on_lane
Checks if a vehicle is the nearest vehicle behind or ahead of the Ego.
96.23.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
at |
av_at_kind | See details | all | Optional | None |
ahead_of |
vehicle | Checks if the actor is the nearest object ahead of the reference car | No default value | MandatorySet | aheadOrBehind |
behind |
vehicle | Checks if the actor is the nearest object behind the reference car | No default value | MandatorySet | aheadOrBehind |
negate |
bool | See details | false | Optional | None |
96.24 sut_vehicle.leading_to_junction
Checks if the Ego is approaching the junction and has yielded right of way; supports only the Ego.
96.24.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
at |
av_at_kind | See details | all | Optional | None |
start_offset |
range of length | Required distance range from the junction entry, in length units, for the actor to be considered as being inside the junction. This distance is calculated from the center of the vehicle | [-10..10]meter | Optional | None |
96.25 vehicle.on_road_element
Checks if the vehicle is on a specified road element.
96.25.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
at |
av_at_kind | See details | all | Optional | None |
road_element |
logiq_road_element | Specifies which road_element the modifier is checking. The supported road elements are highway, highway_exit, highway_entry, road_to_force_merge, and lane_to_force_merge_conflict. | No default value | Mandatory | None |
negate |
bool | See details | false | Optional | None |
start_offset |
range of length | Required distance range from the road_element start (in length units) for the actor to be considered inside the road_element. The distance is calculated from the center of the vehicle | No default value | Optional | roadOffset |
end_offset |
range of length | Required distance range from the road_element end, in length units, for the actor to be considered inside the road_element. The distance is calculated from the center of the vehicle | No default value | Optional | roadOffset |
96.26 vehicle.off_road
Checks if a vehicle is off-road.
96.26.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
at |
av_at_kind | See details | all | Optional | None |
veer_threshold |
float | A float number from 0 to 1 representing the portion of the car that veers. A veer_threshold of 0.5 means that at least half of the car's width must be outside the lane to exceed the threshold. |
0.5 | Optional | None |
is_off_any_road |
bool | When set to true, the modifier checks whether the vehicle is no longer on any road. When set to false, the modifier checks if the vehicle has deviated from its designated road—the road it is currently on, based on its direction of travel and the map. | No default value | Optional | None |
96.27 vehicle.road
Check if the actor will be, has been, or currently is on the same or opposite road as the ref_car
96.27.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
at |
av_at_kind | See details | all | Optional | None |
road_relation |
road_relation | Specifies the road relation to check. The options are same (same road) and opposite (opposite road) |
No default value | Mandatory | None |
ref_car |
physical_object | Reference object used to determine the road condition | No default value | Mandatory | None |
past_time_window |
time | Allowed past time range for the actor to be on the same or opposite road as the reference object. Must be non-negative. Any value later than the recording start time is treated as the start time. | 0s | Optional | None |
future_time_window |
time | Allowed future time range for the actor to be on the same or opposite road as the reference object. Must be non-negative. Any value later than the recording end time is treated as the end time. | 0s | Optional | None |
negate |
bool | See details | false | Optional | None |
use_geometric_closest_lane |
bool | In addition to the lane determined by the actor's trajectory, enable calculations based on the closest lane of the referenced object | false | Optional | None |
96.28 vehicle.height
Checks if the actor's height is within range. "Taller_than" or "shorter_than" return true if the actor exceeds or falls below a reference vehicle's height within the range.
96.28.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
at |
av_at_kind | See details | all | Optional | None |
height |
range of length | Allowed range of height | No default value | Mandatory | None |
taller_than |
vehicle | Sets a vehicle to have a greater height than the reference vehicle (by range) | No default value | Optional | tallerOrShorter |
shorter_than |
vehicle | Sets a vehicle to have a shorter height than the reference vehicle (by range) | No default value | Optional | tallerOrShorter |
negate |
bool | See details | false | Optional | None |
96.29 vehicle.angles_within_range
Checks if the angle difference is within range, using the actor's yaw vs. the ref_car's yaw, or vs. its lane if ref_car is not specified.
96.29.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
at |
av_at_kind | See details | all | Optional | None |
ref_car |
vehicle | Reference vehicle used to calculate the angle difference | No default value | Optional | None |
angle_diff |
range of angle | Allowed range of angle difference | No default value | Mandatory | None |
negate |
bool | See details | false | Optional | None |
96.30 vehicle.traffic_ahead
Checks if the vehicle is in traffic, by looking for a slow or stopped vehicle ahead of the reference vehicle which blocks its way
96.30.1 Parameters
| Parameter | Type | Description | Default value | Mandatory/Optional/MandatorySet | Exclusive sets |
|---|---|---|---|---|---|
at |
av_at_kind | See details | all | Optional | None |
max_lon_distance_to_ahead_vehicle |
length | Maximum longitudinal distance to the vehicle ahead. The distance is calculated from the centers of both vehicles, and the axis is based on the receiver vehicle's global yaw | No default value | Mandatory | None |
max_lat_distance_to_ahead_vehicle |
length | Maximum lateral distance to the vehicle ahead. The distance is calculated from the centers of both vehicles, and the axis is based on the receiver vehicle's global yaw | No default value | Mandatory | None |
max_speed_of_ahead_vehicle |
speed | Maximum speed of the vehicle ahead | No default value | Optional | None |
negate |
bool | See details | false | Optional | None |
96.31 Mutual parameters
96.31.1 at
All evaluation modifiers have an optional at parameter, with the following possible values:
all– the modifier is enforced throughout this phase (default)start– the modifier is enforced at the start of the phaseend– the modifier is enforced at the end of the phase
96.31.2 negate
When negate is set to true, the modifier will return false in cases where it would have returned true, and vice versa.
Mandatory/Optional/MandatorySet
Mandatory– The parameter must be specified.Optional– The parameter is not required.MandatorySet– The parameter belongs to a set in which exactly one parameter must be specified