__init__.py 27 KB

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