瀏覽代碼

Added Images for Docs (#266)

Co-authored-by: Mark Towers <mark.m.towers@gmail.com>
Feng 2 年之前
父節點
當前提交
c13e0ef281
共有 56 個文件被更改,包括 138 次插入78 次删除
  1. 二進制
      docs/_static/figures/BlockedUnlockPickup.png
  2. 二進制
      docs/_static/figures/DistShift1.png
  3. 二進制
      docs/_static/figures/DistShift2.png
  4. 二進制
      docs/_static/figures/KeyCorridorS3R1.png
  5. 二進制
      docs/_static/figures/KeyCorridorS3R2.png
  6. 二進制
      docs/_static/figures/KeyCorridorS3R3.png
  7. 二進制
      docs/_static/figures/KeyCorridorS4R3.png
  8. 二進制
      docs/_static/figures/KeyCorridorS5R3.png
  9. 二進制
      docs/_static/figures/KeyCorridorS6R3.png
  10. 二進制
      docs/_static/figures/LavaCrossingS11N5.png
  11. 二進制
      docs/_static/figures/LavaCrossingS9N1.png
  12. 二進制
      docs/_static/figures/LavaCrossingS9N2.png
  13. 二進制
      docs/_static/figures/LavaCrossingS9N3.png
  14. 二進制
      docs/_static/figures/LavaGapS6.png
  15. 二進制
      docs/_static/figures/ObstructedMaze-1Dl.png
  16. 二進制
      docs/_static/figures/ObstructedMaze-1Dlh.png
  17. 二進制
      docs/_static/figures/ObstructedMaze-1Dlhb.png
  18. 二進制
      docs/_static/figures/ObstructedMaze-1Q.png
  19. 二進制
      docs/_static/figures/ObstructedMaze-2Dl.png
  20. 二進制
      docs/_static/figures/ObstructedMaze-2Dlh.png
  21. 二進制
      docs/_static/figures/ObstructedMaze-2Dlhb.png
  22. 二進制
      docs/_static/figures/ObstructedMaze-2Q.png
  23. 二進制
      docs/_static/figures/ObstructedMaze-4Q.png
  24. 二進制
      docs/_static/figures/SimpleCrossingS11N5.png
  25. 二進制
      docs/_static/figures/SimpleCrossingS9N1.png
  26. 二進制
      docs/_static/figures/SimpleCrossingS9N2.png
  27. 二進制
      docs/_static/figures/SimpleCrossingS9N3.png
  28. 二進制
      docs/_static/figures/Unlock.png
  29. 二進制
      docs/_static/figures/UnlockPickup.png
  30. 二進制
      docs/_static/figures/door-key-curriculum.gif
  31. 二進制
      docs/_static/figures/door-key-env.png
  32. 二進制
      docs/_static/figures/dynamic_obstacles.gif
  33. 二進制
      docs/_static/figures/empty-env.png
  34. 二進制
      docs/_static/figures/fetch-env.png
  35. 二進制
      docs/_static/figures/four-rooms-env.png
  36. 二進制
      docs/_static/figures/gotodoor-6x6.mp4
  37. 二進制
      docs/_static/figures/gotodoor-6x6.png
  38. 二進制
      docs/_static/figures/multi-room.gif
  39. 40 35
      docs/environments/babyAI_index.md
  40. 3 4
      docs/environments/index.md
  41. 10 1
      docs/scripts/gen_mds.py
  42. 3 1
      minigrid/envs/blockedunlockpickup.py
  43. 14 8
      minigrid/envs/crossing.py
  44. 4 2
      minigrid/envs/distshift.py
  45. 5 2
      minigrid/envs/doorkey.py
  46. 3 1
      minigrid/envs/dynamicobstacles.py
  47. 3 1
      minigrid/envs/empty.py
  48. 3 1
      minigrid/envs/fetch.py
  49. 3 1
      minigrid/envs/fourrooms.py
  50. 7 2
      minigrid/envs/gotodoor.py
  51. 11 6
      minigrid/envs/keycorridor.py
  52. 3 1
      minigrid/envs/lavagap.py
  53. 3 1
      minigrid/envs/multiroom.py
  54. 17 9
      minigrid/envs/obstructedmaze.py
  55. 3 1
      minigrid/envs/unlock.py
  56. 3 1
      minigrid/envs/unlockpickup.py

二進制
docs/_static/figures/BlockedUnlockPickup.png


二進制
docs/_static/figures/DistShift1.png


二進制
docs/_static/figures/DistShift2.png


二進制
docs/_static/figures/KeyCorridorS3R1.png


二進制
docs/_static/figures/KeyCorridorS3R2.png


二進制
docs/_static/figures/KeyCorridorS3R3.png


二進制
docs/_static/figures/KeyCorridorS4R3.png


二進制
docs/_static/figures/KeyCorridorS5R3.png


二進制
docs/_static/figures/KeyCorridorS6R3.png


二進制
docs/_static/figures/LavaCrossingS11N5.png


二進制
docs/_static/figures/LavaCrossingS9N1.png


二進制
docs/_static/figures/LavaCrossingS9N2.png


二進制
docs/_static/figures/LavaCrossingS9N3.png


二進制
docs/_static/figures/LavaGapS6.png


二進制
docs/_static/figures/ObstructedMaze-1Dl.png


二進制
docs/_static/figures/ObstructedMaze-1Dlh.png


二進制
docs/_static/figures/ObstructedMaze-1Dlhb.png


二進制
docs/_static/figures/ObstructedMaze-1Q.png


二進制
docs/_static/figures/ObstructedMaze-2Dl.png


二進制
docs/_static/figures/ObstructedMaze-2Dlh.png


二進制
docs/_static/figures/ObstructedMaze-2Dlhb.png


二進制
docs/_static/figures/ObstructedMaze-2Q.png


二進制
docs/_static/figures/ObstructedMaze-4Q.png


二進制
docs/_static/figures/SimpleCrossingS11N5.png


二進制
docs/_static/figures/SimpleCrossingS9N1.png


二進制
docs/_static/figures/SimpleCrossingS9N2.png


二進制
docs/_static/figures/SimpleCrossingS9N3.png


二進制
docs/_static/figures/Unlock.png


二進制
docs/_static/figures/UnlockPickup.png


二進制
docs/_static/figures/door-key-curriculum.gif


二進制
docs/_static/figures/door-key-env.png


二進制
docs/_static/figures/dynamic_obstacles.gif


二進制
docs/_static/figures/empty-env.png


二進制
docs/_static/figures/fetch-env.png


二進制
docs/_static/figures/four-rooms-env.png


二進制
docs/_static/figures/gotodoor-6x6.mp4


二進制
docs/_static/figures/gotodoor-6x6.png


二進制
docs/_static/figures/multi-room.gif


+ 40 - 35
docs/environments/babyAI_index.md

@@ -8,39 +8,44 @@ lastpage:
 ```{toctree}
 :hidden:
 :caption: BabyAI Environments
-action_obj_door
-boss_level
-find_obj
-go_to_imp_unlock
-go_to_local
-go_to_obj
-go_to_obj_door
-go_to_obj_maze
-go_to_red_ball
-go_to_red_ball_grey
-go_to_red_ball_no_dists
-go_to_red_blue_ball
-go_to_seq
-key_in_box
-mini_boss_level
-move_two_across
-one_room
-open
-open_door_loc
-open_doors_order
-open_red_blue_doors_debug
-open_red_door
-pickup
-pickup_above
-pickup_dist_debug
-pickup_loc
-put_next
-put_next_local
-synth
-synth_loc
-synth_seq
-unblock_pickup
-unlock_local_dist
-unlock_pickup_dist
-unlock_to_unlock
+babyai_action_obj_door
+babyai_blocked_unlock_pickup
+babyai_boss_level_no_unlock
+babyai_boss_level
+babyai_find_obj
+babyai_go_to_door
+babyai_go_to_imp_unlock
+babyai_go_to_local
+babyai_go_to_obj_door
+babyai_go_to_obj_maze
+babyai_go_to_obj
+babyai_go_to_red_ball_grey
+babyai_go_to_red_ball_no_dists
+babyai_go_to_red_ball
+babyai_go_to_red_blue_ball
+babyai_go_to_seq
+babyai_key_corridor
+babyai_key_in_box
+babyai_mini_boss_level
+babyai_move_two_across
+babyai_one_room
+babyai_open_door_loc
+babyai_open_doors_order
+babyai_open_red_blue_doors_debug
+babyai_open
+babyai_pickup_above
+babyai_pickup_dist_debug
+babyai_pickup_loc
+babyai_pickup
+babyai_put_next_local
+babyai_put_next
+babyai_synth_loc
+babyai_synth_seq
+babyai_synth
+babyai_unblock_pickup
+babyai_unlock_local_dist
+babyai_unlock_pickup_dist
+babyai_unlock_to_unlock
+babyai_unlock
+
 ```

+ 3 - 4
docs/environments/index.md

@@ -3,7 +3,7 @@ firstpage:
 lastpage:
 ---
 
-## Included Environments
+## Minigrid Environments
 
 The environments listed below are implemented in the [minigrid/envs](/minigrid/envs) directory.
 Each environment provides one or more configurations registered with OpenAI gym. Each environment
@@ -13,9 +13,7 @@ or to fine-tune difficulty.
 ```{toctree}
 :hidden:
 :caption: Minigrid Environments
-boss_level_no_unlock
 blocked_unlock_pickup
-simple_crossing
 dist_shift
 door_key
 dynamic
@@ -33,7 +31,8 @@ obstructed_maze
 playground
 put_near
 red_blue_doors
-unlock
+simple_crossing
 unlock_pickup
+unlock
 
 ```

+ 10 - 1
docs/scripts/gen_mds.py

@@ -68,7 +68,9 @@ for env_name, env_spec in chain(filtered_envs.items(), filtered_babyai_envs.item
 
     docstring = trim(made.unwrapped.__doc__)
 
+    print(env_name)
     pascal_env_name = env_spec.id.split("-")[1]
+    print(pascal_env_name)
     # remove suffix
     p = re.compile(r"([A-Z][a-z]+)*")
     name = p.search(pascal_env_name).group()
@@ -77,10 +79,17 @@ for env_name, env_spec in chain(filtered_envs.items(), filtered_babyai_envs.item
     env_names.append(snake_env_name)
     title_env_name = snake_env_name.replace("_", " ").title()
 
+    path_name = ""
+
+    if env_name.startswith("envs:"):
+        path_name = snake_env_name + ".md"
+    else:
+        path_name = "babyai_" + snake_env_name + ".md"
+
     v_path = os.path.join(
         os.path.dirname(os.path.dirname(__file__)),
         "environments",
-        snake_env_name + ".md",
+        path_name,
     )
 
     front_matter = f"""---

+ 3 - 1
minigrid/envs/blockedunlockpickup.py

@@ -9,7 +9,9 @@ from minigrid.core.world_object import Ball
 class BlockedUnlockPickupEnv(RoomGrid):
 
     """
-    ![BlockedUnlockPickup](../_static/figures/BlockedUnlockPickup.png)
+    <p>
+        <img src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/BlockedUnlockPickup.png" alt="BlockedUnlockPickup" width="200px"/>
+    </p>
 
     ### Description
 

+ 14 - 8
minigrid/envs/crossing.py

@@ -12,14 +12,20 @@ from minigrid.minigrid_env import MiniGridEnv
 class CrossingEnv(MiniGridEnv):
 
     """
-    ![LavaCrossingS9N1](../_static/figures/LavaCrossingS9N1.png)<br />
-    ![LavaCrossingS9N2](../_static/figures/LavaCrossingS9N2.png)<br />
-    ![LavaCrossingS9N3](../_static/figures/LavaCrossingS9N3.png)<br />
-    ![LavaCrossingS11N5](../_static/figures/LavaCrossingS11N5.png)<br />
-    ![SimpleCrossingS9N1](../_static/figures/SimpleCrossingS9N1.png)<br />
-    ![SimpleCrossingS9N2](../_static/figures/SimpleCrossingS9N2.png)<br />
-    ![SimpleCrossingS9N3](../_static/figures/SimpleCrossingS9N3.png)<br />
-    ![SimpleCrossingS11N5](../_static/figures/SimpleCrossingS11N5.png)<br />
+    <p>
+    <img style="float:left" src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/LavaCrossingS9N1.png" alt="LavaCrossingS9N1" width="200px"/>
+    <img style="float:left" src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/LavaCrossingS9N2.png" alt="LavaCrossingS9N2" width="200px"/>
+    <img style="float:left" src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/LavaCrossingS9N3.png" alt="LavaCrossingS9N3" width="200px"/>
+    <img style="float:left" src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/LavaCrossingS11N5.png" alt="LavaCrossingS11N5" width="200px"/>
+    </p>
+
+    <p>
+    <img style="float:left" src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/SimpleCrossingS9N1.png" alt="SimpleCrossingS9N1" width="200px"/>
+    <img style="float:left" src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/SimpleCrossingS9N2.png" alt="SimpleCrossingS9N2" width="200px"/>
+    <img style="float:left" src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/SimpleCrossingS9N3.png" alt="SimpleCrossingS9N3" width="200px"/>
+    <img src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/SimpleCrossingS11N5.png" alt="SimpleCrossingS11N5" width="200px"/>
+    </p>
+
     ### Description
 
     Depending on the `obstacle_type` parameter:

+ 4 - 2
minigrid/envs/distshift.py

@@ -9,8 +9,10 @@ from minigrid.minigrid_env import MiniGridEnv
 class DistShiftEnv(MiniGridEnv):
 
     """
-    ![DistShift1](../_static/figures/DistShift1.png)<br />
-    ![DistShift2](../_static/figures/DistShift2.png)
+    <p>
+        <img src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/DistShift1.png" alt="DistShift1" width="200px"/>
+        <img src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/DistShift2.png" alt="DistShift2" width="200px"/>
+    </p>
 
     ### Description
 

+ 5 - 2
minigrid/envs/doorkey.py

@@ -9,8 +9,11 @@ from minigrid.minigrid_env import MiniGridEnv
 class DoorKeyEnv(MiniGridEnv):
 
     """
-    ![door-key-curriculum](../_static/figures/door-key-curriculum.gif)<br />
-    ![door-key-env](../_static/figures/door-key-env.png)
+    <p>
+        <img src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/door-key-curriculum.gif" alt="door-key-curriculum" width="200px"/>
+        <img src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/door-key-env.png" alt="door-key-env" width="200px"/>
+    </p>
+
     ### Description
 
     This environment has a key that the agent must pick up in order to unlock a

+ 3 - 1
minigrid/envs/dynamicobstacles.py

@@ -11,7 +11,9 @@ from minigrid.minigrid_env import MiniGridEnv
 
 class DynamicObstaclesEnv(MiniGridEnv):
     """
-    ![dynamic_obstacles](../_static/figures/dynamic_obstacles.gif)
+    <p>
+        <img src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/dynamic_obstacles.gif" alt="dynamic_obstacles" width="200px"/>
+    </p>
 
     ### Description
 

+ 3 - 1
minigrid/envs/empty.py

@@ -8,7 +8,9 @@ from minigrid.minigrid_env import MiniGridEnv
 
 class EmptyEnv(MiniGridEnv):
     """
-    ![empty-env](../_static/figures/empty-env.png)
+    <p>
+        <img src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/empty-env.png" alt="dempty-env" width="200px"/>
+    </p>
 
     ### Description
 

+ 3 - 1
minigrid/envs/fetch.py

@@ -10,7 +10,9 @@ from minigrid.minigrid_env import MiniGridEnv
 class FetchEnv(MiniGridEnv):
 
     """
-    ![fetch-env](../_static/figures/fetch-env.png)
+    <p>
+        <img src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/fetch-env.png" alt="fetch-env" width="200px"/>
+    </p>
 
     ### Description
 

+ 3 - 1
minigrid/envs/fourrooms.py

@@ -7,7 +7,9 @@ from minigrid.minigrid_env import MiniGridEnv
 class FourRoomsEnv(MiniGridEnv):
 
     """
-    ![four-rooms-env](../_static/figures/four-rooms-env.png)
+    <p>
+        <img src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/four-rooms-env.png" alt="four-rooms-env" width="200px"/>
+    </p>
 
     ### Description
 

+ 7 - 2
minigrid/envs/gotodoor.py

@@ -9,8 +9,13 @@ from minigrid.minigrid_env import MiniGridEnv
 
 class GoToDoorEnv(MiniGridEnv):
     """
-    ![gotodoor-6x6](../_static/figures/gotodoor-6x6.png)<br />
-    [Video](../_static/figures/gotodoor-6x6.mp4)
+    <p>
+        <img src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/gotodoor-6x6.png" alt="gotodoor-6x6" width="200px"/>
+        <video width="200px">
+            <source src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/gotodoor-6x6.mp4" type="video/mp4" />
+        </video>
+    </p>
+
     ### Description
 
     This environment is a room with four doors, one on each wall. The agent

+ 11 - 6
minigrid/envs/keycorridor.py

@@ -8,12 +8,17 @@ from minigrid.core.roomgrid import RoomGrid
 class KeyCorridorEnv(RoomGrid):
 
     """
-    ![KeyCorridorS3R1](../_static/figures/KeyCorridorS3R1.png)<br />
-    ![KeyCorridorS3R2](../_static/figures/KeyCorridorS3R2.png)<br />
-    ![KeyCorridorS3R3](../_static/figures/KeyCorridorS3R3.png)<br />
-    ![KeyCorridorS4R3](../_static/figures/KeyCorridorS4R3.png)<br />
-    ![KeyCorridorS5R3](../_static/figures/KeyCorridorS5R3.png)<br />
-    ![KeyCorridorS6R3](../_static/figures/KeyCorridorS6R3.png)
+    <p>
+    <img src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/KeyCorridorS3R1.png" alt="KeyCorridorS3R1" width="200px"/>
+    <img src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/KeyCorridorS3R2.png" alt="KeyCorridorS3R2" width="200px"/>
+    <img src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/KeyCorridorS3R3.png" alt="KeyCorridorS3R3" width="200px"/>
+    </p>
+
+    <p>
+    <img src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/KeyCorridorS4R3.png" alt="KeyCorridorS4R3" width="200px"/>
+    <img src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/KeyCorridorS5R3.png" alt="KeyCorridorS5R3" width="200px"/>
+    <img src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/KeyCorridorS6R3.png" alt="KeyCorridorS6R3" width="200px"/>
+    </p>
 
     ### Description
 

+ 3 - 1
minigrid/envs/lavagap.py

@@ -11,7 +11,9 @@ from minigrid.minigrid_env import MiniGridEnv
 class LavaGapEnv(MiniGridEnv):
 
     """
-    ![LavaGapS6](../_static/figures/LavaGapS6.png)
+    <p>
+        <img src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/LavaGapS6.png" alt="LavaGapS6" width="200px"/>
+    </p>
 
     ### Description
 

+ 3 - 1
minigrid/envs/multiroom.py

@@ -18,7 +18,9 @@ class MultiRoom:
 class MultiRoomEnv(MiniGridEnv):
 
     """
-    ![multi-room](../_static/figures/multi-room.gif)
+    <p>
+        <img src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/multi-room.gif" alt="multi-room" width="200px"/>
+    </p>
 
     ### Description
 

+ 17 - 9
minigrid/envs/obstructedmaze.py

@@ -9,15 +9,23 @@ from minigrid.core.world_object import Ball, Box, Key
 class ObstructedMazeEnv(RoomGrid):
 
     """
-    ![ObstructedMaze-1Dl](../_static/figures/ObstructedMaze-1Dl.png)<br />
-    ![ObstructedMaze-1Dlh](../_static/figures/ObstructedMaze-1Dlh.png)<br />
-    ![ObstructedMaze-1Dlhb](../_static/figures/ObstructedMaze-1Dlhb.png)<br />
-    ![ObstructedMaze-1Q](../_static/figures/ObstructedMaze-1Q.png)<br />
-    ![ObstructedMaze-2Dl](../_static/figures/ObstructedMaze-2Dl.png)<br />
-    ![ObstructedMaze-2Dlh](../_static/figures/ObstructedMaze-2Dlh.png)<br />
-    ![ObstructedMaze-2Dlhb](../_static/figures/ObstructedMaze-2Dlhb.png)<br />
-    ![ObstructedMaze-2Q](../_static/figures/ObstructedMaze-2Q.png)<br />
-    ![ObstructedMaze-4Q](../_static/figures/ObstructedMaze-4Q.png)<br />
+    <p>
+    <img style="float:left" src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/ObstructedMaze-1Dl.png" alt="ObstructedMaze-1Dl" width="200px"/>
+    <img style="float:left" src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/ObstructedMaze-1Dlh.png" alt="ObstructedMaze-1Dlh" width="200px"/>
+    <img style="float:left" src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/ObstructedMaze-1Dlhb.png" alt="ObstructedMaze-1Dlhb" width="200px"/>
+    <img style="float:left" src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/ObstructedMaze-1Q.png" alt="ObstructedMaze-1Q" width="200px"/>
+    </p>
+
+    <p>
+    <img style="float:left" src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/ObstructedMaze-2Dl.png" alt="ObstructedMaze-2Dl" width="200px"/>
+    <img style="float:left" src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/ObstructedMaze-2Dlh.png" alt="ObstructedMaze-2Dlh" width="200px"/>
+    <img style="float:left" src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/ObstructedMaze-2Dlhb.png" alt="ObstructedMaze-2Dlhb" width="200px"/>
+    <img src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/ObstructedMaze-2Q.png" alt="ObstructedMaze-2Q" width="200px"/>
+    </p>
+
+    <p>
+    <img src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/ObstructedMaze-4Q.png" alt="ObstructedMaze-4Q" width="200px"/>
+    </p>
 
     ### Description
 

+ 3 - 1
minigrid/envs/unlock.py

@@ -7,7 +7,9 @@ from minigrid.core.roomgrid import RoomGrid
 class UnlockEnv(RoomGrid):
 
     """
-    ![Unlock](../_static/figures/Unlock.png)
+    <p>
+        <img src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/Unlock.png" alt="Unlock" width="200px"/>
+    </p>
 
     ### Description
 

+ 3 - 1
minigrid/envs/unlockpickup.py

@@ -8,7 +8,9 @@ from minigrid.core.roomgrid import RoomGrid
 class UnlockPickupEnv(RoomGrid):
 
     """
-    ![UnlockPickup](../_static/figures/UnlockPickup.png)
+    <p>
+        <img src="https://raw.githubusercontent.com/Farama-Foundation/Minigrid/master/figures/UnlockPickup.png" alt="UnlockPickup" width="200px"/>
+    </p>
 
     ### Description