Skip to content

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
Figure 1: Oncoming vehicle overtaking obstacle scenario

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