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()
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
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)]