Skip to content

Consecutive ego merge

Scenario location: $FTX_PACKAGES/base_scenarios/scenarios/ego_merge/consecutive_ego_merge/

The consecutive_ego_merge scenario simulates two forced merge maneuvers occurring in quick succession. It challenges the Ego’s ability to recover from the first merge and safely adapt to the second within a limited reaction time.

Actors

Actor Description Type Depiction
ego Vehicle under test vehicle
lane_1_lead_vehicle Vehicle driving ahead of the lane_1_traffic_vehicle in the first merging lane vehicle
lane_1_traffic_vehicle Vehicle in the first merging lane vehicle
lane_2_lead_vehicle Vehicle driving ahead of the lane_1_traffic_vehicle in the second merging lane vehicle
lane_2_traffic_vehicle Vehicle in the second merging lane vehicle
Figure 1: Initial phase of consecutive Ego merge

Prerequisites

Environmental requirements: A highway with a forced merge point, such as lane ending, road split, ramp exit, or on-ramp.

Scenario essence

phase_essence

phase_essence_first_merge

Ego: The Ego drives from the start of first_merge_road, changes to lane 1 to merge with traffic, and completes its drive at a specified offset from the end of traffic_road.

lane_1_lead_vehicle: At the start of the phase, the lane_1_lead_vehicle is positioned in lane 2, ahead of the Ego by a specified time gap, and drives along the traffic_road.

lane_1_traffic_vehicle: The lane_1_traffic_vehicle is positioned in the same lane as the lane_1_lead_vehicle and maintains a specified time gap behind it at both the start and end of the phase.

lane_2_lead_vehicle: The lane_2_lead_vehicle is positioned in the lane left of the lane_1_traffic_vehicle and maintains a consistent traffic_speed along the traffic_road.

lane_2_traffic_vehicle: The lane_2_traffic_vehicle is positioned in the same lane as the lane_2_lead_vehicle and maintains a specified time gap behind it at the end of the phase.

phase_essence_highway_traffic

Ego: The Ego drives from the start of first_merge_road, changes to lane 1 to merge with traffic, and completes its drive at a specified offset from the end of traffic_road.

lane_1_lead_vehicle: The lane_1_lead_vehicle continues to drive along the highway at a steady traffic_speed and completes its drive in the lane_2_lead_vehicle's lane.

lane_1_traffic_vehicle: The lane_1_traffic_vehicle continues to drive, maintaining a specified time gap behind the lane_1_lead_vehicle.

lane_2_lead_vehicle: The lane_2_lead_vehicle continues to drive along the highway, maintaining its lane and a steady traffic_speed.

lane_2_traffic_vehicle: The lane_2_traffic_vehicle continues to drive, maintaining a specified time gap behind the lane_2_lead_vehicle.

phase_essence_second_merge

Ego: The Ego continues to drive to the end of the second_merge_road.

lane_1_lead_vehicle: At the start of the phase, the lane_1_lead_vehicle maintains a constant speed and a specified combined time gap behind the lane_2_lead_vehicle.

lane_1_traffic_vehicle: The lane_1_traffic_vehicle continues to drive at a constant speed.

lane_2_lead_vehicle: The lane_2_lead_vehicle continues to drive at a constant speed.

lane_2_traffic_vehicle: The lane_2_traffic_vehicle continues to drive at a constant speed.

Scenario Main phases

The consecutive_ego_merge main scenario is structured into three distinct phases.

phase_ego_warm_up

The phase_ego_warm_up invokes the consecutive_ego_merge_ego_warm_up scenario.

phase_essence

The phase_essence invokes the phase_essence

phase_post

The phase_post invokes the consecutive_ego_merge_post scenario.

Parameters

Paths to the CSV file and the main CSV file are as follows:

$FTX_PACKAGES/base_scenarios/test_suites/test_suite_definitions/ego_merge/consecutive_ego_merge.csv
$FTX_PACKAGES/base_scenarios/test_suites/test_suite_definitions/ego_merge/consecutive_ego_merge_main.csv
The parameters you can constrain to create tests with the consecutive_ego_merge.csv file are as follows:

Parameter Description Range
gen_traffic_speed Generated speed of traffic vehicles [0..150]kph
gen_time_gap_between_lane_1_vehicles Generated time gap between vehicles in the first merging lane during first_merging_phase [1..5]s
gen_time_gap_between_lane_2_vehicles Generated time gap between vehicles in the second merging lane during first_merging_phase [1..5]s
gen_ego_lon_lane_dist_to_merge_location_at_start Generated longitudinal lane distance between the Ego and the merge location at the start [100..230]m
gen_combined_lane_time_gap Generated time gap between lead vehicles during second_merging_phase [1..5]s
gen_ego_speed_at_start Input speed of the Ego at the start of the scenario [0..150]kph

