def set_carla_world(self) -> Vehicle:
        """
        Initiating the vehicle with loading messages
        Returns:
            Vehicle Information
        """

        try:
            pygame.init()
            pygame.font.init()
            self.logger.debug(f"Connecting to {self.carla_settings.host}: "
                              f"{self.carla_settings.port}")

            self.client = carla.Client(self.carla_settings.host,
                                       self.carla_settings.port)
            if not self.check_version(client=self.client):
                self.logger.error(
                    f"Version Mismatch: Client = {self.client.get_client_version()}, "
                    f"Server = {self.client.get_server_version()}. \n"
                    f"HINT: Please change carla_version to either 0.9.9 or 0.9.10 "
                    f"in ROAR_Sim.configurations.carla_version.txt")
                exit(1)

            if self.carla_settings.should_visualize_with_pygame is True:
                self.display = pygame.display.set_mode(
                    (self.carla_settings.width, self.carla_settings.height),
                    pygame.HWSURFACE | pygame.DOUBLEBUF)

            self.logger.debug(f"Setting HUD")
            hud = HUD(self.carla_settings.width, self.carla_settings.height)

            self.logger.debug("Setting up world")

            self.world = World(carla_world=self.client.get_world(),
                               hud=hud,
                               carla_settings=self.carla_settings,
                               agent_settings=self.agent_settings)

            if self.carla_settings.should_spawn_npcs:
                self.spawn_npcs()

            self.logger.debug(f"Connecting to Keyboard controls")
            self.controller = KeyboardControl(
                world=self.world, carla_setting=self.carla_settings)
            self.logger.debug("All settings done")

            return self.carla_bridge. \
                convert_vehicle_from_source_to_agent(self.world.player)

        except Exception as e:
            self.logger.error(
                f"Unable to initiate the world due to error: {e}")
            raise e
Exemple #2
0
    def set_carla_world(self) -> Vehicle:
        """
        Initiating the vehicle with loading messages
        Returns:
            Vehicle Information
        """

        try:
            pygame.init()
            pygame.font.init()
            self.logger.debug(f"Connecting to {self.carla_settings.host}: "
                              f"{self.carla_settings.port}")
            self.client = carla.Client(self.carla_settings.host,
                                       self.carla_settings.port)
            self.client.set_timeout(self.carla_settings.timeout)

            self.display = pygame.display.set_mode(
                (self.carla_settings.width, self.carla_settings.height),
                pygame.HWSURFACE | pygame.DOUBLEBUF)

            self.logger.debug(f"Setting HUD")
            hud = HUD(self.carla_settings.width, self.carla_settings.height)

            self.logger.debug("Setting up world")
            self.world = World(carla_world=self.client.get_world(),
                               hud=hud,
                               carla_settings=self.carla_settings,
                               agent_settings=self.agent_settings)

            if self.carla_settings.should_spawn_npcs:
                self.spawn_npcs()

            self.logger.debug(f"Connecting to Keyboard controls")
            self.controller = KeyboardControl(
                world=self.world, carla_setting=self.carla_settings)
            self.logger.debug("All settings done")

            return self.carla_bridge. \
                convert_vehicle_from_source_to_agent(self.world.player)

        except Exception as e:
            self.logger.error(
                f"Unable to initiate the world due to error: {e}")
            raise e
    def setup(self):
        try:
            self.client = carla.Client(self.environment_setting.host,
                                       self.environment_setting.port)
            self.client.set_timeout(self.environment_setting.timeout)
            self.logger.debug(f"Setting HUD")
            hud = HUD(self.environment_setting.width,
                      self.environment_setting.height)

            self.logger.debug("Setting up world")
            self.world = World(carla_world=self.client.get_world(),
                               hud=hud,
                               carla_settings=self.environment_setting,
                               agent_settings=self.agent_setting)

            if self.environment_setting.should_spawn_npcs:
                self.spawn_npcs()

            self.agent = self.bridge.convert_vehicle_from_source_to_agent(
                self.world.player)
        except Exception as e:
            print(e)