From 5b0172d03fa7489970aacb1a21158e96ea97235c Mon Sep 17 00:00:00 2001
From: Kelly Guo <kellyguo123@hotmail.com>
Date: Thu, 21 Nov 2024 12:34:08 -0500
Subject: [PATCH 1/3] Adds gym.Env to DirectMARLEnvCfg for Gymnasium v1.0.0

---
 source/extensions/omni.isaac.lab/config/extension.toml   | 2 +-
 source/extensions/omni.isaac.lab/docs/CHANGELOG.rst      | 9 +++++++++
 .../omni/isaac/lab/envs/direct_marl_env.py               | 2 +-
 .../omni.isaac.lab_tasks/test/test_environments.py       | 4 +++-
 .../test/test_multi_agent_environments.py                | 6 ++++--
 5 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/source/extensions/omni.isaac.lab/config/extension.toml b/source/extensions/omni.isaac.lab/config/extension.toml
index 9141590e3e..f21bd86533 100644
--- a/source/extensions/omni.isaac.lab/config/extension.toml
+++ b/source/extensions/omni.isaac.lab/config/extension.toml
@@ -1,7 +1,7 @@
 [package]
 
 # Note: Semantic Versioning is used: https://semver.org/
-version = "0.27.15"
+version = "0.27.16"
 
 # Description
 title = "Isaac Lab framework for Robot Learning"
diff --git a/source/extensions/omni.isaac.lab/docs/CHANGELOG.rst b/source/extensions/omni.isaac.lab/docs/CHANGELOG.rst
index 3050693e4b..bc7b75abde 100644
--- a/source/extensions/omni.isaac.lab/docs/CHANGELOG.rst
+++ b/source/extensions/omni.isaac.lab/docs/CHANGELOG.rst
@@ -1,6 +1,15 @@
 Changelog
 ---------
 
+0.27.16 (2024-11-21)
+~~~~~~~~~~~~~~~~~~~~
+
+Changed
+^^^^^^^
+
+* Changed :class:`DirectMARLEnvCfg` to inherit from ``Gymnasium.Env`` due to requirement from Gymnasium v1.0.0 requiring all environments to be a subclass of ``Gymnasium.Env`` when using the ``make`` interface.
+
+
 0.27.15 (2024-11-09)
 ~~~~~~~~~~~~~~~~~~~~
 
diff --git a/source/extensions/omni.isaac.lab/omni/isaac/lab/envs/direct_marl_env.py b/source/extensions/omni.isaac.lab/omni/isaac/lab/envs/direct_marl_env.py
index 70c0b3f662..4dc362276a 100644
--- a/source/extensions/omni.isaac.lab/omni/isaac/lab/envs/direct_marl_env.py
+++ b/source/extensions/omni.isaac.lab/omni/isaac/lab/envs/direct_marl_env.py
@@ -34,7 +34,7 @@
 from .utils.spaces import sample_space, spec_to_gym_space
 
 
