Skip to content

Commit b9ece07

Browse files
Merge pull request #217 from Farama-Foundation/maze_v5
Add `AntMaze_*-v5` environments, featuring support for loading Third party robot models to Maze
2 parents b1acee9 + d28a719 commit b9ece07

File tree

6 files changed

+463
-427
lines changed

6 files changed

+463
-427
lines changed

gymnasium_robotics/__init__.py

Lines changed: 120 additions & 239 deletions
Original file line numberDiff line numberDiff line change
@@ -835,245 +835,126 @@ def _merge(a, b):
835835

836836
# ----- AntMaze -----
837837

838-
register(
839-
id=f"AntMaze_UMaze{suffix}-v3",
840-
entry_point="gymnasium_robotics.envs.maze.ant_maze:AntMazeEnv",
841-
kwargs=_merge(
842-
{
843-
"maze_map": maps.U_MAZE,
844-
},
845-
kwargs,
846-
),
847-
max_episode_steps=700,
848-
)
849-
850-
register(
851-
id=f"AntMaze_UMaze{suffix}-v4",
852-
entry_point="gymnasium_robotics.envs.maze.ant_maze_v4:AntMazeEnv",
853-
kwargs=_merge(
854-
{
855-
"maze_map": maps.U_MAZE,
856-
},
857-
kwargs,
858-
),
859-
max_episode_steps=700,
860-
)
861-
862-
register(
863-
id=f"AntMaze_Open{suffix}-v3",
864-
entry_point="gymnasium_robotics.envs.maze.ant_maze:AntMazeEnv",
865-
kwargs=_merge(
866-
{
867-
"maze_map": maps.OPEN,
868-
},
869-
kwargs,
870-
),
871-
max_episode_steps=700,
872-
)
873-
874-
register(
875-
id=f"AntMaze_Open{suffix}-v4",
876-
entry_point="gymnasium_robotics.envs.maze.ant_maze_v4:AntMazeEnv",
877-
kwargs=_merge(
878-
{
879-
"maze_map": maps.OPEN,
880-
},
881-
kwargs,
882-
),
883-
max_episode_steps=700,
884-
)
885-
886-
register(
887-
id=f"AntMaze_Open_Diverse_G{suffix}-v3",
888-
entry_point="gymnasium_robotics.envs.maze.ant_maze:AntMazeEnv",
889-
kwargs=_merge(
890-
{
891-
"maze_map": maps.OPEN_DIVERSE_G,
892-
},
893-
kwargs,
894-
),
895-
max_episode_steps=700,
896-
)
897-
898-
register(
899-
id=f"AntMaze_Open_Diverse_G{suffix}-v4",
900-
entry_point="gymnasium_robotics.envs.maze.ant_maze_v4:AntMazeEnv",
901-
kwargs=_merge(
902-
{
903-
"maze_map": maps.OPEN_DIVERSE_G,
904-
},
905-
kwargs,
906-
),
907-
max_episode_steps=700,
908-
)
909-
910-
register(
911-
id=f"AntMaze_Open_Diverse_GR{suffix}-v3",
912-
entry_point="gymnasium_robotics.envs.maze.ant_maze:AntMazeEnv",
913-
kwargs=_merge(
914-
{
915-
"maze_map": maps.OPEN_DIVERSE_GR,
916-
},
917-
kwargs,
918-
),
919-
max_episode_steps=700,
920-
)
921-
922-
register(
923-
id=f"AntMaze_Open_Diverse_GR{suffix}-v4",
924-
entry_point="gymnasium_robotics.envs.maze.ant_maze_v4:AntMazeEnv",
925-
kwargs=_merge(
926-
{
927-
"maze_map": maps.OPEN_DIVERSE_GR,
928-
},
929-
kwargs,
930-
),
931-
max_episode_steps=700,
932-
)
933-
934-
register(
935-
id=f"AntMaze_Medium{suffix}-v3",
936-
entry_point="gymnasium_robotics.envs.maze.ant_maze:AntMazeEnv",
937-
kwargs=_merge(
938-
{
939-
"maze_map": maps.MEDIUM_MAZE,
940-
},
941-
kwargs,
942-
),
943-
max_episode_steps=1000,
944-
)
945-
946-
register(
947-
id=f"AntMaze_Medium{suffix}-v4",
948-
entry_point="gymnasium_robotics.envs.maze.ant_maze_v4:AntMazeEnv",
949-
kwargs=_merge(
950-
{
951-
"maze_map": maps.MEDIUM_MAZE,
952-
},
953-
kwargs,
954-
),
955-
max_episode_steps=1000,
956-
)
957-
958-
register(
959-
id=f"AntMaze_Medium_Diverse_G{suffix}-v3",
960-
entry_point="gymnasium_robotics.envs.maze.ant_maze:AntMazeEnv",
961-
kwargs=_merge(
962-
{
963-
"maze_map": maps.MEDIUM_MAZE_DIVERSE_G,
964-
},
965-
kwargs,
966-
),
967-
max_episode_steps=1000,
968-
)
969-
970-
register(
971-
id=f"AntMaze_Medium_Diverse_G{suffix}-v4",
972-
entry_point="gymnasium_robotics.envs.maze.ant_maze_v4:AntMazeEnv",
973-
kwargs=_merge(
974-
{
975-
"maze_map": maps.MEDIUM_MAZE_DIVERSE_G,
976-
},
977-
kwargs,
978-
),
979-
max_episode_steps=1000,
980-
)
981-
982-
register(
983-
id=f"AntMaze_Medium_Diverse_GR{suffix}-v3",
984-
entry_point="gymnasium_robotics.envs.maze.ant_maze:AntMazeEnv",
985-
kwargs=_merge(
986-
{
987-
"maze_map": maps.MEDIUM_MAZE_DIVERSE_GR,
988-
},
989-
kwargs,
990-
),
991-
max_episode_steps=1000,
992-
)
993-
994-
register(
995-
id=f"AntMaze_Medium_Diverse_GR{suffix}-v4",
996-
entry_point="gymnasium_robotics.envs.maze.ant_maze_v4:AntMazeEnv",
997-
kwargs=_merge(
998-
{
999-
"maze_map": maps.MEDIUM_MAZE_DIVERSE_GR,
1000-
},
1001-
kwargs,
1002-
),
1003-
max_episode_steps=1000,
1004-
)
1005-
1006-
register(
1007-
id=f"AntMaze_Large{suffix}-v3",
1008-
entry_point="gymnasium_robotics.envs.maze.ant_maze:AntMazeEnv",
1009-
kwargs=_merge(
1010-
{
1011-
"maze_map": maps.LARGE_MAZE,
1012-
},
1013-
kwargs,
1014-
),
1015-
max_episode_steps=1000,
1016-
)
1017-
1018-
register(
1019-
id=f"AntMaze_Large{suffix}-v4",
1020-
entry_point="gymnasium_robotics.envs.maze.ant_maze_v4:AntMazeEnv",
1021-
kwargs=_merge(
1022-
{
1023-
"maze_map": maps.LARGE_MAZE,
1024-
},
1025-
kwargs,
1026-
),
1027-
max_episode_steps=1000,
1028-
)
1029-
1030-
register(
1031-
id=f"AntMaze_Large_Diverse_G{suffix}-v3",
1032-
entry_point="gymnasium_robotics.envs.maze.ant_maze:AntMazeEnv",
1033-
kwargs=_merge(
1034-
{
1035-
"maze_map": maps.LARGE_MAZE_DIVERSE_G,
1036-
},
1037-
kwargs,
1038-
),
1039-
max_episode_steps=1000,
1040-
)
1041-
1042-
register(
1043-
id=f"AntMaze_Large_Diverse_G{suffix}-v4",
1044-
entry_point="gymnasium_robotics.envs.maze.ant_maze_v4:AntMazeEnv",
1045-
kwargs=_merge(
1046-
{
1047-
"maze_map": maps.LARGE_MAZE_DIVERSE_G,
1048-
},
1049-
kwargs,
1050-
),
1051-
max_episode_steps=1000,
1052-
)
1053-
1054-
register(
1055-
id=f"AntMaze_Large_Diverse_GR{suffix}-v3",
1056-
entry_point="gymnasium_robotics.envs.maze.ant_maze:AntMazeEnv",
1057-
kwargs=_merge(
1058-
{
1059-
"maze_map": maps.LARGE_MAZE_DIVERSE_GR,
1060-
},
1061-
kwargs,
1062-
),
1063-
max_episode_steps=1000,
1064-
)
1065-
1066-
register(
1067-
id=f"AntMaze_Large_Diverse_GR{suffix}-v4",
1068-
entry_point="gymnasium_robotics.envs.maze.ant_maze_v4:AntMazeEnv",
1069-
kwargs=_merge(
1070-
{
1071-
"maze_map": maps.LARGE_MAZE_DIVERSE_GR,
1072-
},
1073-
kwargs,
1074-
),
1075-
max_episode_steps=1000,
1076-
)
838+
for version in ["v3", "v4", "v5"]:
839+
register(
840+
id=f"AntMaze_UMaze{suffix}-{version}",
841+
entry_point=f"gymnasium_robotics.envs.maze.ant_maze_{version}:AntMazeEnv",
842+
kwargs=_merge(
843+
{
844+
"maze_map": maps.U_MAZE,
845+
},
846+
kwargs,
847+
),
848+
max_episode_steps=700,
849+
)
850+
851+
register(
852+
id=f"AntMaze_Open{suffix}-{version}",
853+
entry_point="gymnasium_robotics.envs.maze.ant_maze:AntMazeEnv",
854+
kwargs=_merge(
855+
{
856+
"maze_map": maps.OPEN,
857+
},
858+
kwargs,
859+
),
860+
max_episode_steps=700,
861+
)
862+
863+
register(
864+
id=f"AntMaze_Open_Diverse_G{suffix}-{version}",
865+
entry_point="gymnasium_robotics.envs.maze.ant_maze:AntMazeEnv",
866+
kwargs=_merge(
867+
{
868+
"maze_map": maps.OPEN_DIVERSE_G,
869+
},
870+
kwargs,
871+
),
872+
max_episode_steps=700,
873+
)
874+
875+
register(
876+
id=f"AntMaze_Open_Diverse_GR{suffix}-{version}",
877+
entry_point="gymnasium_robotics.envs.maze.ant_maze:AntMazeEnv",
878+
kwargs=_merge(
879+
{
880+
"maze_map": maps.OPEN_DIVERSE_GR,
881+
},
882+
kwargs,
883+
),
884+
max_episode_steps=700,
885+
)
886+
887+
register(
888+
id=f"AntMaze_Medium{suffix}-{version}",
889+
entry_point="gymnasium_robotics.envs.maze.ant_maze:AntMazeEnv",
890+
kwargs=_merge(
891+
{
892+
"maze_map": maps.MEDIUM_MAZE,
893+
},
894+
kwargs,
895+
),
896+
max_episode_steps=1000,
897+
)
898+
899+
register(
900+
id=f"AntMaze_Medium_Diverse_G{suffix}-{version}",
901+
entry_point="gymnasium_robotics.envs.maze.ant_maze:AntMazeEnv",
902+
kwargs=_merge(
903+
{
904+
"maze_map": maps.MEDIUM_MAZE_DIVERSE_G,
905+
},
906+
kwargs,
907+
),
908+
max_episode_steps=1000,
909+
)
910+
911+
register(
912+
id=f"AntMaze_Medium_Diverse_GR{suffix}-{version}",
913+
entry_point="gymnasium_robotics.envs.maze.ant_maze:AntMazeEnv",
914+
kwargs=_merge(
915+
{
916+
"maze_map": maps.MEDIUM_MAZE_DIVERSE_GR,
917+
},
918+
kwargs,
919+
),
920+
max_episode_steps=1000,
921+
)
922+
923+
register(
924+
id=f"AntMaze_Large{suffix}-{version}",
925+
entry_point="gymnasium_robotics.envs.maze.ant_maze:AntMazeEnv",
926+
kwargs=_merge(
927+
{
928+
"maze_map": maps.LARGE_MAZE,
929+
},
930+
kwargs,
931+
),
932+
max_episode_steps=1000,
933+
)
934+
935+
register(
936+
id=f"AntMaze_Large_Diverse_G{suffix}-{version}",
937+
entry_point="gymnasium_robotics.envs.maze.ant_maze:AntMazeEnv",
938+
kwargs=_merge(
939+
{
940+
"maze_map": maps.LARGE_MAZE_DIVERSE_G,
941+
},
942+
kwargs,
943+
),
944+
max_episode_steps=1000,
945+
)
946+
947+
register(
948+
id=f"AntMaze_Large_Diverse_GR{suffix}-{version}",
949+
entry_point="gymnasium_robotics.envs.maze.ant_maze:AntMazeEnv",
950+
kwargs=_merge(
951+
{
952+
"maze_map": maps.LARGE_MAZE_DIVERSE_GR,
953+
},
954+
kwargs,
955+
),
956+
max_episode_steps=1000,
957+
)
1077958

1078959
# ----- PointMaze -----
1079960

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
from gymnasium_robotics.envs.maze.ant_maze import AntMazeEnv
1+
from gymnasium_robotics.envs.maze.ant_maze_v3 import AntMazeEnv
22
from gymnasium_robotics.envs.maze.point_maze import PointMazeEnv

0 commit comments

Comments
 (0)