def test_rel_sync_action(): asa = OSC.RelativeSynchronizeAction('Ego', OSC.WorldPosition(0, 0, 0, 0, 0, 0), OSC.WorldPosition(10, 0, 0, 0, 0, 0), 20, 'delta') OSC.prettyprint(asa.get_element())
def test_assign_route(): route = OSC.Route('myroute') route.add_waypoint(OSC.WorldPosition(0, 0, 0, 0, 0, 0), OSC.RouteStrategy.shortest) route.add_waypoint(OSC.WorldPosition(1, 1, 0, 0, 0, 0), OSC.RouteStrategy.shortest) OSC.AssignRouteAction(route)
def test_route(): route = OSC.Route('myroute') route.add_waypoint(OSC.WorldPosition(0, 0, 0, 0, 0, 0), 'closest') route.add_waypoint(OSC.WorldPosition(1, 1, 0, 0, 0, 0), 'closest') OSC.prettyprint(route.get_element())
def test_route(): route = OSC.Route('myroute') route.add_waypoint(OSC.WorldPosition(0,0,0,0,0,0),OSC.RouteStrategy.shortest) route.add_waypoint(OSC.WorldPosition(1,1,0,0,0,0),OSC.RouteStrategy.shortest) OSC.prettyprint(route.get_element())
def test_abs_sync_action(): asa = OSC.AbsoluteSynchronizeAction('Ego', OSC.WorldPosition(0, 0, 0, 0, 0, 0), OSC.WorldPosition(10, 0, 0, 0, 0, 0), 20) OSC.prettyprint(asa.get_element())
def test_nurbs(): cp1 = OSC.ControlPoint(OSC.WorldPosition(),1,0.1) cp2 = OSC.ControlPoint(OSC.WorldPosition(),2,0.2) cp3 = OSC.ControlPoint(OSC.WorldPosition(),3,0.3) nurb = OSC.Nurbs(2) nurb.add_control_point(cp1) nurb.add_control_point(cp2) nurb.add_control_point(cp3) nurb.add_knots([5,4,3,2,1]) OSC.prettyprint(nurb.get_element())
def test_route_position(): route = OSC.Route('myroute') route.add_waypoint(OSC.WorldPosition(), OSC.RouteStrategy.shortest) route.add_waypoint(OSC.WorldPosition(1, 1, 1), OSC.RouteStrategy.shortest) routepos = OSC.RoutePositionOfCurrentEntity(route, 'Ego') OSC.prettyprint(routepos.get_element()) routepos = OSC.RoutePositionInRoadCoordinates(route, 1, 3) OSC.prettyprint(routepos.get_element()) routepos = OSC.RoutePositionInLaneCoordinates(route, 1, 'a', 2) OSC.prettyprint(routepos.get_element())
def test_trafficswarmaction(): prop = OSC.Properties() prop.add_file('mycontrollerfile.xml') controller = OSC.Controller('mycontroller', prop) traffic = OSC.TrafficDefinition('my traffic') traffic.add_controller(controller, 0.5) traffic.add_controller( OSC.CatalogReference('ControllerCatalog', 'my controller'), 0.5) traffic.add_vehicle(OSC.VehicleCategory.car, 0.9) traffic.add_vehicle(OSC.VehicleCategory.bicycle, 0.1) source_action = OSC.TrafficSourceAction(10, 10, OSC.WorldPosition(), traffic, 100) OSC.prettyprint(source_action.get_element()) swarm_action = OSC.TrafficSwarmAction(10, 20, 10, 2, 10, 'Ego', traffic) OSC.prettyprint(swarm_action.get_element()) swarm_action = OSC.TrafficSwarmAction(10, 20, 10, 2, 10, 'Ego', traffic, 10) OSC.prettyprint(swarm_action.get_element())
def test_init(): init = OSC.Init() TD = OSC.TransitionDynamics('step', 'time', 0) egospeed = OSC.AbsoluteSpeedAction(10, TD) init.add_init_action('Ego', egospeed) init.add_init_action( 'Ego', OSC.TeleportAction(OSC.WorldPosition(1, 2, 3, 0, 0, 0))) init.add_init_action('Target_1', egospeed) init.add_init_action( 'Target_1', OSC.TeleportAction(OSC.WorldPosition(1, 5, 3, 0, 0, 0))) init.add_init_action('Target_2', egospeed) init.add_init_action( 'Target_2', OSC.TeleportAction(OSC.WorldPosition(10, 2, 3, 0, 0, 0))) OSC.prettyprint(init.get_element())
def test_entitytrigger(): trigcond = OSC.TimeToCollisionCondition(10, 'equalTo', True, freespace=False, position=OSC.WorldPosition()) trigger = OSC.EntityTrigger('mytesttrigger', 0.2, 'rising', trigcond, 'Target_1') OSC.prettyprint(trigger.get_element())
def test_timetocollisioncondition(): cond = OSC.TimeToCollisionCondition(value=20, alongroute=True, rule='equalTo', entity='Ego') OSC.prettyprint(cond.get_element()) cond = OSC.TimeToCollisionCondition(value=20, alongroute=True, rule='equalTo', position=OSC.WorldPosition()) OSC.prettyprint(cond.get_element())
def test_storyboard(): init = OSC.Init() TD = OSC.TransitionDynamics(OSC.DynamicsShapes.step, OSC.DynamicsDimension.rate, 1) egospeed = OSC.AbsoluteSpeedAction(10, TD) init.add_init_action('Ego', egospeed) init.add_init_action( 'Ego', OSC.TeleportAction(OSC.WorldPosition(1, 2, 3, 0, 0, 0))) init.add_init_action('Target_1', egospeed) init.add_init_action( 'Target_1', OSC.TeleportAction(OSC.WorldPosition(1, 5, 3, 0, 0, 0))) init.add_init_action('Target_2', egospeed) init.add_init_action( 'Target_2', OSC.TeleportAction(OSC.WorldPosition(10, 2, 3, 0, 0, 0))) OSC.prettyprint(init.get_element()) event = OSC.Event('myfirstevent', OSC.Priority.overwrite) event.add_trigger(trigger) event.add_action('newspeed', speedaction) man = OSC.Maneuver('my maneuver') man.add_event(event) OSC.prettyprint(man.get_element()) mangr = OSC.ManeuverGroup('mangroup') mangr.add_actor('Ego') mangr.add_maneuver(man) OSC.prettyprint(mangr.get_element()) act = OSC.Act('my act', trigger) act.add_maneuver_group(mangr) OSC.prettyprint(act.get_element()) story = OSC.Story('mystory') story.add_act(act) OSC.prettyprint(story.get_element()) sb = OSC.StoryBoard(init) sb.add_story(story) OSC.prettyprint(sb.get_element())
def test_scenario(): catalog = OSC.Catalog() catalog.add_catalog('VehicleCatalog', 'Catalogs/VehicleCatalogs') catalog.add_catalog('ControllerCatalog', 'Catalogs/ControllerCatalogs') roadfile = 'Databases/SampleDatabase.xodr' road = OSC.RoadNetwork(roadfile) trigcond = OSC.TimeToCollisionCondition(10, 'equalTo', True, freespace=False, position=OSC.WorldPosition()) trigger = OSC.EntityTrigger('mytesttrigger', 0.2, 'rising', trigcond, 'Target_1') event = OSC.Event('myfirstevent', 'overwrite') event.add_trigger(trigger) TD = OSC.TransitionDynamics('step', 'rate', 1) lanechangeaction = OSC.AbsoluteLaneChangeAction(1, TD) OSC.prettyprint(lanechangeaction.get_element()) speedaction = OSC.AbsoluteSpeedAction(50, TD) event.add_action('newspeed', speedaction) man = OSC.Maneuver('my maneuver') man.add_event(event) mangr = OSC.ManeuverGroup('mangroup') mangr.add_actor('Ego') mangr.add_maneuver(man) act = OSC.Act('my act', trigger) act.add_maneuver_group(mangr) story = OSC.Story('mystory') story.add_act(act) bb = OSC.BoundingBox(2, 5, 1.5, 1.5, 0, 0.2) fa = OSC.Axel(2, 2, 2, 1, 1) ba = OSC.Axel(1, 1, 2, 1, 1) veh = OSC.Vehicle('mycar', 'vehicle', bb, fa, ba, 150, 10, 10) entities = OSC.Entities() entities.add_scenario_object('Ego', veh) entities.add_scenario_object('Target_1', veh) init = OSC.Init() egospeed = OSC.AbsoluteSpeedAction(10, TD) init.add_init_action('Ego', egospeed) init.add_init_action( 'Ego', OSC.TeleportAction(OSC.WorldPosition(1, 2, 3, 0, 0, 0))) init.add_init_action('Target_1', egospeed) init.add_init_action( 'Target_1', OSC.TeleportAction(OSC.WorldPosition(1, 5, 3, 0, 0, 0))) sb = OSC.StoryBoard(init) sb.add_story(story) sce = OSC.Scenario('myscenario', 'Mandolin', OSC.ParameterDeclarations(), entities=entities, storyboard=sb, roadnetwork=road, catalog=catalog) OSC.prettyprint(sce.get_element())
def test_waypoint(): wp = OSC.Waypoint(OSC.WorldPosition(),OSC.RouteStrategy.shortest) OSC.prettyprint(wp.get_element())
import pytest import pyoscx as OSC TD = OSC.TransitionDynamics(OSC.DynamicsShapes.step, OSC.DynamicsDimension.rate, 1) speedaction = OSC.AbsoluteSpeedAction(50, TD) trigcond = OSC.TimeToCollisionCondition( 10, OSC.Rule.equalTo, position=OSC.WorldPosition(), freespace=False, ) trigger = OSC.EntityTrigger('mytesttrigger', 0.2, OSC.ConditionEdge.rising, trigcond, 'Target_1') def test_event(): event = OSC.Event('myfirstevent', OSC.Priority.overwrite) event.add_trigger(trigger) event.add_action('newspeed', speedaction) def test_maneuver(): event = OSC.Event('myfirstevent', OSC.Priority.overwrite) event.add_trigger(trigger) event.add_action('newspeed', speedaction) man = OSC.Maneuver('my maneuver')
def test_aqcuire_position_route(): ara = OSC.AssingRouteAction(OSC.WorldPosition(1,1,0,0,0,0)) OSC.prettyprint(ara.get_element())
def test_waypoint(): wp = OSC.Waypoint(OSC.WorldPosition(), 'fastest') OSC.prettyprint(wp.get_element())
def test_worldposition_input(): pos = OSC.WorldPosition(x=1, y=2, z=1.123) pos.get_attributes() p = pos.get_element() OSC.prettyprint(p)
def test_reachpositioncondition(): cond = OSC.ReachPositionCondition(OSC.WorldPosition(), 0.01) OSC.prettyprint(cond.get_element())
import pyoscx route = pyoscx.Route('myroute') route.add_waypoint(pyoscx.WorldPosition(), 'shortest') route.add_waypoint(pyoscx.WorldPosition(1, 1, 1), 'shortest') # routepos = pyoscx.RoutePositionOfCurrentEntity(route,'Ego') # routepos = pyoscx.RoutePositionInRoadCoordinates(route,1,3) routepos = pyoscx.RoutePositionInLaneCoordinates(route, 1, 'a', 2) pyoscx.prettyprint(routepos.get_element()) ### create catalogs catalog = pyoscx.Catalog() catalog.add_catalog('VehicleCatalog', '../xosc/Catalogs/Vehicles') ### create road road = pyoscx.RoadNetwork(roadfile='../xodr/e6mini.xodr', scenegraph='../models/e6mini.osgb') ### create parameters paramdec = pyoscx.ParameterDeclarations() paramdec.add_parameter(pyoscx.Parameter('$HostVehicle', 'string', 'car_white')) paramdec.add_parameter(pyoscx.Parameter('$TargetVehicle', 'string', 'car_red')) ## create entities egoname = 'Ego' targetname = 'Target'
def test_addEntity(): OSC.prettyprint(OSC.AddEntityAction('my new thingy',OSC.WorldPosition()).get_element())
def test_distancecondition(): cond = OSC.DistanceCondition(1, 'lessThan', OSC.WorldPosition(), True, False) OSC.prettyprint(cond.get_element())
def test_clothoid(): clot = OSC.Clothoid(1,0.1,10,OSC.WorldPosition(),0,1) OSC.prettyprint(clot.get_element()) clot = OSC.Clothoid(1,0.1,10,OSC.WorldPosition()) OSC.prettyprint(clot.get_element())
def test_worldposition_noinput(): pos = OSC.WorldPosition() pos.get_attributes() p = pos.get_element() OSC.prettyprint(p)
def test_teleport(): teleport = OSC.TeleportAction(OSC.WorldPosition()) OSC.prettyprint(teleport.get_element())