|
@@ -1,15 +1,16 @@
|
|
|
from gym_minigrid.minigrid import *
|
|
|
from gym_minigrid.register import register
|
|
|
|
|
|
+
|
|
|
class DoorKeyEnv(MiniGridEnv):
|
|
|
"""
|
|
|
Environment with a door and key, sparse reward
|
|
|
"""
|
|
|
|
|
|
- def __init__(self, size=8, **kwargs):
|
|
|
+ def __init__(self, size=8, max_steps=None, **kwargs):
|
|
|
super().__init__(
|
|
|
grid_size=size,
|
|
|
- max_steps=10*size*size,
|
|
|
+ max_steps=10*size*size if max_steps is None else max_steps,
|
|
|
**kwargs
|
|
|
)
|
|
|
|
|
@@ -44,18 +45,46 @@ class DoorKeyEnv(MiniGridEnv):
|
|
|
|
|
|
self.mission = "use the key to open the door and then get to the goal"
|
|
|
|
|
|
+
|
|
|
class DoorKeyEnv5x5(DoorKeyEnv):
|
|
|
- def __init__(self, **kwargs):
|
|
|
- super().__init__(size=5, **kwargs)
|
|
|
+
|
|
|
+
|
|
|
+<< << << < HEAD
|
|
|
+
|
|
|
+
|
|
|
+def __init__(self, **kwargs):
|
|
|
+ super().__init__(size=5, **kwargs)
|
|
|
+
|
|
|
|
|
|
class DoorKeyEnv6x6(DoorKeyEnv):
|
|
|
def __init__(self, **kwargs):
|
|
|
super().__init__(size=6, **kwargs)
|
|
|
|
|
|
+
|
|
|
class DoorKeyEnv16x16(DoorKeyEnv):
|
|
|
def __init__(self, **kwargs):
|
|
|
super().__init__(size=16, **kwargs)
|
|
|
|
|
|
+
|
|
|
+== == == =
|
|
|
+
|
|
|
+
|
|
|
+def __init__(self, max_steps=None):
|
|
|
+ super().__init__(size=5, max_steps=max_steps)
|
|
|
+
|
|
|
+
|
|
|
+class DoorKeyEnv6x6(DoorKeyEnv):
|
|
|
+ def __init__(self, max_steps=None):
|
|
|
+ super().__init__(size=6, max_steps=max_steps)
|
|
|
+
|
|
|
+
|
|
|
+class DoorKeyEnv16x16(DoorKeyEnv):
|
|
|
+ def __init__(self, max_steps=None):
|
|
|
+ super().__init__(size=16, max_steps=max_steps)
|
|
|
+
|
|
|
+
|
|
|
+>>>>>> > master-upstream
|
|
|
+
|
|
|
register(
|
|
|
id='MiniGrid-DoorKey-5x5-v0',
|
|
|
entry_point='gym_minigrid.envs:DoorKeyEnv5x5'
|