__init__.py 27 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087
  1. from __future__ import annotations
  2. from gymnasium.envs.registration import register
  3. from minigrid import minigrid_env, wrappers
  4. from minigrid.core import roomgrid
  5. from minigrid.core.world_object import Wall
  6. __version__ = "2.1.1"
  7. try:
  8. import sys
  9. from farama_notifications import notifications
  10. if "minigrid" in notifications and __version__ in notifications["minigrid"]:
  11. print(notifications["minigrid"][__version__], file=sys.stderr)
  12. except Exception: # nosec
  13. pass
  14. def register_minigrid_envs():
  15. # BlockedUnlockPickup
  16. # ----------------------------------------
  17. register(
  18. id="MiniGrid-BlockedUnlockPickup-v0",
  19. entry_point="minigrid.envs:BlockedUnlockPickupEnv",
  20. )
  21. # LavaCrossing
  22. # ----------------------------------------
  23. register(
  24. id="MiniGrid-LavaCrossingS9N1-v0",
  25. entry_point="minigrid.envs:CrossingEnv",
  26. kwargs={"size": 9, "num_crossings": 1},
  27. )
  28. register(
  29. id="MiniGrid-LavaCrossingS9N2-v0",
  30. entry_point="minigrid.envs:CrossingEnv",
  31. kwargs={"size": 9, "num_crossings": 2},
  32. )
  33. register(
  34. id="MiniGrid-LavaCrossingS9N3-v0",
  35. entry_point="minigrid.envs:CrossingEnv",
  36. kwargs={"size": 9, "num_crossings": 3},
  37. )
  38. register(
  39. id="MiniGrid-LavaCrossingS11N5-v0",
  40. entry_point="minigrid.envs:CrossingEnv",
  41. kwargs={"size": 11, "num_crossings": 5},
  42. )
  43. # SimpleCrossing
  44. # ----------------------------------------
  45. register(
  46. id="MiniGrid-SimpleCrossingS9N1-v0",
  47. entry_point="minigrid.envs:CrossingEnv",
  48. kwargs={"size": 9, "num_crossings": 1, "obstacle_type": Wall},
  49. )
  50. register(
  51. id="MiniGrid-SimpleCrossingS9N2-v0",
  52. entry_point="minigrid.envs:CrossingEnv",
  53. kwargs={"size": 9, "num_crossings": 2, "obstacle_type": Wall},
  54. )
  55. register(
  56. id="MiniGrid-SimpleCrossingS9N3-v0",
  57. entry_point="minigrid.envs:CrossingEnv",
  58. kwargs={"size": 9, "num_crossings": 3, "obstacle_type": Wall},
  59. )
  60. register(
  61. id="MiniGrid-SimpleCrossingS11N5-v0",
  62. entry_point="minigrid.envs:CrossingEnv",
  63. kwargs={"size": 11, "num_crossings": 5, "obstacle_type": Wall},
  64. )
  65. # DistShift
  66. # ----------------------------------------
  67. register(
  68. id="MiniGrid-DistShift1-v0",
  69. entry_point="minigrid.envs:DistShiftEnv",
  70. kwargs={"strip2_row": 2},
  71. )
  72. register(
  73. id="MiniGrid-DistShift2-v0",
  74. entry_point="minigrid.envs:DistShiftEnv",
  75. kwargs={"strip2_row": 5},
  76. )
  77. # DoorKey
  78. # ----------------------------------------
  79. register(
  80. id="MiniGrid-DoorKey-5x5-v0",
  81. entry_point="minigrid.envs:DoorKeyEnv",
  82. kwargs={"size": 5},
  83. )
  84. register(
  85. id="MiniGrid-DoorKey-6x6-v0",
  86. entry_point="minigrid.envs:DoorKeyEnv",
  87. kwargs={"size": 6},
  88. )
  89. register(
  90. id="MiniGrid-DoorKey-8x8-v0",
  91. entry_point="minigrid.envs:DoorKeyEnv",
  92. kwargs={"size": 8},
  93. )
  94. register(
  95. id="MiniGrid-DoorKey-16x16-v0",
  96. entry_point="minigrid.envs:DoorKeyEnv",
  97. kwargs={"size": 16},
  98. )
  99. # Dynamic-Obstacles
  100. # ----------------------------------------
  101. register(
  102. id="MiniGrid-Dynamic-Obstacles-5x5-v0",
  103. entry_point="minigrid.envs:DynamicObstaclesEnv",
  104. kwargs={"size": 5, "n_obstacles": 2},
  105. )
  106. register(
  107. id="MiniGrid-Dynamic-Obstacles-Random-5x5-v0",
  108. entry_point="minigrid.envs:DynamicObstaclesEnv",
  109. kwargs={"size": 5, "agent_start_pos": None, "n_obstacles": 2},
  110. )
  111. register(
  112. id="MiniGrid-Dynamic-Obstacles-6x6-v0",
  113. entry_point="minigrid.envs:DynamicObstaclesEnv",
  114. kwargs={"size": 6, "n_obstacles": 3},
  115. )
  116. register(
  117. id="MiniGrid-Dynamic-Obstacles-Random-6x6-v0",
  118. entry_point="minigrid.envs:DynamicObstaclesEnv",
  119. kwargs={"size": 6, "agent_start_pos": None, "n_obstacles": 3},
  120. )
  121. register(
  122. id="MiniGrid-Dynamic-Obstacles-8x8-v0",
  123. entry_point="minigrid.envs:DynamicObstaclesEnv",
  124. )
  125. register(
  126. id="MiniGrid-Dynamic-Obstacles-16x16-v0",
  127. entry_point="minigrid.envs:DynamicObstaclesEnv",
  128. kwargs={"size": 16, "n_obstacles": 8},
  129. )
  130. # Empty
  131. # ----------------------------------------
  132. register(
  133. id="MiniGrid-Empty-5x5-v0",
  134. entry_point="minigrid.envs:EmptyEnv",
  135. kwargs={"size": 5},
  136. )
  137. register(
  138. id="MiniGrid-Empty-Random-5x5-v0",
  139. entry_point="minigrid.envs:EmptyEnv",
  140. kwargs={"size": 5, "agent_start_pos": None},
  141. )
  142. register(
  143. id="MiniGrid-Empty-6x6-v0",
  144. entry_point="minigrid.envs:EmptyEnv",
  145. kwargs={"size": 6},
  146. )
  147. register(
  148. id="MiniGrid-Empty-Random-6x6-v0",
  149. entry_point="minigrid.envs:EmptyEnv",
  150. kwargs={"size": 6, "agent_start_pos": None},
  151. )
  152. register(
  153. id="MiniGrid-Empty-8x8-v0",
  154. entry_point="minigrid.envs:EmptyEnv",
  155. )
  156. register(
  157. id="MiniGrid-Empty-16x16-v0",
  158. entry_point="minigrid.envs:EmptyEnv",
  159. kwargs={"size": 16},
  160. )
  161. # Fetch
  162. # ----------------------------------------
  163. register(
  164. id="MiniGrid-Fetch-5x5-N2-v0",
  165. entry_point="minigrid.envs:FetchEnv",
  166. kwargs={"size": 5, "numObjs": 2},
  167. )
  168. register(
  169. id="MiniGrid-Fetch-6x6-N2-v0",
  170. entry_point="minigrid.envs:FetchEnv",
  171. kwargs={"size": 6, "numObjs": 2},
  172. )
  173. register(id="MiniGrid-Fetch-8x8-N3-v0", entry_point="minigrid.envs:FetchEnv")
  174. # FourRooms
  175. # ----------------------------------------
  176. register(
  177. id="MiniGrid-FourRooms-v0",
  178. entry_point="minigrid.envs:FourRoomsEnv",
  179. )
  180. # GoToDoor
  181. # ----------------------------------------
  182. register(
  183. id="MiniGrid-GoToDoor-5x5-v0",
  184. entry_point="minigrid.envs:GoToDoorEnv",
  185. )
  186. register(
  187. id="MiniGrid-GoToDoor-6x6-v0",
  188. entry_point="minigrid.envs:GoToDoorEnv",
  189. kwargs={"size": 6},
  190. )
  191. register(
  192. id="MiniGrid-GoToDoor-8x8-v0",
  193. entry_point="minigrid.envs:GoToDoorEnv",
  194. kwargs={"size": 8},
  195. )
  196. # GoToObject
  197. # ----------------------------------------
  198. register(
  199. id="MiniGrid-GoToObject-6x6-N2-v0",
  200. entry_point="minigrid.envs:GoToObjectEnv",
  201. )
  202. register(
  203. id="MiniGrid-GoToObject-8x8-N2-v0",
  204. entry_point="minigrid.envs:GoToObjectEnv",
  205. kwargs={"size": 8, "numObjs": 2},
  206. )
  207. # KeyCorridor
  208. # ----------------------------------------
  209. register(
  210. id="MiniGrid-KeyCorridorS3R1-v0",
  211. entry_point="minigrid.envs:KeyCorridorEnv",
  212. kwargs={"room_size": 3, "num_rows": 1},
  213. )
  214. register(
  215. id="MiniGrid-KeyCorridorS3R2-v0",
  216. entry_point="minigrid.envs:KeyCorridorEnv",
  217. kwargs={"room_size": 3, "num_rows": 2},
  218. )
  219. register(
  220. id="MiniGrid-KeyCorridorS3R3-v0",
  221. entry_point="minigrid.envs:KeyCorridorEnv",
  222. kwargs={"room_size": 3, "num_rows": 3},
  223. )
  224. register(
  225. id="MiniGrid-KeyCorridorS4R3-v0",
  226. entry_point="minigrid.envs:KeyCorridorEnv",
  227. kwargs={"room_size": 4, "num_rows": 3},
  228. )
  229. register(
  230. id="MiniGrid-KeyCorridorS5R3-v0",
  231. entry_point="minigrid.envs:KeyCorridorEnv",
  232. kwargs={"room_size": 5, "num_rows": 3},
  233. )
  234. register(
  235. id="MiniGrid-KeyCorridorS6R3-v0",
  236. entry_point="minigrid.envs:KeyCorridorEnv",
  237. kwargs={"room_size": 6, "num_rows": 3},
  238. )
  239. # LavaGap
  240. # ----------------------------------------
  241. register(
  242. id="MiniGrid-LavaGapS5-v0",
  243. entry_point="minigrid.envs:LavaGapEnv",
  244. kwargs={"size": 5},
  245. )
  246. register(
  247. id="MiniGrid-LavaGapS6-v0",
  248. entry_point="minigrid.envs:LavaGapEnv",
  249. kwargs={"size": 6},
  250. )
  251. register(
  252. id="MiniGrid-LavaGapS7-v0",
  253. entry_point="minigrid.envs:LavaGapEnv",
  254. kwargs={"size": 7},
  255. )
  256. # LockedRoom
  257. # ----------------------------------------
  258. register(
  259. id="MiniGrid-LockedRoom-v0",
  260. entry_point="minigrid.envs:LockedRoomEnv",
  261. )
  262. # Memory
  263. # ----------------------------------------
  264. register(
  265. id="MiniGrid-MemoryS17Random-v0",
  266. entry_point="minigrid.envs:MemoryEnv",
  267. kwargs={"size": 17, "random_length": True},
  268. )
  269. register(
  270. id="MiniGrid-MemoryS13Random-v0",
  271. entry_point="minigrid.envs:MemoryEnv",
  272. kwargs={"size": 13, "random_length": True},
  273. )
  274. register(
  275. id="MiniGrid-MemoryS13-v0",
  276. entry_point="minigrid.envs:MemoryEnv",
  277. kwargs={"size": 13},
  278. )
  279. register(
  280. id="MiniGrid-MemoryS11-v0",
  281. entry_point="minigrid.envs:MemoryEnv",
  282. kwargs={"size": 11},
  283. )
  284. register(
  285. id="MiniGrid-MemoryS9-v0",
  286. entry_point="minigrid.envs:MemoryEnv",
  287. kwargs={"size": 9},
  288. )
  289. register(
  290. id="MiniGrid-MemoryS7-v0",
  291. entry_point="minigrid.envs:MemoryEnv",
  292. kwargs={"size": 7},
  293. )
  294. # MultiRoom
  295. # ----------------------------------------
  296. register(
  297. id="MiniGrid-MultiRoom-N2-S4-v0",
  298. entry_point="minigrid.envs:MultiRoomEnv",
  299. kwargs={"minNumRooms": 2, "maxNumRooms": 2, "maxRoomSize": 4},
  300. )
  301. register(
  302. id="MiniGrid-MultiRoom-N4-S5-v0",
  303. entry_point="minigrid.envs:MultiRoomEnv",
  304. kwargs={"minNumRooms": 6, "maxNumRooms": 6, "maxRoomSize": 5},
  305. )
  306. register(
  307. id="MiniGrid-MultiRoom-N6-v0",
  308. entry_point="minigrid.envs:MultiRoomEnv",
  309. kwargs={"minNumRooms": 6, "maxNumRooms": 6},
  310. )
  311. # ObstructedMaze
  312. # ----------------------------------------
  313. register(
  314. id="MiniGrid-ObstructedMaze-1Dl-v0",
  315. entry_point="minigrid.envs:ObstructedMaze_1Dlhb",
  316. kwargs={"key_in_box": False, "blocked": False},
  317. )
  318. register(
  319. id="MiniGrid-ObstructedMaze-1Dlh-v0",
  320. entry_point="minigrid.envs:ObstructedMaze_1Dlhb",
  321. kwargs={"key_in_box": True, "blocked": False},
  322. )
  323. register(
  324. id="MiniGrid-ObstructedMaze-1Dlhb-v0",
  325. entry_point="minigrid.envs:ObstructedMaze_1Dlhb",
  326. )
  327. register(
  328. id="MiniGrid-ObstructedMaze-2Dl-v0",
  329. entry_point="minigrid.envs:ObstructedMaze_Full",
  330. kwargs={
  331. "agent_room": (2, 1),
  332. "key_in_box": False,
  333. "blocked": False,
  334. "num_quarters": 1,
  335. "num_rooms_visited": 4,
  336. },
  337. )
  338. register(
  339. id="MiniGrid-ObstructedMaze-2Dlh-v0",
  340. entry_point="minigrid.envs:ObstructedMaze_Full",
  341. kwargs={
  342. "agent_room": (2, 1),
  343. "key_in_box": True,
  344. "blocked": False,
  345. "num_quarters": 1,
  346. "num_rooms_visited": 4,
  347. },
  348. )
  349. register(
  350. id="MiniGrid-ObstructedMaze-2Dlhb-v0",
  351. entry_point="minigrid.envs:ObstructedMaze_Full",
  352. kwargs={
  353. "agent_room": (2, 1),
  354. "key_in_box": True,
  355. "blocked": True,
  356. "num_quarters": 1,
  357. "num_rooms_visited": 4,
  358. },
  359. )
  360. register(
  361. id="MiniGrid-ObstructedMaze-1Q-v0",
  362. entry_point="minigrid.envs:ObstructedMaze_Full",
  363. kwargs={
  364. "agent_room": (1, 1),
  365. "key_in_box": True,
  366. "blocked": True,
  367. "num_quarters": 1,
  368. "num_rooms_visited": 5,
  369. },
  370. )
  371. register(
  372. id="MiniGrid-ObstructedMaze-2Q-v0",
  373. entry_point="minigrid.envs:ObstructedMaze_Full",
  374. kwargs={
  375. "agent_room": (2, 1),
  376. "key_in_box": True,
  377. "blocked": True,
  378. "num_quarters": 2,
  379. "num_rooms_visited": 11,
  380. },
  381. )
  382. register(
  383. id="MiniGrid-ObstructedMaze-Full-v0",
  384. entry_point="minigrid.envs:ObstructedMaze_Full",
  385. )
  386. # Playground
  387. # ----------------------------------------
  388. register(
  389. id="MiniGrid-Playground-v0",
  390. entry_point="minigrid.envs:PlaygroundEnv",
  391. )
  392. # PutNear
  393. # ----------------------------------------
  394. register(
  395. id="MiniGrid-PutNear-6x6-N2-v0",
  396. entry_point="minigrid.envs:PutNearEnv",
  397. )
  398. register(
  399. id="MiniGrid-PutNear-8x8-N3-v0",
  400. entry_point="minigrid.envs:PutNearEnv",
  401. kwargs={"size": 8, "numObjs": 3},
  402. )
  403. # RedBlueDoors
  404. # ----------------------------------------
  405. register(
  406. id="MiniGrid-RedBlueDoors-6x6-v0",
  407. entry_point="minigrid.envs:RedBlueDoorEnv",
  408. kwargs={"size": 6},
  409. )
  410. register(
  411. id="MiniGrid-RedBlueDoors-8x8-v0",
  412. entry_point="minigrid.envs:RedBlueDoorEnv",
  413. )
  414. # Unlock
  415. # ----------------------------------------
  416. register(id="MiniGrid-Unlock-v0", entry_point="minigrid.envs:UnlockEnv")
  417. # UnlockPickup
  418. # ----------------------------------------
  419. register(
  420. id="MiniGrid-UnlockPickup-v0",
  421. entry_point="minigrid.envs:UnlockPickupEnv",
  422. )
  423. # BabyAI - Language based levels - GoTo
  424. # ----------------------------------------
  425. register(
  426. id="BabyAI-GoToRedBallGrey-v0",
  427. entry_point="minigrid.envs.babyai:GoToRedBallGrey",
  428. )
  429. register(
  430. id="BabyAI-GoToRedBall-v0",
  431. entry_point="minigrid.envs.babyai:GoToRedBall",
  432. )
  433. register(
  434. id="BabyAI-GoToRedBallNoDists-v0",
  435. entry_point="minigrid.envs.babyai:GoToRedBallNoDists",
  436. )
  437. register(
  438. id="BabyAI-GoToObj-v0",
  439. entry_point="minigrid.envs.babyai:GoToObj",
  440. )
  441. register(
  442. id="BabyAI-GoToObjS4-v0",
  443. entry_point="minigrid.envs.babyai:GoToObj",
  444. kwargs={"room_size": 4},
  445. )
  446. register(
  447. id="BabyAI-GoToObjS6-v0",
  448. entry_point="minigrid.envs.babyai:GoToObj",
  449. kwargs={"room_size": 4},
  450. )
  451. register(
  452. id="BabyAI-GoToLocal-v0",
  453. entry_point="minigrid.envs.babyai:GoToLocal",
  454. )
  455. register(
  456. id="BabyAI-GoToLocalS5N2-v0",
  457. entry_point="minigrid.envs.babyai:GoToLocal",
  458. kwargs={"room_size": 5, "num_dists": 2},
  459. )
  460. register(
  461. id="BabyAI-GoToLocalS6N2-v0",
  462. entry_point="minigrid.envs.babyai:GoToLocal",
  463. kwargs={"room_size": 6, "num_dists": 2},
  464. )
  465. register(
  466. id="BabyAI-GoToLocalS6N3-v0",
  467. entry_point="minigrid.envs.babyai:GoToLocal",
  468. kwargs={"room_size": 6, "num_dists": 3},
  469. )
  470. register(
  471. id="BabyAI-GoToLocalS6N4-v0",
  472. entry_point="minigrid.envs.babyai:GoToLocal",
  473. kwargs={"room_size": 6, "num_dists": 4},
  474. )
  475. register(
  476. id="BabyAI-GoToLocalS7N4-v0",
  477. entry_point="minigrid.envs.babyai:GoToLocal",
  478. kwargs={"room_size": 7, "num_dists": 4},
  479. )
  480. register(
  481. id="BabyAI-GoToLocalS7N5-v0",
  482. entry_point="minigrid.envs.babyai:GoToLocal",
  483. kwargs={"room_size": 7, "num_dists": 5},
  484. )
  485. register(
  486. id="BabyAI-GoToLocalS8N2-v0",
  487. entry_point="minigrid.envs.babyai:GoToLocal",
  488. kwargs={"room_size": 8, "num_dists": 2},
  489. )
  490. register(
  491. id="BabyAI-GoToLocalS8N3-v0",
  492. entry_point="minigrid.envs.babyai:GoToLocal",
  493. kwargs={"room_size": 8, "num_dists": 3},
  494. )
  495. register(
  496. id="BabyAI-GoToLocalS8N4-v0",
  497. entry_point="minigrid.envs.babyai:GoToLocal",
  498. kwargs={"room_size": 8, "num_dists": 4},
  499. )
  500. register(
  501. id="BabyAI-GoToLocalS8N5-v0",
  502. entry_point="minigrid.envs.babyai:GoToLocal",
  503. kwargs={"room_size": 8, "num_dists": 5},
  504. )
  505. register(
  506. id="BabyAI-GoToLocalS8N6-v0",
  507. entry_point="minigrid.envs.babyai:GoToLocal",
  508. kwargs={"room_size": 8, "num_dists": 6},
  509. )
  510. register(
  511. id="BabyAI-GoToLocalS8N7-v0",
  512. entry_point="minigrid.envs.babyai:GoToLocal",
  513. kwargs={"room_size": 8, "num_dists": 7},
  514. )
  515. register(
  516. id="BabyAI-GoTo-v0",
  517. entry_point="minigrid.envs.babyai:GoTo",
  518. )
  519. register(
  520. "BabyAI-GoToOpen-v0",
  521. entry_point="minigrid.envs.babyai:GoTo",
  522. kwargs={"doors_open": True},
  523. )
  524. register(
  525. id="BabyAI-GoToObjMaze-v0",
  526. entry_point="minigrid.envs.babyai:GoTo",
  527. kwargs={"num_dists": 1, "doors_open": False},
  528. )
  529. register(
  530. id="BabyAI-GoToObjMazeOpen-v0",
  531. entry_point="minigrid.envs.babyai:GoTo",
  532. kwargs={"num_dists": 1, "doors_open": True},
  533. )
  534. register(
  535. id="BabyAI-GoToObjMazeS4R2-v0",
  536. entry_point="minigrid.envs.babyai:GoTo",
  537. kwargs={"num_dists": 1, "room_size": 4, "num_rows": 2, "num_cols": 2},
  538. )
  539. register(
  540. id="BabyAI-GoToObjMazeS4-v0",
  541. entry_point="minigrid.envs.babyai:GoTo",
  542. kwargs={"num_dists": 1, "room_size": 4},
  543. )
  544. register(
  545. id="BabyAI-GoToObjMazeS5-v0",
  546. entry_point="minigrid.envs.babyai:GoTo",
  547. kwargs={"num_dists": 1, "room_size": 5},
  548. )
  549. register(
  550. id="BabyAI-GoToObjMazeS6-v0",
  551. entry_point="minigrid.envs.babyai:GoTo",
  552. kwargs={"num_dists": 1, "room_size": 6},
  553. )
  554. register(
  555. id="BabyAI-GoToObjMazeS7-v0",
  556. entry_point="minigrid.envs.babyai:GoTo",
  557. kwargs={"num_dists": 1, "room_size": 7},
  558. )
  559. register(
  560. id="BabyAI-GoToImpUnlock-v0",
  561. entry_point="minigrid.envs.babyai:GoToImpUnlock",
  562. )
  563. register(
  564. id="BabyAI-GoToSeq-v0",
  565. entry_point="minigrid.envs.babyai:GoToSeq",
  566. )
  567. register(
  568. id="BabyAI-GoToSeqS5R2-v0",
  569. entry_point="minigrid.envs.babyai:GoToSeq",
  570. kwargs={"room_size": 5, "num_rows": 2, "num_cols": 2, "num_dists": 4},
  571. )
  572. register(
  573. id="BabyAI-GoToRedBlueBall-v0",
  574. entry_point="minigrid.envs.babyai:GoToRedBlueBall",
  575. )
  576. register(
  577. id="BabyAI-GoToDoor-v0",
  578. entry_point="minigrid.envs.babyai:GoToDoor",
  579. )
  580. register(
  581. id="BabyAI-GoToObjDoor-v0",
  582. entry_point="minigrid.envs.babyai:GoToObjDoor",
  583. )
  584. # BabyAI - Language based levels - Open
  585. # ----------------------------------------
  586. register(
  587. id="BabyAI-Open-v0",
  588. entry_point="minigrid.envs.babyai:Open",
  589. )
  590. register(
  591. id="BabyAI-OpenRedDoor-v0",
  592. entry_point="minigrid.envs.babyai:OpenRedDoor",
  593. )
  594. register(
  595. id="BabyAI-OpenDoor-v0",
  596. entry_point="minigrid.envs.babyai:OpenDoor",
  597. )
  598. register(
  599. id="BabyAI-OpenDoorDebug-v0",
  600. entry_point="minigrid.envs.babyai:OpenDoor",
  601. kwargs={"debug": True, "select_by": None},
  602. )
  603. register(
  604. id="BabyAI-OpenDoorColor-v0",
  605. entry_point="minigrid.envs.babyai:OpenDoor",
  606. kwargs={"select_by": "color"},
  607. )
  608. register(
  609. id="BabyAI-OpenDoorLoc-v0",
  610. entry_point="minigrid.envs.babyai:OpenDoor",
  611. kwargs={"select_by": "loc"},
  612. )
  613. register(
  614. id="BabyAI-OpenTwoDoors-v0",
  615. entry_point="minigrid.envs.babyai:OpenTwoDoors",
  616. )
  617. register(
  618. id="BabyAI-OpenRedBlueDoors-v0",
  619. entry_point="minigrid.envs.babyai:OpenTwoDoors",
  620. kwargs={"first_color": "red", "second_color": "blue"},
  621. )
  622. register(
  623. id="BabyAI-OpenRedBlueDoorsDebug-v0",
  624. entry_point="minigrid.envs.babyai:OpenTwoDoors",
  625. kwargs={
  626. "first_color": "red",
  627. "second_color": "blue",
  628. "strict": True,
  629. },
  630. )
  631. register(
  632. id="BabyAI-OpenDoorsOrderN2-v0",
  633. entry_point="minigrid.envs.babyai:OpenDoorsOrder",
  634. kwargs={"num_doors": 2},
  635. )
  636. register(
  637. id="BabyAI-OpenDoorsOrderN4-v0",
  638. entry_point="minigrid.envs.babyai:OpenDoorsOrder",
  639. kwargs={"num_doors": 4},
  640. )
  641. register(
  642. id="BabyAI-OpenDoorsOrderN2Debug-v0",
  643. entry_point="minigrid.envs.babyai:OpenDoorsOrder",
  644. kwargs={"debug": True, "num_doors": 2},
  645. )
  646. register(
  647. id="BabyAI-OpenDoorsOrderN4Debug-v0",
  648. entry_point="minigrid.envs.babyai:OpenDoorsOrder",
  649. kwargs={"debug": True, "num_doors": 4},
  650. )
  651. # BabyAI - Language based levels - Pickup
  652. # ----------------------------------------
  653. register(
  654. id="BabyAI-Pickup-v0",
  655. entry_point="minigrid.envs.babyai:Pickup",
  656. )
  657. register(
  658. id="BabyAI-UnblockPickup-v0",
  659. entry_point="minigrid.envs.babyai:UnblockPickup",
  660. )
  661. register(
  662. id="BabyAI-PickupLoc-v0",
  663. entry_point="minigrid.envs.babyai:PickupLoc",
  664. )
  665. register(
  666. id="BabyAI-PickupDist-v0",
  667. entry_point="minigrid.envs.babyai:PickupDist",
  668. )
  669. register(
  670. id="BabyAI-PickupDistDebug-v0",
  671. entry_point="minigrid.envs.babyai:PickupDist",
  672. kwargs={"debug": True},
  673. )
  674. register(
  675. id="BabyAI-PickupAbove-v0",
  676. entry_point="minigrid.envs.babyai:PickupAbove",
  677. )
  678. # BabyAI - Language based levels - PutNext
  679. # ----------------------------------------
  680. register(
  681. id="BabyAI-PutNextLocal-v0",
  682. entry_point="minigrid.envs.babyai:PutNextLocal",
  683. )
  684. register(
  685. id="BabyAI-PutNextLocalS5N3-v0",
  686. entry_point="minigrid.envs.babyai:PutNextLocal",
  687. kwargs={"room_size": 5, "num_objs": 3},
  688. )
  689. register(
  690. id="BabyAI-PutNextLocalS6N4-v0",
  691. entry_point="minigrid.envs.babyai:PutNextLocal",
  692. kwargs={"room_size": 6, "num_objs": 4},
  693. )
  694. register(
  695. id="BabyAI-PutNextS4N1-v0",
  696. entry_point="minigrid.envs.babyai:PutNext",
  697. kwargs={"room_size": 4, "objs_per_room": 1},
  698. )
  699. register(
  700. id="BabyAI-PutNextS5N2-v0",
  701. entry_point="minigrid.envs.babyai:PutNext",
  702. kwargs={"room_size": 5, "objs_per_room": 2},
  703. )
  704. register(
  705. id="BabyAI-PutNextS5N1-v0",
  706. entry_point="minigrid.envs.babyai:PutNext",
  707. kwargs={"room_size": 5, "objs_per_room": 1},
  708. )
  709. register(
  710. id="BabyAI-PutNextS6N3-v0",
  711. entry_point="minigrid.envs.babyai:PutNext",
  712. kwargs={"room_size": 6, "objs_per_room": 3},
  713. )
  714. register(
  715. id="BabyAI-PutNextS7N4-v0",
  716. entry_point="minigrid.envs.babyai:PutNext",
  717. kwargs={"room_size": 7, "objs_per_room": 4},
  718. )
  719. register(
  720. id="BabyAI-PutNextS5N2Carrying-v0",
  721. entry_point="minigrid.envs.babyai:PutNext",
  722. kwargs={"room_size": 5, "objs_per_room": 2, "start_carrying": True},
  723. )
  724. register(
  725. id="BabyAI-PutNextS6N3Carrying-v0",
  726. entry_point="minigrid.envs.babyai:PutNext",
  727. kwargs={"room_size": 6, "objs_per_room": 3, "start_carrying": True},
  728. )
  729. register(
  730. id="BabyAI-PutNextS7N4Carrying-v0",
  731. entry_point="minigrid.envs.babyai:PutNext",
  732. kwargs={"room_size": 7, "objs_per_room": 4, "start_carrying": True},
  733. )
  734. # BabyAI - Language based levels - Unlock
  735. # ----------------------------------------
  736. register(
  737. id="BabyAI-Unlock-v0",
  738. entry_point="minigrid.envs.babyai:Unlock",
  739. )
  740. register(
  741. id="BabyAI-UnlockLocal-v0",
  742. entry_point="minigrid.envs.babyai:UnlockLocal",
  743. )
  744. register(
  745. id="BabyAI-UnlockLocalDist-v0",
  746. entry_point="minigrid.envs.babyai:UnlockLocal",
  747. kwargs={"distractors": True},
  748. )
  749. register(
  750. id="BabyAI-KeyInBox-v0",
  751. entry_point="minigrid.envs.babyai:KeyInBox",
  752. )
  753. register(
  754. id="BabyAI-UnlockPickup-v0",
  755. entry_point="minigrid.envs.babyai:UnlockPickup",
  756. )
  757. register(
  758. id="BabyAI-UnlockPickupDist-v0",
  759. entry_point="minigrid.envs.babyai:UnlockPickup",
  760. kwargs={"distractors": True},
  761. )
  762. register(
  763. id="BabyAI-BlockedUnlockPickup-v0",
  764. entry_point="minigrid.envs.babyai:BlockedUnlockPickup",
  765. )
  766. register(
  767. id="BabyAI-UnlockToUnlock-v0",
  768. entry_point="minigrid.envs.babyai:UnlockToUnlock",
  769. )
  770. # BabyAI - Language based levels - Other
  771. # ----------------------------------------
  772. register(
  773. id="BabyAI-ActionObjDoor-v0",
  774. entry_point="minigrid.envs.babyai:ActionObjDoor",
  775. )
  776. register(
  777. id="BabyAI-FindObjS5-v0",
  778. entry_point="minigrid.envs.babyai:FindObjS5",
  779. )
  780. register(
  781. id="BabyAI-FindObjS6-v0",
  782. entry_point="minigrid.envs.babyai:FindObjS5",
  783. kwargs={"room_size": 6},
  784. )
  785. register(
  786. id="BabyAI-FindObjS7-v0",
  787. entry_point="minigrid.envs.babyai:FindObjS5",
  788. kwargs={"room_size": 7},
  789. )
  790. register(
  791. id="BabyAI-KeyCorridor-v0",
  792. entry_point="minigrid.envs.babyai:KeyCorridor",
  793. )
  794. register(
  795. id="BabyAI-KeyCorridorS3R1-v0",
  796. entry_point="minigrid.envs.babyai:KeyCorridor",
  797. kwargs={"room_size": 3, "num_rows": 1},
  798. )
  799. register(
  800. id="BabyAI-KeyCorridorS3R2-v0",
  801. entry_point="minigrid.envs.babyai:KeyCorridor",
  802. kwargs={"room_size": 3, "num_rows": 2},
  803. )
  804. register(
  805. id="BabyAI-KeyCorridorS3R3-v0",
  806. entry_point="minigrid.envs.babyai:KeyCorridor",
  807. kwargs={"room_size": 3, "num_rows": 3},
  808. )
  809. register(
  810. id="BabyAI-KeyCorridorS4R3-v0",
  811. entry_point="minigrid.envs.babyai:KeyCorridor",
  812. kwargs={"room_size": 4, "num_rows": 3},
  813. )
  814. register(
  815. id="BabyAI-KeyCorridorS5R3-v0",
  816. entry_point="minigrid.envs.babyai:KeyCorridor",
  817. kwargs={"room_size": 5, "num_rows": 3},
  818. )
  819. register(
  820. id="BabyAI-KeyCorridorS6R3-v0",
  821. entry_point="minigrid.envs.babyai:KeyCorridor",
  822. kwargs={"room_size": 6, "num_rows": 3},
  823. )
  824. register(
  825. id="BabyAI-OneRoomS8-v0",
  826. entry_point="minigrid.envs.babyai:OneRoomS8",
  827. )
  828. register(
  829. id="BabyAI-OneRoomS12-v0",
  830. entry_point="minigrid.envs.babyai:OneRoomS8",
  831. kwargs={"room_size": 12},
  832. )
  833. register(
  834. id="BabyAI-OneRoomS16-v0",
  835. entry_point="minigrid.envs.babyai:OneRoomS8",
  836. kwargs={"room_size": 16},
  837. )
  838. register(
  839. id="BabyAI-OneRoomS20-v0",
  840. entry_point="minigrid.envs.babyai:OneRoomS8",
  841. kwargs={"room_size": 20},
  842. )
  843. register(
  844. id="BabyAI-MoveTwoAcrossS5N2-v0",
  845. entry_point="minigrid.envs.babyai:MoveTwoAcross",
  846. kwargs={"room_size": 5, "objs_per_room": 2},
  847. )
  848. register(
  849. id="BabyAI-MoveTwoAcrossS8N9-v0",
  850. entry_point="minigrid.envs.babyai:MoveTwoAcross",
  851. kwargs={"room_size": 8, "objs_per_room": 9},
  852. )
  853. # BabyAI - Language based levels - Synth
  854. # ----------------------------------------
  855. register(
  856. id="BabyAI-Synth-v0",
  857. entry_point="minigrid.envs.babyai:Synth",
  858. )
  859. register(
  860. id="BabyAI-SynthS5R2-v0",
  861. entry_point="minigrid.envs.babyai:Synth",
  862. kwargs={"room_size": 5, "num_rows": 2},
  863. )
  864. register(
  865. id="BabyAI-SynthLoc-v0",
  866. entry_point="minigrid.envs.babyai:SynthLoc",
  867. )
  868. register(
  869. id="BabyAI-SynthSeq-v0",
  870. entry_point="minigrid.envs.babyai:SynthSeq",
  871. )
  872. register(
  873. id="BabyAI-MiniBossLevel-v0",
  874. entry_point="minigrid.envs.babyai:MiniBossLevel",
  875. )
  876. register(
  877. id="BabyAI-BossLevel-v0",
  878. entry_point="minigrid.envs.babyai:BossLevel",
  879. )
  880. register(
  881. id="BabyAI-BossLevelNoUnlock-v0",
  882. entry_point="minigrid.envs.babyai:BossLevelNoUnlock",
  883. )