__init__.py 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131
  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.2.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. # ObstructedMaze-v1
  387. # ----------------------------------------
  388. register(
  389. id="MiniGrid-ObstructedMaze-2Dlhb-v1",
  390. entry_point="minigrid.envs.obstructedmaze_v1:ObstructedMaze_Full",
  391. kwargs={
  392. "agent_room": (2, 1),
  393. "key_in_box": True,
  394. "blocked": True,
  395. "num_quarters": 1,
  396. "num_rooms_visited": 4,
  397. },
  398. )
  399. register(
  400. id="MiniGrid-ObstructedMaze-1Q-v1",
  401. entry_point="minigrid.envs.obstructedmaze_v1:ObstructedMaze_Full",
  402. kwargs={
  403. "agent_room": (1, 1),
  404. "key_in_box": True,
  405. "blocked": True,
  406. "num_quarters": 1,
  407. "num_rooms_visited": 5,
  408. },
  409. )
  410. register(
  411. id="MiniGrid-ObstructedMaze-2Q-v1",
  412. entry_point="minigrid.envs.obstructedmaze_v1:ObstructedMaze_Full",
  413. kwargs={
  414. "agent_room": (2, 1),
  415. "key_in_box": True,
  416. "blocked": True,
  417. "num_quarters": 2,
  418. "num_rooms_visited": 11,
  419. },
  420. )
  421. register(
  422. id="MiniGrid-ObstructedMaze-Full-v1",
  423. entry_point="minigrid.envs.obstructedmaze_v1:ObstructedMaze_Full",
  424. )
  425. # Playground
  426. # ----------------------------------------
  427. register(
  428. id="MiniGrid-Playground-v0",
  429. entry_point="minigrid.envs:PlaygroundEnv",
  430. )
  431. # PutNear
  432. # ----------------------------------------
  433. register(
  434. id="MiniGrid-PutNear-6x6-N2-v0",
  435. entry_point="minigrid.envs:PutNearEnv",
  436. )
  437. register(
  438. id="MiniGrid-PutNear-8x8-N3-v0",
  439. entry_point="minigrid.envs:PutNearEnv",
  440. kwargs={"size": 8, "numObjs": 3},
  441. )
  442. # RedBlueDoors
  443. # ----------------------------------------
  444. register(
  445. id="MiniGrid-RedBlueDoors-6x6-v0",
  446. entry_point="minigrid.envs:RedBlueDoorEnv",
  447. kwargs={"size": 6},
  448. )
  449. register(
  450. id="MiniGrid-RedBlueDoors-8x8-v0",
  451. entry_point="minigrid.envs:RedBlueDoorEnv",
  452. )
  453. # Unlock
  454. # ----------------------------------------
  455. register(id="MiniGrid-Unlock-v0", entry_point="minigrid.envs:UnlockEnv")
  456. # UnlockPickup
  457. # ----------------------------------------
  458. register(
  459. id="MiniGrid-UnlockPickup-v0",
  460. entry_point="minigrid.envs:UnlockPickupEnv",
  461. )
  462. # BabyAI - Language based levels - GoTo
  463. # ----------------------------------------
  464. register(
  465. id="BabyAI-GoToRedBallGrey-v0",
  466. entry_point="minigrid.envs.babyai:GoToRedBallGrey",
  467. )
  468. register(
  469. id="BabyAI-GoToRedBall-v0",
  470. entry_point="minigrid.envs.babyai:GoToRedBall",
  471. )
  472. register(
  473. id="BabyAI-GoToRedBallNoDists-v0",
  474. entry_point="minigrid.envs.babyai:GoToRedBallNoDists",
  475. )
  476. register(
  477. id="BabyAI-GoToObj-v0",
  478. entry_point="minigrid.envs.babyai:GoToObj",
  479. )
  480. register(
  481. id="BabyAI-GoToObjS4-v0",
  482. entry_point="minigrid.envs.babyai:GoToObj",
  483. kwargs={"room_size": 4},
  484. )
  485. register(
  486. id="BabyAI-GoToObjS6-v0",
  487. entry_point="minigrid.envs.babyai:GoToObj",
  488. kwargs={"room_size": 4},
  489. )
  490. register(
  491. id="BabyAI-GoToLocal-v0",
  492. entry_point="minigrid.envs.babyai:GoToLocal",
  493. )
  494. register(
  495. id="BabyAI-GoToLocalS5N2-v0",
  496. entry_point="minigrid.envs.babyai:GoToLocal",
  497. kwargs={"room_size": 5, "num_dists": 2},
  498. )
  499. register(
  500. id="BabyAI-GoToLocalS6N2-v0",
  501. entry_point="minigrid.envs.babyai:GoToLocal",
  502. kwargs={"room_size": 6, "num_dists": 2},
  503. )
  504. register(
  505. id="BabyAI-GoToLocalS6N3-v0",
  506. entry_point="minigrid.envs.babyai:GoToLocal",
  507. kwargs={"room_size": 6, "num_dists": 3},
  508. )
  509. register(
  510. id="BabyAI-GoToLocalS6N4-v0",
  511. entry_point="minigrid.envs.babyai:GoToLocal",
  512. kwargs={"room_size": 6, "num_dists": 4},
  513. )
  514. register(
  515. id="BabyAI-GoToLocalS7N4-v0",
  516. entry_point="minigrid.envs.babyai:GoToLocal",
  517. kwargs={"room_size": 7, "num_dists": 4},
  518. )
  519. register(
  520. id="BabyAI-GoToLocalS7N5-v0",
  521. entry_point="minigrid.envs.babyai:GoToLocal",
  522. kwargs={"room_size": 7, "num_dists": 5},
  523. )
  524. register(
  525. id="BabyAI-GoToLocalS8N2-v0",
  526. entry_point="minigrid.envs.babyai:GoToLocal",
  527. kwargs={"room_size": 8, "num_dists": 2},
  528. )
  529. register(
  530. id="BabyAI-GoToLocalS8N3-v0",
  531. entry_point="minigrid.envs.babyai:GoToLocal",
  532. kwargs={"room_size": 8, "num_dists": 3},
  533. )
  534. register(
  535. id="BabyAI-GoToLocalS8N4-v0",
  536. entry_point="minigrid.envs.babyai:GoToLocal",
  537. kwargs={"room_size": 8, "num_dists": 4},
  538. )
  539. register(
  540. id="BabyAI-GoToLocalS8N5-v0",
  541. entry_point="minigrid.envs.babyai:GoToLocal",
  542. kwargs={"room_size": 8, "num_dists": 5},
  543. )
  544. register(
  545. id="BabyAI-GoToLocalS8N6-v0",
  546. entry_point="minigrid.envs.babyai:GoToLocal",
  547. kwargs={"room_size": 8, "num_dists": 6},
  548. )
  549. register(
  550. id="BabyAI-GoToLocalS8N7-v0",
  551. entry_point="minigrid.envs.babyai:GoToLocal",
  552. kwargs={"room_size": 8, "num_dists": 7},
  553. )
  554. register(
  555. id="BabyAI-GoTo-v0",
  556. entry_point="minigrid.envs.babyai:GoTo",
  557. )
  558. register(
  559. "BabyAI-GoToOpen-v0",
  560. entry_point="minigrid.envs.babyai:GoTo",
  561. kwargs={"doors_open": True},
  562. )
  563. register(
  564. id="BabyAI-GoToObjMaze-v0",
  565. entry_point="minigrid.envs.babyai:GoTo",
  566. kwargs={"num_dists": 1, "doors_open": False},
  567. )
  568. register(
  569. id="BabyAI-GoToObjMazeOpen-v0",
  570. entry_point="minigrid.envs.babyai:GoTo",
  571. kwargs={"num_dists": 1, "doors_open": True},
  572. )
  573. register(
  574. id="BabyAI-GoToObjMazeS4R2-v0",
  575. entry_point="minigrid.envs.babyai:GoTo",
  576. kwargs={"num_dists": 1, "room_size": 4, "num_rows": 2, "num_cols": 2},
  577. )
  578. register(
  579. id="BabyAI-GoToObjMazeS4-v0",
  580. entry_point="minigrid.envs.babyai:GoTo",
  581. kwargs={"num_dists": 1, "room_size": 4},
  582. )
  583. register(
  584. id="BabyAI-GoToObjMazeS5-v0",
  585. entry_point="minigrid.envs.babyai:GoTo",
  586. kwargs={"num_dists": 1, "room_size": 5},
  587. )
  588. register(
  589. id="BabyAI-GoToObjMazeS6-v0",
  590. entry_point="minigrid.envs.babyai:GoTo",
  591. kwargs={"num_dists": 1, "room_size": 6},
  592. )
  593. register(
  594. id="BabyAI-GoToObjMazeS7-v0",
  595. entry_point="minigrid.envs.babyai:GoTo",
  596. kwargs={"num_dists": 1, "room_size": 7},
  597. )
  598. register(
  599. id="BabyAI-GoToImpUnlock-v0",
  600. entry_point="minigrid.envs.babyai:GoToImpUnlock",
  601. )
  602. register(
  603. id="BabyAI-GoToSeq-v0",
  604. entry_point="minigrid.envs.babyai:GoToSeq",
  605. )
  606. register(
  607. id="BabyAI-GoToSeqS5R2-v0",
  608. entry_point="minigrid.envs.babyai:GoToSeq",
  609. kwargs={"room_size": 5, "num_rows": 2, "num_cols": 2, "num_dists": 4},
  610. )
  611. register(
  612. id="BabyAI-GoToRedBlueBall-v0",
  613. entry_point="minigrid.envs.babyai:GoToRedBlueBall",
  614. )
  615. register(
  616. id="BabyAI-GoToDoor-v0",
  617. entry_point="minigrid.envs.babyai:GoToDoor",
  618. )
  619. register(
  620. id="BabyAI-GoToObjDoor-v0",
  621. entry_point="minigrid.envs.babyai:GoToObjDoor",
  622. )
  623. # BabyAI - Language based levels - Open
  624. # ----------------------------------------
  625. register(
  626. id="BabyAI-Open-v0",
  627. entry_point="minigrid.envs.babyai:Open",
  628. )
  629. register(
  630. id="BabyAI-OpenRedDoor-v0",
  631. entry_point="minigrid.envs.babyai:OpenRedDoor",
  632. )
  633. register(
  634. id="BabyAI-OpenDoor-v0",
  635. entry_point="minigrid.envs.babyai:OpenDoor",
  636. )
  637. register(
  638. id="BabyAI-OpenDoorDebug-v0",
  639. entry_point="minigrid.envs.babyai:OpenDoor",
  640. kwargs={"debug": True, "select_by": None},
  641. )
  642. register(
  643. id="BabyAI-OpenDoorColor-v0",
  644. entry_point="minigrid.envs.babyai:OpenDoor",
  645. kwargs={"select_by": "color"},
  646. )
  647. register(
  648. id="BabyAI-OpenDoorLoc-v0",
  649. entry_point="minigrid.envs.babyai:OpenDoor",
  650. kwargs={"select_by": "loc"},
  651. )
  652. register(
  653. id="BabyAI-OpenTwoDoors-v0",
  654. entry_point="minigrid.envs.babyai:OpenTwoDoors",
  655. )
  656. register(
  657. id="BabyAI-OpenRedBlueDoors-v0",
  658. entry_point="minigrid.envs.babyai:OpenTwoDoors",
  659. kwargs={"first_color": "red", "second_color": "blue"},
  660. )
  661. register(
  662. id="BabyAI-OpenRedBlueDoorsDebug-v0",
  663. entry_point="minigrid.envs.babyai:OpenTwoDoors",
  664. kwargs={
  665. "first_color": "red",
  666. "second_color": "blue",
  667. "strict": True,
  668. },
  669. )
  670. register(
  671. id="BabyAI-OpenDoorsOrderN2-v0",
  672. entry_point="minigrid.envs.babyai:OpenDoorsOrder",
  673. kwargs={"num_doors": 2},
  674. )
  675. register(
  676. id="BabyAI-OpenDoorsOrderN4-v0",
  677. entry_point="minigrid.envs.babyai:OpenDoorsOrder",
  678. kwargs={"num_doors": 4},
  679. )
  680. register(
  681. id="BabyAI-OpenDoorsOrderN2Debug-v0",
  682. entry_point="minigrid.envs.babyai:OpenDoorsOrder",
  683. kwargs={"debug": True, "num_doors": 2},
  684. )
  685. register(
  686. id="BabyAI-OpenDoorsOrderN4Debug-v0",
  687. entry_point="minigrid.envs.babyai:OpenDoorsOrder",
  688. kwargs={"debug": True, "num_doors": 4},
  689. )
  690. # BabyAI - Language based levels - Pickup
  691. # ----------------------------------------
  692. register(
  693. id="BabyAI-Pickup-v0",
  694. entry_point="minigrid.envs.babyai:Pickup",
  695. )
  696. register(
  697. id="BabyAI-UnblockPickup-v0",
  698. entry_point="minigrid.envs.babyai:UnblockPickup",
  699. )
  700. register(
  701. id="BabyAI-PickupLoc-v0",
  702. entry_point="minigrid.envs.babyai:PickupLoc",
  703. )
  704. register(
  705. id="BabyAI-PickupDist-v0",
  706. entry_point="minigrid.envs.babyai:PickupDist",
  707. )
  708. register(
  709. id="BabyAI-PickupDistDebug-v0",
  710. entry_point="minigrid.envs.babyai:PickupDist",
  711. kwargs={"debug": True},
  712. )
  713. register(
  714. id="BabyAI-PickupAbove-v0",
  715. entry_point="minigrid.envs.babyai:PickupAbove",
  716. )
  717. # BabyAI - Language based levels - PutNext
  718. # ----------------------------------------
  719. register(
  720. id="BabyAI-PutNextLocal-v0",
  721. entry_point="minigrid.envs.babyai:PutNextLocal",
  722. )
  723. register(
  724. id="BabyAI-PutNextLocalS5N3-v0",
  725. entry_point="minigrid.envs.babyai:PutNextLocal",
  726. kwargs={"room_size": 5, "num_objs": 3},
  727. )
  728. register(
  729. id="BabyAI-PutNextLocalS6N4-v0",
  730. entry_point="minigrid.envs.babyai:PutNextLocal",
  731. kwargs={"room_size": 6, "num_objs": 4},
  732. )
  733. register(
  734. id="BabyAI-PutNextS4N1-v0",
  735. entry_point="minigrid.envs.babyai:PutNext",
  736. kwargs={"room_size": 4, "objs_per_room": 1},
  737. )
  738. register(
  739. id="BabyAI-PutNextS5N2-v0",
  740. entry_point="minigrid.envs.babyai:PutNext",
  741. kwargs={"room_size": 5, "objs_per_room": 2},
  742. )
  743. register(
  744. id="BabyAI-PutNextS5N1-v0",
  745. entry_point="minigrid.envs.babyai:PutNext",
  746. kwargs={"room_size": 5, "objs_per_room": 1},
  747. )
  748. register(
  749. id="BabyAI-PutNextS6N3-v0",
  750. entry_point="minigrid.envs.babyai:PutNext",
  751. kwargs={"room_size": 6, "objs_per_room": 3},
  752. )
  753. register(
  754. id="BabyAI-PutNextS7N4-v0",
  755. entry_point="minigrid.envs.babyai:PutNext",
  756. kwargs={"room_size": 7, "objs_per_room": 4},
  757. )
  758. register(
  759. id="BabyAI-PutNextS5N2Carrying-v0",
  760. entry_point="minigrid.envs.babyai:PutNext",
  761. kwargs={"room_size": 5, "objs_per_room": 2, "start_carrying": True},
  762. )
  763. register(
  764. id="BabyAI-PutNextS6N3Carrying-v0",
  765. entry_point="minigrid.envs.babyai:PutNext",
  766. kwargs={"room_size": 6, "objs_per_room": 3, "start_carrying": True},
  767. )
  768. register(
  769. id="BabyAI-PutNextS7N4Carrying-v0",
  770. entry_point="minigrid.envs.babyai:PutNext",
  771. kwargs={"room_size": 7, "objs_per_room": 4, "start_carrying": True},
  772. )
  773. # BabyAI - Language based levels - Unlock
  774. # ----------------------------------------
  775. register(
  776. id="BabyAI-Unlock-v0",
  777. entry_point="minigrid.envs.babyai:Unlock",
  778. )
  779. register(
  780. id="BabyAI-UnlockLocal-v0",
  781. entry_point="minigrid.envs.babyai:UnlockLocal",
  782. )
  783. register(
  784. id="BabyAI-UnlockLocalDist-v0",
  785. entry_point="minigrid.envs.babyai:UnlockLocal",
  786. kwargs={"distractors": True},
  787. )
  788. register(
  789. id="BabyAI-KeyInBox-v0",
  790. entry_point="minigrid.envs.babyai:KeyInBox",
  791. )
  792. register(
  793. id="BabyAI-UnlockPickup-v0",
  794. entry_point="minigrid.envs.babyai:UnlockPickup",
  795. )
  796. register(
  797. id="BabyAI-UnlockPickupDist-v0",
  798. entry_point="minigrid.envs.babyai:UnlockPickup",
  799. kwargs={"distractors": True},
  800. )
  801. register(
  802. id="BabyAI-BlockedUnlockPickup-v0",
  803. entry_point="minigrid.envs.babyai:BlockedUnlockPickup",
  804. )
  805. register(
  806. id="BabyAI-UnlockToUnlock-v0",
  807. entry_point="minigrid.envs.babyai:UnlockToUnlock",
  808. )
  809. # BabyAI - Language based levels - Other
  810. # ----------------------------------------
  811. register(
  812. id="BabyAI-ActionObjDoor-v0",
  813. entry_point="minigrid.envs.babyai:ActionObjDoor",
  814. )
  815. register(
  816. id="BabyAI-FindObjS5-v0",
  817. entry_point="minigrid.envs.babyai:FindObjS5",
  818. )
  819. register(
  820. id="BabyAI-FindObjS6-v0",
  821. entry_point="minigrid.envs.babyai:FindObjS5",
  822. kwargs={"room_size": 6},
  823. )
  824. register(
  825. id="BabyAI-FindObjS7-v0",
  826. entry_point="minigrid.envs.babyai:FindObjS5",
  827. kwargs={"room_size": 7},
  828. )
  829. register(
  830. id="BabyAI-KeyCorridor-v0",
  831. entry_point="minigrid.envs.babyai:KeyCorridor",
  832. )
  833. register(
  834. id="BabyAI-KeyCorridorS3R1-v0",
  835. entry_point="minigrid.envs.babyai:KeyCorridor",
  836. kwargs={"room_size": 3, "num_rows": 1},
  837. )
  838. register(
  839. id="BabyAI-KeyCorridorS3R2-v0",
  840. entry_point="minigrid.envs.babyai:KeyCorridor",
  841. kwargs={"room_size": 3, "num_rows": 2},
  842. )
  843. register(
  844. id="BabyAI-KeyCorridorS3R3-v0",
  845. entry_point="minigrid.envs.babyai:KeyCorridor",
  846. kwargs={"room_size": 3, "num_rows": 3},
  847. )
  848. register(
  849. id="BabyAI-KeyCorridorS4R3-v0",
  850. entry_point="minigrid.envs.babyai:KeyCorridor",
  851. kwargs={"room_size": 4, "num_rows": 3},
  852. )
  853. register(
  854. id="BabyAI-KeyCorridorS5R3-v0",
  855. entry_point="minigrid.envs.babyai:KeyCorridor",
  856. kwargs={"room_size": 5, "num_rows": 3},
  857. )
  858. register(
  859. id="BabyAI-KeyCorridorS6R3-v0",
  860. entry_point="minigrid.envs.babyai:KeyCorridor",
  861. kwargs={"room_size": 6, "num_rows": 3},
  862. )
  863. register(
  864. id="BabyAI-OneRoomS8-v0",
  865. entry_point="minigrid.envs.babyai:OneRoomS8",
  866. )
  867. register(
  868. id="BabyAI-OneRoomS12-v0",
  869. entry_point="minigrid.envs.babyai:OneRoomS8",
  870. kwargs={"room_size": 12},
  871. )
  872. register(
  873. id="BabyAI-OneRoomS16-v0",
  874. entry_point="minigrid.envs.babyai:OneRoomS8",
  875. kwargs={"room_size": 16},
  876. )
  877. register(
  878. id="BabyAI-OneRoomS20-v0",
  879. entry_point="minigrid.envs.babyai:OneRoomS8",
  880. kwargs={"room_size": 20},
  881. )
  882. register(
  883. id="BabyAI-MoveTwoAcrossS5N2-v0",
  884. entry_point="minigrid.envs.babyai:MoveTwoAcross",
  885. kwargs={"room_size": 5, "objs_per_room": 2},
  886. )
  887. register(
  888. id="BabyAI-MoveTwoAcrossS8N9-v0",
  889. entry_point="minigrid.envs.babyai:MoveTwoAcross",
  890. kwargs={"room_size": 8, "objs_per_room": 9},
  891. )
  892. # BabyAI - Language based levels - Synth
  893. # ----------------------------------------
  894. register(
  895. id="BabyAI-Synth-v0",
  896. entry_point="minigrid.envs.babyai:Synth",
  897. )
  898. register(
  899. id="BabyAI-SynthS5R2-v0",
  900. entry_point="minigrid.envs.babyai:Synth",
  901. kwargs={"room_size": 5, "num_rows": 2},
  902. )
  903. register(
  904. id="BabyAI-SynthLoc-v0",
  905. entry_point="minigrid.envs.babyai:SynthLoc",
  906. )
  907. register(
  908. id="BabyAI-SynthSeq-v0",
  909. entry_point="minigrid.envs.babyai:SynthSeq",
  910. )
  911. register(
  912. id="BabyAI-MiniBossLevel-v0",
  913. entry_point="minigrid.envs.babyai:MiniBossLevel",
  914. )
  915. register(
  916. id="BabyAI-BossLevel-v0",
  917. entry_point="minigrid.envs.babyai:BossLevel",
  918. )
  919. register(
  920. id="BabyAI-BossLevelNoUnlock-v0",
  921. entry_point="minigrid.envs.babyai:BossLevelNoUnlock",
  922. )