コード例 #1
0
ファイル: gym_madras.py プロジェクト: trhoangdung/MADRaS
    def __init__(self, cfg_path=None):
        # If `visualise` is set to False torcs simulator will run in headless mode
        self.step_num = 0
        self._config = MadrasConfig()
        self._config.update(parse_yaml(cfg_path))
        self.torcs_proc = None

        self.observation_handler = oh.ObservationHandler(
            self._config.observations, self._config.vision)
        self.set_observation_and_action_spaces()
        self.reward_handler = rh.RewardHandler(self._config.rewards)
        self.done_handler = dh.DoneHandler(self._config.dones)
        self.torcs_server_port = self._config.torcs_server_port

        self.state_dim = self.observation_handler.get_state_dim(
        )  # No. of sensors input
        self.env_name = 'Madras_Env'
        self.client_type = 0  # Snakeoil client type
        self.initial_reset = True
        if self._config.pid_assist:
            self.PID_controller = PIDController(self._config.pid_settings)
        self.ob = None
        self.seed()
        self.torcs_server_config = torcs_config.TorcsConfig(
            self._config.server_config, randomize=self._config.randomize_env)
        self.start_torcs_process()
コード例 #2
0
path_and_file = os.path.realpath(__file__)
path, file = os.path.split(path_and_file)
DEFAULT_SIM_OPTIONS_FILE = os.path.join(path, "data", "sim_options.yml")

cfg_path = '/home/saivinay/Documents/RL_project/MADRaS/MADRaS/envs/data/sim_options.yml'


def parse_yaml(yaml_file):
    if not yaml_file:
        yaml_file = DEFAULT_SIM_OPTIONS_FILE
    with open(yaml_file, 'r') as f:
        return yaml.safe_load(f)


env = MadrasEnv()

_config = MadrasConfig()
_config.update(parse_yaml(cfg_path))

# print(_config.server_config)
torcs_server_config = torcs_config.TorcsConfig(_config.server_config,
                                               randomize=_config.randomize_env)
torcs_server_config.generate_torcs_server_config()

traffic_manager = traffic.MadrasTrafficManager(_config.torcs_server_port, 1,
                                               _config.traffic)
# traffic_manager.flag_off_traffic()
# traffic_manager.kill_all_traffic_agents()

traffic_manager.reset(torcs_server_config.num_traffic_cars)