__init__.py 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506
  1. from gym.envs.registration import register
  2. from gym_minigrid.minigrid import Wall
  3. def register_minigrid_envs():
  4. # BlockedUnlockPickup
  5. # ----------------------------------------
  6. register(
  7. id="MiniGrid-BlockedUnlockPickup-v0",
  8. entry_point="gym_minigrid.envs:BlockedUnlockPickupEnv",
  9. )
  10. # LavaCrossing
  11. # ----------------------------------------
  12. register(
  13. id="MiniGrid-LavaCrossingS9N1-v0",
  14. entry_point="gym_minigrid.envs:CrossingEnv",
  15. kwargs={"size": 9, "num_crossings": 1},
  16. )
  17. register(
  18. id="MiniGrid-LavaCrossingS9N2-v0",
  19. entry_point="gym_minigrid.envs:CrossingEnv",
  20. kwargs={"size": 9, "num_crossings": 2},
  21. )
  22. register(
  23. id="MiniGrid-LavaCrossingS9N3-v0",
  24. entry_point="gym_minigrid.envs:CrossingEnv",
  25. kwargs={"size": 9, "num_crossings": 3},
  26. )
  27. register(
  28. id="MiniGrid-LavaCrossingS11N5-v0",
  29. entry_point="gym_minigrid.envs:CrossingEnv",
  30. kwargs={"size": 11, "num_crossings": 5},
  31. )
  32. # SimpleCrossing
  33. # ----------------------------------------
  34. register(
  35. id="MiniGrid-SimpleCrossingS9N1-v0",
  36. entry_point="gym_minigrid.envs:CrossingEnv",
  37. kwargs={"size": 9, "num_crossings": 1, "obstacle_type": Wall},
  38. )
  39. register(
  40. id="MiniGrid-SimpleCrossingS9N2-v0",
  41. entry_point="gym_minigrid.envs:CrossingEnv",
  42. kwargs={"size": 9, "num_crossings": 2, "obstacle_type": Wall},
  43. )
  44. register(
  45. id="MiniGrid-SimpleCrossingS9N3-v0",
  46. entry_point="gym_minigrid.envs:CrossingEnv",
  47. kwargs={"size": 9, "num_crossings": 3, "obstacle_type": Wall},
  48. )
  49. register(
  50. id="MiniGrid-SimpleCrossingS11N5-v0",
  51. entry_point="gym_minigrid.envs:CrossingEnv",
  52. kwargs={"size": 11, "num_crossings": 5, "obstacle_type": Wall},
  53. )
  54. # DistShift
  55. # ----------------------------------------
  56. register(
  57. id="MiniGrid-DistShift1-v0",
  58. entry_point="gym_minigrid.envs:DistShiftEnv",
  59. kwargs={"strip2_row": 2},
  60. )
  61. register(
  62. id="MiniGrid-DistShift2-v0",
  63. entry_point="gym_minigrid.envs:DistShiftEnv",
  64. kwargs={"strip2_row": 5},
  65. )
  66. # DoorKey
  67. # ----------------------------------------
  68. register(
  69. id="MiniGrid-DoorKey-5x5-v0",
  70. entry_point="gym_minigrid.envs:DoorKeyEnv",
  71. kwargs={"size": 5},
  72. )
  73. register(
  74. id="MiniGrid-DoorKey-6x6-v0",
  75. entry_point="gym_minigrid.envs:DoorKeyEnv",
  76. kwargs={"size": 5},
  77. )
  78. register(
  79. id="MiniGrid-DoorKey-8x8-v0",
  80. entry_point="gym_minigrid.envs:DoorKeyEnv",
  81. kwargs={"size": 8},
  82. )
  83. register(
  84. id="MiniGrid-DoorKey-16x16-v0",
  85. entry_point="gym_minigrid.envs:DoorKeyEnv",
  86. kwargs={"size": 16},
  87. )
  88. # Dynamic-Obstacles
  89. # ----------------------------------------
  90. register(
  91. id="MiniGrid-Dynamic-Obstacles-5x5-v0",
  92. entry_point="gym_minigrid.envs:DynamicObstaclesEnv",
  93. kwargs={"size": 5, "n_obstacles": 2},
  94. )
  95. register(
  96. id="MiniGrid-Dynamic-Obstacles-Random-5x5-v0",
  97. entry_point="gym_minigrid.envs:DynamicObstaclesEnv",
  98. kwargs={"size": 5, "agent_start_pos": None, "n_obstacles": 2},
  99. )
  100. register(
  101. id="MiniGrid-Dynamic-Obstacles-6x6-v0",
  102. entry_point="gym_minigrid.envs:DynamicObstaclesEnv",
  103. kwargs={"size": 6, "n_obstacles": 3},
  104. )
  105. register(
  106. id="MiniGrid-Dynamic-Obstacles-Random-6x6-v0",
  107. entry_point="gym_minigrid.envs:DynamicObstaclesEnv",
  108. kwargs={"size": 6, "agent_start_pos": None, "n_obstacles": 3},
  109. )
  110. register(
  111. id="MiniGrid-Dynamic-Obstacles-8x8-v0",
  112. entry_point="gym_minigrid.envs:DynamicObstaclesEnv",
  113. )
  114. register(
  115. id="MiniGrid-Dynamic-Obstacles-16x16-v0",
  116. entry_point="gym_minigrid.envs:DynamicObstaclesEnv",
  117. kwargs={"size": 16, "n_obstacles": 8},
  118. )
  119. # Empty
  120. # ----------------------------------------
  121. register(
  122. id="MiniGrid-Empty-5x5-v0",
  123. entry_point="gym_minigrid.envs:EmptyEnv",
  124. kwargs={"size": 5},
  125. )
  126. register(
  127. id="MiniGrid-Empty-Random-5x5-v0",
  128. entry_point="gym_minigrid.envs:EmptyEnv",
  129. kwargs={"size": 5, "agent_start_pos": None},
  130. )
  131. register(
  132. id="MiniGrid-Empty-6x6-v0",
  133. entry_point="gym_minigrid.envs:EmptyEnv",
  134. kwargs={"size": 6},
  135. )
  136. register(
  137. id="MiniGrid-Empty-Random-6x6-v0",
  138. entry_point="gym_minigrid.envs:EmptyEnv",
  139. kwargs={"size": 6, "agent_start_pos": None},
  140. )
  141. register(
  142. id="MiniGrid-Empty-8x8-v0",
  143. entry_point="gym_minigrid.envs:EmptyEnv",
  144. )
  145. register(
  146. id="MiniGrid-Empty-16x16-v0",
  147. entry_point="gym_minigrid.envs:EmptyEnv",
  148. kwargs={"size": 16},
  149. )
  150. # Fetch
  151. # ----------------------------------------
  152. register(
  153. id="MiniGrid-Fetch-5x5-N2-v0",
  154. entry_point="gym_minigrid.envs:FetchEnv",
  155. kwargs={"size": 5, "numObjs": 2},
  156. )
  157. register(
  158. id="MiniGrid-Fetch-6x6-N2-v0",
  159. entry_point="gym_minigrid.envs:FetchEnv",
  160. kwargs={"size": 6, "numObjs": 2},
  161. )
  162. register(id="MiniGrid-Fetch-8x8-N3-v0", entry_point="gym_minigrid.envs:FetchEnv")
  163. # FourRooms
  164. # ----------------------------------------
  165. register(
  166. id="MiniGrid-FourRooms-v0",
  167. entry_point="gym_minigrid.envs:FourRoomsEnv",
  168. )
  169. # GoToDoor
  170. # ----------------------------------------
  171. register(
  172. id="MiniGrid-GoToDoor-5x5-v0",
  173. entry_point="gym_minigrid.envs:GoToDoorEnv",
  174. )
  175. register(
  176. id="MiniGrid-GoToDoor-6x6-v0",
  177. entry_point="gym_minigrid.envs:GoToDoorEnv",
  178. kwargs={"size": 6},
  179. )
  180. register(
  181. id="MiniGrid-GoToDoor-8x8-v0",
  182. entry_point="gym_minigrid.envs:GoToDoorEnv",
  183. kwargs={"size": 8},
  184. )
  185. # GoToObject
  186. # ----------------------------------------
  187. register(
  188. id="MiniGrid-GoToObject-6x6-N2-v0",
  189. entry_point="gym_minigrid.envs:GoToObjectEnv",
  190. )
  191. register(
  192. id="MiniGrid-GoToObject-8x8-N2-v0",
  193. entry_point="gym_minigrid.envs:GoToObjectEnv",
  194. kwargs={"size": 8, "numObjs": 2},
  195. )
  196. # KeyCorridor
  197. # ----------------------------------------
  198. register(
  199. id="MiniGrid-KeyCorridorS3R1-v0",
  200. entry_point="gym_minigrid.envs:KeyCorridorEnv",
  201. kwargs={"room_size": 3, "num_rows": 1},
  202. )
  203. register(
  204. id="MiniGrid-KeyCorridorS3R2-v0",
  205. entry_point="gym_minigrid.envs:KeyCorridorEnv",
  206. kwargs={"room_size": 3, "num_rows": 2},
  207. )
  208. register(
  209. id="MiniGrid-KeyCorridorS3R3-v0",
  210. entry_point="gym_minigrid.envs:KeyCorridorEnv",
  211. kwargs={"room_size": 3, "num_rows": 3},
  212. )
  213. register(
  214. id="MiniGrid-KeyCorridorS4R3-v0",
  215. entry_point="gym_minigrid.envs:KeyCorridorEnv",
  216. kwargs={"room_size": 4, "num_rows": 3},
  217. )
  218. register(
  219. id="MiniGrid-KeyCorridorS5R3-v0",
  220. entry_point="gym_minigrid.envs:KeyCorridorEnv",
  221. kwargs={"room_size": 5, "num_rows": 3},
  222. )
  223. register(
  224. id="MiniGrid-KeyCorridorS6R3-v0",
  225. entry_point="gym_minigrid.envs:KeyCorridorEnv",
  226. kwargs={"room_size": 6, "num_rows": 3},
  227. )
  228. # LavaGap
  229. # ----------------------------------------
  230. register(
  231. id="MiniGrid-LavaGapS5-v0",
  232. entry_point="gym_minigrid.envs:LavaGapEnv",
  233. kwargs={"size": 5},
  234. )
  235. register(
  236. id="MiniGrid-LavaGapS6-v0",
  237. entry_point="gym_minigrid.envs:LavaGapEnv",
  238. kwargs={"size": 6},
  239. )
  240. register(
  241. id="MiniGrid-LavaGapS7-v0",
  242. entry_point="gym_minigrid.envs:LavaGapEnv",
  243. kwargs={"size": 7},
  244. )
  245. # LockedRoom
  246. # ----------------------------------------
  247. register(
  248. id="MiniGrid-LockedRoom-v0",
  249. entry_point="gym_minigrid.envs:LockedRoomEnv",
  250. )
  251. # Memory
  252. # ----------------------------------------
  253. register(
  254. id="MiniGrid-MemoryS17Random-v0",
  255. entry_point="gym_minigrid.envs:MemoryEnv",
  256. kwargs={"size": 17, "random_length": True},
  257. )
  258. register(
  259. id="MiniGrid-MemoryS13Random-v0",
  260. entry_point="gym_minigrid.envs:MemoryEnv",
  261. kwargs={"size": 13, "random_length": True},
  262. )
  263. register(
  264. id="MiniGrid-MemoryS13-v0",
  265. entry_point="gym_minigrid.envs:MemoryEnv",
  266. kwargs={"size": 13},
  267. )
  268. register(
  269. id="MiniGrid-MemoryS11-v0",
  270. entry_point="gym_minigrid.envs:MemoryEnv",
  271. kwargs={"size": 11},
  272. )
  273. register(
  274. id="MiniGrid-MemoryS9-v0",
  275. entry_point="gym_minigrid.envs:MemoryEnv",
  276. kwargs={"size": 9},
  277. )
  278. register(
  279. id="MiniGrid-MemoryS7-v0",
  280. entry_point="gym_minigrid.envs:MemoryEnv",
  281. kwargs={"size": 7},
  282. )
  283. # MultiRoom
  284. # ----------------------------------------
  285. register(
  286. id="MiniGrid-MultiRoom-N2-S4-v0",
  287. entry_point="gym_minigrid.envs:MultiRoomEnv",
  288. kwargs={"minNumRooms": 2, "maxNumRooms": 2, "maxRoomSize": 4},
  289. )
  290. register(
  291. id="MiniGrid-MultiRoom-N4-S5-v0",
  292. entry_point="gym_minigrid.envs:MultiRoomEnv",
  293. kwargs={"minNumRooms": 6, "maxNumRooms": 6, "maxRoomSize": 5},
  294. )
  295. register(
  296. id="MiniGrid-MultiRoom-N6-v0",
  297. entry_point="gym_minigrid.envs:MultiRoomEnv",
  298. kwargs={"minNumRooms": 6, "maxNumRooms": 6},
  299. )
  300. # ObstructedMaze
  301. # ----------------------------------------
  302. register(
  303. id="MiniGrid-ObstructedMaze-1Dl-v0",
  304. entry_point="gym_minigrid.envs:ObstructedMaze_1Dlhb",
  305. kwargs={"key_in_box": False, "blocked": False},
  306. )
  307. register(
  308. id="MiniGrid-ObstructedMaze-1Dlh-v0",
  309. entry_point="gym_minigrid.envs:ObstructedMaze_1Dlhb",
  310. kwargs={"key_in_box": True, "blocked": False},
  311. )
  312. register(
  313. id="MiniGrid-ObstructedMaze-1Dlhb-v0",
  314. entry_point="gym_minigrid.envs:ObstructedMaze_1Dlhb",
  315. )
  316. register(
  317. id="MiniGrid-ObstructedMaze-2Dl-v0",
  318. entry_point="gym_minigrid.envs:ObstructedMaze_Full",
  319. kwargs={
  320. "agent_room": (2, 1),
  321. "key_in_box": False,
  322. "blocked": False,
  323. "num_quarters": 1,
  324. "num_rooms_visited": 4,
  325. },
  326. )
  327. register(
  328. id="MiniGrid-ObstructedMaze-2Dlh-v0",
  329. entry_point="gym_minigrid.envs:ObstructedMaze_Full",
  330. kwargs={
  331. "agent_room": (2, 1),
  332. "key_in_box": True,
  333. "blocked": False,
  334. "num_quarters": 1,
  335. "num_rooms_visited": 4,
  336. },
  337. )
  338. register(
  339. id="MiniGrid-ObstructedMaze-2Dlhb-v0",
  340. entry_point="gym_minigrid.envs:ObstructedMaze_Full",
  341. kwargs={
  342. "agent_room": (2, 1),
  343. "key_in_box": True,
  344. "blocked": True,
  345. "num_quarters": 1,
  346. "num_rooms_visited": 4,
  347. },
  348. )
  349. register(
  350. id="MiniGrid-ObstructedMaze-1Q-v0",
  351. entry_point="gym_minigrid.envs:ObstructedMaze_Full",
  352. kwargs={
  353. "agent_room": (1, 1),
  354. "key_in_box": True,
  355. "blocked": True,
  356. "num_quarters": 1,
  357. "num_rooms_visited": 5,
  358. },
  359. )
  360. register(
  361. id="MiniGrid-ObstructedMaze-2Q-v0",
  362. entry_point="gym_minigrid.envs:ObstructedMaze_Full",
  363. kwargs={
  364. "agent_room": (2, 1),
  365. "key_in_box": True,
  366. "blocked": True,
  367. "num_quarters": 2,
  368. "num_rooms_visited": 11,
  369. },
  370. )
  371. register(
  372. id="MiniGrid-ObstructedMaze-Full-v0",
  373. entry_point="gym_minigrid.envs:ObstructedMaze_Full",
  374. )
  375. # Playground
  376. # ----------------------------------------
  377. register(
  378. id="MiniGrid-Playground-v0",
  379. entry_point="gym_minigrid.envs:PlaygroundEnv",
  380. )
  381. # PutNear
  382. # ----------------------------------------
  383. register(
  384. id="MiniGrid-PutNear-6x6-N2-v0",
  385. entry_point="gym_minigrid.envs:PutNearEnv",
  386. )
  387. register(
  388. id="MiniGrid-PutNear-8x8-N3-v0",
  389. entry_point="gym_minigrid.envs:PutNearEnv",
  390. kwargs={"size": 8, "numObjs": 3},
  391. )
  392. # RedBlueDoors
  393. # ----------------------------------------
  394. register(
  395. id="MiniGrid-RedBlueDoors-6x6-v0",
  396. entry_point="gym_minigrid.envs:RedBlueDoorEnv",
  397. kwargs={"size": 6},
  398. )
  399. register(
  400. id="MiniGrid-RedBlueDoors-8x8-v0",
  401. entry_point="gym_minigrid.envs:RedBlueDoorEnv",
  402. )
  403. # Unlock
  404. # ----------------------------------------
  405. register(id="MiniGrid-Unlock-v0", entry_point="gym_minigrid.envs:UnlockEnv")
  406. # UnlockPickup
  407. # ----------------------------------------
  408. register(
  409. id="MiniGrid-UnlockPickup-v0",
  410. entry_point="gym_minigrid.envs:UnlockPickupEnv",
  411. )