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)