__init__.py 28 KB

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