| 16 | # VecEnv Wrapper for RL training |
| 17 | class VecTask(): |
| 18 | def __init__(self, task, rl_device, clip_observations=5.0, clip_actions=1.0): |
| 19 | self.task = task |
| 20 | |
| 21 | self.num_environments = task.num_envs |
| 22 | self.num_agents = 1 # used for multi-agent environments |
| 23 | self.num_observations = task.num_obs |
| 24 | self.num_states = task.num_states |
| 25 | self.num_actions = task.num_actions |
| 26 | |
| 27 | self.obs_space = spaces.Box(np.ones(self.num_obs) * -np.Inf, np.ones(self.num_obs) * np.Inf) |
| 28 | self.state_space = spaces.Box(np.ones(self.num_states) * -np.Inf, np.ones(self.num_states) * np.Inf) |
| 29 | self.act_space = spaces.Box(np.ones(self.num_actions) * -1., np.ones(self.num_actions) * 1.) |
| 30 | |
| 31 | self.clip_obs = clip_observations |
| 32 | self.clip_actions = clip_actions |
| 33 | self.rl_device = rl_device |
| 34 | |
| 35 | print("RL device: ", rl_device) |
| 36 | |
| 37 | def step(self, actions): |
| 38 | raise NotImplementedError |