167. Ego approach mobile operation
In the ego_approach_mobile_operation scenario, the shadow_vehicle_1 and work_vehicle are moving on the innermost/outermost lane of a road with defined speed as shadow_vehicle_1_and_work_vehicle_speed. The shadow_vehicle_2 is placed on the shoulder of the road on the side of the shadow_vehicle_1 and the work_vehicle. The Ego travels on any lane on the road. The vehicles shadow_vehicle_1, shadow_vehicle_2, and work_vehicle have symbols on them and are defined in the code as 'symbol_vehicles'.
Scenario location: $FTX_PACKAGES/base_scenarios/scenarios/construction_sites/ego_approach_mobile_operation/
167.1 Actors
The actors associated with this scenario are as follows:
167.2 Scenario essence
167.3 phase_essence
Ego: The Ego drives at a speed of gen_ego_speed_at_start and maintains its lane. The Ego should move ahead of the work_vehicle by a time gap of 6-10 seconds by the end of the scenario.
shadow_vehicle_1: The shadow_vehicle_1 drives on either the innermost or outermost lane (based on gen_side_of_symbol_vehicle) at the speed gen_shadow_vehicle_1_and_work_vehicle_speed and attempts to maintain its speed and lane. It starts at a longitudinal distance of gen_shadow_vehicle_1_lon_distance_to_shadow_vehicle_2_at_start + gen_shadow_vehicle_2_lon_distance_to_ego with a possible offset of ± 5m from the Ego.
shadow_vehicle_2: The shadow_vehicle_2 remains stationary on the curb with a lateral offset from the lane marking, positioned at a longitudinal distance of gen_shadow_vehicle_2_lon_distance_to_ego from the Ego.
work_vehicle: The work_vehicle drives in the same lane as shadow_vehicle_1 at the speed gen_shadow_vehicle_1_and_work_vehicle_speed and attempts to maintain its speed and lane. It is positioned ahead of shadow_vehicle_1 by a distance of gen_work_vehicle_lon_distance_to_shadow_vehicle_1_at_start with a possible offset of +/- 5m.
167.4 Scenario Main phases
The ego_approach_mobile_operation_main scenario is structured into three distinct phases.
167.4.1 phase_ego_warm_up
The phase_ego_warm_up invokes the construction_sites_base_warm_up scenario.
167.4.2 phase_essence
The phase_scenario invokes the phase_essence
167.4.3 phase_post
The phase_post invokes the construction_sites_base_post scenario.
167.5 Parameters
The paths to the CSV file and the main CSV file are as follows:
$FTX_PACKAGES/base_scenarios/test_suites/test_suite_definitions/construction_sites/ego_approach_mobile_operation.csv
$FTX_PACKAGES/base_scenarios/test_suites/test_suite_definitions/construction_sites/ego_approach_mobile_operation_main.csv
| Parameter | Description | Range |
|---|---|---|
gen_shadow_vehicle_1_and_work_vehicle_speed |
Input speed of shadow_vehicle_1 and work_vehicle | [0..10]kph |
gen_shadow_vehicle_1_lon_distance_to_shadow_vehicle_2_at_start |
Longitudinal distance between shadow_vehicle_1 and shadow_vehicle_2 | [150..250]m |
gen_work_vehicle_lon_distance_to_shadow_vehicle_1_at_start |
Longitudinal distance between work_vehicle and shadow_vehicle_1 | [5..15]m |
gen_shadow_vehicle_2_lon_distance_to_ego |
Longitudinal distance between shadow_vehicle_2 and the Ego | [400..550]m |
gen_side_of_symbol_vehicle |
Side of symbol_vehicle | innermost, outermost |
gen_ego_speed_at_start |
Input speed of the Ego at the start of the scenario | [0..150]kph |
167.6 Events
| Event | Description |
|---|---|
ego_approach_phase_active |
The Ego is in the approach phase (between start and end) |
ego_approach_phase_end_event |
End of the Ego's drive (approach phase ends) |
ego_lane_same_as_shadow_vehicle_1_event |
The Ego reaches the initial position of shadow_vehicle_1 |
167.7 Metrics
Metrics collected during test execution are given below.
167.7.1 Coverage
The coverage metrics are given below.
167.7.1.1 Coverage items
The multi-dimensional situations captured during the test execution are as follows:
| Item | Description | Range | Unit/Type |
|---|---|---|---|
shadow_vehicle_1_speed |
Speed of shadow_vehicle_1 at the start | [0..10), every: 1.0 | kph |
ego_relative_lon_distance_to_shadow_vehicle_1_at_start |
Relative distance between shadow_vehicle_1 and the Ego at the start | [550..850), every: 50.0 | m |
ego_relative_lon_distance_to_work_vehicle_at_start |
Relative distance between work_vehicle and the Ego at the start | [550..850), every: 50.0 | m |
ego_relative_lon_distance_to_shadow_vehicle_2_at_start |
Relative distance between shadow_vehicle_2 and the Ego at the start | [200..600), every: 50.0 | m |
shadow_vehicle_1_lat_offset_at_start |
Lateral offset of shadow_vehicle_1 | [-1..1), every: 0.5 | m |
shadow_vehicle_2_lat_offset_at_start |
Lateral offset of shadow_vehicle_2 | [0..2), every: 0.2 | m |
work_vehicle_lat_offset_at_start |
Lateral offset of work_vehicle | [-1..1), every: 0.5 | m |
shadow_vehicle_1_speed_at_start |
Speed of shadow_vehicle_1 at the start | [0..10), every: 2.0 | kph |
work_vehicle_speed |
Speed of work_vehicle at the start | [0..10), every: 1.0 | kph |
is_ego_lane_same_as_shadow_vehicle_1_at_start |
If true, the Ego is in the same lane as shadow_vehicle_1 at the end | true, false | bool |
gen_shadow_vehicle_1_and_work_vehicle_speed |
Input speed of shadow_vehicle_1 and work_vehicle | [0..10), every: 1.0 | kph |
gen_shadow_vehicle_1_lon_distance_to_shadow_vehicle_2_at_start |
Longitudinal distance between shadow_vehicle_1 and shadow_vehicle_2 | [150..250), every: 50.0 | m |
gen_work_vehicle_lon_distance_to_shadow_vehicle_1_at_start |
Longitudinal distance between work_vehicle and shadow_vehicle_1 | [5..15), every: 5.0 | m |
gen_shadow_vehicle_2_lon_distance_to_ego |
Longitudinal distance between shadow_vehicle_2 and the Ego | [400..550), every: 50.0 | m |
gen_side_of_symbol_vehicle |
Side of symbol_vehicle | innermost, outermost | side_of_symbol_vehicle_kind |
is_ego_lane_same_as_shadow_vehicle_1_at_end |
If true, the Ego is in the same lane as shadow_vehicle_1 at the end | true, false | bool |
ego_relative_lon_distance_to_shadow_vehicle_1_at_end |
Relative distance between shadow_vehicle_1 and the Ego at the end | [0..250), every: 50.0 | m |
ego_relative_lon_distance_to_work_vehicle_at_end |
Relative distance between work_vehicle and the Ego at the end | [0..250), every: 50.0 | m |
shadow_vehicle_1_speed_at_end |
Speed of shadow_vehicle_1 at the end | [0..10), every: 2.0 | kph |
work_vehicle_speed_at_end |
Speed of work_vehicle at the end | [0..10), every: 2.0 | kph |
shadow_vehicle_1_and_work_vehicle_speed |
Input speed of shadow_vehicle_1 and work_vehicle | [0..10), every: 1.0 | kph |
shadow_vehicle_1_lon_distance_to_shadow_vehicle_2_at_start |
Longitudinal distance between shadow_vehicle_1 and shadow_vehicle_2 at the start | [150..250), every: 50.0 | m |
work_vehicle_lon_distance_to_shadow_vehicle_1_at_start |
Longitudinal distance between work_vehicle and shadow_vehicle_1 at the start | [5..15), every: 5.0 | m |
shadow_vehicle_2_lon_distance_to_ego |
Longitudinal distance between shadow_vehicle_2 and the Ego at the start | [400..550), every: 50.0 | m |
side_of_symbol_vehicle |
Side of symbol_vehicle | innermost, outermost | side_of_symbol_vehicle_kind |
[Click] The coverage items inherited from the sut.construction_sites_family_base scenario are as follows:
| Item | Description | Range | Unit/Type |
|---|---|---|---|
| -- | -- | -- | -- |
[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 |
167.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.construction_sites_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 |
|---|---|---|
| -- | -- | -- |
167.7.2 KPI
The key performance indicators are given below.
167.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 |
|---|---|---|---|
ego_lane_at_start |
Lane index of Ego at start of scenario | uint | |
shadow_vehicle_1_lane_at_start |
Lane index of shadow_vehicle_1 when it starts moving | uint | |
ego_lane_at_passing_shadow_vehicle_1_initial_distance |
The lane index of Ego when it passes shadow_vehicle_1 | uint |
[Click] The KPIs inherited from the sut.construction_sites_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 |
|---|---|---|---|
| -- | -- | -- | -- |
167.7.3 Checks
| Default severity | Description | Issue kind | Threshold |
|---|---|---|---|
warning |
The Ego did not pass the work_vehicle within the expected time frame | ego_did_not_pass_work_vehicle_warning | Ego should pass work_vehicle within ego_complete_time_to_pass_work_vehicle |
warning |
The Ego is following the shadow_vehicle_1 for too long | ego_following_shadow_vehicle_1_warning | Ego should not follow shadow_vehicle_1 for more than ego_complete_stand_still_time |
warning |
The Ego has stopped; shadow_vehicle_1 might be blocking the Ego from passing | ego_stopped_warning | Ego should not be stopped for more than ego_complete_stand_still_time |


