179. 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.
179.0.1 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 |
179.1 Prerequisites
Environmental requirements: A highway with a forced merge point, such as lane ending, road split, ramp exit, or on-ramp.
179.2 Scenario essence
179.2.1 phase_essence
179.2.1.1 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.
179.2.1.2 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.
179.2.1.3 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.
179.3 Scenario Main phases
The consecutive_ego_merge main scenario is structured into three distinct phases.
179.3.1 phase_ego_warm_up
The phase_ego_warm_up invokes the consecutive_ego_merge_ego_warm_up scenario.
179.3.2 phase_essence
The phase_essence invokes the phase_essence
179.3.3 phase_post
The phase_post invokes the consecutive_ego_merge_post scenario.
179.4 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
| 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 |
179.5 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 |
179.6 Metrics
Metrics collected during test execution are given below.
179.6.1 Coverage
The coverage metrics are given below.
179.6.1.1 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 |
179.6.1.2 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 |
|---|---|---|
| -- | -- | -- |
179.6.2 KPI
The key performance indicators are given below.
179.6.2.1 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 |
|---|---|---|---|
| -- | -- | -- | -- |
179.7 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 |
- |