From 7fd62173ad9fe4467ab3768e0624593923365f94 Mon Sep 17 00:00:00 2001 From: Mayank Mittal Date: Wed, 10 Jul 2024 16:00:28 +0200 Subject: [PATCH 1/5] fixes type-hint for event manager --- .../omni.isaac.lab/omni/isaac/lab/managers/event_manager.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/extensions/omni.isaac.lab/omni/isaac/lab/managers/event_manager.py b/source/extensions/omni.isaac.lab/omni/isaac/lab/managers/event_manager.py index dcf5dda18fe..55c8ca46f1c 100644 --- a/source/extensions/omni.isaac.lab/omni/isaac/lab/managers/event_manager.py +++ b/source/extensions/omni.isaac.lab/omni/isaac/lab/managers/event_manager.py @@ -19,7 +19,7 @@ from .manager_term_cfg import EventTermCfg if TYPE_CHECKING: - from omni.isaac.lab.envs import ManagerBasedRLEnv + from omni.isaac.lab.envs import ManagerBasedEnv class EventManager(ManagerBase): @@ -53,10 +53,10 @@ class EventManager(ManagerBase): """ - _env: ManagerBasedRLEnv + _env: ManagerBasedEnv """The environment instance.""" - def __init__(self, cfg: object, env: ManagerBasedRLEnv): + def __init__(self, cfg: object, env: ManagerBasedEnv): """Initialize the event manager. Args: From b931579eb6a950b9eb5ae15a62cdb2aed6fbdd1e Mon Sep 17 00:00:00 2001 From: Mayank Mittal Date: Wed, 10 Jul 2024 16:00:43 +0200 Subject: [PATCH 2/5] hacks startup call into base env --- .../omni.isaac.lab/omni/isaac/lab/envs/manager_based_env.py | 6 ++++++ .../omni/isaac/lab/envs/manager_based_rl_env.py | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/source/extensions/omni.isaac.lab/omni/isaac/lab/envs/manager_based_env.py b/source/extensions/omni.isaac.lab/omni/isaac/lab/envs/manager_based_env.py index c1d0442f8a0..c7603cf3174 100644 --- a/source/extensions/omni.isaac.lab/omni/isaac/lab/envs/manager_based_env.py +++ b/source/extensions/omni.isaac.lab/omni/isaac/lab/envs/manager_based_env.py @@ -223,6 +223,12 @@ def load_managers(self): self.event_manager = EventManager(self.cfg.events, self) print("[INFO] Event Manager: ", self.event_manager) + # perform events at the start of the simulation + # in-case a child implementation creates other managers, the randomization should happen + # when all the other managers are created + if self.__class__ == ManagerBasedEnv and "startup" in self.event_manager.available_modes: + self.event_manager.apply(mode="startup") + """ Operations - MDP. """ diff --git a/source/extensions/omni.isaac.lab/omni/isaac/lab/envs/manager_based_rl_env.py b/source/extensions/omni.isaac.lab/omni/isaac/lab/envs/manager_based_rl_env.py index ba9a736a11c..9f08d1ab527 100644 --- a/source/extensions/omni.isaac.lab/omni/isaac/lab/envs/manager_based_rl_env.py +++ b/source/extensions/omni.isaac.lab/omni/isaac/lab/envs/manager_based_rl_env.py @@ -107,8 +107,10 @@ def load_managers(self): # -- command manager self.command_manager: CommandManager = CommandManager(self.cfg.commands, self) print("[INFO] Command Manager: ", self.command_manager) + # call the parent class to load the managers for observations and actions. super().load_managers() + # prepare the managers # -- termination manager self.termination_manager = TerminationManager(self.cfg.terminations, self) @@ -119,8 +121,10 @@ def load_managers(self): # -- curriculum manager self.curriculum_manager = CurriculumManager(self.cfg.curriculum, self) print("[INFO] Curriculum Manager: ", self.curriculum_manager) + # setup the action and observation spaces for Gym self._configure_gym_env_spaces() + # perform events at the start of the simulation if "startup" in self.event_manager.available_modes: self.event_manager.apply(mode="startup") From fc9968d77877fb19bf33d8b12678f20736350e6b Mon Sep 17 00:00:00 2001 From: David Hoeller Date: Fri, 12 Jul 2024 23:50:04 +0200 Subject: [PATCH 3/5] Fix type hint --- .../omni.isaac.lab/omni/isaac/lab/managers/event_manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/extensions/omni.isaac.lab/omni/isaac/lab/managers/event_manager.py b/source/extensions/omni.isaac.lab/omni/isaac/lab/managers/event_manager.py index 55c8ca46f1c..f8387abef08 100644 --- a/source/extensions/omni.isaac.lab/omni/isaac/lab/managers/event_manager.py +++ b/source/extensions/omni.isaac.lab/omni/isaac/lab/managers/event_manager.py @@ -295,7 +295,7 @@ class RandomizationManager(EventManager): renamed to EventManager as it is more general purpose. The RandomizationManager will be removed in v0.4.0. """ - def __init__(self, cfg: object, env: ManagerBasedRLEnv): + def __init__(self, cfg: object, env: ManagerBasedEnv): """Initialize the randomization manager. Args: From f3858b319f4868ca2025f03d1b283ef107d778c2 Mon Sep 17 00:00:00 2001 From: David Hoeller Date: Fri, 12 Jul 2024 23:56:54 +0200 Subject: [PATCH 4/5] Update test timeouts --- tools/per_test_timeouts.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/per_test_timeouts.py b/tools/per_test_timeouts.py index 5e2b9a42224..d221f3c9709 100644 --- a/tools/per_test_timeouts.py +++ b/tools/per_test_timeouts.py @@ -9,4 +9,8 @@ """ PER_TEST_TIMEOUTS = { "test_environments.py": 1200, # This test runs through all the environments for 100 steps each + "test_env_rendering_logic.py": 200, + "test_rsl_rl_wrapper.py": 200, + "test_sb3_wrapper.py": 200, + "test_skrl_wrapper.py": 200, } From 4be469f5de6586b35a22540af442d3ce548175da Mon Sep 17 00:00:00 2001 From: Mayank Mittal Date: Sat, 13 Jul 2024 08:17:50 +0200 Subject: [PATCH 5/5] updates version log --- .../extensions/omni.isaac.lab/config/extension.toml | 2 +- source/extensions/omni.isaac.lab/docs/CHANGELOG.rst | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/source/extensions/omni.isaac.lab/config/extension.toml b/source/extensions/omni.isaac.lab/config/extension.toml index 13104e11538..283d1bc9214 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.19.3" +version = "0.19.4" # 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 7c2d8e8f91a..93699ee7b4f 100644 --- a/source/extensions/omni.isaac.lab/docs/CHANGELOG.rst +++ b/source/extensions/omni.isaac.lab/docs/CHANGELOG.rst @@ -1,6 +1,18 @@ Changelog --------- +0.19.4 (2024-07-13) +~~~~~~~~~~~~~~~~~~~ + +Fixed +^^^^^ + +* Added the call to "startup" events when using the :class:`~omni.isaac.lab.envs.ManagerBasedEnv` class. + Earlier, the "startup" events were not being called when the environment was initialized. This issue + did not occur when using the :class:`~omni.isaac.lab.envs.ManagerBasedRLEnv` class since the "startup" + events were called in the constructor. + + 0.19.3 (2024-07-13) ~~~~~~~~~~~~~~~~~~~