Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion source/extensions/omni.isaac.lab/config/extension.toml
Original file line number Diff line number Diff line change
@@ -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"
Expand Down
12 changes: 12 additions & 0 deletions source/extensions/omni.isaac.lab/docs/CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -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)
~~~~~~~~~~~~~~~~~~~

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.
"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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:
Expand Down
4 changes: 4 additions & 0 deletions tools/per_test_timeouts.py
Original file line number Diff line number Diff line change
Expand Up @@ -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,
}