-class DirectMARLEnv:
+class DirectMARLEnv(gym.Env):
     """The superclass for the direct workflow to design multi-agent environments.
 
     This class implements the core functionality for multi-agent reinforcement learning (MARL)
diff --git a/source/extensions/omni.isaac.lab_tasks/test/test_environments.py b/source/extensions/omni.isaac.lab_tasks/test/test_environments.py
index 440b35d7c8..8cd41fcd86 100644
--- a/source/extensions/omni.isaac.lab_tasks/test/test_environments.py
+++ b/source/extensions/omni.isaac.lab_tasks/test/test_environments.py
@@ -118,7 +118,9 @@ def _check_random_actions(self, task_name: str, device: str, num_envs: int, num_
         with torch.inference_mode():
             for _ in range(num_steps):
                 # sample actions according to the defined space
-                actions = sample_space(env.single_action_space, device=env.unwrapped.device, batch_size=num_envs)
+                actions = sample_space(
+                    env.unwrapped.single_action_space, device=env.unwrapped.device, batch_size=num_envs
+                )
                 # apply actions
                 transition = env.step(actions)
                 # check signals
diff --git a/source/extensions/omni.isaac.lab_tasks/test/test_multi_agent_environments.py b/source/extensions/omni.isaac.lab_tasks/test/test_multi_agent_environments.py
index d65a39bc45..441bdb14f7 100644
--- a/source/extensions/omni.isaac.lab_tasks/test/test_multi_agent_environments.py
+++ b/source/extensions/omni.isaac.lab_tasks/test/test_multi_agent_environments.py
@@ -105,7 +105,7 @@ def _check_random_actions(self, task_name: str, device: str, num_envs: int, num_
 
         # this flag is necessary to prevent a bug where the simulation gets stuck randomly when running the
         # test on many environments.
-        env.sim.set_setting("/physics/cooking/ujitsoCollisionCooking", False)
+        env.unwrapped.sim.set_setting("/physics/cooking/ujitsoCollisionCooking", False)
 
         # reset environment
         obs, _ = env.reset()
@@ -116,7 +116,9 @@ def _check_random_actions(self, task_name: str, device: str, num_envs: int, num_
             for _ in range(num_steps):
                 # sample actions according to the defined space
                 actions = {
-                    agent: sample_space(env.action_spaces[agent], device=env.unwrapped.device, batch_size=num_envs)
+                    agent: sample_space(
+                        env.unwrapped.action_spaces[agent], device=env.unwrapped.device, batch_size=num_envs
+                    )
                     for agent in env.unwrapped.possible_agents
                 }
                 # apply actions

From 81f16cdc8580634d77f7652a4084db7facf22072 Mon Sep 17 00:00:00 2001
From: Kelly Guo <kellyguo123@hotmail.com>
Date: Thu, 21 Nov 2024 13:44:46 -0500
Subject: [PATCH 2/3] remove versioning for gymnasium

---
 source/extensions/omni.isaac.lab/setup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/source/extensions/omni.isaac.lab/setup.py b/source/extensions/omni.isaac.lab/setup.py
index 01229c8c4f..e2a6a4bd18 100644
--- a/source/extensions/omni.isaac.lab/setup.py
+++ b/source/extensions/omni.isaac.lab/setup.py
@@ -27,7 +27,7 @@
     # devices
     "hidapi",
     # reinforcement learning
-    "gymnasium==0.29.0",
+    "gymnasium",
     # procedural-generation
     "trimesh",
     "pyglet<2",

From 72d74112dd87a8e3bbf0d7a5d33f104182a55d30 Mon Sep 17 00:00:00 2001
From: Kelly Guo <kellyguo123@hotmail.com>
Date: Thu, 21 Nov 2024 13:47:25 -0500
Subject: [PATCH 3/3] fix

---
 source/extensions/omni.isaac.lab/docs/CHANGELOG.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/source/extensions/omni.isaac.lab/docs/CHANGELOG.rst b/source/extensions/omni.isaac.lab/docs/CHANGELOG.rst
index bc7b75abde..5cfd44d6a0 100644
--- a/source/extensions/omni.isaac.lab/docs/CHANGELOG.rst
+++ b/source/extensions/omni.isaac.lab/docs/CHANGELOG.rst
@@ -7,7 +7,7 @@ Changelog
 Changed
 ^^^^^^^
 
-* Changed :class:`DirectMARLEnvCfg` to inherit from ``Gymnasium.Env`` due to requirement from Gymnasium v1.0.0 requiring all environments to be a subclass of ``Gymnasium.Env`` when using the ``make`` interface.
+* Changed :class:`omni.isaac.lab.envs.DirectMARLEnv` to inherit from ``Gymnasium.Env`` due to requirement from Gymnasium v1.0.0 requiring all environments to be a subclass of ``Gymnasium.Env`` when using the ``make`` interface.
 
 
 0.27.15 (2024-11-09)