121. Crossing VRU Group Scenario Extension Block
Scenario location: $FTX_PACKAGES/base_scenarios/scenarios/crossing_vrus_family/crossing_vru_group/
In the crossing_vru_group block, a group of VRUs is introduced into any specified scenario where they cross the road in front of the Ego. The crossing behavior can vary as defined by gen_crossing_variant in different modes, such as crossing, shape_crossing, start_and_stop_crossing, and go_and_return, allowing for a range of movement patterns. The VRU group is positioned on either the right or left side of the Ego’s path, as specified by the gen_vru_group_side_at_start parameter. A group of VRUs is placed at a distance relative to the Ego and starts to move with an angle relative to the drive road. The scenario ends when the VRU reaches the end position.
121.1 Actors
The actors associated with this scenario are as follows:
| Actor | Description | Type | Depiction |
|---|---|---|---|
ego |
Vehicle under test | vehicle |
![]() |
vru_group |
Group of vulnerable road users, such as pedestrians or cyclists | person cyclist |
![]() ![]() |
| ## Variants |
121.1.1 Crossing
In the crossing variant, the vru_group crosses the entire road at a consistent angle defined by gen_vru_group_rel_angle_to_road_at_start.
121.1.2 shape_crossing
In the shape_crossing variant, the vru_group initiates its crossing, reaches a mid_position, and then continues toward the end_position, aligning its movement with the Ego's path.
121.1.3 start_and_stop_crossing
In the start_and_stop_crossing variant, the vru_group starts the crossing movement, reaches a mid_position, and proceeds toward the end_position, aligning its movement in the direction of the Ego's path.
121.1.4 go_and_return
In the go_and_return variant, the vru_group begins to cross but returns to the same side of the road after reaching a mid_position. The directional change at this point is governed by an opposite angle defined in gen_vru_group_rel_angle_to_road_at_end.
121.2 Prerequisites
121.2.1 Environment requirements
The roadside position is defined by the following:
-
If the road has a sidewalk then the roadside position is the border of the sidewalk with the driving lanes or shoulder.
-
Otherwise, if the road has a shoulder then the roadside position is the border of the shoulder with the driving lanes.
-
Otherwise, the roadside position is the border of the road.
121.3 Scenario phases
The phase descriptions are as follows:
121.3.1 init_scenario
vru_group: Wait for the time_gap between the VRU group and the Ego to be less than gen_trigger_time before starting the VRU movement.
121.3.2 move_group_1
vru_group: The vru_group moves from the start_position to the mid_position within a duration defined by gen_move_vru_group_duration_1.
121.3.3 move_group_2
vru_group: The vru_group moves from the mid_position to the end_position within a duration defined by gen_move_vru_group_duration_2.
121.3.4 post_scenario
vru_group: A vru_wait_end delay occurs, waiting to end the scenario after the VRU group reaches the end_position.
121.4 Parameters
The path to the top file follows:
/$FTX_PACKAGES/base_scenarios/scenarios/crossing_vrus_family/crossing_vru_group/crossing_vru_group_top.osc
The parameters you can constrain to use sut.crossing_vru_group with the main scenario file is as follows:
| Parameter | Description | Range |
|---|---|---|
| gen_crossing_variant | Variant of VRU group crossing behavior, with default set to crossing | crossing, shape_crossing, start_and_stop_crossing, go_and_return |
| gen_vru_group_side_at_start | Initial position of the VRU group relative to the Ego vehicle, with default set to right | right, left |
| gen_vru_group_rel_angle_to_road_at_start | Relative angle of the VRU group to the road at the start of the movement | 30–150 degrees |
| gen_vru_group_rel_angle_to_road_at_end | Relative angle of the VRU group to the road at the end of the movement | 30–150 degrees |
| gen_vru_size_group | Size of the VRU group, representing the number of individuals in the group | 1–10 |
| gen_vru_group_lon_offset_to_sut_start_at_crossing | Longitudinal offset of the VRU group relative to the reference point on the Ego's drive path | [0–50] meters |
121.5 Metrics
Metrics collected during the test execution are given below.
121.5.1 Coverage
The coverage metrics are given below.
121.5.1.1 Coverage items
The captured parameters that define key aspects of a test are as follows:
| Parameter | Description | Range | Unit/Type |
|---|---|---|---|
| vru_group_speed_1 | Speed of the VRU group in the first movement | ftlx_lib_base_config.default_npc_vehicle_speed_cover_range | ftlx_lib_base_config.default_speed_unit |
| vru_group_speed_2 | Speed of the VRU group in the second movement | ftlx_lib_base_config.default_npc_vehicle_speed_cover_range | ftlx_lib_base_config.default_speed_unit |
| vru_yaw_1 | Relative angle of the VRU in the first movement | ftlx_lib_base_config.default_yaw_cover_range | ftlx_lib_base_config.default_yaw_unit |
| vru_yaw_2 | Relative angle of the VRU in the second movement | ftlx_lib_base_config.default_yaw_cover_range | ftlx_lib_base_config.default_yaw_unit |
| vru_kind | Type of VRU | person, animal, cyclist | |
| ego_rel_time_gap_to_vru_at_start | Time gap between the Ego and the VRU at the start | ftlx_lib_base_config | |
| default_ego_time_gap_to_npc_cover_range | ftlx_lib_base_config.default_time_unit | ||
| vru_group_move_dist | Euclidean distance from the VRU group from start to end during crossing | [10..50] | ftlx_lib_base_config.default_distance_unit |
| gen_vru_size_group | Number of VRUs in the group | [1..11] | int |
| gen_vru_group_rel_angle_to_road_at_start | Relative angle between the VRU and the road at the start | ftlx_lib_base_config.default_yaw_cover_range | ftlx_lib_base_config.default_yaw_unit |
| gen_vru_group_rel_angle_to_road_at_end | Relative angle between the VRU and the road at the end | ftlx_lib_base_config.default_yaw_cover_range | ftlx_lib_base_config.default_yaw_unit |
| gen_vru_group_side_at_start | VRU group's side at the start | left, right | side |
| vru_group_side_at_end | VRU group's side at the end | left, right | side |
| gen_crossing_variant | VRU group crossing variant | crossing, shape_crossing, start_and_stop_crossing, go_and_return | |
| gen_trigger_time | Waiting time between travel and crossing | [2..16] | ftlx_lib_base_config.default_time_unit |
| gen_move_vru_group_duration_1 | Duration of first movement | [2..10] | ftlx_lib_base_config.default_time_unit |
| gen_move_vru_group_duration_2 | Duration of second movement | [2..10] | ftlx_lib_base_config.default_time_unit |
| gen_vru_group_lon_offset_to_sut_start_at_crossing | Distance from the VRU group crossing position to the Ego drive start | [0..50] | ftlx_lib_base_config.default_distance_unit |
| gen_vru_group_lon_offset_to_sut_start_at_end | Distance from VRU group end position to the Ego drive start | [0..80] | ftlx_lib_base_config.default_distance_unit |
121.5.2 KPI
The key performance indicators are given below.
121.5.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_passed | Ego passed the VRU until the VRU reached the end position, added vru_wait_end |
true, false | bool |


