Skip to content

149. Ego Forced Merge Behind NPC evaluation scenario

In the ego_forced_merge_behind_npc evaluation scenario, the Ego merges from the merging lane into the vehicle's lane, behind the vehicle.

Scenario location: $FTX/logiq/scenario_library/ego_merge/ego_forced_merge_behind_npc

149.1 Actors

The actors associated with this scenario are as follows:

Actor Description Type Depiction
ego Vehicle under test vehicle
vehicle_actor Vehicle actor vehicle
Figure 1: Ego force merge behind NPC

149.2 Scenario phases

The phase descriptions are as follows:

149.2.1 ego_on_merging_lane

Ego: The Ego drives in the merging lane.

149.2.2 ego_merged

Ego: The Ego is forced to merge from the merging lane into the vehicle_actor's lane, positioning behind the vehicle_actor. The Ego is at least distance_from_end_of_merging_lane meters from the end of the merging lane.

vehicle_actor: The vehicle_actor drives ahead of the Ego in the same lane, at a distance no greater than max_time_ahead_of_ego.

149.3 Parameters

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

Parameter Type Description Default value
max_time_ahead_of_ego time Maximum time ahead of the Ego in headway distance 5sec

The input items inherited from the sut.ego_forced_merge_with_npc scenario are as follows:

Parameter Type Description Default value
end_phase_duration time Maximum time of the end phase duration after the merge
distance_from_end_of_merging_lane length Offset from the end of the merging lane (negative value means distance after the end of the merging lane)

149.4 Metrics

Metrics collected are given below:

149.4.1 Coverage

[Click] The coverage items inherited from the sut.ego_forced_merge_with_npc scenario are as follows:
Item Description Range Unit/Type
num_of_parallel_lanes_at_end Number of parallel lanes at the end of the scenario 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 int
num_of_anti_parallel_lanes_at_end Number of anti-parallel lanes at the end of the scenario 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 int
road_width_at_end Road width at the end of the scenario [0..40), every: 2.5 m
road_speed_limit_at_end Road speed limit at the end of the scenario [10..80), every: 5.0 mph
[Click] The coverage items inherited from the sut.logiq_base_vehicle_scenario scenario are as follows:
Item Description Range Unit/Type
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
agent_speed_at_start Agent speed at start [0..5), [5..10), [10..15), [15..20), [20..25), [25..30), [30..35), [35..100) mph
agent_max_speed Agent maximum speed throughout the scenario [0..5), [5..10), [10..15), [15..20), [20..25), [25..30), [30..35), [35..100) mph
agent_max_acceleration Agent maximum acceleration throughout the scenario [-4..-2), [-2..0), [0..2), [2..4), [4..6), [6..8), [8..10), [10..15), [15..20) mpsps
agent_min_acceleration Agent minimum acceleration throughout the scenario. Negative values indicate deceleration [-20..-15), [-15..-10), [-10..-8), [-8..-6), [-6..-4), [-4..-2), [-2..0), [0..2), [2..4) mpsps
min_ttc Minimum time to collision with the reference vehicle throughout the scenario. See here for more information about the TTC metric definition [0..10), every: 2.0 s
min_mttc Minimum modified time to collision with the reference vehicle throughout the scenario. See here for more information about the MTTC metric definition [0..10), every: 2.0 s
[Click] The coverage items inherited from the sut.logiq_base_scenario scenario are as follows:
Item Description Range Unit/Type
num_of_parallel_lanes_at_start Number of parallel lanes at the start of the scenario, or just before the junction if the scenario starts inside a junction 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 int
num_of_anti_parallel_lanes_at_start Number of anti-parallel lanes at the start of the scenario, or just before the junction if the scenario starts inside a junction 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 int
road_speed_limit Road speed limit [10..80), every: 5.0 mph
road_width_at_start Road width at start [0..40), every: 2.5 m
ego_speed_at_start Ego speed at start [0..5), [5..10), [10..15), [15..20), [20..25), [25..30), [30..35), [35..100) mph
ego_max_speed Ego maximum speed throughout the scenario [0..5), [5..10), [10..15), [15..20), [20..25), [25..30), [30..35), [35..100) mph
ego_max_acceleration Ego maximum acceleration throughout the scenario [-4..-2), [-2..0), [0..2), [2..4), [4..6), [6..8), [8..10), [10..15), [15..20) mpsps
ego_min_acceleration Ego minimum acceleration throughout the scenario. Negative values indicate deceleration [-20..-15), [-15..-10), [-10..-8), [-8..-6), [-6..-4), [-4..-2), [-2..0), [0..2), [2..4) mpsps
ego_lane_at_start Ego lane at the start of the scenario, or just before the junction if the scenario starts inside a junction 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 int
max_num_of_static_actors Maximum number of static objects in a single frame, within a 20m radius from the Ego [0..3), [3..5), [5..10), [10..20), [20..50), [50..150) int
max_num_of_moving_actors Maximum number of dynamic objects in a single frame, within a 50m radius from the Ego [0..3), [3..5), [5..10), [10..20), [20..50), [50..150) int

149.4.2 KPI

[Click] The KPIs inherited from the sut.logiq_base_vehicle_scenario scenario are as follows:
Item Description Range Unit/Type
vehicle_actor_tracking_id Tracking id of the vehicle_actor as described in the object list data. If the data comes from a generative run, the UID will be used string

149.5 Log and Error Messages

No scenario-specific log messages.

149.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: ego_forced_merge_behind_npc post-match scenario usage
import "$FTX/logiq/scenario_library_post_match/ego_merge/ego_forced_merge_behind_npc/ego_forced_merge_behind_npc_top.osc"

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

match:
    ego_forced_merge_behind_npc: sut.ego_forced_merge_behind_npc(max_time_ahead_of_ego: 5s,
                                                                 kinds: [vehicle, cyclist, truck, emergency_vehicle, bus, motorcycle])