Skip to content

36. Keep long distance with VRU (KLD-L1-3)

The ego_keep_long_distance_vru matcher scenario (KLD-L1-3) detects intervals where the Ego regulates its longitudinal motion (maintains speed, decelerates, creeps, or stops) to preserve a safe forward gap to a VRU that is in, entering, or close enough to the Ego's intended path to constrain forward progress.

This is a LogIQ C++ matcher scenario used in the NVIDIA evaluation pipeline. It complements the FTLX shadow scenario sut.keep_long_distance (defined in keep_long_distance_h.osc). The matcher struct is named sut.ego_keep_long_distance_vru to avoid a compile-time redefinition conflict with the FTLX scenario.

Scenario location: $FTX/env/nvidia/nvdx_lib/matcher/ego_keep_long_distance_vru/

Match label: keep_long_distance_vru

Pipeline registration: env/nvidia/evaluation_pipeline/config/all_scenarios.osc

Base scenario: $FTX/env/nvidia/nvdx_lib/matcher/common/ego_keep_long_distance_object_matcher_base.osc

36.1 Actors

Actor Description Type
sut.car Vehicle under test (Ego) vehicle
object VRU ahead on the Ego lane person, cyclist, motorcycle (also bicycle via object kind)

36.2 Scenario essence

The core interval (excluding padding) lasts at least minimum_scenario_duration. During this interval:

Ego: The Ego drives in a lane at a speed ≥ ego_vehicle_min_moving_speed, behind the VRU at a road longitudinal gap of at most maximum_forward_gap_threshold, and yields (decelerates to standstill_speed). VRU: The VRU is ahead of the Ego in the same lane, moving or stationary.

Note

minimum_forward_gap_threshold is recorded in KPIs only. The longitudinal_position modifier enforces a maximum gap (road gap ≤ maximum_forward_gap_threshold), not a minimum.

36.2.1 Match modifiers (essence phase)

Actor Modifiers
Ego speed, keep_lane, longitudinal_position (behind VRU, road gap ≤ max), yields
VRU (implicit via object actor — on Ego lane, ahead)

36.3 Relationship to other keep-long-distance matchers

Variant Struct Contender Match criterion Base
K0 sut.ego_keep_long_distance Same-lane lead vehicle Time gap Lane-following base
Oncoming in path sut.ego_keep_long_distance_with_oncoming_in_path Oncoming vehicle Physical distance + heading Lane-following base
VRU (this scenario) sut.ego_keep_long_distance_vru Person / cyclist / motorcycle Forward road gap + yield Object base

See also Keep long distance — K0 and oncoming in path

36.4 Parameters

Production defaults (from all_scenarios.osc):

Parameter Description Default
minimum_scenario_duration Minimum essence interval duration 2s
minimum_forward_gap_threshold Minimum forward gap from the Ego to the VRU, recorded in coverage 2m
maximum_forward_gap_threshold Maximum forward road gap above which the VRU no longer constrains the Ego 50m
max_acceleration_for_yield Maximum (most negative) longitudinal acceleration to quality as a yield.
Values less than or equal to this threshold indicate yielding
-1mpsps
standstill_speed Speed below which the Ego is considered to be creeping or at a standstill in response to a VRU 5kph
min_padding_duration Minimum time buffer (padding) added to the start or end of a mined scenario clip 0s
max_padding_duration Maximum time buffer (padding) allowed for a mined scenario clip 3s
ego_vehicle_min_moving_speed Speed threshold above which the Ego is considered actively moving 1kph
lane_departure_threshold Maximum distance the Ego is permitted to cross over the lane boundary line before a lane departure event is triggered 1m
kinds VRU object kinds [person, cyclist, motorcycle]

36.5 Regression tests

Test Clip Expected
keep_long_distance_vru1_nv_test Person on ego lane clip (object_on_ego_lane/test_1) One KLD-L1-3 interval (~18.8s–28.7s)
keep_long_distance_vru2_nv_test Cyclist crossing clip (cyclist_crossing_test) Six KLD-L1-3 intervals

Test scripts:

  • $FTX/qa/regression/mfr/tests/nvidia/keep_long_distance_vru/keep_long_distance_vru1.sh
  • $FTX/qa/regression/mfr/tests/nvidia/keep_long_distance_vru/keep_long_distance_vru2.sh

36.6 Metrics

36.6.1 Coverage

[Click] Coverage items defined in sut.ego_keep_long_distance_vru
Item Description Range Unit/Type
ego_min_forward_gap_to_vru Minimum forward gap from the Ego to the VRU during the interval [0..50), every: 5 m

36.6.2 KPIs and records

[Click] Records defined in sut.ego_keep_long_distance_vru
Item Description Unit/Type
ego_speed_at_kld_vru_end Ego speed at end of the KLD-VRU essence phase speed
ego_avg_speed_during_kld_vru Ego average speed during the KLD-VRU interval speed
ego_max_speed_during_kld_vru Ego maximum speed during the KLD-VRU interval speed
ego_min_speed_during_kld_vru Ego minimum speed during the KLD-VRU interval speed
ego_max_lon_acceleration_during_kld_vru Ego maximum longitudinal acceleration during the KLD-VRU interval acceleration
ego_min_lon_acceleration_during_kld_vru Ego minimum longitudinal acceleration during the KLD-VRU interval acceleration
[Click] Records inherited from sut.logiq_base_scenario and object-base scenarios
Item Description Unit/Type
ego_speed_at_start Speed of the Ego at the start of the interval speed
ego_max_speed Ego maximum speed over the interval speed
ego_min_speed Ego minimum speed over the interval speed
ego_avg_speed Ego average speed over the interval speed
ego_max_lon_acceleration Ego maximum longitudinal acceleration during the interval acceleration
ego_min_lon_acceleration Ego minimum longitudinal acceleration during the interval acceleration
ego_distance_traveled_during_interval Total distance travelled by the Ego during the interval m
interval_duration Interval duration s