示例#1
0
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"),
    )
示例#2
0
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]
        )
示例#4
0
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"),
示例#5
0
        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=[
示例#6
0
    ),
    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 = {
示例#7
0
                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")),
示例#8
0
    ),
    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,
)
示例#10
0
                      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",
#     },
示例#11
0
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(