Browse Source

removed minigrid_env.MiniGridEnv.Actions in favor of minigrid.core.actions.Actions (#328)

Co-authored-by: Mark Towers <mark.m.towers@gmail.com>
Bolun 2 years ago
parent
commit
a42e7d7087
2 changed files with 11 additions and 26 deletions
  1. 9 8
      minigrid/manual_control.py
  2. 2 18
      minigrid/minigrid_env.py

+ 9 - 8
minigrid/manual_control.py

@@ -4,6 +4,7 @@ from __future__ import annotations
 
 
 import gymnasium as gym
 import gymnasium as gym
 
 
+from minigrid.core.actions import Actions
 from minigrid.minigrid_env import MiniGridEnv
 from minigrid.minigrid_env import MiniGridEnv
 from minigrid.utils.window import Window
 from minigrid.utils.window import Window
 from minigrid.wrappers import ImgObsWrapper, RGBImgPartialObsWrapper
 from minigrid.wrappers import ImgObsWrapper, RGBImgPartialObsWrapper
@@ -31,7 +32,7 @@ class ManualControl:
         self.reset(self.seed)
         self.reset(self.seed)
         self.window.show(block=True)
         self.window.show(block=True)
 
 
-    def step(self, action: MiniGridEnv.Actions):
+    def step(self, action: Actions):
         _, reward, terminated, truncated, _ = self.env.step(action)
         _, reward, terminated, truncated, _ = self.env.step(action)
         print(f"step={self.env.step_count}, reward={reward:.2f}")
         print(f"step={self.env.step_count}, reward={reward:.2f}")
 
 
@@ -69,13 +70,13 @@ class ManualControl:
             return
             return
 
 
         key_to_action = {
         key_to_action = {
-            "left": MiniGridEnv.Actions.left,
-            "right": MiniGridEnv.Actions.right,
-            "up": MiniGridEnv.Actions.forward,
-            " ": MiniGridEnv.Actions.toggle,
-            "pageup": MiniGridEnv.Actions.pickup,
-            "pagedown": MiniGridEnv.Actions.drop,
-            "enter": MiniGridEnv.Actions.done,
+            "left": Actions.left,
+            "right": Actions.right,
+            "up": Actions.forward,
+            " ": Actions.toggle,
+            "pageup": Actions.pickup,
+            "pagedown": Actions.drop,
+            "enter": Actions.done,
         }
         }
 
 
         action = key_to_action[key]
         action = key_to_action[key]

+ 2 - 18
minigrid/minigrid_env.py

@@ -3,13 +3,13 @@ from __future__ import annotations
 import hashlib
 import hashlib
 import math
 import math
 from abc import abstractmethod
 from abc import abstractmethod
-from enum import IntEnum
 from typing import Iterable, TypeVar
 from typing import Iterable, TypeVar
 
 
 import gymnasium as gym
 import gymnasium as gym
 import numpy as np
 import numpy as np
 from gymnasium import spaces
 from gymnasium import spaces
 
 
+from minigrid.core.actions import Actions
 from minigrid.core.constants import COLOR_NAMES, DIR_TO_VEC, TILE_PIXELS
 from minigrid.core.constants import COLOR_NAMES, DIR_TO_VEC, TILE_PIXELS
 from minigrid.core.grid import Grid
 from minigrid.core.grid import Grid
 from minigrid.core.mission import MissionSpace
 from minigrid.core.mission import MissionSpace
@@ -29,22 +29,6 @@ class MiniGridEnv(gym.Env):
         "render_fps": 10,
         "render_fps": 10,
     }
     }
 
 
-    # Enumeration of possible actions
-    class Actions(IntEnum):
-        # Turn left, turn right, move forward
-        left = 0
-        right = 1
-        forward = 2
-        # Pick up an object
-        pickup = 3
-        # Drop an object
-        drop = 4
-        # Toggle/activate an object
-        toggle = 5
-
-        # Done completing task
-        done = 6
-
     def __init__(
     def __init__(
         self,
         self,
         mission_space: MissionSpace,
         mission_space: MissionSpace,
@@ -70,7 +54,7 @@ class MiniGridEnv(gym.Env):
         assert width is not None and height is not None
         assert width is not None and height is not None
 
 
         # Action enumeration for this environment
         # Action enumeration for this environment
-        self.actions = MiniGridEnv.Actions
+        self.actions = Actions
 
 
         # Actions are discrete integer values
         # Actions are discrete integer values
         self.action_space = spaces.Discrete(len(self.actions))
         self.action_space = spaces.Discrete(len(self.actions))