Esempio n. 1
0
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)

    prettyprint(route.get_element())
Esempio n. 2
0
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])

    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')
    prettyprint(routepos.get_element())
    routepos = OSC.RoutePositionInRoadCoordinates(route, 1, 3)
    prettyprint(routepos.get_element())
    routepos = OSC.RoutePositionInLaneCoordinates(route, 1, 'a', 2)
    prettyprint(routepos.get_element())
Esempio n. 4
0
def osc_fixture():

    parameters = xosc.ParameterDeclarations()
    parameters.add_parameter(xosc.Parameter('param1',xosc.ParameterType.string,'hej'))
    parameters.add_parameter(xosc.Parameter('param2',xosc.ParameterType.integer,1))
    parameters.add_parameter(xosc.Parameter('param3',xosc.ParameterType.boolean,True))
    catalog = xosc.Catalog()
    catalog.add_catalog('VehicleCatalog','Catalogs/VehicleCatalogs')
    catalog.add_catalog('ControllerCatalog','Catalogs/ControllerCatalogs')

    roadfile = 'Databases/SampleDatabase.xodr'
    road = xosc.RoadNetwork(roadfile)

    bb = xosc.BoundingBox(2,5,1.5,1.5,0,0.2)
    fa = xosc.Axle(2,2,2,1,1)
    ba = xosc.Axle(1,1,2,1,1)
    veh = xosc.Vehicle('mycar',xosc.VehicleCategory.car,bb,fa,ba,150,10,10)

    entities = xosc.Entities()
    entities.add_scenario_object('Ego',veh)

    init = xosc.Init()
    egospeed = xosc.AbsoluteSpeedAction(10,xosc.TransitionDynamics(xosc.DynamicsShapes.step,xosc.DynamicsDimension.distance,3))

    init.add_init_action('Ego',egospeed)
    init.add_init_action('Ego',xosc.TeleportAction(xosc.WorldPosition(1,2,3,0,0,0)))

    sb = xosc.StoryBoard(init)

    return xosc.Scenario('myscenario','Mandolin',parameters,entities=entities,storyboard = sb,roadnetwork=road,catalog=catalog)
def test_init():

    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)))
    prettyprint(init.get_element())
def test_trafficsourceaction():
    
    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)

    prettyprint(source_action.get_element())

    source_action = OSC.TrafficSourceAction(10,10,OSC.WorldPosition(),traffic)
    prettyprint(source_action.get_element())
def test_storyboard_story_input():
    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)))
    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)
    prettyprint(man.get_element())

    mangr = OSC.ManeuverGroup('mangroup')
    mangr.add_actor('Ego')
    mangr.add_maneuver(man)
    prettyprint(mangr.get_element())

    act = OSC.Act('my act', trigger)
    act.add_maneuver_group(mangr)
    prettyprint(act.get_element())

    story = OSC.Story('mystory')
    story.add_act(act)
    prettyprint(story.get_element())

    sb = OSC.StoryBoard(init)
    sb.add_story(story)
    prettyprint(sb.get_element())
def test_aqcuire_position_route():
    ara = OSC.AcquirePositionAction(OSC.WorldPosition(1,1,0,0,0,0))
    prettyprint(ara.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_teleport():
    teleport = OSC.TeleportAction(OSC.WorldPosition())
    prettyprint(teleport.get_element())
def test_addEntity():
    prettyprint(OSC.AddEntityAction('my new thingy',OSC.WorldPosition()).get_element())
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')
    prettyprint(asa.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)
    prettyprint(asa.get_element())
Esempio n. 14
0
def test_waypoint():
    wp = OSC.Waypoint(OSC.WorldPosition(), OSC.RouteStrategy.shortest)
    prettyprint(wp.get_element())
Esempio n. 15
0
def test_distancecondition():
    cond = OSC.DistanceCondition(1,OSC.Rule.lessThan,OSC.WorldPosition(),True,False)
    prettyprint(cond.get_element())
Esempio n. 16
0
def test_timetocollisioncondition():
    cond = OSC.TimeToCollisionCondition(value=20,alongroute=True,rule=OSC.Rule.equalTo,entity='Ego')
    prettyprint(cond.get_element())

    cond = OSC.TimeToCollisionCondition(value=20,alongroute=True,rule=OSC.Rule.equalTo,position=OSC.WorldPosition())
    prettyprint(cond.get_element())
Esempio n. 17
0
def test_worldposition_noinput():
    pos = OSC.WorldPosition()
    pos.get_attributes()
    p = pos.get_element()
    prettyprint(p)
Esempio n. 18
0
def test_worldposition_input():
    pos = OSC.WorldPosition(x=1, y=2, z=1.123)
    pos.get_attributes()
    p = pos.get_element()
    prettyprint(p)
import pytest

from scenariogeneration import xosc as OSC
from scenariogeneration import prettyprint

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)
Esempio n. 20
0
def test_reachpositioncondition():
    cond = OSC.ReachPositionCondition(OSC.WorldPosition(),0.01)
    prettyprint(cond.get_element())
Esempio n. 21
0
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,
                                            OSC.Rule.equalTo,
                                            True,
                                            freespace=False,
                                            position=OSC.WorldPosition())

    trigger = OSC.EntityTrigger('mytesttrigger', 0.2, OSC.ConditionEdge.rising,
                                trigcond, 'Target_1')

    event = OSC.Event('myfirstevent', OSC.Priority.overwrite)
    event.add_trigger(trigger)

    TD = OSC.TransitionDynamics(OSC.DynamicsShapes.step,
                                OSC.DynamicsDimension.rate, 1)

    lanechangeaction = OSC.AbsoluteLaneChangeAction(1, TD)
    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.Axle(2, 2, 2, 1, 1)
    ba = OSC.Axle(1, 1, 2, 1, 1)
    veh = OSC.Vehicle('mycar', OSC.VehicleCategory.car, 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)
    prettyprint(sce.get_element())
Esempio n. 22
0
def test_entitytrigger():
    trigcond = OSC.TimeToCollisionCondition(10,OSC.Rule.equalTo,True,freespace=False,position=OSC.WorldPosition())
    trigger = OSC.EntityTrigger('mytesttrigger',0.2,OSC.ConditionEdge.rising,trigcond,'Target_1')
    prettyprint(trigger.get_element())
Esempio n. 23
0
def test_clothoid():
    clot = OSC.Clothoid(1, 0.1, 10, OSC.WorldPosition(), 0, 1)
    prettyprint(clot.get_element())
    clot = OSC.Clothoid(1, 0.1, 10, OSC.WorldPosition())
    prettyprint(clot.get_element())