259. Oncoming vehicle overtaking obstacle
Scenario location: $FTX_PACKAGES/base_scenarios/scenarios/oncoming_vehicles/oncoming_vehicle_overtaking_obstacle/
In the oncoming_vehicle_overtaking_obstacle scenario, the Ego drives on the road with an oncoming_vehicle in the adjacent lane. The oncoming_vehicle violates the lane markings and partially enters the Ego's lane due to an obstacle present in the oncoming_vehicle's lane.
259.1 Actors
The actors associated with this scenario are as follows:
| Name | Description | Type | Depiction |
|---|---|---|---|
ego |
Vehicle under test | vehicle |
![]() |
oncoming_vehicle |
Vehicle traveling toward the Ego in the opposite lane | vehicle |
![]() |
259.2 Prerequisites
Environmental requirements: A two-lane bidirectional road, with one lane designated for outgoing traffic (vehicles travelling in the same direction as the Ego), and the other for oncoming traffic (vehicles traveling toward the Ego, i.e., in the opposite direction). If there are multiple lanes in one direction, both the oncoming_vehicle and the Ego must be in the leftmost lane of their respective directions.
259.3 Scenario essence
259.4 phase_essence
Ego: Drives in the leftmost lane of its direction on a bidirectional road.
oncoming_vehicle: Drives in the opposite direction using its leftmost lane and is able to leave the lane and cross the center line when needed.
stationary_obstacle: Positioned in the path of the oncoming_vehicle, forcing it to overtake by entering the Ego's lane.
259.5 Scenario Main phases
The oncoming_vehicle_overtaking_obstacle_main scenario is structured into three distinct phases.
259.5.1 phase_ego_warm_up
The phase_ego_warm_up invokes the oncoming_vehicle_base_ego_warm_up.
259.5.2 phase_essence
The phase_scenario invokes the phase_essence
259.5.3 phase_post
The phase_post invokes the oncoming_vehicle_base_post scenario.
259.6 Parameters
The paths to the CSV file and the main CSV file are as follows:
$FTX_PACKAGES/base_scenarios/test_suites/test_suite_definitions/oncoming_vehicles/oncoming_vehicle_overtaking_obstacle.csv
$FTX_PACKAGES/base_scenarios/test_suites/test_suite_definitions/oncoming_vehicles/oncoming_vehicle_overtaking_obstacle_main.csv
The parameters you can constrain to create tests with the oncoming_vehicle_overtaking_obstacle.csv file are as follows:
| Parameter | Description | Range |
|---|---|---|
gen_obstacle_min_distance_to_center_of_lane |
Distance from the obstacle to the center of the lane | [0..1]m |
gen_oncoming_vehicle_speed_at_essence |
Speed of the oncoming_vehicle | [0..150]kph |
gen_oncoming_vehicle_speed_at_start |
Input speed of the oncoming_vehicle at essence start | [0..150]kph |
gen_ego_speed_at_start |
Input speed of the Ego at the start of the scenario | [0..150]kph |
259.7 Metrics
Metrics collected during test execution are given below.
259.7.1 Coverage
The coverage metrics are given below.
259.7.1.1 Coverage items
The multi-dimensional situations captured during the test execution are as follows:
| Item | Description | Range | Unit/Type |
|---|---|---|---|
oncoming_vehicle_speed_at_essence_start |
Speed of the oncoming_vehicle at the start of the phase_essence | [0..150), every: 10.0 | kph |
ego_distance_to_oncoming_vehicle_at_phase_essence_overtake_start |
Distance between the Ego and the oncoming_vehicle at the start of the phase_essence | [30..80), every: 5.0 | m |
oncoming_vehicle_speed_at_end |
Speed of the oncoming_vehicle at the end of the scenario | [0..150), every: 10.0 | kph |
joint_arrival_time |
Time difference between the arrival of the vehicles close to the object | [0..6), every: 1.0 | s |
ego_arrived_first |
Whether the Ego arrived first closer to the object | true, false | bool |
oncoming_vehicle_lon_distance_to_obstacle_at_phase_essence_overtake_end |
Distance between the obstacle and the oncoming_vehicle at the end of the phase_essence | [5..25), every: 2.0 | m |
oncoming_vehicle_lat_distance_to_obstacle |
Lateral distance of the oncoming_vehicle to the obstacle | [4..6), every: 1.0 | m |
obstacle_min_distance_to_center_of_lane |
The distance of the obstacle from the center lane at the start of the scenario | [0..5), every: 1.0 | m |
gen_obstacle_min_distance_to_center_of_lane |
Distance from the obstacle to the center of the lane | [0..1), every: 0.1 | m |
gen_oncoming_vehicle_speed_at_essence |
Speed of the oncoming_vehicle | [0..150), every: 10.0 | kph |
[Click] The coverage items inherited from the sut.oncoming_vehicle_family_base scenario are as follows:
| Item | Description | Range | Unit/Type |
|---|---|---|---|
lateral_distance_to_oncoming_vehicle_at_second_apart |
Lateral center-to-center distance between the Ego and the oncoming_vehicle, one second after passing | [2..5), every: 1.0 | m |
ego_speed_at_second_apart |
Speed of the Ego one second after passing the oncoming_vehicle | [0..150), every: 10.0 | kph |
oncoming_vehicle_speed_at_second_apart |
Speed of the oncoming_vehicle one second after passing the Ego | [0..150), every: 10.0 | kph |
ego_acceleration_at_second_apart |
Acceleration of the Ego one second after passing the oncoming_vehicle | [-4..4) | mpsps |
lateral_distance_to_oncoming_vehicle_at_passing_by |
Lateral center-to-center distance between the Ego and the oncoming_vehicle | [0..2), every: 0.2 | m |
ego_speed_at_passing_by |
Speed of the Ego as the oncoming_vehicle passes | [0..150), every: 10.0 | kph |
oncoming_vehicle_speed_at_passing_by |
Speed of the oncoming_vehicle as it passes the Ego | [0..150), every: 10.0 | kph |
ego_acceleration_at_passing_by |
Acceleration of the Ego while passing | [-4..4), every: 1.0 | mpsps |
curve_at_passing_by |
Curve during the passing by maneuver | other, straightish, soft_left, hard_left, soft_right, hard_right | curvature |
gen_oncoming_vehicle_speed_at_start |
Input speed of the oncoming_vehicle at essence start | [0..150), every: 10.0 | kph |
oncoming_vehicle_speed_at_start |
Speed of the oncoming_vehicle at essence start | [0..150), every: 10.0 | kph |
[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 |
259.7.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.oncoming_vehicle_family_base scenario are as follows:
| Item | Description | Referred coverage items |
|---|---|---|
| -- | -- | -- |
[Click] The cross coverage items inherited from the sut.generic_base scenario are as follows:
| Item | Description | Referred coverage items |
|---|---|---|
| -- | -- | -- |
259.7.2 KPI
The key performance indicators are given below.
259.7.2.1 Record items
The performance metrics and the data items captured during the test execution are as follows:
| Item | Description | Range | Unit/Type |
|---|---|---|---|
oncoming_vehicle_min_lon_distance_to_obstacle |
The minimum longitudinal distance between oncoming_vehicle and obstacle | [0..4), every: 1.0 | m |
oncoming_vehicle_min_lat_distance_to_ego_while_passing |
Minimum lateral distance between Ego and oncoming_vehicle while oncoming_vehicle is passing Ego | [0..6), every: 0.5 | m |
oncoming_vehicle_min_lon_distance_to_ego_while_passing |
Minimum longitudinal distance between Ego and oncoming_vehicle while oncoming_vehicle is passing Ego | [0..6), every: 1.0 | m |
ego_evasive_reduce_risk |
Does the Ego slow down or swerve to reduce the risk of a collision | true, false | bool |
[Click] The KPIs inherited from the sut.oncoming_vehicle_family_base scenario are as follows:
| Item | Description | Range | Unit/Type |
|---|---|---|---|
oncoming_vehicle_max_long_acceleration |
Maximum longitudinal acceleration of the oncoming_vehicle | [0..20), every: 2.0 | mpsps |
oncoming_vehicle_min_long_acceleration |
Minimum longitudinal acceleration of the oncoming_vehicle | [0..20), every: 2.0 | mpsps |
max_lat_lane_distance |
Maximum lateral distance between the Ego and the oncoming_vehicle | [0..20), every: 2.0 | m |
[Click] The KPIs inherited from the sut.generic_base scenario are as follows:
| Item | Description | Range | Unit/Type |
|---|---|---|---|
| -- | -- | -- | -- |
259.7.3 Checks
The captured problematic behavior or conditions are as follows:
| Default Severity | Description | Issue kind | Threshold |
|---|---|---|---|
warning |
The check is triggered when the arrival time gap between the vehicles close to the object is higher than the threshold, and the Ego did not decelerate near the object | high_joint_arrival_time | max_joint_arrival_time |
error |
The check is triggered when the Ego did not successfully bypass the oncoming vehicle by the end of the scenario | ego_did_not_bypass_oncoming_vehicle | ego_lon_distance_to_oncoming_vehicle_at_finish >= 0m |

