def bubble(request): """ |(93) |(95) (100) (105)| (107)| """ return t.Bubble( zone=t.PositionalZone(pos=(100, 0), size=(10, 10)), margin=2, limit=getattr(request, "param", t.BubbleLimits(10, 11)), actor=t.SocialAgentActor( name="zoo-car", agent_locator="zoo.policies:keep-lane-agent-v0"), )
def bubbles(): actor = t.SocialAgentActor( name="keep-lane-agent", agent_locator="zoo.policies:keep-lane-agent-v0", ) return [ t.Bubble( zone=t.PositionalZone(pos=(150, -60), size=(30, 30)), margin=10, actor=actor, ), t.Bubble( zone=t.PositionalZone(pos=(60, -60), size=(30, 30)), margin=10, actor=actor, ), ]
def scenarios(): with temp_scenario(name="6lane", map="maps/6lane.net.xml") as scenario_root: actors = [ t.SocialAgentActor( name=f"non-interactive-agent-{speed}-v0", agent_locator="zoo.policies:non-interactive-agent-v0", policy_kwargs={"speed": speed}, ) for speed in [10, 30, 80] ] def to_mission(start_edge, end_edge): route = t.Route(begin=(start_edge, 1, 0), end=(end_edge, 1, "max")) return t.Mission(route=route) def fifth_mission(start_edge, end_edge): route = t.Route(begin=(start_edge, 0, 0), end=(end_edge, 0, "max")) return t.Mission(route=route) gen_scenario( t.Scenario( social_agent_missions={ "group-1": (actors, [to_mission("edge-north-NS", "edge-south-NS")]), "group-2": (actors, [to_mission("edge-west-WE", "edge-east-WE")]), "group-3": (actors, [to_mission("edge-east-EW", "edge-west-EW")]), "group-4": (actors, [to_mission("edge-south-SN", "edge-north-SN")]), "group-5": ( actors, [fifth_mission("edge-south-SN", "edge-east-WE")], ), }, ego_missions=[ t.Mission( t.Route( begin=("edge-west-WE", 0, 0), end=("edge-east-WE", 0, "max") ) ) ], ), output_dir=scenario_root, ) yield Scenario.variations_for_all_scenario_roots( [str(scenario_root)], [AGENT_1] )
traffic = t.Traffic(flows=[ t.Flow( route=t.RandomRoute(), rate=60 * 60, actors={t.TrafficActor(name="car", vehicle_type=vehicle_type): 1}, ) for vehicle_type in [ "passenger", "bus", "coach", "truck", "trailer", ] ]) laner_actor = t.SocialAgentActor( name="keep-lane-agent", agent_locator="zoo.policies:keep-lane-agent-v0", ) gen_scenario( t.Scenario( traffic={"basic": traffic}, social_agent_missions={ "all": ([laner_actor], [t.Mission(route=t.RandomRoute())]) }, bubbles=[ t.Bubble( zone=t.PositionalZone(pos=(50, 0), size=(10, 15)), margin=5, actor=laner_actor, follow_actor_id=t.Bubble.to_actor_id(laner_actor, mission_group="all"),
route=t.RandomRoute(), rate=60 * 60, actors={ t.TrafficActor( name="car", vehicle_type=random.choice([ "passenger", "bus", "coach", "truck", "trailer" ]), ): 1 }, ) for i in range(5) ]) laner_actor = t.SocialAgentActor( name="keep-lane-agent", agent_locator="zoo.policies:keep-lane-agent-v0", ) slow_actor = t.SocialAgentActor( name=f"slow-agent", agent_locator="zoo.policies:non-interactive-agent-v0", policy_kwargs={"speed": 10}, ) gen_scenario( t.Scenario( traffic={"basic": traffic}, social_agent_missions={ "all": ([laner_actor], [t.Mission(route=t.RandomRoute())]) }, bubbles=[
), t.Flow( route=t.Route(begin=("edge-east-EW", 0, 10), end=("edge-west-EW", 0, "max")), rate=400, actors={t.TrafficActor("car"): 1}, ), ]) agent_prefabs = "scenarios.intersections.4lane_t.agent_prefabs" bubbles = [ t.Bubble( zone=t.MapZone(start=("edge-west-WE", 0, 50), length=10, n_lanes=1), margin=2, actor=t.SocialAgentActor( name="zoo-agent", agent_locator=f"{agent_prefabs}:zoo-agent-v0", ), ), t.Bubble( zone=t.PositionalZone(pos=(100, 100), size=(20, 20)), margin=2, actor=t.SocialAgentActor( name="motion-planner-agent", agent_locator=f"{agent_prefabs}:motion-planner-agent-v0", ), ), ] ego_missions = [t.EndlessMission(begin=("edge-south-SN", 1, 20), )] social_agent_missions = {
begin=("west", 0, 10), end=("east", 0, "max"), ), rate=1, actors={t.TrafficActor("car", max_speed=8): 1}, begin=2, ) ] ) social_agent_missions = { "all": ( [ t.SocialAgentActor( name="open-agent", agent_locator="open_agent:open_agent-v0", initial_speed=20, ), ], [ t.Mission( t.Route(begin=("west", 1, 10), end=("east", 0, "max")), task=t.CutIn(), ) ], ), } ego_missions = [ t.Mission( t.Route(begin=("west", 1, 5), end=("east", 0, "max")),
), t.Flow( route=t.Route(begin=("edge-east-EW", 0, 10), end=("edge-west-EW", 0, "max")), rate=400, actors={t.TrafficActor("car"): 1}, ), ]) agent_prefabs = "scenarios.intersections.4lane_t.agent_prefabs" bubbles = [ t.Bubble( zone=t.MapZone(start=("edge-west-WE", 0, 50), length=10, n_lanes=1), margin=2, actor=t.SocialAgentActor( name="zoo-agent", agent_locator=f"{agent_prefabs}:zoo-agent-v0", ), ), t.Bubble( zone=t.PositionalZone(pos=(100, 100), size=(20, 20)), margin=2, actor=t.SocialAgentActor( name="motion-planner-agent", agent_locator=f"{agent_prefabs}:motion-planner-agent-v0", ), ), ] ego_missions = [t.EndlessMission(begin=("edge-south-SN", 1, 20))] social_agent_missions = {
t.TrafficActor( name="car", vehicle_type=random.choice([ "passenger", "bus", "coach", "truck" ]), speed=t.Distribution(1, 0.3), max_speed=10, ): 1 }, ) for _ in range(NUM_TRAFFIC_FLOWS) ]) lane_actor_list = [ t.SocialAgentActor( name=f"keep-lane-agent-{idx}", agent_locator="zoo.policies:keep-lane-agent-v0", policy_kwargs={'speed': random.choice([5.5, 6, 6.5, 7, 7.5, 8, 9])}) for idx in range(10) ] mission_list = [t.Mission(route=t.RandomRoute()) for _ in range(10)] gen_scenario( t.Scenario( traffic={"basic": traffic}, social_agent_missions={"all": (lane_actor_list, mission_list)}, ), output_dir=Path(__file__).parent, )
end=("edge-east-WE", 0, "max")), rate=400, actors={t.TrafficActor("car"): 1}, ), t.Flow( route=t.Route(begin=("edge-east-EW", 0, 10), end=("edge-west-EW", 0, "max")), rate=400, actors={t.TrafficActor("car"): 1}, ), ]) agent_prefabs = "scenarios.intersections.4lane_t.agent_prefabs" motion_planner_actor = t.SocialAgentActor( name="motion-planner-agent", agent_locator=f"{agent_prefabs}:motion-planner-agent-v0", ) zoo_agent_actor = t.SocialAgentActor( name="zoo-agent", agent_locator=f"{agent_prefabs}:zoo-agent-v0", ) # Replace the above lines with the code below if you want to replay the agent actions and inputs # zoo_agent_actor = t.SocialAgentActor( # name="zoo-agent", # agent_locator="zoo.policies:replay-agent-v0", # policy_kwargs={ # "save_directory": "./replay", # "id": "agent_za", # "wrapped_agent_locator": f"{agent_prefabs}:zoo-agent-v0", # },
traffic = t.Traffic(flows=[ t.Flow( route=t.Route(begin=("edge-west-EW", 0, 10), end=("edge-west-EW", 0, "max")), rate=1, actors={t.TrafficActor(name="car", max_speed=30 / 3.6): 1.0}, begin=2, ) ]) social_agent_missions = { "all": ( [ t.SocialAgentActor( name="open-agent-default", agent_locator="open_agent:open_agent-v0", # policy_kwargs={"gains": stable_config}, ), ], [ t.Mission( t.Route(begin=("edge-west-WE", 0, 10), end=("edge-west-EW", 0, "max")), task=t.UTurn(target_lane_index=0), ), ], ), } ego_missions = [ t.Mission(