Source code for envs.make

from envs.base import AutoEnv
from envs.multi_agent_env import MultiAgentAutoEnv
from envs.utils import build_space


[docs]def make_env(env_id: str, env_params: dict): ''' :param env_id: env id :param env_params: env parameters :return: single agent env or multi agent env object ''' try: if env_id == "NGSIMEnv": return AutoEnv(env_params) elif env_id == "MultiAgentAutoEnv": return MultiAgentAutoEnv(env_params) else: raise ValueError("No such env name!") except RuntimeError as e: print(e)
[docs]class Env: ''' Basic Env Wrapper ''' def __init__(self, env_id, env_params): self.env = make_env(env_id, env_params) self.trajinfos = self.env.trajinfos self._observation_space = build_space(*(self.env.observation_space_spec())) self._action_space = build_space(*(self.env.action_space_spec()))
[docs] def reset(self, dones=None, **kwargs): return self.env.reset(dones, **kwargs)
[docs] def step(self, action): return self.env.step(action)
[docs] def render(self, *args, **kwargs): return self.env.render(*args, **kwargs)
[docs] def obs_names(self): return self.env.obs_names()
[docs] def vec_env_executor(self, *args, **kwargs): return self
@property def num_envs(self): return self.env.num_envs() @property def vectorized(self): return self.env.vectorized() @property def observation_space(self): return self._observation_space @property def action_space(self): return self._action_space