Events

Event Description
ego_stopped Ego speed is slower than 1kph for a delay of ego_complete_stand_still_time
ego_merge_to_highway_complete Ego completes the merge onto the highway

Metrics

Metrics collected during test execution are given below.

Coverage

The coverage metrics are given below.

Coverage items

The multi-dimensional situations captured during the test execution are as follows:

Item Description Range Unit/Type
traffic_speed Speed of traffic vehicles [0..150), every: 10.0 kph
gen_traffic_speed Generated speed of traffic vehicles [0..150), every: 10.0 kph
gen_time_gap_between_lane_1_vehicles Generated time gap between vehicles in the first merging lane during first_merging_phase [1..5), every: 0.5 s
gen_time_gap_between_lane_2_vehicles Generated time gap between vehicles in the second merging lane during first_merging_phase [1..5), every: 0.5 s
gen_ego_lon_lane_dist_to_merge_location_at_start Generated longitudinal lane distance between the Ego and the merge location at the start [100..230), every: 20.0 m
gen_combined_lane_time_gap Generated time gap between lead vehicles during second_merging_phase [1..5), every: 0.5 s
time_gap_between_lane_1_vehicles Time gap between vehicles in the first merging lane during first_merging_phase [1..5), every: 0.5 s
ego_lon_lane_dist_to_merge_location_at_start Initial distance between the Ego and the merge location at the start [100..230), every: 20.0 m
time_gap_between_lane_2_vehicles Time gap between vehicles in the second merging lane during first_merging_phase [1..5), every: 0.5 s
ego_position_to_traffic_at_highway_merge Position of the Ego relative to traffic when merging onto the highway no_merge, before_traffic, within_traffic, after_traffic ego_position_to_traffic
combined_lane_time_gap Time gap between lead vehicles during second_merging_phase [1..5), every: 0.5 s
[Click] The coverage items inherited from the sut.ego_merge_family_base scenario are as follows:
Item Description Range Unit/Type
merge_location_type The Ego merge type (ramp/ lane end/ ramp exit/ road split) acceleration_lane, ramp_to_exit, lane_end, road_split force_merge_type
ego_merge_side The Ego merge side to the highway or lane end left, right av_side
merge_side_of_merging_vehicle The merge side of the merging vehicle left, right force_merge_side
[Click] The coverage items inherited from the sut.generic_base scenario are as follows:
Item Description Range Unit/Type
gen_ego_speed_at_start Input speed of the Ego at the start of the scenario [0..150), every: 10.0 kph
ego_speed_at_start Actual speed of the Ego at the start of the scenario [0..150), every: 10.0 kph

Cross coverage items

The test execution data for the combination of multiple coverage items is as follows:

Item Description Referred coverage items
-- -- --
[Click] The cross coverage items inherited from the sut.ego_merge_family_base scenario are as follows:
Item Description Referred coverage items
cross_ego_merge_side_merge_location_type The cross coverage of the Ego merge side and merge location type ego_merge_side, merge_location_type
[Click] The cross coverage items inherited from the sut.generic_base scenario are as follows:
Item Description Referred coverage items
-- -- --

KPI

The key performance indicators are given below.

Record items

The performance metrics and the data items captured during the test execution are as follows:

Item Description Range Unit/Type
gap_size_for_first_merge_of_ego Gap size for the Ego during the first merge [0..200), every: 25.0 m
gap_size_for_second_merge_of_ego Gap size for the Ego during the second merge [0..200), every: 25.0 m
max_time_gap_actors_first_merge Maximum time gap between actors during first merge (gap touched by ego) s
min_time_gap_actors_first_merge Minimum time gap between actors during first merge (gap touched by ego) s
max_time_gap_actors_second_merge Maximum time gap between actors during second merge (gap touched by ego) s
min_time_gap_actors_second_merge Minimum time gap between actors during second merge (gap touched by ego) s
speed_difference_actor_ego_and_first_lane_change Speed difference between ego and actor behind ego when changing lanes in first merge kph
speed_difference_actor_ego_and_second_lane_change Speed difference between ego and actor behind ego when changing lanes in second merge kph
ego_stopped_bool Did the Ego stop true, false bool
first_ego_merge First merge of the Ego true, false bool
[Click] The KPIs inherited from the sut.ego_merge_family_base scenario are as follows:
Item Description Range Unit/Type
-- -- -- --
[Click] The KPIs inherited from the sut.generic_base scenario are as follows:
Item Description Range Unit/Type
-- -- -- --

Checks

Default Severity Description Issue kind Threshold
warning A warning is issued if the Ego was not able to merge into the target lane ego_stopped_warning -