def make_carla_settings(self): if self.settings_filepath is None: """Make a CarlaSettings object with the settings we need.""" settings = CarlaSettings() settings.set(SynchronousMode=True, SendNonPlayerAgentsInfo=True, NumberOfVehicles=5, NumberOfPedestrians=60, WeatherId=random.choice( [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14])) settings.randomize_seeds() camera0 = sensor.Camera('CameraRGB') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set_position(200, 0, 140) camera0.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera0) camera1 = sensor.Camera('CameraDepth', PostProcessing='Depth') camera1.set_image_size(MINI_WINDOW_WIDTH, MINI_WINDOW_HEIGHT) camera1.set_position(200, 0, 140) camera1.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera1) camera2 = sensor.Camera('CameraSemSeg', PostProcessing='SemanticSegmentation') camera2.set_image_size(MINI_WINDOW_WIDTH, MINI_WINDOW_HEIGHT) camera2.set_position(200, 0, 140) camera2.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera2) else: # Alternatively, we can load these settings from a file. with open(self.settings_filepath, 'r') as fp: settings = fp.read() return settings
def make_carla_settings(args): """Make a CarlaSettings object with the settings we need. """ settings = CarlaSettings() # There is no need for non-agent info requests if there are no pedestrians # or vehicles. get_non_player_agents_info = False if (NUM_PEDESTRIANS > 0 or NUM_VEHICLES > 0): get_non_player_agents_info = True # Base level settings settings.set( SynchronousMode=True, SendNonPlayerAgentsInfo=get_non_player_agents_info, NumberOfVehicles=NUM_VEHICLES, NumberOfPedestrians=NUM_PEDESTRIANS, SeedVehicles=SEED_VEHICLES, SeedPedestrians=SEED_PEDESTRIANS, WeatherId=SIMWEATHER, QualityLevel=args.quality_level) camera0 = sensor.Camera('CameraRGB') camera0.set_image_size(1200, 800) camera0.set_position(-1.0, 0.0, 4.5) camera0.set_rotation(0.0, 0.0, 0.0) camera0.set(FOV=90.0) settings.add_sensor(camera0) camera2 = sensor.Camera('CameraSemSeg', PostProcessing='SemanticSegmentation') camera2.set_image_size(320, 240) camera2.set_position(-1.0, 0.0, 4.5) camera2.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera2) return settings
def make_carla_settings(args): """Make a CarlaSettings object with the settings we need. """ settings = CarlaSettings() settings = CarlaSettings() settings.set(SynchronousMode=True, SendNonPlayerAgentsInfo=False, NumberOfVehicles=20, NumberOfPedestrians=40, WeatherId=1) settings.randomize_seeds() camera0 = sensor.Camera('CameraRGB') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set_position(2.0, 0.0, 1.4) camera0.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera0) camera1 = sensor.Camera('CameraDepth', PostProcessing='Depth') camera1.set_image_size(MINI_WINDOW_WIDTH, MINI_WINDOW_HEIGHT) camera1.set_position(2.0, 0.0, 1.4) camera1.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera1) camera2 = sensor.Camera('CameraSemSeg', PostProcessing='SemanticSegmentation') camera2.set_image_size(MINI_WINDOW_WIDTH, MINI_WINDOW_HEIGHT) camera2.set_position(2.0, 0.0, 1.4) camera2.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera2) return settings
def carla_settings(self): settings = CarlaSettings() settings.set(SynchronousMode=False, SendNonPlayerAgentsInfo=False, NumberOfVehicles=0, NumberOfPedestrians=0, WeatherId=0) settings.randomize_seeds() camera0 = sensor.Camera('CameraCenter') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set_position(200, 0, 140) camera0.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera0) camera1 = sensor.Camera('CameraLeft') camera1.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera1.set_position(200, 0, 140) camera1.set_rotation(0.0, 0.0, -30.0) settings.add_sensor(camera1) camera2 = sensor.Camera('CameraRight') camera2.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera2.set_position(200, 0, 140) camera2.set_rotation(0.0, 0.0, 30.0) settings.add_sensor(camera2) if self.map_view is not None: camera3 = sensor.Camera('TPPCamera') camera3.set_image_size(self.map_view.shape[1], WINDOW_HEIGHT // 2) camera3.set_position(-450, 0, 400) camera3.set_rotation(-30.0, 0.0, 0.0) settings.add_sensor(camera3) self.settings = settings
def make_carla_settings(): """Make a CarlaSettings object with the settings we need.""" settings = CarlaSettings() settings.set(SynchronousMode=False, SendNonPlayerAgentsInfo=True, NumberOfVehicles=15, NumberOfPedestrians=30, WeatherId=random.choice([1, 3, 7, 8, 14])) settings.randomize_seeds() camera0 = sensor.Camera('CameraRGB') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set_position(200, 0, 140) camera0.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera0) camera1 = sensor.Camera('CameraDepth', PostProcessing='Depth') camera1.set_image_size(MINI_WINDOW_WIDTH, MINI_WINDOW_HEIGHT) camera1.set_position(200, 0, 140) camera1.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera1) camera2 = sensor.Camera('CameraSemSeg', PostProcessing='SemanticSegmentation') if mixed_reality: camera2.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) else: camera2.set_image_size(MINI_WINDOW_WIDTH, MINI_WINDOW_HEIGHT) camera2.set_position(200, 0, 140) camera2.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera2) return settings
def make_carla_settings(args): """Make a CarlaSettings object with the settings we need.""" settings = CarlaSettings() settings.set( SynchronousMode=False, SendNonPlayerAgentsInfo=True, NumberOfVehicles=NUM_VEHICLES, NumberOfPedestrians=NUM_PEDESTRIANS, DisableTwoWheeledVehicles=NO_BIKE, # WeatherId=random.choice([1, 3, 7, 8, 14]), WeatherId=1, QualityLevel=args.quality_level) settings.randomize_seeds() camera0 = sensor.Camera('CameraRGB') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set_position(0, 0.0, CAMERA_HEIGHT_POS) camera0.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera0) lidar = sensor.Lidar('Lidar32') lidar.set_position(0, 0.0, LIDAR_HEIGHT_POS) lidar.set_rotation(0, 0, 0) lidar.set(Channels=40, Range=MAX_RENDER_DEPTH_IN_METERS, PointsPerSecond=720000, RotationFrequency=10, UpperFovLimit=7, LowerFovLimit=-16) settings.add_sensor(lidar) """ Depth camera for filtering out occluded vehicles """ depth_camera = sensor.Camera('DepthCamera', PostProcessing='Depth') depth_camera.set(FOV=90.0) depth_camera.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) depth_camera.set_position(0, 0, CAMERA_HEIGHT_POS) depth_camera.set_rotation(0, 0, 0) settings.add_sensor(depth_camera) # (Intrinsic) K Matrix # | f 0 Cu # | 0 f Cv # | 0 0 1 # (Cu, Cv) is center of image k = np.identity(3) k[0, 2] = WINDOW_WIDTH_HALF k[1, 2] = WINDOW_HEIGHT_HALF f = WINDOW_WIDTH / \ (2.0 * math.tan(90.0 * math.pi / 360.0)) k[0, 0] = k[1, 1] = f camera_to_car_transform = camera0.get_unreal_transform() lidar_to_car_transform = lidar.get_transform() * Transform( Rotation(yaw=90), Scale(z=-1)) return settings, k, camera_to_car_transform, lidar_to_car_transform
def make_carla_settings(): """Make a CarlaSettings object with the settings we need.""" settings = CarlaSettings() settings.set( SendNonPlayerAgentsInfo=True, SynchronousMode=True, NumberOfVehicles=30, NumberOfPedestrians=50, WeatherId=1) settings.set(DisableTwoWheeledVehicles=True) # --------------------------- CENTRAL CAMERA --------------------------- settings.randomize_seeds() # IMPORTANT TO RANDOMIZE THE SEEDS EVERY TIME camera0 = sensor.Camera('CentralSemanticSeg', PostProcessing='SemanticSegmentation') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set(FOV=FOV) camera0.set_position(2.0, 0.0, 1.4) camera0.set_rotation(-15.0, 0, 0) settings.add_sensor(camera0) camera0 = sensor.Camera('CentralRGB') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set(FOV=FOV) camera0.set_position(2.0, 0.0, 1.4) camera0.set_rotation(-15.0, 0, 0) settings.add_sensor(camera0) # --------------------------- TOP CAMERA --------------------------- camera0 = sensor.Camera('TopSemanticSeg', PostProcessing='SemanticSegmentation') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set(FOV=FOV) camera0.set_position(12.0, 0.0, 15.0) camera0.set_rotation(-90.0, 90.0, -90.0) settings.add_sensor(camera0) camera0 = sensor.Camera('TopRGB') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set(FOV=FOV) camera0.set_position(12.0, 0.0, 15.0) camera0.set_rotation(-90.0, 90.0, -90.0) settings.add_sensor(camera0) return settings
def make_carla_settings(args): """Make a CarlaSettings object with the settings we need.""" settings = CarlaSettings() settings.set( SynchronousMode=True, SendNonPlayerAgentsInfo=True, NumberOfVehicles=10, NumberOfPedestrians=100, WeatherId=random.choice([1, 3, 7, 8, 14]), QualityLevel=args.quality_level) settings.randomize_seeds() # camera0 = sensor.Camera('CameraRGB_main') # camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) # camera0.set_position(2.0, 0.0, 1.4) # camera0.set_rotation(0.0, 0.0, 0.0) # settings.add_sensor(camera0) # camera1 = sensor.Camera('CameraDepth', PostProcessing='Depth') # camera1.set_image_size(MINI_WINDOW_WIDTH, MINI_WINDOW_HEIGHT) # camera1.set_position(2.0, 0.0, 1.4) # camera1.set_rotation(0.0, 0.0, 0.0) # settings.add_sensor(camera1) # camera2 = sensor.Camera('CameraSemSeg', PostProcessing='SemanticSegmentation') # camera2.set_image_size(MINI_WINDOW_WIDTH, MINI_WINDOW_HEIGHT) # camera2.set_position(2.0, 0.0, 1.4) # camera2.set_rotation(0.0, 0.0, 0.0) # settings.add_sensor(camera2) cameraNN = sensor.Camera('CameraRGB') cameraNN.set_image_size(H5_WINDOW_WIDTH, H5_WINDOW_HEIGHT) cameraNN.set_position(2.0, 0.0, 1.4) cameraNN.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(cameraNN) camera3 = sensor.Camera('CameraRGB_h5') camera3.set_image_size(H5_WINDOW_WIDTH, H5_WINDOW_HEIGHT) camera3.set_position(2.0, 0.0, 1.4) camera3.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera3) if args.lidar: lidar = sensor.Lidar('Lidar32') lidar.set_position(0, 0, 2.5) lidar.set_rotation(0, 0, 0) lidar.set( Channels=32, Range=50, PointsPerSecond=100000, RotationFrequency=10, UpperFovLimit=10, LowerFovLimit=-30) settings.add_sensor(lidar) return settings
def make_carla_settings(args): """Make a CarlaSettings object with the settings we need.""" ######################################################################################################## # TODO # Change this to add more cameras # Remove segmentation, depth if we use our own # Change the no of vehicles, pedestrians, weather ######################################################################################################## ###################################### Default from carla ###################################### settings = CarlaSettings() settings.set(SynchronousMode=False, SendNonPlayerAgentsInfo=True, NumberOfVehicles=15, NumberOfPedestrians=30, WeatherId=random.choice([1, 3, 7, 8, 14]), QualityLevel=args.quality_level) settings.randomize_seeds() camera0 = sensor.Camera('CameraRGB') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set_position(2.0, 0.0, 1.4) camera0.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera0) camera1 = sensor.Camera('CameraDepth', PostProcessing='Depth') camera1.set_image_size(MINI_WINDOW_WIDTH, MINI_WINDOW_HEIGHT) camera1.set_position(2.0, 0.0, 1.4) camera1.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera1) camera2 = sensor.Camera('CameraSemSeg', PostProcessing='SemanticSegmentation') camera2.set_image_size(MINI_WINDOW_WIDTH, MINI_WINDOW_HEIGHT) camera2.set_position(2.0, 0.0, 1.4) camera2.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera2) if args.lidar: lidar = sensor.Lidar('Lidar32') lidar.set_position(0, 0, 2.5) lidar.set_rotation(0, 0, 0) lidar.set(Channels=32, Range=50, PointsPerSecond=100000, RotationFrequency=10, UpperFovLimit=10, LowerFovLimit=-30) settings.add_sensor(lidar) return settings
def make_carla_settings(): """Make a CarlaSettings object with the settings we need.""" settings = CarlaSettings() settings.set( SendNonPlayerAgentsInfo=True, SynchronousMode=True, NumberOfVehicles=30, NumberOfPedestrians=50, WeatherId=1) settings.set(DisableTwoWheeledVehicles=True) settings.randomize_seeds() # IMPORTANT TO RANDOMIZE THE SEEDS EVERY TIME camera0 = sensor.Camera('CameraRGB') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set(FOV=100) camera0.set_image_size(800, 600) camera0.set_position(2.0, 0.0, 1.4) camera0.set_rotation(-15.0, 0, 0) settings.add_sensor(camera0) return settings # 65, 18 to 65, 16 # 18, 145 to 16, 145 # 79, 45 to 79 47
def make_carla_settings(args): """Make a CarlaSettings object with the settings we need. """ settings = CarlaSettings() # There is no need for non-agent info requests if there are no pedestrians # or vehicles. get_non_player_agents_info = False if (NUM_PEDESTRIANS > 0 or NUM_VEHICLES > 0): get_non_player_agents_info = True # Base level settings settings.set(SynchronousMode=True, SendNonPlayerAgentsInfo=get_non_player_agents_info, NumberOfVehicles=NUM_VEHICLES, NumberOfPedestrians=NUM_PEDESTRIANS, SeedVehicles=SEED_VEHICLES, SeedPedestrians=SEED_PEDESTRIANS, WeatherId=SIMWEATHER, QualityLevel=args.quality_level) WINDOW_WIDTH = 800 WINDOW_HEIGHT = 600 camera0 = sensor.Camera('CameraRGB') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set_position(2.0, 0.0, 1.4) camera0.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera0) return settings
def make_carla_settings(args): """Make a CarlaSettings object with the settings we need.""" settings = CarlaSettings() settings.set(SynchronousMode=True, SendNonPlayerAgentsInfo=True, NumberOfVehicles=0, NumberOfPedestrians=0, WeatherId=random.choice([1, 3, 7, 8, 14]), QualityLevel=args.quality_level) settings.randomize_seeds() #Camera type and placement is chosen #comment out a camera block if not wanted camera0 = sensor.Camera('CameraCenter') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set_position(2.0, 0.0, 1.4) camera0.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera0) camera1 = sensor.Camera('CameraRight') camera1.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera1.set_position(2.0, 1.5, 1.4) camera1.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera1) camera2 = sensor.Camera('CameraLeft') camera2.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera2.set_position(2.0, -1.5, 1.4) camera2.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera2) #if lidar is chosen, placement of it if args.lidar: lidar = sensor.Lidar('Lidar32') lidar.set_position(0, 0, 2.5) lidar.set_rotation(0, 0, 0) lidar.set(Channels=32, Range=50, PointsPerSecond=100000, RotationFrequency=10, UpperFovLimit=10, LowerFovLimit=-30) settings.add_sensor(lidar) return settings
def make_carla_settings(args): """Make a CarlaSettings object with the settings we need.""" model = lm('./model_semseg.hdf5') settings = CarlaSettings() settings.set(SynchronousMode=True, SendNonPlayerAgentsInfo=True, NumberOfVehicles=5, NumberOfPedestrians=30, WeatherId=random.choice(list(range(15))), QualityLevel=args.quality_level) settings.randomize_seeds() camera0 = sensor.Camera('CameraRGB') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set_position(2.0, 0.0, 1.4) camera0.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera0) # camera1 = sensor.Camera('CameraDepth', PostProcessing='Depth') # # camera1.set_image_size(MINI_WINDOW_WIDTH, MINI_WINDOW_HEIGHT) # camera1.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) # camera1.set_position(2.0, 0.0, 1.4) # camera1.set_rotation(0.0, 0.0, 0.0) # settings.add_sensor(camera1) camera2 = sensor.Camera('CameraSemSeg', PostProcessing='SemanticSegmentation') # camera2.set_image_size(MINI_WINDOW_WIDTH, MINI_WINDOW_HEIGHT) camera2.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera2.set_position(2.0, 0.0, 1.4) camera2.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera2) # if args.lidar: # lidar = sensor.Lidar('Lidar32') # lidar.set_position(0, 0, 2.5) # lidar.set_rotation(0, 0, 0) # lidar.set( # Channels=32, # Range=50, # PointsPerSecond=100000, # RotationFrequency=10, # UpperFovLimit=10, # LowerFovLimit=-30) # settings.add_sensor(lidar) return settings
def make_carla_settings(args): """Make a CarlaSettings object with the settings we need.""" settings = CarlaSettings() settings.set(SynchronousMode=True, SendNonPlayerAgentsInfo=False, NumberOfVehicles=30, NumberOfPedestrians=0, WeatherId=1, QualityLevel='Epic') settings.randomize_seeds() camera0 = sensor.Camera('CameraRGB') camera0.set_image_size(CAM_WINDOW_WIDTH, CAM_WINDOW_HEIGHT) camera0.set_position(2.0, 0.0, 1.4) camera0.set_rotation(-15.0, 0.0, 0.0) settings.add_sensor(camera0) camera1 = sensor.Camera('CameraDepth', PostProcessing='Depth') camera1.set_image_size(MINI_WINDOW_WIDTH, MINI_WINDOW_HEIGHT) camera1.set_position(2.0, 0.0, 1.4) camera1.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera1) camera2 = sensor.Camera('CameraSemSeg', PostProcessing='SemanticSegmentation') camera2.set_image_size(MINI_WINDOW_WIDTH, MINI_WINDOW_HEIGHT) camera2.set_position(2.0, 0.0, 1.4) camera2.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera2) lidar = sensor.Lidar('Lidar32') lidar.set_position(0, 0, 2.5) lidar.set_rotation(0, 0, 0) lidar.set(Channels=0, Range=50, PointsPerSecond=100000, RotationFrequency=10, UpperFovLimit=0, LowerFovLimit=0) settings.add_sensor(lidar) return settings
def make_carla_settings(enable_lidar): """Make a CarlaSettings object with the settings we need.""" settings = CarlaSettings() settings.set(SynchronousMode=False, SendNonPlayerAgentsInfo=True, NumberOfVehicles=15, NumberOfPedestrians=30, WeatherId=random.choice([1, 3, 7, 8, 14])) settings.randomize_seeds() camera0 = sensor.Camera('CameraRGB') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set_position(200, 0, 140) camera0.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera0) camera1 = sensor.Camera('CameraDepth', PostProcessing='Depth') camera1.set_image_size(MINI_WINDOW_WIDTH, MINI_WINDOW_HEIGHT) camera1.set_position(200, 0, 140) camera1.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera1) camera2 = sensor.Camera('CameraSemSeg', PostProcessing='SemanticSegmentation') camera2.set_image_size(MINI_WINDOW_WIDTH, MINI_WINDOW_HEIGHT) camera2.set_position(200, 0, 140) camera2.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera2) if enable_lidar: lidar = sensor.Lidar('Lidar32') lidar.set_position(0, 0, 250) lidar.set_rotation(0, 0, 0) lidar.set(Channels=32, Range=5000, PointsPerSecond=100000, RotationFrequency=10, UpperFovLimit=10, LowerFovLimit=-30) settings.add_sensor(lidar) return settings
def make_carla_settings(args): """Make a CarlaSettings object with the settings we need.""" settings = CarlaSettings() settings.set(SynchronousMode=False, SendNonPlayerAgentsInfo=True, NumberOfVehicles=10, NumberOfPedestrians=5, WeatherId=random.choice([1, 3, 7, 8, 14]), QualityLevel=args.quality_level) settings.randomize_seeds() camera0 = sensor.Camera('CameraRGB') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set_position(0.30, 0, 1.30) camera0.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera0) return settings
def make_carla_settings(): """Make a CarlaSettings object with the settings we need.""" settings = CarlaSettings() settings.set(SendNonPlayerAgentsInfo=True, SynchronousMode=True) settings.set(DisableTwoWheeledVehicles=True) settings.randomize_seeds() # Add a carla camera. camera0 = sensor.Camera('CameraRGB') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set(FOV=FOV) camera0.set_position(2.0, 0.0, 1.4) camera0.set_rotation(-15.0, 0, 0) settings.add_sensor(camera0) return settings
def make_carla_settings(args): """Make a CarlaSettings object with the settings we need.""" settings = CarlaSettings() settings.set(SynchronousMode=True, SendNonPlayerAgentsInfo=True, NumberOfVehicles=5, NumberOfPedestrians=5, WeatherId=1, QualityLevel='Low', DisableTwoWheeledVehicles=True, SeedVehicles=123456789, SeedPedestrians=123456789) camera0 = sensor.Camera('CameraRGB') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set_position(2.0, 0.0, 1.4) camera0.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera0) return settings
def make_carla_settings(args, vehicle_tot): # Create a CarlaSettings object. This object is a wrapper around # the CarlaSettings.ini file. Here we set the configuration we # want for the new episode. settings = CarlaSettings() settings.set(SynchronousMode=False, SendNonPlayerAgentsInfo=True, NumberOfVehicles=vehicle_tot, NumberOfPedestrians=0, WeatherId=1, QualityLevel=args.quality_level) settings.randomize_seeds() camera0 = sensor.Camera('CameraRGB') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) px, py, pz = 2.0, 0.0, 1.4 # Default (Front) rx, ry, rz = 0.0, 0.0, 0.0 if args.camera == "Driver": px = -0.3 py = -0.5 pz = 1.1 elif args.camera == "Hood": px = 1.0 py = 0.0 pz = 1.4 elif args.camera == "Top": px = -5.5 py = 0.0 pz = 3.0 rx = -10.0 camera0.set_position(px, py, pz) camera0.set_rotation(rx, ry, rz) settings.add_sensor(camera0) return settings
def make_carla_settings(args): """Make a CarlaSettings object with the settings we need.""" settings = CarlaSettings() settings.set(SynchronousMode=False, SendNonPlayerAgentsInfo=True, NumberOfVehicles=15, NumberOfPedestrians=30, WeatherId=random.choice([1, 3, 7, 8, 14]), QualityLevel=args.quality_level) settings.randomize_seeds() camera0 = sensor.Camera('CameraSemSeg', PostProcessing='SemanticSegmentation') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set_position(2.0, 0.0, 1.4) camera0.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(camera0) #camera2 = sensor.Camera('CameraSemSeg', PostProcessing='SemanticSegmentation') #camera2.set_image_size(MINI_WINDOW_WIDTH, MINI_WINDOW_HEIGHT) #camera2.set_position(2.0, 0.0, 1.4) #camera2.set_rotation(0.0, 0.0, 0.0) #settings.add_sensor(camera2) return settings
def make_carla_settings(): """Make a CarlaSettings object with the settings we need.""" settings = CarlaSettings() settings.set(SynchronousMode=True, SendNonPlayerAgentsInfo=True, NumberOfVehicles=120, NumberOfPedestrians=140, WeatherId=weather_choice, SeedVehicles=random.randint(0, 123456), SeedPedestrians=random.randint(0, 123456)) # settings.randomize_seeds() camera0 = sensor.Camera('CameraFront') camera0.set(FOV=100) camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set_position(1.35, 0, 1.40) camera0.set_rotation(-15.0, 0.0, 0.0) settings.add_sensor(camera0) camera1 = sensor.Camera('CameraLeft') camera1.set_image_size(MINI_WINDOW_WIDTH, MINI_WINDOW_HEIGHT) camera1.set_position(1.30, -0.50, 1.40) camera1.set_rotation(-20.0, 300.0, 0.0) settings.add_sensor(camera1) camera2 = sensor.Camera('CameraRight') camera2.set_image_size(MINI_WINDOW_WIDTH, MINI_WINDOW_HEIGHT) camera2.set_position(1.30, 0.50, 1.40) camera2.set_rotation(-20.0, 60.0, 0.0) settings.add_sensor(camera2) # camera3 = sensor.Camera('CameraFrontDepth', PostProcessing='Depth') # camera3.set(FOV=100) # camera3.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) # camera3.set_position(135, 0, 140) # camera3.set_rotation(-15.0, 0.0, 0.0) # settings.add_sensor(camera3) # camera4 = sensor.Camera('CameraLeftDepth', PostProcessing='Depth') # camera4.set_image_size(MINI_WINDOW_WIDTH, MINI_WINDOW_HEIGHT) # camera4.set_position(130, -50, 140) # camera4.set_rotation(-20.0, 300.0, 0.0) # settings.add_sensor(camera4) # camera5 = sensor.Camera('CameraRightDepth', PostProcessing='Depth') # camera5.set_image_size(MINI_WINDOW_WIDTH, MINI_WINDOW_HEIGHT) # camera5.set_position(130, 50, 140) # camera5.set_rotation(-20.0, 60.0, 0.0) # settings.add_sensor(camera5) # camera6 = sensor.Camera('CameraFrontSeg', PostProcessing='SemanticSegmentation') # camera6.set(FOV=100) # camera6.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) # camera6.set_position(135, 0, 140) # camera6.set_rotation(-15.0, 0.0, 0.0) # settings.add_sensor(camera6) # camera7 = sensor.Camera('CameraLeftSeg', PostProcessing='SemanticSegmentation') # camera7.set_image_size(MINI_WINDOW_WIDTH, MINI_WINDOW_HEIGHT) # camera7.set_position(130, -50, 140) # camera7.set_rotation(-20.0, 300.0, 0.0) # settings.add_sensor(camera7) # camera8 = sensor.Camera('CameraRightSeg', PostProcessing='SemanticSegmentation') # camera8.set_image_size(MINI_WINDOW_WIDTH, MINI_WINDOW_HEIGHT) # camera8.set_position(130, 50, 140) # camera8.set_rotation(-20.0, 60.0, 0.0) # settings.add_sensor(camera8) return settings
def _initialize_carla(self): # Initialize settings settings = CarlaSettings() settings.set( SynchronousMode=True, NumberOfVehicles=self._settings["number_of_vehicles"], NumberOfPedestrians=self._settings["number_of_pedastrians"], WeatherId=self._settings["weather_id"], QualityLevel=self._settings["quality_level"], SendNonPlayerAgentsInfo=True, ) settings.randomize_seeds() output_image_width = self._settings["output_image_width"] output_image_height = self._settings["output_image_height"] # Add a game camera 1 and 2 game_camera = sensor.Camera("GameCamera") game_camera.set_image_size( self._settings["window_width"], self._settings["window_height"] ) game_camera.set_position(2.0, 0.0, 1.4) game_camera.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(game_camera) game_camera_3p = sensor.Camera("GameCamera3p") game_camera_3p.set_image_size( self._settings["window_width"], self._settings["window_height"] ) game_camera_3p.set_position(-5, 0.0, 3) game_camera_3p.set_rotation(-15, 0.0, 0) settings.add_sensor(game_camera_3p) # Add RGB center camera rgb_camera_center = sensor.Camera("RGBCameraCenter") rgb_camera_center.set_image_size(output_image_width, output_image_height) rgb_camera_center.set_position(2.0, 0.0, 1.4) rgb_camera_center.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(rgb_camera_center) # Add RGB left camera rgb_camera_left = sensor.Camera("RGBCameraLeft") rgb_camera_left.set_image_size(output_image_width, output_image_height) rgb_camera_left.set_position(2.0, -1, 1.4) rgb_camera_left.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(rgb_camera_left) # Add RGB right camera rgb_camera_right = sensor.Camera("RGBCameraRight") rgb_camera_right.set_image_size(output_image_width, output_image_height) rgb_camera_right.set_position(2.0, 1, 1.4) rgb_camera_right.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(rgb_camera_right) # Add depth camera depth_camera = sensor.Camera("DepthCamera", PostProcessing="Depth") depth_camera.set_image_size(output_image_width, output_image_height) depth_camera.set_position(2.0, 0.0, 1.4) depth_camera.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(depth_camera) # Add semantic segmentation camera sem_seg_camera = sensor.Camera( "SemSegCamera", PostProcessing="SemanticSegmentation" ) sem_seg_camera.set_image_size(output_image_width, output_image_height) sem_seg_camera.set_position(2.0, 0.0, 1.4) sem_seg_camera.set_rotation(0.0, 0.0, 0.0) settings.add_sensor(sem_seg_camera) self._carla_settings = settings logging.debug("Carla initialized")
def make_carla_settings(): """Make a CarlaSettings object with the settings we need.""" settings = CarlaSettings() settings.set(SendNonPlayerAgentsInfo=True, SynchronousMode=True, NumberOfVehicles=30, NumberOfPedestrians=50, WeatherId=1) settings.set(DisableTwoWheeledVehicles=True) settings.randomize_seeds() # IMPORTANT TO RANDOMIZE THE SEEDS EVERY TIME camera0 = sensor.Camera('CentralSemanticSeg', PostProcessing='SemanticSegmentation') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set(FOV=FOV) camera0.set_position(2.0, 0.0, 1.4) camera0.set_rotation(-15.0, 0, 0) settings.add_sensor(camera0) camera0 = sensor.Camera('CentralRGB') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set(FOV=FOV) camera0.set_position(2.0, 0.0, 1.4) camera0.set_rotation(-15.0, 0, 0) settings.add_sensor(camera0) camera0 = sensor.Camera('CentralDepth', PostProcessing='Depth') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set(FOV=FOV) camera0.set_position(2.0, 0.0, 1.4) camera0.set_rotation(-15.0, 0, 0) settings.add_sensor(camera0) camera0 = sensor.Camera('LeftSemanticSeg', PostProcessing='SemanticSegmentation') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set(FOV=FOV) camera0.set_position(2.0, 0.0, 1.4) camera0.set_rotation(-15.0, -30.0, 0) settings.add_sensor(camera0) camera0 = sensor.Camera('LeftRGB') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set(FOV=FOV) camera0.set_position(2.0, 0.0, 1.4) camera0.set_rotation(-15.0, -30.0, 0) settings.add_sensor(camera0) camera0 = sensor.Camera('LeftDepth', PostProcessing='Depth') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set(FOV=FOV) camera0.set_position(2.0, 0.0, 1.4) camera0.set_rotation(-15.0, -30.0, 0) settings.add_sensor(camera0) camera0 = sensor.Camera('RightSemanticSeg', PostProcessing='SemanticSegmentation') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set(FOV=FOV) camera0.set_position(2.0, 0.0, 1.4) camera0.set_rotation(-15.0, 30.0, 0) settings.add_sensor(camera0) camera0 = sensor.Camera('RightRGB') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set(FOV=FOV) camera0.set_position(2.0, 0.0, 1.4) camera0.set_rotation(-15.0, 30.0, 0) settings.add_sensor(camera0) camera0 = sensor.Camera('RightDepth', PostProcessing='Depth') camera0.set_image_size(WINDOW_WIDTH, WINDOW_HEIGHT) camera0.set(FOV=FOV) camera0.set_position(2.0, 0.0, 1.4) camera0.set_rotation(-15.0, 30.0, 0) settings.add_sensor(camera0) lidar = sensor.Lidar('Lidar32') lidar.set_position(0, 0, 2.5) lidar.set_rotation(0, 0, 0) lidar.set(Channels=32, Range=50, PointsPerSecond=100000, RotationFrequency=10, UpperFovLimit=10, LowerFovLimit=-30) settings.add_sensor(lidar) return settings
def run_carla_client(args): with make_connection(CarlaClient, args.host, args.port, timeout=15) as client: logging.info('CarlaClient connected') filename = '_out/test_episode_{:0>4d}/{:s}/{:0>6d}' frames_per_episode = 300 episode = 0 while True: episode += 1 settings = CarlaSettings() settings.set(SendNonPlayerAgentsInfo=True, SynchronousMode=args.synchronous) settings.randomize_seeds() camera = sensor.Camera('DefaultCamera') camera.set_image_size(300, 200) # Do not change this, hard-coded in test. settings.add_sensor(camera) lidar = sensor.Lidar('DefaultLidar') settings.add_sensor(lidar) logging.debug('sending CarlaSettings:\n%s', settings) logging.info('new episode requested') scene = client.load_settings(settings) number_of_player_starts = len(scene.player_start_spots) player_start = random.randint(0, max(0, number_of_player_starts - 1)) logging.info( 'start episode at %d/%d player start (%d frames)', player_start, number_of_player_starts, frames_per_episode) client.start_episode(player_start) use_autopilot_control = (random.random() < 0.5) reverse = (random.random() < 0.2) for frame in range(0, frames_per_episode): logging.debug('reading measurements...') measurements, sensor_data = client.read_data() images = [x for x in sensor_data.values() if isinstance(x, sensor.Image)] logging.debug('received data of %d agents', len(measurements.non_player_agents)) if len(images) > 0: assert (images[0].width, images[0].height) == (camera.ImageSizeX, camera.ImageSizeY) if args.images_to_disk: for name, data in sensor_data.items(): data.save_to_disk(filename.format(episode, name, frame)) logging.debug('sending control...') control = measurements.player_measurements.autopilot_control if not use_autopilot_control: control.steer = random.uniform(-1.0, 1.0) control.throttle = 0.3 control.hand_brake = False control.reverse = reverse client.send_control( steer=control.steer, throttle=control.throttle, brake=control.brake, hand_brake=control.hand_brake, reverse=control.reverse)
def run_carla_client(args): with make_carla_client(args.host, args.port) as client: print('CarlaClient connected') while True: settings = CarlaSettings() settings.set( SynchronousMode=True, SendNonPlayerAgentsInfo=True, NumberOfVehicles=0, NumberOfPedestrians=0, WeatherId=3, #1, 3, 7, 8, 14 QualityLevel=args.quality_level) settings.randomize_seeds() # Now we want to add a couple of cameras to the player vehicle. # We will collect the images produced by these cameras every # frame. # The default camera captures RGB images of the scene. camera0 = sensor.Camera('CameraRGB', PostProcessing='SceneFinal') # Set image resolution in pixels. w = 800 h = 600 camera0.set_image_size(800, 600) # Set its position relative to the car in meters. camera0.set_position(0.30, 0, 4) settings.add_sensor(camera0) # Let's add another camera producing ground-truth depth. depth_camera = sensor.Camera('CameraDepth', PostProcessing='Depth') depth_camera.set_image_size(800, 600) depth_camera.set_position(x=0.30, y=0, z=4) settings.add_sensor(depth_camera) if args.lidar: lidar = Lidar('Lidar32') lidar.set_position(0, 0, 2.50) lidar.set_rotation(0, 0, 0) lidar.set(Channels=32, Range=50, PointsPerSecond=100000, RotationFrequency=10, UpperFovLimit=10, LowerFovLimit=-30) settings.add_sensor(lidar) scene = client.load_settings(settings) # Choose one player start at random. number_of_player_starts = len(scene.player_start_spots) player_start = random.randint(0, max(0, number_of_player_starts - 1)) print('Starting new episode at %r...' % scene.map_name) client.start_episode(player_start) action_model = roughPPO.actor_model((h, w, 3), (3, 1), (20, 2)) critic_model = roughPPO.critic_model((h, w, 3), (3, 1), (20, 2), (2, 1)) actor_action = [0, 0] critic_score = 0 ppo_check = 0 # Iterate every frame in the episode. ppo_iter_count = 0 while True: # Read the data produced by the server this frame. measurements, sensor_data = client.read_data() # print_measurements(measurements) main_image = sensor_data.get("CameraRGB", None) image_array = image_converter.to_rgb_array(main_image) point_cloud = image_converter.depth_to_local_point_cloud( sensor_data['CameraDepth'], image_array, max_depth=1000) image_array = cv2.cvtColor(image_array, cv2.COLOR_RGB2BGR) cv2.imshow("FrontCam View", image_array) reverse = 0 try: steer_val = 0 bez_mask, coord_trajectory, trajectory, world_x_left, world_x_right, world_z_left, world_z_right = floodfill( image_array, point_cloud) track_point_yaw = trajectory[-5] yaw_error = np.arctan( (0 - track_point_yaw[0]) / (track_point_yaw[1])) state_update_long(trajectory) state_update_lat(world_x_left, world_x_right, yaw_error) if ppo_check == 1: reward_score = roughPPO.reward(actor_action, world_x_left, world_x_right) if len(SDC_data_store.throttle_queue) < 50: SDC_data_store.throttle_queue.append( actor_action[0]) SDC_data_store.steer_queue.append(actor_action[1]) SDC_data_store.rewards_queue.append(reward_score) SDC_data_store.critic_score.append(critic_score) else: print("IDHAR!!!!!!!!!!") SDC_data_store.throttle_queue.popleft() SDC_data_store.throttle_queue.append( actor_action[0]) SDC_data_store.steer_queue.popleft() SDC_data_store.steer_queue.append(actor_action[1]) SDC_data_store.rewards_queue.popleft() SDC_data_store.rewards_queue.append(reward_score) SDC_data_store.critic_score.popleft() SDC_data_store.critic_score.append(reward_score) if (len(SDC_data_store.rewards_queue) > 1): returns, advs = roughPPO.advantages( list(SDC_data_store.critic_score), list(SDC_data_store.rewards_queue)) loss = roughPPO.ppo_loss( advs, SDC_data_store.rewards_queue, SDC_data_store.critic_score) action_model.compile(optimizer=Adam(lr=1e-3), loss=loss) critic_model.compile(optimizer=Adam(lr=1e-3), loss='mse') print("LOSS : " + str(loss)) ppo_check = 0 if ppo_iter_count % 20 == 0 and ppo_iter_count > 0 and ppo_check == 0: ppo_check = 1 action_output, critic_output = ppo_input( measurements, trajectory, image_array, action_model, critic_model) actor_action = action_output[0] critic_score = critic_output[0][0] throttle_a = actor_action[0] steer_val = actor_action[1] else: throttle_a = PID_throttle(trajectory, reverse) cv2.imshow("bez", bez_mask) steer_val = PID_steer(trajectory, reverse, world_x_left, world_x_right) check = SDC_data_store.shadow_check client.send_control(steer=steer_val * check, throttle=throttle_a * check + 0.5 * (1 - check), brake=0.0, hand_brake=False, reverse=False) SDC_data_store.turn_value = steer_val except Exception as e: print(e) client.send_control(steer=SDC_data_store.turn_value * check, throttle=1, brake=0.85, hand_brake=True, reverse=False) cv2.waitKey(1) if SDC_data_store.count % 10 == 0: print("frame: ", SDC_data_store.count) # if SDC_data_store.count%10==0: # SDC_data_store.sum_cte = 0 SDC_data_store.count += 1 print("*********\n") ppo_iter_count += 1