159. Crossing VRU family base
The crossing_vrus_family_base consists of input variables, coverage, and KPIs common across all junction scenarios.
Location: $FTX_PACKAGES/base_scenarios/scenarios/crossing_vrus_family/crossing_vrus_family_base/
159.1 Crossing VRU family ego_warm_up and post scenarios
The Crossing VRU scenarios use these family ego_warm_up and post scenarios.
159.1.1 crossing_vrus
159.1.1.1 crossing_vrus_base_ego_warm_up
Ego: The Ego starts driving and attempts to maintain its lane for the duration of gen_duration_at_ego_warm_up.
vru_group: The vru_group starts driving and attempts to maintain its lane for the duration of gen_duration_at_ego_warm_up.
159.1.1.2 crossing_vrus_base_post
Ego: The Ego continues driving, maintaining its lane and speed for the duration of gen_duration_at_post.
vru_group: The vru_group has completed its crossing movement and remains at its final position.
159.1.2 crossing_vrus_with_random_vehicles
159.1.2.1 crossing_vrus_with_random_vehicles_base_ego_warm_up
Ego: The Ego starts driving and attempts to maintain its lane for the duration of gen_duration_at_ego_warm_up.
vru_group: The vru_group starts driving and attempts to maintain its lane for the duration of gen_duration_at_ego_warm_up.
random_vehicle_group: The random_vehicle_group starts driving and attempts to maintain its lane for the duration of gen_duration_at_ego_warm_up.
159.1.2.2 crossing_vrus_with_random_vehicles_base_post
Ego: The Ego continues driving, maintaining its lane and speed for the duration of gen_duration_at_post.
vru_group: The vru_group has completed its crossing movement and remains at its final position.
random_vehicle_group: The random_vehicle_group continues driving, maintaining its lane and speed for the duration of gen_duration_at_post.
159.2 Parameters
The paths to the CSV file and the main CSV file are as follows:
$FTX_PACKAGES/base_scenarios/test_suites/test_suite_definitions/crossing_vrus_family/vru_group_crossing_marked_crosswalk.csv
$FTX_PACKAGES/base_scenarios/test_suites/test_suite_definitions/crossing_vrus_family/vru_group_crossing_marked_crosswalk_main.csv
The parameters you can constrain to create tests with the vru_group_crossing_marked_crosswalk.csv file are as follows:
| Parameter | Description | Range |
|---|---|---|
gen_vru_initial_position |
Initial position of the vru_group | nearside_behind, farside_behind, nearside_ahead, farside_ahead |
gen_vru_final_position |
Final position of the vru_group | nearside_behind, farside_behind, nearside_ahead, farside_ahead |
gen_vru_rel_time_gap_to_crosswalk_at_start |
Time gap between the vru_group and the marked crosswalk | [0..10]s |
gen_vru_time_gap_to_end_pos_after_crossing |
Time gap between the VRU position after crossing the road and its final position | [0..10]s |
gen_time_to_trigger |
The time_gap between the Ego and the VRU group, when the VRU group starts to cross | [1..10]s |
gen_vru_group_road_lat_offset_at_start_position |
Lateral offset of the vru_group at the start position | [1..2]m |
gen_vru_group_road_lat_offset_at_first_position |
Lateral offset of the vru_group at the first position | [1..2]m |
gen_vru_group_road_lat_offset_at_sec_position |
Lateral offset of the vru_group at the second position | [1..2]m |
gen_vru_group_road_lat_offset_at_end_position |
Lateral offset of the vru_group at the end position | [1..2]m |
gen_vru_group_lon_offset_percentage_at_first_position |
Longitudinal offset of the vru_group at the first position | [0..100) |
gen_vru_group_lon_offset_percentage_at_sec_position |
Longitudinal offset of the vru_group at the second position | [0..100) |
gen_number_of_vrus_in_the_group |
Number of VRUs in the group | [1..5) |
gen_vru_group_speed |
Speed of the vru_group at the start | [0..15]kph |
gen_ego_speed_at_start |
Input speed of the Ego | [0..150]kph |
159.3 Events
The events associated with this scenario are as follows:
| Event | Description |
|---|---|
vru_group_trigger_movement_event |
Triggered when the time gap between VRU group and Ego is less than or equal to gen_time_to_trigger |
vru_reached_cross_walk |
Triggered when VRU group reaches the crosswalk position |
vru_cross_start |
Triggered when VRU group starts crossing the road |
vru_cross_end |
Triggered when VRU group finishes crossing the road |
vru_crossing |
Triggered when VRU group is actively crossing (between vru_cross_start and vru_cross_end) |
159.4 Metrics
Metrics collected during test execution are given below.
159.4.1 Coverage
The coverage metrics are given below.
159.4.1.1 Coverage items
The multi-dimensional situations captured during the test execution are as follows:
| Item | Description | Range | Unit/Type |
|---|---|---|---|
gen_vru_initial_position |
Initial position of the vru_group | nearside_behind, farside_behind, nearside_ahead, farside_ahead | vru_placements |
gen_vru_final_position |
Final position of the vru_group | nearside_behind, farside_behind, nearside_ahead, farside_ahead | vru_placements |
gen_vru_rel_time_gap_to_crosswalk_at_start |
Time gap between the VRU group and the marked crosswalk | [0..10), every: 1.0 | s |
gen_vru_time_gap_to_end_pos_after_crossing |
Time gap between the VRU position after crossing the road and and its final position | [0..10), every: 1.0 | s |
gen_time_to_trigger |
The time_gap between the Ego and the VRU group, when the VRU group starts to cross | [1..10), every: 1.0 | s |
vru_time_gap_to_end_pos_after_crossing |
Time gap between the VRU position after crossing the road and its final position | [0..10), every: 1.0 | s |
vru_initial_position |
The VRU group's initial position | nearside_behind, farside_behind, nearside_ahead, farside_ahead | vru_placements |
gen_vru_group_road_lat_offset_at_start_position |
The vru_group's lateral offset at start position | [1..2), every: 1.0 | m |
gen_vru_group_road_lat_offset_at_first_position |
The vru_group's lateral offset at first position | [1..2), every: 1.0 | m |
gen_vru_group_road_lat_offset_at_sec_position |
The vru_group's lateral offset at second position | [1..2), every: 1.0 | m |
gen_vru_group_road_lat_offset_at_end_position |
The vru_group's lateral offset at end position | [1..2), every: 1.0 | m |
gen_vru_group_lon_offset_percentage_at_first_position |
Longitudinal offset of the vru_group at the first position | [0..100), every: 10.0 | int |
gen_vru_group_lon_offset_percentage_at_sec_position |
Longitudinal offset of the vru_group at the second position | [0..100), every: 10.0 | int |
vru_group_road_lat_offset_at_start_position |
The vru_group's lateral offset at start position | [1..2), every: 1.0 | m |
vru_group_road_lat_offset_at_first_position |
The vru_group's lateral offset at first position | [1..2), every: 1.0 | m |
vru_group_road_lat_offset_at_sec_position |
The vru_group's lateral offset at second position | [1..2), every: 1.0 | m |
vru_group_road_lat_offset_at_end_position |
The vru_group's lateral offset at end position | [1..2), every: 1.0 | m |
vru_group_lon_offset_percentage_at_first_position |
Longitudinal offset of the vru_group at the first position | [0..100), every: 10.0 | int |
vru_group_lon_offset_percentage_at_sec_position |
Longitudinal offset of the vru_group at the second position | [0..100), every: 10.0 | int |
vru_final_position |
Final position of the vru_group | nearside_behind, farside_behind, nearside_ahead, farside_ahead | vru_placements |
vru_group_speed |
Average speed of the vru_group from the start position to the first position | [0..15), every: 5.0 | kph |
vru_rel_time_gap_to_crosswalk_at_start |
Time gap between the vru_group and the marked crosswalk | [0..10), every: 1.0 | s |
time_to_trigger |
The time_gap between the Ego and the VRU group, when the VRU group starts to cross | [1..10), every: 1.0 | s |
[Click] The coverage items inherited from the sut.crossing_vrus_family_base scenario are as follows:
| Item | Description | Range | Unit/Type |
|---|---|---|---|
number_of_ego_lane_change |
Number of times the Ego changed lanes | [0..2), every: 1.0 | int |
vru_kind |
Kind of the VRU object | puddle, traffic_cone, person, cyclist, trailer, stationary_vehicle, animal, fod | object_kind |
gen_number_of_vrus_in_the_group |
Number of VRUs in the group | [1..5), every: 1.0 | int |
number_of_vrus |
Number of VRUs in the group | [1..6), every: 1.0 | uint |
gen_vru_group_speed |
Speed of the VRU group at the start | [0..15), every: 5.0 | kph |
vru_group_lon_offset_to_ego_at_start |
Longitudinal offset from the Ego to the VRU at the start of the scenario | [1..100), every: 10.0 | m |
vru_group_lat_offset_to_ego_at_start |
Lateral offset from the Ego to the VRU at the start of the scenario | [-1..1), every: 0.5 | m |
[Click] The coverage items inherited from the sut.generic_base_scenario scenario are as follows:
| Item | Description | Range | Unit/Type |
|---|---|---|---|
curve_road_direction |
Direction of the road curvature | left_curve, right_curve, neither | curve_direction |
min_road_element_radius |
Minimum radius of the road | [0..100), [100..150), [150..200), [200..300), [300..400), [400..600), [600..800), [800..1000), [1000..1200), [1200..1400), [1400..1600), [1600..1800), [1800..2000), [2000..2400), [2400..2800), [2800..3200), [3200..3600), [3600..4000), [4000..5000), [5000..6000), [6000..8000), [8000..10000), [10000..20000) | m |
max_road_element_radius |
Maximum radius of the road | [0..100), [100..150), [150..200), [200..300), [300..400), [400..600), [600..800), [800..1000), [1000..1200), [1200..1400), [1400..1600), [1600..1800), [1800..2000), [2000..2400), [2400..2800), [2800..3200), [3200..3600), [3600..4000), [4000..5000), [5000..6000), [6000..8000), [8000..10000), [10000..20000) | m |
ego_speed_on_curve_road_element |
Speed of the Ego on the curved road | [0..150), every: 10.0 | kph |
main_road_type |
Type of road in the scenario on which the Ego was driving | none, off_highway, highway, junction, merging_lane | road_type_list |
avg_curve_radius |
Average curve radius throughout the scenario | [0..4900), every: 150.0 | m |
road_element_sign_type |
Type of traffic signal | stop, yield, other | traffic_sign_kind |
ego_road_element_max_lanes |
Maximum number of lanes on which the Ego is travelling | [1..6), every: 1.0 | uint |
ego_road_element_min_lanes |
Minimum number of lanes on which the Ego is travelling | [1..6), every: 1.0 | uint |
ego_road_element_legal_speed |
Ego's legal speed on the road element | [5.0..9.0), [9.0..10.0), [10.0..12.0), [12.0..15.0), [15.0..20.0), [20.0..25.0), [25.0..30.0), [30.0..35.0), [35.0..40.0), [40.0..45.0), [45.0..46.0), [46.0..50.0), [50.0..55.0), [55.0..57.0), [57.0..58.0), [58.0..60.0), [60.0..62.0), [62.0..65.0), [65.0..70.0), [70.0..75.0) | kph |
vanishing_lane |
Did the vehicle enter the vanishing lane | true, false | bool |
emerging_lane |
Did the vehicle enter the emerging lane | true, false | bool |
gen_ego_speed_at_start |
Input speed of the Ego | [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 coverage items inherited from the sut.sdm_base_scenario scenario are as follows:
| Item | Description | Range | Unit/Type |
|---|---|---|---|
| -- | -- | -- | -- |
159.4.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.crossing_vrus_family_base scenario are as follows:
| Item | Description | Referred coverage items |
|---|---|---|
| -- | -- | -- |
[Click] The cross coverage items inherited from the sut.generic_base_scenario scenario are as follows:
| Item | Description | Referred coverage items |
|---|---|---|
cross_ego_speed_on_curve_road_element_min_road_element_radius |
Cross cover of Ego's speed on curved road and road radius | ego_speed_on_curve_road_element, min_road_element_radius |
cross_min_road_element_radius_curve_road_direction |
Cross cover of curved road direction and road radius | min_road_element_radius, curve_road_direction |
[Click] The cross coverage items inherited from the sut.sdm_base_scenario scenario are as follows:
| Item | Description | Referred coverage items |
|---|---|---|
| -- | -- | -- |
159.4.2 KPI
The key performance indicators are given below.
159.4.2.1 Record items
The performance metrics and the data items captured during the test execution are as follows:
| Item | Description | Range | Unit/Type |
|---|---|---|---|
vru_group_max_distance_x |
Maximum distance between the rightmost and the leftmost actors in the group measured along the X-axis, from center to center, is calculated at the vru_group's first appearance. If there is only one VRU, the distance is returned as zero | m | |
vru_group_max_distance_y |
Maximum distance between the highest and lowest actors in the group measured along the Y-axis, from center to center, is calculated at the vru_group's first appearance. If there is only one VRU, the distance is returned as zero | m | |
vru_group_max_height |
Maximum height of the vru_group, measured at its first appearance | m | |
ego_time_gap_to_closest_vru |
Time gap between the Ego and the closest VRU on the crosswalk | s |
[Click] The KPIs inherited from the sut.crossing_vrus_family_base scenario are as follows:
| Item | Description | Range | Unit/Type |
|---|---|---|---|
| -- | -- | -- | -- |
[Click] The KPIs inherited from the sut.generic_base_scenario scenario are as follows:
| Item | Description | Range | Unit/Type |
|---|---|---|---|
ego_speed_at_end |
Actual speed of the Ego at the end of the scenario | [0..150), every: 10.0 | kph |
ego_avg_lon_acceleration |
Average longitudinal acceleration of the Ego throughout the scenario | [-3..2), every: 1.0 | mpsps |
ego_max_lat_acceleration |
Maximum absolute lateral acceleration of the Ego | [0..5), every: 1.0 | mpsps |
ego_max_lon_acceleration |
Maximum longitudinal acceleration of the Ego | [0..20), every: 1.0 | mpsps |
ego_min_lon_lane_distance |
Minimum longitudinal distance between the Ego and any actor in the lane coordinate system | [0..2), every: 0.2 | m |
ego_min_lat_lane_distance |
Minimum lateral distance between the Ego and any actor in the lane coordinate system | [0..2), every: 0.2 | m |
ego_min_euclidean_distance |
Minimum euclidean distance between the Ego and any actor | [0..200), every: 20.0 | m |
ego_min_ttc |
Minimum TTC between the Ego and any actor | [0..6), every: 0.5 | s |
ego_min_thw |
Minimum THW between the Ego and any actor | [0..31), every: 1.0 | s |
ego_collided |
Collision event between the Ego and any actor | true, false | bool |
min_road_element_curvature |
Minimum curvature of the road | float | |
max_road_element_curvature |
Maximum curvature of the road | float | |
ego_min_lon_acceleration |
Minimum longitudinal acceleration of the Ego | [-10..0), every: 1.0 | mpsps |
road_curvature_raw_value |
Raw value of road curvature | m | |
ego_collision_velocity |
Collision velocity at the time of the collision between the Ego and any actor in the event of a collision | [2..14), every: 5.0 | kph |
ego_side_of_collision |
Side of Ego on which collision occured | front, front_left, left, back_left, back, back_right, right, front_right, other | av_car_side |
ego_min_speed_at_possible_collision |
Minimum speed of the Ego at the possible collision | [0..150), every: 10.0 | kph |
ego_max_speed_at_possible_collision |
Maximum speed of the Ego at the possible collision | [0..150), every: 10.0 | kph |
ego_min_acceleration_at_possible_collision |
Minimum acceleration of the Ego at the possible collision | [-10..0), every: 1.0 | mpsps |
ego_max_acceleration_at_possible_collision |
Maximum acceleration of the Ego at the possible collision | [0..20), every: 1.0 | mpsps |
ego_ttc_at_possible_collision |
Ego's TTC at the possible collision | s |
[Click] The KPIs inherited from the sut.sdm_base_scenario scenario are as follows:
| Item | Description | Range | Unit/Type |
|---|---|---|---|
| -- | -- | -- | -- |
159.5 Checks
The captured problematic behavior or conditions are as follows:
| Default severity | Description | Issue kind | Threshold |
|---|---|---|---|
|other_error|Scenario triggers an error if the Ego does not pass the crosswalk|ego_did_not_pass_crosswalk| The Ego's distance to the crosswalk at the end of the scenario is greater than half of Ego's length (ego_distance_to_crosswalk_at_end > -sut.car.get_length()/2)|