Skip to content

186. NPC Entering Opposite Lane evaluation scenario

In the npc_entering_opposite_lane evaluation scenario, the vehicle_actor starts driving off the road, then enters the opposite lane of the Ego.

Scenario location: $FTX/logiq/scenario_library_post_match/vehicle_merge/npc_entering_opposite_lane

186.1 Actors

The actors associated with this scenario are as follows:

Actor Description Type Depiction
ego Vehicle under test vehicle
vehicle_actor Merging vehicle vehicle
Figure 1: NPC entering lane

186.2 Scenario phases

The phase descriptions are as follows:

186.2.1 off_road_phase

vehicle_actor: The vehicle_actor drives at least veer_from_lane_threshold off the road, within a longitudinal distance between min_longitudinal_distance_from_ego and max_longitudinal_distance_from_ego ahead of the Ego and a lateral distance between min_lateral_distance_from_ego and max_lateral_distance_from_ego to the right of the Ego.

Ego: The Ego is driving on the road.

186.2.2 merging_phase

vehicle_actor: The vehicle_actor is driving on the road, not in a junction, and located within a distance between min_longitudinal_distance_from_ego and max_longitudinal_distance_from_ego ahead of the Ego.

186.2.3 merged_phase

vehicle_actor: The vehicle_actor is driving on the road, positioned laterally to the left of the Ego, at a distance between min_lateral_distance_from_ego and max_lateral_distance_from_ego. The angle difference between the vehicle_actor and the Ego is between min_angle_diff and max_angle_diff.

186.3 Configuration parameters

Use these parameters to constrain the scenario. If you do not set a specific value, the default value will be used.

Parameter Type Unit Description Default value
min_off_road_phase_duration time s Minimum time of the off_road_phase phase 0s
max_off_road_phase_duration time s Maximum time of the off_road_phase phase 3s
min_merged_phase_duration time s Minimum time of the merged_phase phase 0s
max_merged_phase_duration time s Maximum time of the merged_phase phase 3s
veer_from_lane_threshold float Threshold for the vehicle_actor to be considered as veering from the lane 1
min_longitudinal_distance_from_ego length m Minimum longitudinal distance between the vehicle_actor and the Ego during the scenario 0m
max_longitudinal_distance_from_ego length m Maximum longitudinal distance between the vehicle_actor and the Ego during the scenario 100m
min_lateral_distance_from_ego length m Minimum lateral distance between the vehicle_actor and the Ego during the scenario 0m
max_lateral_distance_from_ego length m Maximum lateral distance between the vehicle_actor and the Ego during the scenario 20m
min_angle_diff angle degree Minimum angle difference between the vehicle_actor and the Ego 160degree
max_angle_diff angle degree Maximum angle difference between the vehicle_actor and the Egp 200degree
max_time_duration_of_padding_phase time s Maximum time duration of the padding phase, which is the phase between the time the vehicle_actor is off the road and the time it is on the opposite lane 10s
[Click] The input items inherited from the sut.logiq_base_vehicle_scenario scenario are as follows:
Parameter Type Unit Description Default value
kinds list of evaluation_object_kind Possible kinds of vehicle_actor in the scenario

186.4 Metrics

186.4.1 Coverage

Item Description Values Unit/Type
entering_lane_side Vehicle_actor's merging side left, right av_side
[Click] The coverage items inherited from the sut.logiq_base_vehicle_scenario scenario are as follows:
Item Description Values Unit/Type
vehicle_speed_at_start Agent speed at start of the scenario [0..150), every: 10.0 mph
[Click] The coverage items inherited from the sut.logiq_base_scenario scenario are as follows:
Item Description Values Unit/Type
ego_speed_at_start Ego longitudinal speed at the start of the scenario [0..160), every: 10.0 mph

186.4.2 KPI

[Click] The KPIs inherited from the sut.logiq_base_vehicle_scenario scenario are as follows:
Item Description Values Unit/Type
vehicle_object_kind Object kind as derived from Foretify object, person, cyclist, vehicle, truck, trailer, fod, animal, sign, bus, motorcycle, emergency_vehicle, stationary_vehicle evaluation_object_kind
vehicle_tracking_id Tracking id of the agent as described in the object list data. If the data comes from a generative run, the UID will be used string
vehicle_avg_speed Agent average longitudinal speed throughout the scenario mph
vehicle_max_speed Agent maximum speed throughout the scenario mph
vehicle_min_speed Agent minimum speed throughout the scenario mph
vehicle_max_lon_acceleration Agent maximum longitudinal acceleration throughout the scenario mpsps
vehicle_min_lon_acceleration Agent minimum longitudinal acceleration throughout the scenario mpsps
ego_min_ttc_to_vehicle Minimum time to collision with the reference vehicle throughout the scenario s
ego_min_mttc_to_vehicle Minimum modified time to collision with the reference vehicle throughout the scenario s
[Click] The KPIs inherited from the sut.logiq_base_scenario scenario are as follows:
Item Description Values Unit/Type
ego_max_lon_acceleration Ego maximum acceleration throughout the scenario mpsps
ego_min_lon_acceleration Ego minimum acceleration throughout the scenario mpsps
ego_min_speed Ego minimum longitudinal speed throughout the scenario mph
ego_avg_speed Ego average longitudinal speed throughout the scenario mph
ego_max_speed Ego maximum longitudinal speed throughout the scenario mph
ego_distance_traveled_during_interval Total distance traveled by the Ego during the interval m
interval_duration Interval duration of the scenario s

186.5 Log and Error Messages

No scenario-specific log messages.

186.6 Usage

Import the post-match scenario top file and register the matcher in a match: block, overriding only the parameters you need. Any omitted parameters use the defaults listed in Configuration parameters.

The matcher is also available through the shared post-match import bundle:

  • $FTX/logiq/customers/base/osc/post_match_scenarios.osc
  • $FTX/evaluate/library/scenarios/scenario_library_post_match.osc (evaluation builds).
OSC2 code: npc_entering_opposite_lane post-match scenario usage
import "$FTX/logiq/scenario_library_post_match/vehicle_merge/npc_entering_opposite_lane/npc_entering_opposite_lane_top.osc"

# The following example imports the top file and overrides eleven parameters:

match:
    npc_entering_opposite_lane: sut.npc_entering_opposite_lane(min_off_road_phase_duration: 0s,
                                                               max_off_road_phase_duration: 3s,
                                                               min_merged_phase_duration: 0s,
                                                               max_merged_phase_duration: 3s,
                                                               veer_from_lane_threshold: 1,
                                                               min_longitudinal_distance_from_ego: 0m,
                                                               max_longitudinal_distance_from_ego: 100m,
                                                               min_angle_diff: 160degree,
                                                               max_angle_diff: 200degree,
                                                               max_time_duration_of_padding_phase: 10s,
                                                               kinds: [vehicle, cyclist, truck, emergency_vehicle, bus, motorcycle])