Ejemplo n.º 1
0
goal_polygon = goal_polygon.Translate(Point2d(-191.789, -50.1725))

agent = Agent(
    init_state,
    behavior_model,
    dynamic_model,
    execution_model,
    agent_2d_shape,
    agent_params,
    GoalDefinitionPolygon(goal_polygon),  # goal_lane_id
    map_interface)
world.AddAgent(agent)

# viewer
viewer = MPViewer(params=param_server, use_world_bounds=True)

# World Simulation
sim_step_time = param_server["simulation"]["step_time",
                                           "Step-time in simulation", 0.05]
sim_real_time_factor = param_server["simulation"][
    "real_time_factor", "execution in real-time or faster", 100]

for _ in range(0, 10):
    viewer.clear()
    world.Step(sim_step_time)
    viewer.drawWorld(world)
    viewer.drawRoadCorridor(agent.road_corridor)
    viewer.show(block=False)
    time.sleep(sim_step_time / sim_real_time_factor)

param_server.save("examples/params/od8_const_vel_one_agent_written.json")
Ejemplo n.º 2
0
    def test_evaluator_drivable_area(self):
        # World Definition
        params = ParameterServer()
        world = World(params)

        # Model Definitions
        behavior_model = BehaviorConstantVelocity(params)
        execution_model = ExecutionModelInterpolate(params)
        dynamic_model = SingleTrackModel(params)

        # Map Definition
        map_interface = MapInterface()
        xodr_map = MakeXodrMapOneRoadTwoLanes()
        map_interface.SetOpenDriveMap(xodr_map)
        world.SetMap(map_interface)
        #open_drive_map = world.map.GetOpenDriveMap()

        #agent_2d_shape = CarLimousine()
        agent_2d_shape = Polygon2d(
            [1.25, 1, 0],
            [Point2d(-1, -1),
             Point2d(-1, 1),
             Point2d(3, 1),
             Point2d(3, -1)])
        init_state = np.array([0, 3, -1.75, 0, 5])
        agent_params = params.AddChild("agent1")
        goal_polygon = Polygon2d(
            [1, 1, 0],
            [Point2d(0, 0),
             Point2d(0, 2),
             Point2d(2, 2),
             Point2d(2, 0)])
        goal_polygon = goal_polygon.Translate(Point2d(50, -2))

        agent = Agent(
            init_state,
            behavior_model,
            dynamic_model,
            execution_model,
            agent_2d_shape,
            agent_params,
            GoalDefinitionPolygon(goal_polygon),  # goal_lane_id
            map_interface)
        world.AddAgent(agent)

        evaluator = EvaluatorDrivableArea()
        world.AddEvaluator("drivable_area", evaluator)

        info = world.Evaluate()
        self.assertFalse(info["drivable_area"])

        viewer = MPViewer(params=params, use_world_bounds=True)

        # Draw map
        viewer.drawGoalDefinition(goal_polygon,
                                  color=(1, 0, 0),
                                  alpha=0.5,
                                  facecolor=(1, 0, 0))
        viewer.drawWorld(world)
        viewer.drawRoadCorridor(agent.road_corridor)
        viewer.show(block=False)
Ejemplo n.º 3
0
# comb_all = comb_all + comb

print("comb_all", comb_all)

for cnt, (start_p, end_p) in enumerate(comb_all):
  polygon = Polygon2d([0, 0, 0], [Point2d(-1,-1),Point2d(-1,1),Point2d(1,1), Point2d(1,-1)])
  start_polygon = polygon.Translate(start_p)
  goal_polygon = polygon.Translate(end_p)
  rc = map_interface.GenerateRoadCorridor(start_p, goal_polygon)
  if rc:
    roads = rc.roads
    road_ids = list(roads.keys())
    print(road_ids, rc.road_ids)
    
    viewer.drawWorld(world)
    viewer.drawRoadCorridor(rc, "blue")
    viewer.saveFig(output_dir + "/" + "roadcorridor_" + str(cnt) + ".png")
    viewer.show()
    viewer.clear()

    for idx, lane_corridor in enumerate(rc.lane_corridors):
      viewer.drawWorld(world)
      viewer.drawLaneCorridor(lane_corridor, "green")
      viewer.drawLine2d(lane_corridor.left_boundary, color="red")
      viewer.drawLine2d(lane_corridor.right_boundary, color="green")
      viewer.drawLine2d(lane_corridor.center_line, color="green")
      viewer.drawPolygon2d(start_polygon, color="green", facecolor="green", alpha=1.)
      viewer.drawPolygon2d(goal_polygon, color="red", facecolor="red", alpha=1.)
      viewer.saveFig(output_dir + "/" + "roadcorridor_" + str(cnt) + "_with_driving_direction_lancecorridor" + str(idx) + ".png")
      viewer.show()
      viewer.clear()