__init__.py 27 KB

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