1. 05 Sep, 2024 1 commit
    • Kelly Guo's avatar
      Fixes the event manager's apply method (#936) · 8ae68c66
      Kelly Guo authored
      # Description
      
      Before, the environment IDs in the Event Manager's apply call in reset
      mode could be overwritten when iterating through the event terms. This
      could make the environment IDs invalid in some cases.
      This change avoids overwriting the global env_ids variable when checking
      for valid environment IDs that satisfy the frequency condition.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      8ae68c66
  2. 03 Sep, 2024 3 commits
    • Kelly Guo's avatar
      Improves behavior for Franka Cabinet environment (#909) · a861d576
      Kelly Guo authored
      # Description
      
      Isaac-Franka-Cabinet-Direct-v0 sometimes had unstable behaviors with
      trained policies where the robot wasn't always able to achieve the task.
      This change makes slight modifications to the reward function to improve
      the behavior for the policy.
      
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      a861d576
    • Pascal Roth's avatar
      Updates camera docs with world units and introduces new test for intrinsics (#886) · 7b3ca4ff
      Pascal Roth authored
      # Description
      
      Updates the camera docs with SI units and implants a new test to check
      that the intrinsic are set correctly for the raycaster camera.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      7b3ca4ff
    • Martin Matak's avatar
      Fixes comment in run_articulation.py (#876) · e7b630f0
      Martin Matak authored
      # Description
      
      The comment was saying there are 3 origins, when only 2 were instantiated
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my feature works
      - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file
      - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
      e7b630f0
  3. 30 Aug, 2024 1 commit
    • Fangzhou Yu's avatar
      Removes deprecated scipy rotation imports (#565) · 74523868
      Fangzhou Yu authored
      Fixes deprecated scipy imports in the devices module for interfacing
      with SE3 gamepad, keyboard and spacemouse.
      
      - Bug fix (non-breaking change which fixes an issue)
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      74523868
  4. 29 Aug, 2024 5 commits
    • Mayank Mittal's avatar
      Fixes support for `classmethod` when defining a configclass (#901) · cdfa954f
      Mayank Mittal authored
      # Description
      
      Previously, the configclass instance did not properly parse
      classmethods. For instance, the following would fail:
      
      ```python
      from __future__ import annotations
      
      """Launch Isaac Sim Simulator first."""
      
      from omni.isaac.lab.app import AppLauncher
      
      # launch omniverse app
      app_launcher = AppLauncher(headless=True)
      
      """Rest everything follows."""
      
      from omni.isaac.lab.utils.configclass import configclass
      
      
      @configclass
      class DummyClass:
      
          a: int = 5
      
          def instance_method(self):
              print("Value of a: ", self.a)
      
          @classmethod
          def class_method(cls, value: int) -> DummyClass:
              return cls(a=value)
      
      
      cfg = DummyClass()
      
      # check all methods are callable
      cfg.instance_method()
      new_cfg1 = cfg.class_method(20)
      
      # create the same config instance using class method
      new_cfg2 = DummyClass.class_method(20)
      ```
      
      This MR fixes the checks to make sure class-methods remain bound to the
      class and do not become instance variables.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [x] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      cdfa954f
    • Özhan Özen's avatar
      Defaults the gym video recorder fps to match episode decimation (#894) · 8fcbf85f
      Özhan Özen authored
      Sets the "render_fps" metadata used by the gym.wrappers.RecordVideo such
      that, if it is used, the produced video will have the correct episode
      length (i.e., the environment in the video will play at the correct
      speed).
      
      The correct render_fps should be equal to `1 / (self.cfg.decimation *
      self.cfg.sim.dt)` which I integrated to the init function of the
      ManagerBasedRLEnv. This seems to work well.
      
      Fixes #892
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Screenshots
      
      <img width="1048" alt="Screenshot 2024-08-28 at 18 10 30"
      src="https://github.com/user-attachments/assets/d4fd8482-fbbc-48fa-8890-6a75a3fd99dc">
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      8fcbf85f
    • Pascal Roth's avatar
      Adds function to define camera configs through intrinsic matrix (#617) · 9e9fbedd
      Pascal Roth authored
      # Description
      
      This PR adds the possibility of initializing cameras (both Raycaster
      Cameras and USD Cameras) with the intrinsic matrix instead of using the
      aperture parameters. The intrinsic matrix is defined in the pattern
      config and the pinhole cameras spawn config, respectively.
      
      Moreover, it fixes the bug that the vertical aperture is not adjusted
      for the USD camera case (it will always stay at the default value, even
      if the horizontal aperture is set). The default is squared pixels;
      however, it also allows the setting of other values.
      
      Fixes https://github.com/isaac-orbit/IsaacLab/issues/226
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [x] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      9e9fbedd
    • Symars's avatar
      Fixes initialization of normal velocity command generator (#898) · 254421a6
      Symars authored
      # Description
      
      This MR resolved the exception occurring during the initialization of
      the parent class in NormalVelocityCommand.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      254421a6
    • Kelly Guo's avatar
      Adds SB-3 instruction into hydra documentation (#897) · 9fafa32a
      Kelly Guo authored
      # Description
      
      * Fix tested version in docs
      * Add sb3 example for Hydra
      
      ## Type of change
      
      - This change requires a documentation update
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      9fafa32a
  5. 24 Aug, 2024 1 commit
  6. 23 Aug, 2024 1 commit
    • Kelly Guo's avatar
      Disables default viewport when headless but cameras are enabled (#851) · 3e1f6799
      Kelly Guo authored
      # Description
      
      When cameras are enabled, a default render product always gets created
      for the viewport, which brings additional overhead for rendering the
      viewport at each step. However, when running in headless mode, we may
      not need to render the viewport if we are not recording or
      livestreaming.
      
      This change disables viewport rendering in the headless cases where
      recording and livestreaming are not required.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      - New feature (non-breaking change which adds functionality)
      
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      <!--
      As you go through the checklist above, you can mark something as done by
      putting an x character in it
      
      For example,
      - [x] I have done this task
      - [ ] I have not done this task
      -->
      3e1f6799
  7. 22 Aug, 2024 2 commits
    • Kelly Guo's avatar
      Fixes updating configclass parameter with a list of objects (#847) · ad4ec6e5
      Kelly Guo authored
      # Description
      
      When configclass dicts are nested inside lists, the list is treated as
      an Iterable object and assigned directly to the outer configclass when
      updating configclass data with dicts. This overwrites the configclass
      object in the list with a dict object and causes undesired behavior.
      
      This change checks for nested dictionaries inside Iterables and updates
      the values inside the dictionary individually without overwiting the
      full Iterable.
      
      Fixes https://github.com/isaac-sim/IsaacLab/issues/843
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [x] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      ad4ec6e5
    • Masoud Moghani's avatar
      Sets numpy version to below 2.0 in `setup.py` (#846) · d906c4a0
      Masoud Moghani authored
      # Description
      
      When installing Isaac Lab in conda environment, numpy version 2.0 gets
      installed, which breaks all the scripts from running properly.
      
      This MR fixes compatibility issues with NumPy by setting its
      installation version to less than 2.0.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      d906c4a0
  8. 21 Aug, 2024 2 commits
    • Michael Gussert's avatar
      Adds images for the tutorial docs (#827) · 09c243dc
      Michael Gussert authored
      # Description
      
      I added images for the tutorials and modified the docs to include them
      
      ## Checklist
      
      - [X] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [X] I have made corresponding changes to the documentation
      - [X] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [X] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      ---------
      Signed-off-by: 's avatarMichael Gussert <michael@gussert.com>
      Signed-off-by: 's avatarKelly Guo <kellyg@nvidia.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      09c243dc
    • Masoud Moghani's avatar
      Add APIs for deformable asset (#630) · d6dd9035
      Masoud Moghani authored
      # Description
      
      This MR adds deformable object API to assets in the core framework. The
      class creates two physics views: one for the deformable object and the
      other one for the deformable material. Based on these, the users can set
      and get different nodal information from the solver, as well as
      randomize deformable material properties.
      
      The MR also adds some basic tests and a script in the tutorial that
      showcases the deformable object.
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      - This change requires a documentation update
      
      ## Screenshots
      
      Output from:
      
      ```bash
      ./isaaclab.sh -p source/standalone/tutorials/01_assets/run_deformable_object.py
      ```
      
      
      https://github.com/user-attachments/assets/9265f4d4-bebf-41b4-9d73-35c558f47a15
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [x] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      ---------
      Signed-off-by: 's avatarMayank Mittal <12863862+Mayankm96@users.noreply.github.com>
      Co-authored-by: 's avatarMayank Mittal <mittalma@leggedrobotics.com>
      d6dd9035
  9. 19 Aug, 2024 1 commit
    • StrainFlow's avatar
      Updates installation verfication for Windows (#835) · 0b4f7bd3
      StrainFlow authored
      # Description
      
      In the verification step for Isaac Sim installed from binaries, if I set
      the `ISAACSIM_PYTHON_EXE` variable as specified and print it, there are
      extra quotes, so the later steps don't work.
      
      This MR fixes the environment variable in Windows verification.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      - This change requires a documentation update
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      Signed-off-by: 's avatarStrainFlow <107502145+StrainFlow@users.noreply.github.com>
      0b4f7bd3
  10. 17 Aug, 2024 3 commits
    • jtigue-bdai's avatar
      Adds configurable modifiers to observation manager (#830) · fecf239c
      jtigue-bdai authored
      # Description
      
      The goal of this PR is to introduce expanded functionality to
      observation corruption/realism. This is done by introducing the concept
      of configurable modifiers. This creates an architecture that can apply a
      list of custom modifiers to observation data giving flexibility to order
      of operations. Existing modifiers for clip, scale, bias, and noise can
      be used. This does so without changing the current functionality. This
      PR also includes two new modifiers that are stateful (i.e. output is
      dependent on previous state) that utilize a Callable class. They are a
      `DigitalFilter` and an `Integrator`.
      
      Summary of Additions:
      - Adds `ModifierCfg` and `Modifier`
      - Adds example modifiers functions for bias, scale, clip, noise
      - Adds example modifiers classes: DigitalFilter, Integrator
      - Adds functionality to `ObservationManager` to prepare and handle
      modifiers of observation data
      - Adds unit tests for modifiers in test_modifiers.py
      - Adds test to test_observation_manager.py to test integration with
      modifiers
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      - This change requires a documentation update
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [x] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      ---------
      Signed-off-by: 's avatarjtigue-bdai <166445701+jtigue-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarMayank Mittal <mittalma@leggedrobotics.com>
      fecf239c
    • Pascal Roth's avatar
      Adds ability to launch multiple jobs on cluster with different code changes (#832) · 36c58ea0
      Pascal Roth authored
      # Description
      
      Currently, for multiple runs, the code is pushed to the same location on
      the cluster. When the runs are not directly started (i.e.,
      are in the queue), the code will be replaced each time a new job is
      submitted. This PR creates a new copy of the code for each job to ensure
      that the intended version is used for the submitted job.
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have run all the tests with `./isaaclab.sh --test` and they pass
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      36c58ea0
    • David Hoeller's avatar
      Adds the Hydra configuration system for RL training (#700) · bf068c83
      David Hoeller authored
      # Description
      
      This MR adds utilities to enable the hydra configuration system.
      Using the `train.py` scripts, the user can now change any parameter in
      the environment or agent configs from command line inputs, for example:
      ``` 
      python source/standalone/workflows/rsl_rl/train.py --task Isaac-Cartpole-v0 --headless env.actions.joint_effort.scale=10.0
      ```
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Checklist
      
      - [ ] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [ ] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      ---------
      Signed-off-by: 's avatarDavid Hoeller <dhoeller@nvidia.com>
      Co-authored-by: 's avatarMayank Mittal <12863862+Mayankm96@users.noreply.github.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      bf068c83
  11. 15 Aug, 2024 2 commits
    • Mayank Mittal's avatar
      Cleans up the docker container interface and utilities (#823) · 173b5f3e
      Mayank Mittal authored
      # Description
      
      Mainly documentation fixes and ensuring the code quality remains
      consistent. Also adds the `container.sh` script which calls the python
      script for compatibility reasons. We can remove it in later releases.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      - This change requires a documentation update
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      173b5f3e
    • Mayank Mittal's avatar
      Fixes mode-based checks inside the `EventManager.apply` call (#777) · 7379dcee
      Mayank Mittal authored
      # Description
      
      Noticed that we were checking for function arguments inside a for-loop,
      which isn't necessary. Moved this check outside to make it simpler to
      read the code.
      
      Also noticed a small corner case in the event manager when reset is
      called and `env_ids` is None. In that case, it would bypass the check
      for min steps between reset and directly apply the term to the
      environment. I am not sure if that was intentional. if so, I can revert
      the behavior.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [x] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      7379dcee
  12. 14 Aug, 2024 4 commits
    • Pascal Roth's avatar
      Fixes the cluster scripts after python migration (#824) · 765666d5
      Pascal Roth authored
      # Description
      
      Fixes cluster setting after merge of [python
      conversion](https://github.com/isaac-sim/IsaacLab/commit/f565c33d7716db1be813b30ddbcf9321712fc497)
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      765666d5
    • Mayank Mittal's avatar
      Uses tables instead of long lists inside the cluster docs (#826) · 7670f0f1
      Mayank Mittal authored
      # Description
      
      Long lists become really hard to read and understand. This MR switches
      them to tables instead.
      
      ## Type of change
      
      - This change requires a documentation update
      
      ## Screenshots
      
      
      ![Image](https://github.com/user-attachments/assets/783768e2-da93-4b48-ad6e-2f99463ec615)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      7670f0f1
    • Hunter Hansen's avatar
      Adds the ability create composite compose yamls/.env files to container.py (#545) · e4342c99
      Hunter Hansen authored
      # Description
      
      This PR recreates the capabilities initially made by @farbod-farshidian
      [here](https://github.com/isaac-sim/IsaacLab/pull/455) for the new
      Pythonized-container interface.
      
      ## Type of change
      
      <!-- As you go through the list, delete the ones that are not
      applicable. -->
      
      - New feature (non-breaking change which adds functionality)
      - This change requires a documentation update
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have run all the tests with `./isaaclab.sh --test` and they pass
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      <!--
      As you go through the checklist above, you can mark something as done by
      putting an x character in it
      
      For example,
      - [x] I have done this task
      - [ ] I have not done this task
      -->
      
      ---------
      Signed-off-by: 's avatarHunter Hansen <50837800+hhansen-bdai@users.noreply.github.com>
      Signed-off-by: 's avatarJames Smith <142246516+jsmith-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarJames Smith <142246516+jsmith-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarDavid Hoeller <dhoeller@nvidia.com>
      e4342c99
    • Hunter Hansen's avatar
      Converts container.sh into Python utilities (#539) · f565c33d
      Hunter Hansen authored
      This PR replicates the capabilities of `container.sh` in Python, and
      breaks its capabilities up into several files under a new directory
      `/docker/isaaclab_container_utils`, as well as a superior interface in
      `container.py`. The intention of this change is to make our
      container-mediating code more easily readable, debuggable, and
      modifiable. It is also done in the hopes that it can be more easily
      distributed as we see a desire from users to [compose and modify our
      setup](https://github.com/isaac-sim/IsaacLab/pull/455). It also has the
      additional benefit of needing fewer sudo installs because of Python's
      native yaml handling.
      
      The central class, `IsaacLabContainerInterface`, contains a lot of the
      original utility of the script, and several of the current
      `container.py` scripts options simply configure it and call a method.
      @pascal-roth `apptainer_utils.py` and the `./container.py job/push`
      logic are separated out, I'm curious what you think of this delineation.
      I also haven't been able to fully test that end of things as I don't
      have a cluster to use, though I did verify that it worked to the extent
      I could.
      
      I will update the docs when I have received approval
      
      <!-- As you go through the list, delete the ones that are not
      applicable. -->
      
      - Breaking change (fix or feature that would cause existing
      functionality to not work as expected)
      - This change requires a documentation update
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have run all the tests with `./isaaclab.sh --test` and they pass
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      ---------
      Signed-off-by: 's avatarHunter Hansen <50837800+hhansen-bdai@users.noreply.github.com>
      Signed-off-by: 's avatarJames Smith <142246516+jsmith-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarJames Smith <142246516+jsmith-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarDavid Hoeller <dhoeller@nvidia.com>
      f565c33d
  13. 13 Aug, 2024 1 commit
    • sizsJEon's avatar
      Adds the ability to resume training from a checkpoint with rl_games (#797) · 1b8e2c0e
      sizsJEon authored
      # Description
      
      The rl_games train.py script did not include the checkpoint and sigma.
      (it was none)
      I have added these features and verified their operation.
      
      - New feature (non-breaking change which adds functionality)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      1b8e2c0e
  14. 07 Aug, 2024 3 commits
    • xavier's avatar
      Adds flag to preserve joint order inside `JointActionCfg` action term (#787) · 6451d235
      xavier authored
      # Description
      
      Adds the attribute `preserve_order` in `JointActionCfg`, to choose whether joint-related actions should keep the same
      order as how the `joint_names` are listed in the config.
      
      Fixes #786
      
      ## Type of change
      
      - New feature 
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [ ] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have updated the changelog and the corresponding version in the
      extension's config/extension.toml file
      - [x] I have added my name to the CONTRIBUTORS.md or my name already
      exists there
      6451d235
    • Masoud Moghani's avatar
      Renames rsl-rl agent configuration files (#795) · 0bad5005
      Masoud Moghani authored
      # Description
      
      This MR resolves a naming discrepancy in the rsl-rl agent configuration
      files across multiple tasks. By aligning all tasks to use the
      `rsl_rl_ppo_cfg` naming convention, it ensures uniformity and clarity in
      configuration file names.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      0bad5005
    • David Hoeller's avatar
      Fixes conflict in teleop-device command line argument in scripts (#791) · d178560c
      David Hoeller authored
      # Description
      
      Since the move to the ``--device`` cli to set the device to run the
      simulation on, this clashes with ``--device`` for the teleoperation
      environments.
      
      This MR renames ``--device`` to ``--teleop_device`` for these examples.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      d178560c
  15. 06 Aug, 2024 3 commits
    • David Hoeller's avatar
      Fixes importing rsl_rl configs (#789) · 75f92e41
      David Hoeller authored
      # Description
      
      Fixes importing rsl_rl configs
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [x] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      75f92e41
    • David Hoeller's avatar
      Fixes running train scripts when rsl_rl is not installed (#784) · aa5472c6
      David Hoeller authored
      # Description
      
      Previously, it was not possible to run training scripts with rl_games,
      skrl, sb3 when rsl_rl was not installed.
      
      Fixes #749 
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      aa5472c6
    • David Hoeller's avatar
      Simplifies device setting in SimulationCfg and AppLauncher (#696) · f75a51f3
      David Hoeller authored
      # Description
      
      Before setting up the device was tedious and redundant, and you would
      see code like:
      
      ```python
      sim_utils.SimulationCfg(device="cpu", use_gpu_pipeline=False, dt=0.01, physx=sim_utils.PhysxCfg(use_gpu=False))
      ```
      
      With this MR, we simply set the desired device, and all the parameters,
      such as `use_gpu_pipeline` and `use_gpu` propagate automatically,
      resulting in the following:
      
       ```python
      sim_utils.SimulationCfg(device="cpu", dt=0.01,
      physx=sim_utils.PhysxCfg())
      ```
      
      The command line input `--cpu` has been removed in favor of `--device device_name`, where valid options for `device_name` are `cpu` (run on CPU), `cuda` (run on GPU with device id 0), or `cuda:N` (run on GPU with device id N, for example `cuda:0`).
      
      ## Type of change
      
      - Breaking Change
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my feature works
      - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
      f75a51f3
  16. 05 Aug, 2024 1 commit
    • Johnson Sun's avatar
      Adds video recording to the play scripts in RL workflows (#763) · e151bb93
      Johnson Sun authored
      # Description
      
      This MR enables users to easily record videos from trained checkpoints,
      which is useful for sanity checks or creating promotional videos for
      research papers.
      
      Fixes: https://github.com/isaac-sim/IsaacLab/issues/130
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      - This change requires a documentation update
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [ ] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      e151bb93
  17. 03 Aug, 2024 3 commits
    • Mayank Mittal's avatar
      Allows having hybrid dimensional terms inside an observation group (#772) · 4cb968ac
      Mayank Mittal authored
      # Description
      
      Previously, the observation manager rigidly tried concatenating all the
      terms along the last dimension at construction. However, when one has
      hybrid-dimensional terms inside the observation group, this operation
      would fail, leading to an error. In principle, the concatenation should
      only happen when users set the attribute `concatenate_terms` to True
      inside the group settings.
      
      This MR lifts the above operation and adds a proper error when users try
      to concatenate observation terms of different shapes. They must set the
      concatenation flag to False if they want a "hybrid" observation group.
      
      Fixes #768
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [x] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      4cb968ac
    • Kelly Guo's avatar
      Adds direct workflow Allegro hand environment (#709) · 9050d2f6
      Kelly Guo authored
      # Description
      This change refactors the shadow hand environment into a general in-hand
      manipulation environment and extends it with the Allegro hand.
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      9050d2f6
    • Kelly Guo's avatar
      Adds performance optimizations for domain randomization (#494) · 67ddfd5b
      Kelly Guo authored
      # Description
      
      - Adds `min_step_count_between_reset` for Event terms to specify minimum
      randomization frequency for reset randomizations
      - Switch to numpy for material bucketing logic
      - Updates SH Config with DR
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have run all the tests with `./isaaclab.sh --test` and they pass
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      67ddfd5b
  18. 02 Aug, 2024 3 commits
    • James Smith's avatar
      Modifies container.sh and x11.yaml to automatically check for stale cookies (#558) · e6446929
      James Smith authored
      # Description
      
      NOTE: This is a redo of
      https://github.com/isaac-orbit/IsaacLab/pull/524, only rebased onto new
      main and with changes to work with Isaac Lab.
      
      Copied from other PR:
      Modifies container.sh and x11.yaml to automatically check if a
      tmp.***.xauth file has a stale MIT-MAGIC-COOKIE-1, and refreshes it if
      so.
      
      In the instance where an xsession ends after a `tmp.***.xauth` file has
      been created, but the system is not rebooted (thus deleting
      `tmp.***.xauth`) then attempting to use the container causes errors.
      
      This is a feature to correct for this upon `container.sh enter` by:
      1. Mounting an entire `/tmp` subdirectory so that we can swap files
      2. Checking for stale cookies by comparing against the current user's
      cookie
      3. If stale, replacing the old `tmp.***.xauth` with a new
      `tmp.***.xauth` of the same name but a new cookie, in order to preserve
      functionality of envars.
      
      ## Type of change
      
      <!-- As you go through the list, delete the ones that are not
      applicable. -->
      
      - New feature (non-breaking change which adds functionality)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have run all the tests with `./orbit.sh --test` and they pass
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      ---------
      Signed-off-by: 's avatarJames Smith <142246516+jsmith-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarHunter Hansen <50837800+hhansen-bdai@users.noreply.github.com>
      e6446929
    • Mayank Mittal's avatar
      Decouples rigid object and articulation asset classes (#644) · 7b92c575
      Mayank Mittal authored
      # Description
      
      Since we override a lot of the functions from RigidObject inside the
      Articulation class, we don't need to rely on inheritance anymore.
      Duplicacy in the code makes it easier to understand the two classes'
      functionalities without severely added overhead from the maintenance
      side. Moreover, conceptually, it can be motivated that the two are
      independent concepts.
      
      This MR decouples the rigid object and articulation concepts in the
      framework.
      
      ## Type of change
      
      - Breaking change (fix or feature that would cause existing
      functionality to not work as expected)
      - This change requires a documentation update
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      ---------
      Co-authored-by: 's avatarDavid Hoeller <dhoeller@nvidia.com>
      7b92c575
    • Kelly Guo's avatar
      Adds throughput benchmarking scripts for different learning workflows (#759) · 809d090d
      Kelly Guo authored
      # Description
      - Removes unneeded extensions from headless app file
      - Limits CPU threads when running multi-GPU training to minimize thread
      context switching
      - Apply multi GPU renderer setting to avoid unnecessary GPU context
      initialization
      - Decreases 8k SH startup time on 8 GPUs from > 5 min to 1 min
      - Adds benchmarking scripts
      
      ## Type of change
      
      <!-- As you go through the list, delete the ones that are not
      applicable. -->
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      <!--
      As you go through the checklist above, you can mark something as done by
      putting an x character in it
      
      For example,
      - [x] I have done this task
      - [ ] I have not done this task
      -->
      
      ---------
      Co-authored-by: 's avatarAlexander <143108850+nv-apoddubny@users.noreply.github.com>
      Co-authored-by: 's avatarDavid Hoeller <dhoeller@nvidia.com>
      809d090d