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:
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 |


