def _create_vehicles(self) -> None: """Create some new random vehicles of a given type, and add them on the road.""" other_vehicles_type = utils.class_from_path( self.config["other_vehicles_type"]) other_per_controlled = near_split( self.config["vehicles_count"], num_bins=self.config["controlled_vehicles"]) self.controlled_vehicles = [] for others in other_per_controlled: vehicle = Vehicle.create_random( self.road, speed=25, lane_id=self.config["initial_lane_id"], spacing=self.config["ego_spacing"]) vehicle = self.action_type.vehicle_class(self.road, vehicle.position, vehicle.heading, vehicle.speed) self.controlled_vehicles.append(vehicle) self.road.vehicles.append(vehicle) for _ in range(others): vehicle = other_vehicles_type.create_random( self.road, spacing=1 / self.config["vehicles_density"]) vehicle.randomize_behavior() self.road.vehicles.append(vehicle)
def _create_vehicles(self) -> None: """Create some new random vehicles of a given type, and add them on the road.""" other_vehicles_type = utils.class_from_path( self.config["other_vehicles_type"]) other_per_controlled = near_split( self.config["vehicles_count"], num_bins=self.config["controlled_vehicles"]) self.controlled_vehicles = [] t = 0 l = 1 for others in other_per_controlled: # controlled_vehicle = self.action_type.vehicle_class.create_random( # self.road, # amir=False, # speed=np.random.randint(23,29), # lane_id=1, # spacing=self.config["ego_spacing"] # ) flags = [False, True] + [False for i in range(others - 1)] # array=[t,None,np.random.randint(23,25)] for i in range(others + 1): if i == t: controlled_vehicle = self.action_type.vehicle_class.create_random( self.road, amir=False, speed=np.random.randint(23, 29), lane_id=1, spacing=self.config["ego_spacing"]) self.controlled_vehicles.append(controlled_vehicle) self.road.vehicles.append(controlled_vehicle) else: back = False speed = np.random.randint(23, 29) self.road.vehicles.append( other_vehicles_type.create_random( self.road, amir=flags[i], speed=speed, spacing=1 / self.config["vehicles_density"]))