Metrics examples
Example: Configure the check to expect the vehicle to stop at least 1m ahead of the signal
OSC2 code: Configure the check to expect the vehicle to stop at least 1m ahead of the signal
import "$FTX/env/basic/exe_platforms/model_ssp/config/model_sumo_config.osc"
extend test_config:
set map = "$FTX_PACKAGES/maps/M77_FTX_highway_straight_long_road.xodr"
extend top.main:
do sut.car.drive(duration: [5..10]s)
extend top.main:
keep(sut.car.junction_checkers.checker_approach_junction.expected_stop_distance_lb == 1m)
Example: Freeze the modifier at runtime
OSC2 code: Freeze the modifier at runtime
import "$FTX/env/basic/exe_platforms/model_ssp/config/model_sumo_config.osc"
extend test_config:
set map = "$FTX_PACKAGES/maps/M77_FTX_highway_straight_long_road.xodr"
extend top.main:
do sut.car.drive(duration: [5..10]s)
extend sut_vehicle.junction_checkers:
on @start:
override(checker_approach_junction, run_mode: freeze)
Example: Disabling the Crash checker globally
OSC2 code: Disabling the crash checker globally
import "$FTX/env/basic/msp/open_drive.osc"
import "$FTX/env/basic/exe_platforms/model_ssp/config/model_dummy_config.osc"
extend test_config:
set map = "$FTX_PACKAGES/maps/M77_FTX_highway_straight_long_road.xodr"
extend vehicle:
keep(ftx_driver.collision_avoidance_behavior.enabling_policy == always_disabled)
keep(ftx_driver.bypass_behavior.enable == false)
extend physical_object.global_checkers:
on @start:
override(crash, run_mode: freeze)
on @end:
logger.log_info("Crash checker was disabled globally - no collision issues raised")
extend top.main:
npc1: vehicle with:
keep(it.vehicle_category == sedan)
do parallel(overlap: equal):
sut_behavior: sut.car.drive() with:
speed(100kph)
duration(5second)
avoid_collisions(false)
npc1_behavior: npc1.drive() with:
speed(10mps)
position(time: 2second, ahead_of: sut.car, measure_by: nearest, at: start)
avoid_collisions(false)
lane(same_as: sut.car, at: start)
Example: Disabling the Crash checker for NPC vehicles
OSC2 code: Disabling crash checker for NPC vehicles
import "$FTX/env/basic/msp/open_drive.osc"
import "$FTX/env/basic/exe_platforms/model_ssp/config/model_dummy_config.osc"
extend test_config:
set map = "$FTX_PACKAGES/maps/M77_FTX_highway_straight_long_road.xodr"
extend vehicle:
keep(ftx_driver.collision_avoidance_behavior.enabling_policy == always_disabled)
keep(ftx_driver.bypass_behavior.enable == false)
extend physical_object.global_checkers:
on @crash.i_start:
call logger.log_info("$(actor): crash active")
extend npc_vehicle.global_checkers:
on @start:
override(crash, run_mode: freeze)
extend top.main:
npc1: vehicle with:
keep(it.vehicle_category == sedan)
do parallel(overlap: equal):
sut_behavior: sut.car.drive() with:
speed(100kph)
duration(5second)
avoid_collisions(false)
npc1_behavior: npc1.drive() with:
speed(10mps)
position(time: 2second, ahead_of: sut.car, measure_by: nearest, at: start)
avoid_collisions(false)
lane(same_as: sut.car, at: start)
Example: Downgrading Crash checker issues
OSC2 code: Downgrading crash checker issues
import "$FTX/env/basic/msp/open_drive.osc"
import "$FTX/env/basic/exe_platforms/model_ssp/config/model_dummy_config.osc"
extend test_config:
set map = "$FTX_PACKAGES/maps/M77_FTX_highway_straight_long_road.xodr"
extend vehicle:
keep(ftx_driver.collision_avoidance_behavior.enabling_policy == always_disabled)
keep(ftx_driver.bypass_behavior.enable == false)
extend physical_object.global_checkers:
set_issue(target_checker: crash, severity: warning)
extend top.main:
npc1: vehicle with:
keep(it.vehicle_category == sedan)
do parallel(overlap: equal):
sut_behavior: sut.car.drive() with:
speed(100kph)
duration(5second)
avoid_collisions(false)
npc1_behavior: npc1.drive() with:
speed(10mps)
position(time: 2second, ahead_of: sut.car, measure_by: nearest, at: start)
avoid_collisions(false)
lane(same_as: sut.car, at: start)
Example: Conditional downgrading of collision issues
OSC2 code: Conditional downgrading of collision issues
import "$FTX/env/basic/msp/open_drive.osc"
import "$FTX/env/basic/exe_platforms/model_ssp/config/model_dummy_config.osc"
extend test_config:
set map = "$FTX_PACKAGES/maps/M77_FTX_highway_straight_long_road.xodr"
extend vehicle:
keep(ftx_driver.collision_avoidance_behavior.enabling_policy == always_disabled)
keep(ftx_driver.bypass_behavior.enable == false)
extend physical_object.global_checkers:
set_issue(target_checker: crash, severity: warning,
# In the context of set_issue(), 'it' refers to the 'data' object of the checker
condition: it.this_object.is(sut_vehicle) and it.other_object.is(npc_vehicle))
extend top.main:
npc1: vehicle with:
keep(it.vehicle_category == sedan)
do parallel(overlap: equal):
sut_behavior: sut.car.drive() with:
speed(100kph)
duration(5second)
avoid_collisions(false)
npc1_behavior: npc1.drive() with:
speed(10mps)
position(time: 2second, ahead_of: sut.car, measure_by: nearest, at: start)
avoid_collisions(false)
lane(same_as: sut.car, at: start)