Skip to content

261. Oncoming with parked vehicles

Scenario location: $FTX_PACKAGES/base_scenarios/scenarios/oncoming_vehicles/oncoming_with_parked_vehicles/

In the oncoming_with_parked_vehicles scenario, the Ego drives in the lane where vehicles are parked ahead of it at some distance, and the oncoming_vehicle drives in the adjacent lane of the Ego. The scenario ends when the Ego and the oncoming_vehicle pass each other.

261.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
parked_vehicles Group of parked vehicles located on the shoulder plain_object
Figure 1: Oncoming with parked vehicles

261.2 Prerequisites

Environment requirements: A road with two lanes, one designated for outgoing traffic and the other for oncoming traffic.

261.3 Scenario essence

261.4 phase_essence

phase_essence_oncoming_vehicle: Invokes the oncoming scenario.

parked_vehicles: A group of stationary vehicles is positioned along the side of the Ego's lane, obstructing part of the lane and narrowing the available road space.

261.5 Scenario Main phases

The oncoming_with_parked_vehicles_main scenario is structured into three distinct phases.

261.5.1 phase_ego_warm_up

The phase_ego_warm_up invokes the oncoming_vehicle_base_ego_warm_up scenario.

261.5.2 phase_essence

The phase_scenario invokes the phase_essence

261.5.3 phase_post

The phase_post invokes the oncoming_vehicle_base_post scenario.

261.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.csv
$FTX_PACKAGES/base_scenarios/test_suites/test_suite_definitions/oncoming_vehicles/oncoming_with_parked_vehicles_main.csv

The parameters you can constrain to create tests with the oncoming.csv file are as follows:

The oncoming_with_parked_vehicles scenario inherits parameters from the Oncoming scenario. For more information, see Parameters.

Parameter Description Range
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

The scenario sut.oncoming is included in the scenario sut.oncoming_with_parked_vehicles, with the option to constrain the following input parameters:

Parameter Description Range
gen_oncoming_vehicle_lateral_distance Lateral center-to-center distance between the Ego and the oncoming_vehicle [1..2]m
gen_oncoming_vehicle_speed_at_essence The speed of the oncoming_vehicle during the essence phase [0..150]kph
gen_ego_speed_at_essence Generated speed of the Ego at the opposing phase [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

261.7 Metrics

Metrics collected during test execution are given below.

261.7.1 Coverage

The coverage metrics are given below.

261.7.1.1 Coverage items

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

Item Description Range Unit/Type
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
[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
[Click] The scenario sut.oncoming is included in the scenario sut.oncoming_with_parked_vehicles, with the following coverage items:
Item Description Range Unit/Type
gen_oncoming_vehicle_lateral_distance Lateral center-to-center distance between the Ego and the oncoming_vehicle [1..2), every: 0.2 m
has_stationary_object Whether there is a stationary object on the road true, false bool
gen_oncoming_vehicle_speed_at_essence The speed of the oncoming_vehicle during the essence phase [0..150), every: 10.0 kph
gen_ego_speed_at_essence Generated speed of the Ego at the opposing phase [0..150), every: 10.0 kph
oncoming_vehicle_speed_at_essence_phase Speed of the oncoming_vehicle at the essecne phase [0..150), every: 10.0 kph
ego_speed_at_essence_phase Speed of the Ego at the essence phase [0..150), every: 10.0 kph

261.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
-- -- --
[Click] The scenario sut.oncoming is included in the scenario sut.oncoming_with_parked_vehicles, with the following cross coverage items:
Item Description Referred coverage items
-- -- --

261.7.2 KPI

The key performance indicators are given below.

261.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
-- -- -- --
[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
-- -- -- --
[Click] The scenario sut.oncoming is included in the scenario sut.oncoming_with_parked_vehicles, with the following KPIs:
Item Description Range Unit/Type
-- -- -- --

261.7.3 Checks

The Oncoming with parked vehicles scenario collects checks from the Oncoming scenario. The additional checks specific to this scenario are as follows:

Default Severity Description Issue kind Threshold
warning The check is triggered when the time gap between arrival of vehicles close to the object is greater than the max_joint_arrival_time, and the Ego did not decelerate at a distance less than the arrival_distance_if_ego_decelerated (default `arrival_distance + 5m) from the object high_joint_arrival_time max_joint_arrival_time
warning The check is triggered when the oncoming maneuver did not complete oncoming_did_not_complete
warning The check is triggered when the Ego does not pass by the parked vehicles ego_did_not_pass_parked_vehicles