瀏覽代碼

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 年之前
父節點
當前提交
a42e7d7087
共有 2 個文件被更改,包括 11 次插入26 次删除
  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
 
+from minigrid.core.actions import Actions
 from minigrid.minigrid_env import MiniGridEnv
 from minigrid.utils.window import Window
 from minigrid.wrappers import ImgObsWrapper, RGBImgPartialObsWrapper
@@ -31,7 +32,7 @@ class ManualControl:
         self.reset(self.seed)
         self.window.show(block=True)
 
-    def step(self, action: MiniGridEnv.Actions):
+    def step(self, action: Actions):
         _, reward, terminated, truncated, _ = self.env.step(action)
         print(f"step={self.env.step_count}, reward={reward:.2f}")
 
@@ -69,13 +70,13 @@ class ManualControl:
             return
 
         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]

+ 2 - 18
minigrid/minigrid_env.py

@@ -3,13 +3,13 @@ from __future__ import annotations
 import hashlib
 import math
 from abc import abstractmethod
-from enum import IntEnum
 from typing import Iterable, TypeVar
 
 import gymnasium as gym
 import numpy as np
 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.grid import Grid
 from minigrid.core.mission import MissionSpace
@@ -29,22 +29,6 @@ class MiniGridEnv(gym.Env):
         "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__(
         self,
         mission_space: MissionSpace,
@@ -70,7 +54,7 @@ class MiniGridEnv(gym.Env):
         assert width is not None and height is not None
 
         # Action enumeration for this environment
-        self.actions = MiniGridEnv.Actions
+        self.actions = Actions
 
         # Actions are discrete integer values
         self.action_space = spaces.Discrete(len(self.actions))