179. Vehicle Cut In evaluation scenario
In the vehicle_cut_in evaluation scenario, the vehicle_actor and the Ego are driving in adjacent lanes and the vehicle_actor cuts in front of the Ego.
Scenario location: $FTX/logiq/scenario_library_post_match/vehicle_cut_in/vehicle_cut_in
179.1 Actors
The actors associated with this scenario are as follows:
| Actor | Description | Type | Depiction |
|---|---|---|---|
ego |
Vehicle under test | vehicle |
![]() |
vehicle_actor |
Cut in vehicle | vehicle |
![]() |
179.2 Prerequisites
The vehicle_cut_in scenario requires a road with at least two lanes in the same direction. The Ego and the vehicle_actor must not start in the same lane.
179.3 Match criteria
Interval open: The Ego and the vehicle_actor are in different lanes, going in the same direction. The latter vehicle remains in a range of min_distance_from_sut_in_time_units and max_distance_from_sut_in_time_units from the Ego.
- Interval close: When the vehicle_actor is ahead of and in the same lane as the Ego.
- Preconditions:
179.4 Scenario phases
The phase descriptions are as follows:
179.4.1 init_drive
Ego: The Ego drives in one lane, in the adjacent lane to the vehicle_actor.
vehicle_actor: The vehicle_actor drives at the adjacent lane, ahead of the Ego and remains in a range of
min_distance_from_sut_in_time_units and max_distance_from_sut_in_time_units from the Ego during the entire phase.
179.4.2 change_lane
Ego: The Ego drives in one lane, behind the vehicle_actor.
vehicle_actor: The vehicle_actor changes lane to the Ego's lane, ahead of the Ego and remains in a range of
min_distance_from_sut_in_time_units and max_distance_from_sut_in_time_units from the Ego during the entire phase.
179.4.3 post_phase
vehicle_actor: The vehicle_actor in the same lane during the entire phase.
179.5 Configuration parameters
Use these parameters to constrain the scenario. If you do not set a specific value, the default value will be used.
| Parameter | Type | Unit | Description | Default value |
|---|---|---|---|---|
min_init_drive_phase_duration |
time | s | Minimum time of the init_drive phase |
0.5s |
max_init_drive_phase_duration |
time | s | Maximum time of the init_drive phase |
3s |
min_change_lane_phase_duration |
time | s | Minimum time of the change_lane phase |
0s |
max_change_lane_phase_duration |
time | s | Maximum time of the change_lane phase |
3s |
min_post_phase_duration |
time | s | Minimum time of the post_phase phase |
0s |
max_post_phase_duration |
time | s | Maximum time of the post_phase phase |
3s |
same_road_limit |
time | s | Time threshold for the vehicle_actor to be considered as driving on the same road as the Ego | 10s |
speed_gap_threshold |
speed | kph | Minimum speed change of the Ego from the start to the end of the scenario to confirm it slowed down | 5kph |
[Click] The input items inherited from the sut.logiq_base_lane_following_scenario scenario are as follows:
| Parameter | Type | Unit | Description | Default value |
|---|---|---|---|---|
min_distance_from_sut_in_time_units |
time | s | Minimum headway distance between the Ego and the vehicle actor | 0s |
max_distance_from_sut_in_time_units |
time | s | Maximum headway distance between the Ego and the vehicle actor | 5s |
[Click] The input items inherited from the sut.logiq_base_vehicle_scenario scenario are as follows:
| Parameter | Type | Unit | Description | Default value |
|---|---|---|---|---|
kinds |
list of evaluation_object_kind | — | Possible kinds of vehicle_actor in the scenario | — |
179.6 Metrics
179.6.1 Coverage
| Item | Description | Values | Unit/Type |
|---|---|---|---|
cut_in_side |
Side of cut in vehicle relative to Ego | left, right | av_side |
cut_in_vehicle_distance_to_ego_at_start |
Distance between cut_in_vehicle and Ego at the start | [0..100), every: 10.0 | m |
cut_in_vehicle_speed_at_scenario_start |
Speed of cut_in_vehicle at start (in mps) | [0..150), every: 10.0 | mph |
cut_in_vehicle_init_speed |
Speed of cut_in_vehicle at the start | [0..150), every: 10.0 | mph |
cut_in_vehicle_lat_offset_at_start |
Lateral offset of the cut_in_vehicle at start | [-2..2), every: 0.5 | m |
cut_in_vehicle_speed_at_change_lane |
Speed of cut in vehicle at start of the lane change phase | [0..180), every: 10.0 | mph |
distance_at_change_lane |
Distance between Ego and cut in vehicle at start of the lane change phase | [0..200), every: 10.0 | m |
ego_speed_at_change_lane_start |
Speed of Ego at change_lane start (in mps) | [0..160), every: 10.0 | mph |
cut_in_vehicle_rel_speed_to_ego_at_change_lane_start |
How faster is cut_in_vehicle relative to Ego at change_lane start (in mps) | [-70..35), every: 10.0 | mph |
cut_in_vehicle_lat_offset_at_cut_in_start |
Lane offset of cut_in_vehicle at start of cut_in phase | [-2..2), every: 0.25 | m |
cut_in_vehicle_yaw_speed_in_cut_in_phase |
Cut in vehicle yaw speed during cut in phase | radps | |
ego_lane |
Relative Ego lane within road (leftmost/center/rightmost) | innermost, outermost, middle | lane_relative_side |
ego_time_head_way_to_cut_in_vehicle_at_change_lane_start |
Ego time head way relative to cut_in_vehicle at the start of change lane | [0..31), every: 1.0 | s |
ego_relative_time_gap_to_cut_in_vehicle_at_change_lane_start |
Ego relative time distance to cut_in_vehicle at change lane start | [1..5), every: 0.5 | s |
lane_change_duration |
Duration of cut in vehicle lane change | [0..5), every: 1.0 | s |
cut_in_vehicle_rel_distance_to_ego_at_switch_lane_end |
Cut in vehicle relative distance to Ego at switch lane end | [5..200), every: 10.0 | m |
ego_speed_at_change_lane_end |
Speed of Ego at change_lane end (in mps) | [0..160), every: 10.0 | mph |
cut_in_vehicle_rel_speed_to_ego_at_change_lane_end |
How faster is cut_in_vehicle relative to Ego at change_lane end (in mps) | [-70..35), every: 10.0 | mph |
cut_in_vehicle_lat_offset_at_cut_in_end |
Lane offset of cut_in_vehicle at end of cut_in phase | [-2..2), every: 0.25 | m |
ego_time_head_way_to_cut_in_vehicle_at_change_lane_end |
Ego time head way relative to cut_in_vehicle at the end of change lane | [0..31), every: 1.0 | s |
ego_relative_time_gap_to_cut_in_vehicle_at_change_lane_end |
Ego relative time distance to cut_in_vehicle at change lane end | [1..5), every: 0.5 | s |
ego_ttc_at_change_lane_end |
Ego time to collision at the end of lane change | [0..6), every: 0.5 | s |
cut_in_vehicle_local_min_speed_lon |
Minimum longitudinal local speed of cut in vehicle | [0..150), every: 10.0 | mph |
cut_in_vehicle_local_avg_speed_lon |
Average longitudinal local speed of cut in vehicle | [0..150), every: 10.0 | mph |
cut_in_vehicle_local_sd_speed_lon |
Standard deviation longitudinal local speed of cut in vehicle | [0..150), every: 10.0 | mph |
cut_in_vehicle_local_min_speed_lat |
Minimum lateral local speed of cut in vehicle | [-3..3), every: 1.0 | mps |
cut_in_vehicle_local_max_speed_lat |
Maximum lateral local speed of cut in vehicle | [-3..3), every: 1.0 | mps |
cut_in_vehicle_local_avg_speed_lat |
Average lateral local speed of cut in vehicle | [-3..3), every: 1.0 | mps |
cut_in_vehicle_local_sd_speed_lat |
Standard deviation lateral local speed of cut in vehicle | [-3..3), every: 1.0 | mps |
cut_in_vehicle_rel_distance_to_ego_at_lane_change_end |
Cut in vehicle relative distance to Ego at lane change end | [5..200), every: 10.0 | m |
ego_changed_lane |
Did the Ego change lane | true, false | bool |
cut_in_vehicle_speed_at_scenario_end |
Speed of cut_in_vehicle at end (in mps) | [0..150), every: 10.0 | mph |
ego_slowed_down |
Did the Ego slow down in more than the given speed threshold during the scenario | true, false | bool |
cut_in_vehicle_lat_offset_at_end |
Lateral offset of the cut_in_vehicle at end | [-2..2), every: 0.5 | m |
[Click] The coverage items inherited from the sut.logiq_base_lane_following_scenario scenario are as follows:
| Item | Description | Values | Unit/Type |
|---|---|---|---|
ego_min_distance_to_vehicle |
Minimum distance gap throughout the scenario | [0..200), every: 20.0 | m |
[Click] The coverage items inherited from the sut.logiq_base_vehicle_scenario scenario are as follows:
| Item | Description | Values | Unit/Type |
|---|---|---|---|
vehicle_speed_at_start |
Agent speed at start of the scenario | [0..150), every: 10.0 | mph |
[Click] The coverage items inherited from the sut.logiq_base_scenario scenario are as follows:
| Item | Description | Values | Unit/Type |
|---|---|---|---|
ego_speed_at_start |
Ego longitudinal speed at the start of the scenario | [0..160), every: 10.0 | mph |
179.6.2 KPI
[Click] The KPIs inherited from the sut.logiq_base_vehicle_scenario scenario are as follows:
| Item | Description | Values | Unit/Type |
|---|---|---|---|
vehicle_object_kind |
Object kind as derived from Foretify | object, person, cyclist, vehicle, truck, trailer, fod, animal, sign, bus, motorcycle, emergency_vehicle, stationary_vehicle | evaluation_object_kind |
vehicle_tracking_id |
Tracking id of the agent as described in the object list data. If the data comes from a generative run, the UID will be used | string | |
vehicle_avg_speed |
Agent average longitudinal speed throughout the scenario | mph | |
vehicle_max_speed |
Agent maximum speed throughout the scenario | mph | |
vehicle_min_speed |
Agent minimum speed throughout the scenario | mph | |
vehicle_max_lon_acceleration |
Agent maximum longitudinal acceleration throughout the scenario | mpsps | |
vehicle_min_lon_acceleration |
Agent minimum longitudinal acceleration throughout the scenario | mpsps | |
ego_min_ttc_to_vehicle |
Minimum time to collision with the reference vehicle throughout the scenario | s | |
ego_min_mttc_to_vehicle |
Minimum modified time to collision with the reference vehicle throughout the scenario | s |
[Click] The KPIs inherited from the sut.logiq_base_scenario scenario are as follows:
| Item | Description | Values | Unit/Type |
|---|---|---|---|
ego_max_lon_acceleration |
Ego maximum acceleration throughout the scenario | mpsps | |
ego_min_lon_acceleration |
Ego minimum acceleration throughout the scenario | mpsps | |
ego_min_speed |
Ego minimum longitudinal speed throughout the scenario | mph | |
ego_avg_speed |
Ego average longitudinal speed throughout the scenario | mph | |
ego_max_speed |
Ego maximum longitudinal speed throughout the scenario | mph | |
ego_distance_traveled_during_interval |
Total distance traveled by the Ego during the interval | m | |
interval_duration |
Interval duration of the scenario | s |
179.7 Log and Error Messages
No scenario-specific log messages.
179.8 Usage
Import the post-match scenario top file and register the matcher in a match: block, overriding only the parameters you need. Any omitted parameters use the defaults listed in Configuration parameters.
The matcher is also available through the shared post-match import bundle:
$FTX/logiq/customers/base/osc/post_match_scenarios.osc$FTX/evaluate/library/scenarios/scenario_library_post_match.osc(evaluation builds).
import "$FTX/logiq/scenario_library_post_match/vehicle_cut_in/vehicle_cut_in/vehicle_cut_in_top.osc"
# The following example imports the top file and overrides ten parameters:
match:
vehicle_cut_in: sut.vehicle_cut_in(min_distance_from_sut_in_time_units: 0s,
max_distance_from_sut_in_time_units: 6s,
min_init_drive_phase_duration: 0.5s,
max_init_drive_phase_duration: 3s,
min_change_lane_phase_duration: 0s,
max_change_lane_phase_duration: 3s,
min_post_phase_duration: 0s,
max_post_phase_duration: 3s,
speed_gap_threshold: 5kph,
kinds: [vehicle, cyclist, truck, emergency_vehicle, bus, motorcycle])

