Ejemplo n.º 1
0
def main():
    env = gym.make('highway-v0')
    road = Road.create_random_road(lanes_count=2,
                                   lane_width=4.0,
                                   vehicles_count=0,
                                   vehicles_type=IDMVehicle)
    vehicle = MDPVehicle.create_random(road)
    road.vehicles.append(vehicle)
    env.road = road
    env.vehicle = vehicle

    agent = MCTSAgent(env, iterations=100, temperature=20 *
                      5)  # compare step by subtree and step by prior
    sim = Simulation(env, agent)

    t = 0
    while not sim.done:
        sim.step()
        t += 1
        if t == 10:
            print('Added obstacle')
            env.road.vehicles.append(
                Obstacle(
                    road,
                    [env.vehicle.position[0] + 50., env.vehicle.position[1]]))
    sim.close()
Ejemplo n.º 2
0
 def _create_road(self):
     road = Road.create_random_road(
         lanes_count=self.config["lanes_count"],
         vehicles_count=self.config["vehicles_count"],
         vehicles_type=utils.class_from_path(
             self.config["other_vehicles_type"]),
         np_random=self.np_random)
     vehicle = MDPVehicle.create_random(
         road,
         25,
         spacing=self.config["initial_spacing"],
         prepend=True,
         np_random=self.np_random)
     road.vehicles.append(vehicle)
     return road, vehicle
Ejemplo n.º 3
0
def main():
    road = Road.create_random_road(lanes_count=2,
                                   lane_width=4.0,
                                   vehicles_count=1,
                                   vehicles_type=LinearVehicle)
    v = road.vehicles[0]
    v.enable_lane_change = False
    le = LinearEstimator(v)
    sim = Simulation(road, ego_vehicle_type=ControlledVehicle)

    while not sim.done:
        sim.handle_events()
        sim.act()
        le.update(sim.dt)
        sim.step()
        sim.display()
    sim.quit()
def generate_data(count):
    # Vehicle.COLLISIONS_ENABLED = False
    vehicle_type = LinearVehicle
    road = Road.create_random_road(lanes_count=2,
                                   lane_width=4.0,
                                   vehicles_count=5,
                                   vehicles_type=vehicle_type)
    sim = Simulation(road, ego_vehicle_type=vehicle_type, displayed=True)
    sim.RECORD_VIDEO = False
    road.add_random_vehicles(5, vehicles_type=vehicle_type)
    road.vehicles.append(Obstacle(road, np.array([50., 0])))
    road.vehicles.append(Obstacle(road, np.array([130., 4.])))
    for v in road.vehicles:
        v.target_velocity = LinearVehicle.VELOCITY_WANTED
        #     v.enable_lane_change = False

    for _ in range(count):
        sim.handle_events()
        sim.act()
        sim.road.dump()
        sim.step()
        sim.display()
    sim.quit()
    return [v.get_log() for v in road.vehicles if not isinstance(v, Obstacle)]