Movement scenarios examples
Example: vehicle.drive() example 1
OSC2 code: vehicle.drive() example 1
import "$FTX_BASIC/exe_platforms/sumo_ssp/config/sumo_config.osc"
extend test_config:
set map = "$FTX_PACKAGES/maps/highway.xodr"
extend top.main:
car1: vehicle
h: highway
do serial:
car1.drive() with:
along(h)
speed([30..70]kph)
Example: vehicle.drive() example 2
OSC2 code: vehicle.drive() example 2
import "$FTX_BASIC/exe_platforms/sumo_ssp/config/sumo_config.osc"
extend test_config:
set map = "$FTX_PACKAGES/maps/highway.xodr"
extend top.main:
car1: vehicle
car2: vehicle
hwy1: highway
do parallel(overlap:equal):
sut.car.drive() with:
along(hwy1)
car1.drive() with:
speed(speed: [30..200]kph)
position(distance: [5..100]meter, behind: sut.car, at: start)
along(hwy1)
Example: random_traffic.light_highway_traffic()
OSC2 code: random_traffic.light_highway_traffic()
import "$FTX/config/sim/sumo_default.osc"
import "$FTX/env/basic/behavioral_models/sumo/builtin/sumo_builtin_bme.osc"
import "$FTX/env/basic/behavioral_models/sumo/common/sumo_demo_profiles.osc"
extend test_config:
set map = "$FTX_PACKAGES/maps/straight_long_road.xodr"
extend top.main:
random_traffic: random_traffic_car_group with(origin_actor: sut.car)
dm: sumo_idm_normal_driver
for car in random_traffic.cars:
keep(car.initial_bm == dm)
do parallel(overlap:equal):
dut_drive: sut.car.drive(duration: 10second) with:
speed(20kph)
random_traffic.light_highway_traffic()
Example: common_route_car_group.group_drive()
OSC2 code: common_route_car_group.group_drive()
import "$FTX/config/sim/sumo_default.osc"
import "$FTX/env/basic/behavioral_models/sumo/builtin/sumo_builtin_bme.osc"
import "$FTX/env/basic/behavioral_models/sumo/common/sumo_demo_profiles.osc"
extend test_config:
set map = "$FTX_PACKAGES/maps/highway.xodr"
extend top.main:
lead_vehicle: vehicle
sut_cruise_speed: speed with:
keep(default it == 90kph)
hwy: highway
car_group: single_lane_car_group with(reference_car: lead_vehicle):
keep(it.cars.size() == 6)
dm: sumo_idm_aggressive_driver
for car in car_group.cars:
keep(car.initial_bm == dm)
do parallel(overlap:equal):
lead_vehicle.drive() with:
lane(side_of: sut.car)
position(time: [2s..4.5s], ahead_of: sut.car, at: start)
speed(speed: [-sut_cruise_speed+10kph..-sut_cruise_speed+20kph],
faster_than: sut.car, track: projected, at: end)
along(hwy)
sut.car.drive() with:
speed(speed: sut_cruise_speed)
along(hwy)
car_group_start: car_group.group_drive()
with:
duration([10..10]second)