1. 31 Jan, 2025 13 commits
    • Kelly Guo's avatar
      Fixes broken unit tests due to updates in Isaac Sim 4.5 (#166) · 16c38492
      Kelly Guo authored
      This change fixes various issues with the unit tests due to updates in
      Isaac Sim and Kit builds. Notably, some extensions were renamed for the
      URDF and MJCF importers, including minor modifications of available
      parameters for the importers. The SimulationContext context will also
      now terminate the process on exit due to the simulation stop callback
      being triggered. We now bypass the callback for the unit tests.
      
      <!-- As you go through the list, delete the ones that are not
      applicable. -->
      
      - Bug fix (non-breaking change which fixes an issue)
      - Breaking change (fix or feature that would cause existing
      functionality to not work as expected)
      
      - [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
      
      <!--
      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
      -->
      16c38492
    • Kelly Guo's avatar
      Adds create_new_stage and fixes merge error (#155) · d0eb4a0b
      Kelly Guo authored
      This change applies a new `create_new_stage` setting in Isaac Sim's
      SimulationApp to avoid creating a default new stage on startup, which
      introduces additional performance overhead.
      Also fixes an error in hydra code when rebasing.
      
      - Bug fix (non-breaking change which fixes an issue)
      - New feature (non-breaking change which adds functionality)
      
      - [ ] 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
      
      <!--
      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 avatarpeterd-NV <peterd@nvidia.com>
      Co-authored-by: 's avatarpeterd-NV <peterd@nvidia.com>
      Co-authored-by: 's avatarCY Chen <cyc@nvidia.com>
      Co-authored-by: 's avataroahmednv <oahmed@Nvidia.com>
      Co-authored-by: 's avatarToni-SM <aserranomuno@nvidia.com>
      d0eb4a0b
    • peterd-NV's avatar
      Updates training and play scripts for robomimic workflow (#150) · 0301b826
      peterd-NV authored
      <!--
      Thank you for your interest in sending a pull request. Please make sure
      to check the contribution guidelines.
      
      Link: https://isaac-sim.github.io/IsaacLab/source/refs/contributing.html
      -->
      
      Update robomimic training and play scripts.
      
      <!-- As a practice, it is recommended to open an issue to have
      discussions on the proposed pull request.
      This makes it easier for the community to keep track of what is being
      developed or added, and if a given feature
      is demanded by more than one party. -->
      
      <!-- 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
      
      Please attach before and after screenshots of the change if applicable.
      
      <!--
      Example:
      
      | Before | After |
      | ------ | ----- |
      | _gif/png before_ | _gif/png after_ |
      
      To upload images to a PR -- simply drag and drop an image while in edit
      mode and it should upload the image directly. You can then paste that
      source into the above before/after sections.
      -->
      
      - [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
      
      <!--
      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 avatarpeterd-NV <peterd@nvidia.com>
      Co-authored-by: 's avatarCY Chen <cyc@nvidia.com>
      Co-authored-by: 's avataroahmednv <oahmed@Nvidia.com>
      Co-authored-by: 's avatarToni-SM <aserranomuno@nvidia.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      0301b826
    • rwiltz's avatar
      Adds XR hand tracking input device (#160) · a2c0cdbd
      rwiltz authored
      - Added the SE3_HandTracking input device which allows for XR teleop via
      the SE3 interface.
      - Updated the teleop_se3_agent to support hand tracking via the
      `--teleop_device handtracking` flag
      - Created a new .kit file `isaaclab.python.xr.openxr.kit` for supporting
      teleop experiances
      
      - New feature (non-breaking change which adds functionality)
      
      - [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 avatarpeterd-NV <peterd@nvidia.com>
      Co-authored-by: 's avatarpeterd-NV <peterd@nvidia.com>
      Co-authored-by: 's avatarCY Chen <cyc@nvidia.com>
      Co-authored-by: 's avataroahmednv <oahmed@Nvidia.com>
      Co-authored-by: 's avatarToni-SM <aserranomuno@nvidia.com>
      a2c0cdbd
    • Kelly Guo's avatar
      Updates benchmark default output format for dashboard (#161) · 57d96d7a
      Kelly Guo authored
      # Description
      
      Updates the benchmark scripts with new additional output format that can
      be used for tracking results on a dashboard.
      
      ## 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
      
      <!--
      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
      -->
      57d96d7a
    • Kelly Guo's avatar
      Fixes import issues with omni.isaac.ui and debug_draw (#148) · 35e715f9
      Kelly Guo authored
      # Description
      
      Fixes errors related to import of omni.isaac.ui and debug_draw
      extensions due to Isaac Sim 4.5 renaming/restructuring.
      
      ## 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`
      - [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
      
      <!--
      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
      -->
      35e715f9
    • Kelly Guo's avatar
      Update Franka Stacking Env (#146) · 1f77ebe1
      Kelly Guo authored
      <!--
      Thank you for your interest in sending a pull request. Please make sure
      to check the contribution guidelines.
      
      Link: https://isaac-sim.github.io/IsaacLab/source/refs/contributing.html
      -->
      
      Update the Franka Stacking Env to align with Robosuite stacking task
      used in MimicGen.
      
      <!-- As a practice, it is recommended to open an issue to have
      discussions on the proposed pull request.
      This makes it easier for the community to keep track of what is being
      developed or added, and if a given feature
      is demanded by more than one party. -->
      
      <!-- As you go through the list, delete the ones that are not
      applicable. -->
      
      - New feature (non-breaking change which adds functionality)
      
      Please attach before and after screenshots of the change if applicable.
      
      <!--
      Example:
      
      | Before | After |
      | ------ | ----- |
      | _gif/png before_ | _gif/png after_ |
      
      To upload images to a PR -- simply drag and drop an image while in edit
      mode and it should upload the image directly. You can then paste that
      source into the above before/after sections.
      -->
      
      - [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
      -->
      
      ---------
      Signed-off-by: 's avatarpeterd-NV <peterd@nvidia.com>
      Co-authored-by: 's avatarCY Chen <cyc@nvidia.com>
      Co-authored-by: 's avataroahmednv <oahmed@Nvidia.com>
      Co-authored-by: 's avatarToni-SM <aserranomuno@nvidia.com>
      1f77ebe1
    • Kelly Guo's avatar
      Updates benchmarking scripts for Isaac Sim 4.5 and hydra (#143) · 54fcabd1
      Kelly Guo authored
      This change updates the benchmarking utilities to follow new module
      naming for Isaac Sim 4.5. In addition, hydra support is added for the
      benchmark scripts to allow modifications of config parameters via
      command line. Hydra config parsing utilities are updated to allow for
      missing agent configurations when benchmarking non-RL workflows.
      
      <!-- As you go through the list, delete the ones that are not
      applicable. -->
      
      - Bug fix (non-breaking change which fixes an issue)
      - New feature (non-breaking change which adds functionality)
      
      - [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
      
      <!--
      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
      -->
      54fcabd1
    • Toni-SM's avatar
      Adds omni.isaac.version to experience dependencies (#141) · d94f9d4d
      Toni-SM authored
      # Description
      
      This PR fix the `ModuleNotFoundError: No module named
      'omni.isaac.version'` for Isaac Sim 4.5
      
      When running `./isaaclab.sh -p
      source/standalone/workflows/rsl_rl/train.py --task
      Isaac-Cartpole-Direct-v0 --headless --max_iteration 5`
      
      ```
      Traceback (most recent call last):
        File "/home/toni/Documents/RL/IsaacLab-Internal/source/standalone/workflows/rsl_rl/train.py", line 54, in <module>
          from omni.isaac.lab.envs import (
        File "/home/toni/Documents/RL/IsaacLab-Internal/source/extensions/omni.isaac.lab/omni/isaac/lab/envs/__init__.py", line 45, in <module>
          from . import mdp, ui
        File "/home/toni/Documents/RL/IsaacLab-Internal/source/extensions/omni.isaac.lab/omni/isaac/lab/envs/mdp/__init__.py", line 18, in <module>
          from .actions import *  # noqa: F401, F403
        File "/home/toni/Documents/RL/IsaacLab-Internal/source/extensions/omni.isaac.lab/omni/isaac/lab/envs/mdp/actions/__init__.py", line 8, in <module>
          from .actions_cfg import *
        File "/home/toni/Documents/RL/IsaacLab-Internal/source/extensions/omni.isaac.lab/omni/isaac/lab/envs/mdp/actions/actions_cfg.py", line 9, in <module>
          from omni.isaac.lab.managers.action_manager import ActionTerm, ActionTermCfg
        File "/home/toni/Documents/RL/IsaacLab-Internal/source/extensions/omni.isaac.lab/omni/isaac/lab/managers/__init__.py", line 13, in <module>
          from .action_manager import ActionManager, ActionTerm
        File "/home/toni/Documents/RL/IsaacLab-Internal/source/extensions/omni.isaac.lab/omni/isaac/lab/managers/action_manager.py", line 20, in <module>
          from omni.isaac.lab.assets import AssetBase
        File "/home/toni/Documents/RL/IsaacLab-Internal/source/extensions/omni.isaac.lab/omni/isaac/lab/assets/__init__.py", line 41, in <module>
          from .articulation import Articulation, ArticulationCfg, ArticulationData
        File "/home/toni/Documents/RL/IsaacLab-Internal/source/extensions/omni.isaac.lab/omni/isaac/lab/assets/articulation/__init__.py", line 8, in <module>
          from .articulation import Articulation
        File "/home/toni/Documents/RL/IsaacLab-Internal/source/extensions/omni.isaac.lab/omni/isaac/lab/assets/articulation/articulation.py", line 22, in <module>
          import omni.isaac.lab.sim as sim_utils
        File "/home/toni/Documents/RL/IsaacLab-Internal/source/extensions/omni.isaac.lab/omni/isaac/lab/sim/__init__.py", line 29, in <module>
          from .converters import *  # noqa: F401, F403
        File "/home/toni/Documents/RL/IsaacLab-Internal/source/extensions/omni.isaac.lab/omni/isaac/lab/sim/converters/__init__.py", line 25, in <module>
          from .urdf_converter import UrdfConverter
        File "/home/toni/Documents/RL/IsaacLab-Internal/source/extensions/omni.isaac.lab/omni/isaac/lab/sim/converters/urdf_converter.py", line 13, in <module>
          from omni.isaac.version import get_version
      ModuleNotFoundError: No module named 'omni.isaac.version'
      
      ```
      ## 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
      - [ ] 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
      -->
      d94f9d4d
    • oahmednv's avatar
      Adds deprecated extensions to app files (#139) · 5af7435f
      oahmednv authored
      Adds the deprecated extension folder to the app files for the extensions
      to be discoverable.
      
      - 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`
      - [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
      5af7435f
    • peterd-NV's avatar
      Adds Franka stacking environment for GR00T mimic (#123) · 01b2176e
      peterd-NV authored
      Adding a manager based RL env for Franka cube stacking task. This
      environment will be used for initial testing of MimicGen pipeline. The
      environment consists of a Franka arm with three blocks on a table top.
      
      Environment source is added to
      `omni/isaac/lab_tasks/manager_based/manipulation/stack`
      
      ---------
      Signed-off-by: 's avatarpeterd-NV <peterd@nvidia.com>
      Co-authored-by: 's avatarCY Chen <cyc@nvidia.com>
      01b2176e
    • Mayank Mittal's avatar
      Bumps version to 1.4.1 · a520a883
      Mayank Mittal authored
      a520a883
    • Mayank Mittal's avatar
      Adds interval resampling on event manager's reset call (#1750) · be1e60c7
      Mayank Mittal authored
      # Description
      
      Previously on episodic resets, the "time left" for the interval events
      were not getting resampled. This means that if the user expects the
      event to happen in the range 6-8s of an episode, it could be that in a
      new episode, the push happens at a time outside this range as the time
      left variable keeps its old value.
      
      This MR fixes this issue by resampling the time left inside the
      manager's reset call.
      
      Note: This only matters for the case when "is_global_time" is False
      (which is the default). The reason is that when there is global time,
      the events are triggered through simulation time and not episode time.
      
      ## 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
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      be1e60c7
  2. 27 Jan, 2025 1 commit
    • garylvov's avatar
      Clarifies Ray Documentation and Fixes Minor Issues (#1717) · ea766783
      garylvov authored
      # Description
      This PR cleans up the Ray documentation to be more clear, and fixes some
      small issues in the code.
      
      - Moved local set up to be an easier Docker-based thing
      - Added Wget to docker container to fix issue where Ray head would fail
      health check on GKE where the workers wouldn't start
      - Removed redundant information from Documentation
      - Added a local quickstart
      - (investigated whether https mlflow was possible, added flag to jinja
      env)@kellyguo11
      - Added better compatibility with other workflows to address #1703 
      - Avoided early exit due to buffer overflow to address #1703 (thank you
      @giulioturrisi for helping find this)
      <!-- As a practice, it is recommended to open an issue to have
      discussions on the proposed pull request.
      This makes it easier for the community to keep track of what is being
      developed or added, and if a given feature
      is demanded by more than one party. -->
      
      ## 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)
      - This change requires a documentation update
      
      
      ![image](https://github.com/user-attachments/assets/eb38b3c8-8e9c-438d-9218-8b0662146f96)
      
      
      ## 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
      
      <!--
      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 avatargarylvov <67614381+garylvov@users.noreply.github.com>
      Co-authored-by: 's avatarGary Lvov <glvov@theaiinstitute.com>
      ea766783
  3. 23 Jan, 2025 1 commit
    • robotsfan's avatar
      Corrects calculation of target height adjustment based on sensor data (#1710) · 21173c3e
      robotsfan authored
      # Description
      
      Corrected calculation of target height adjustment based on sensor data.
      
      Fixes #1546 and #1698
      
      Thanks to @ClemensSchwarke and @shendredm for the modification
      suggestions. To use this `base_height_l2` reward function, users need to
      make the following changes:
      
      1. Customize a new sensor
      
      ```python
      class MySceneCfg(InteractiveSceneCfg):
          height_scanner_base = RayCasterCfg(
              prim_path="{ENV_REGEX_NS}/Robot/base",
              offset=RayCasterCfg.OffsetCfg(pos=(0.0, 0.0, 20.0)),
              attach_yaw_only=True,
              pattern_cfg=patterns.GridPatternCfg(resolution=0.05, size=(0.1, 0.1)),
              debug_vis=False,
              mesh_prim_paths=["/World/ground"],
          )
      ```
      
      2. Pass this new sensor to the reward function
      
      ```python
      class RewardsCfg:
          base_height_l2 = RewTerm(
              func=mdp.base_height_l2,
              weight=0.0,
              params={
                  "asset_cfg": SceneEntityCfg("robot", body_names=""),
                  "sensor_cfg": SceneEntityCfg("height_scanner_base"),
                  "target_height": 0.0,
              },
          )
      ```
      
      This will create a 10 by 10 cm patch consisting of 9 rays and should
      provide a good estimate of the ground height at the robot's position.
      
      ## 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
      21173c3e
  4. 21 Jan, 2025 2 commits
    • James Tigue's avatar
      Removes deprecation for root_state_w properties and setters (#1695) · 999c1e9a
      James Tigue authored
      …ection root and base states
      
      # Description
      
      <!--
      Thank you for your interest in sending a pull request. Please make sure
      to check the contribution guidelines.
      
      Link:
      https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html
      -->
      
      This PR removes the deprecation of root_state_w setters and properties
      due to significant regression in training speed. It leaves it the
      root_link_* and root_com_* properties and setters but does not force
      them on examples and tests.
      
      Fixes #1699 
      
      <!-- As a practice, it is recommended to open an issue to have
      discussions on the proposed pull request.
      This makes it easier for the community to keep track of what is being
      developed or added, and if a given feature
      is demanded by more than one party. -->
      
      ## 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)
      
      <!--
      Example:
      
      | Before | After |
      | ------ | ----- |
      | _gif/png before_ | _gif/png after_ |
      
      To upload images to a PR -- simply drag and drop an image while in edit
      mode and it should upload the image directly. You can then paste that
      source into the above before/after sections.
      -->
      
      ## 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
      
      <!--
      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 avatarJames Tigue <166445701+jtigue-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      Co-authored-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
      999c1e9a
    • Nicola Loi's avatar
      Fixes infinite loop in repeated_objects_terrain: respawn only wrong object samples (#1612) · 7ed94ce5
      Nicola Loi authored
      # Description
      
      Currently, the
      [`repeated_objects_terrain`](https://github.com/isaac-sim/IsaacLab/blob/v1.4.0/source/extensions/omni.isaac.lab/omni/isaac/lab/terrains/trimesh/mesh_terrains.py#L721)
      function attempts to respawn all *N* required objects if even a single
      object lies within the central platform. However, the probability of
      successfully spawning *all objects* outside the central platform depends
      on the object density (i.e., the number of required objects relative to
      the terrain size) and the size of the central platform. For high object
      densities, this probability quickly approaches zero, causing the
      function to enter an infinite respawn loop.
      
      This PR addresses the issue by respawning only the objects that lie
      within the central platform during each loop, while leaving objects
      outside the platform untouched. This leads to faster terrain generation
      and prevents the worst-case scenario of getting stuck in an infinite
      respawn loop when object density is high.
      
      ## 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
      - [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 avatarNicola Loi <nicolaloi@outlook.com>
      7ed94ce5
  5. 18 Jan, 2025 2 commits
    • Michael Gussert's avatar
      Adds documentation and demo script for IMU sensor (#1694) · b5078deb
      Michael Gussert authored
      # Description
      
      Adds a new documentation page and demo script for explaining the IMU
      sensor.
      Also replace previous .png images with .jpg files for better storage
      efficiency.
      
      ## 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
      - [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
      
      <!--
      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 avatarMichael Gussert <michael@gussert.com>
      Co-authored-by: 's avatarJames Tigue <166445701+jtigue-bdai@users.noreply.github.com>
      b5078deb
    • Michael Gussert's avatar
      Updates code snippets in documentation to reference scripts (#1693) · af6fa108
      Michael Gussert authored
      # Description
      
      This change replaces some of the hardcoded python snippets in the sensor
      documentation to reference directly from the demo scripts. This avoids
      inconsistencies when changes in the scripts or documentations are made.
      
      
      ## 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
      - [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
      
      <!--
      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
      -->
      af6fa108
  6. 16 Jan, 2025 2 commits
    • ori-gadot's avatar
      Fixes rigid object's root com velocities timestamp check (#1674) · b08178bf
      ori-gadot authored
      # Description
      The rigid body data properties root_com_vel_w, root_com_pos_w, and
      root_com_ang_vel_w currently check the private state field's timestamp
      before updating their state. However, the issue lies in the fact that
      these COM state properties are incorrectly checking the link state
      field's timestamp instead of the COM's own state.
      
      Fixes # (issue)
      Replacing root link state with root com state at these properties.
      
      ## 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
      b08178bf
    • -T.K.-'s avatar
      Fix typo in Anymal C DirectRL environment (#1683) · 38690255
      -T.K.- authored
      # Description
      
      This PR fixes a small typo in the code, where "undesired" is
      accidentally typed as "undersired".
      
      ## Type of change
      
      - [x] Bug fix (non-breaking change which fixes an issue)
      - [ ] New feature (non-breaking change which adds functionality)
      - [ ] Breaking change (fix or feature that would cause existing
      functionality to not work as expected)
      - [ ] This change requires a documentation update
      
      ## Screenshots
      
      N/A
      
      ## 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
      38690255
  7. 14 Jan, 2025 5 commits
    • Kelly Guo's avatar
      Fixes errors in tools and tutorial scripts (#1669) · e956ddb7
      Kelly Guo authored
      # Description
      
      A few scripts in the tools and tutorials folder had outdated APIs that
      caused errors when run.
      This scripts fixes issues with 2 scripts:
      
      - check_instanceable.py used an old `enable_flatcache` API that no
      longer exists. this has been replaced with the new `enable_fabric` API
      - run_usd_camera.py was indexing camera data outputs with incorrect
      keys/indices, which is now fixed
      
      ## 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
      - [ ] 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
      -->
      e956ddb7
    • Antoine RICHARD's avatar
      Fixes issue where the indices were not created correctly. (#1660) · a73b63cb
      Antoine RICHARD authored
      # Description
      
      This PR fixes an issue in articulation object from omni.isaac.lab. The
      functions `write_root_com_pose_to_sim` and `write_root_link_to_sim` both
      result in an error where a variable is called before being assigned. I
      checked and there is a test for this, but I'm not sure why they don't
      catch it...
      
      The two functions have been changed to match the behaviors of
      `write_root_link_pose_to_sim` and `write_root_com_velocity_to_sim`.
      
      
      
      Fixes #1659 
      
      ## 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
      
      ---------
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      a73b63cb
    • Kelly Guo's avatar
      Fixes documentation error for PD Actuator (#1668) · 8b5fd065
      Kelly Guo authored
      # Description
      
      There was a mismatch in the implementation of the IdealPDActuator code
      and the equation provided in the actuators docs. This change fixes the
      ordering of parameters in the docs to match the implementation in code.
      
      Fixes #1643 
      
      ## 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
      
      <!--
      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
      -->
      8b5fd065
    • Octi Zhang's avatar
      Fixes docstrings in Articulation Data that report wrong return dimension (#1652) · 01d4f8eb
      Octi Zhang authored
      # Description
      
      Fixes docstring in Articulation data, where rigid body properties should
      be of dimension (num_instances, num_bodies, x) instead of
      (num_instances, 1, x).
      
      Fixes #1651
      
      <!-- As a practice, it is recommended to open an issue to have
      discussions on the proposed pull request.
      This makes it easier for the community to keep track of what is being
      developed or added, and if a given feature
      is demanded by more than one party. -->
      
      ## Type of change
      
      docstring fix.
      
      - Bug fix (non-breaking change which fixes an issue)
      
      **Before Change**
      
      for the data
      '''
      body_link_pos_w
      body_link_quat_w
      body_link_vel_w
      body_link_lin_vel_w
      body_link_ang_vel_w
      body_com_pos_w
      body_com_quat_w
      body_com_vel_w
      body_com_lin_vel_w
      body_com_ang_vel_w
      '''
      
      The actual dimension are (num_instances, num_bodies, x),
      
       but the docstring says (num_instances, 1, x)
      
      **After Change**
      
      docstring says (num_instances, num_bodies, x)
      
      
      ## Checklist
      
      - [ ] 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
      -->
      
      ---------
      Signed-off-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
      Co-authored-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
      Co-authored-by: 's avatarJames Tigue <166445701+jtigue-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      01d4f8eb
    • Manuel Schweiger's avatar
      Adds dict conversion test for ActuatorBase configs (#1608) · 9ab52d47
      Manuel Schweiger authored
      # Description
      
      <!--
      Thank you for your interest in sending a pull request. Please make sure
      to check the contribution guidelines.
      
      Link: https://isaac-sim.github.io/IsaacLab/source/refs/contributing.html
      -->
      
      A recent PR
      (https://github.com/isaac-sim/IsaacLab/pull/1530#issuecomment-2558120594)
      causes issues with joint_parameter_lookup attributes of Articulation
      Configs. The `class_to_dict` utility function needs to return a
      primitive dict. Returning a torch.Tensor conflicts with OmegaConf.
      
      This PR adds a unittest for the dict conversion as requested by @lgulich
      so that the issue can be fixed. The test case fails on main branch as
      expected according to my understanding. Passes on v1.3.0.
      
      <!-- As a practice, it is recommended to open an issue to have
      discussions on the proposed pull request.
      This makes it easier for the community to keep track of what is being
      developed or added, and if a given feature
      is demanded by more than one party. -->
      
      ## Type of change
      
      <!-- 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)
      
      <!--
      Example:
      
      | Before | After |
      | ------ | ----- |
      | _gif/png before_ | _gif/png after_ |
      
      To upload images to a PR -- simply drag and drop an image while in edit
      mode and it should upload the image directly. You can then paste that
      source into the above before/after sections.
      -->
      
      ## 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
      - [ ] 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
      
      <!--
      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
      -->
      9ab52d47
  8. 08 Jan, 2025 3 commits
    • Nicola Loi's avatar
      Fixes action reset of pre_trained_policy_action (#1623) · de76c2e9
      Nicola Loi authored
      # Description
      
      Currently, the
      [PreTrainedPolicyAction](https://github.com/isaac-sim/IsaacLab/blob/v1.4.0/source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/manager_based/navigation/mdp/pre_trained_policy_action.py#L24)
      class does not reset the actions in the low-level observations when a
      new episode starts.
      
      In my custom legged robot navigation task, the behavior was correct only
      during the first training episode but failed from the second episode
      onward. At the start of a new episode, the action observations are not
      reset and retain the last actions from the previous episode. This can
      impact training, as in my case, where the actions at the end of an
      episode differ significantly from those required at the beginning of an
      episode.
      
      This PR resolves the issue by resetting the low-level action
      observations at the beginning of each new episode.
      
      
      ## 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
      - [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
      -->
      de76c2e9
    • Stephan Pleines's avatar
      Updates pip installation documentation to clarify options (#1621) · 43a3ce9a
      Stephan Pleines authored
      # Description
      
      - As a first time user, I skipped over the sim part at first because I
      wanted lab - clarify that sim is required.
      - Rename anchors from sim to lab.
      - Move the notes about miniconda to where conda is actually used.
      - Clarify that there are two options for installation. Otherwise, a user
      progressing in order will run the full installation, and then discover
      that a minimal installation would have been an option.
      - Use separate attention boxes for the two separate items.
      
      Note: I was able to follow the pip instructions on Ubuntu24 with a
      minimal hack to force python3.10 instead of the default 3.12. I have not
      tried the binary installation instructions.
      
      ## Type of change
      
      Documentation only.
      
      ## Checklist
      
      I have built the documentation locally.
      
      - [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 - _n/a_
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file - _Does not affect an
      extension._
      - [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
      -->
      43a3ce9a
    • robotsfan's avatar
      Fixes the `joint_parameter_lookup` type in `RemotizedPDActuatorCfg` to support list format (#1626) · 628e5916
      robotsfan authored
      # Description
      
      Bug description: When I run `python
      source/standalone/workflows/rsl_rl/train.py --task
      Isaac-Velocity-Flat-Spot-v0 --headless`
      
      ```bash
      (isaaclab) ubuntu@ubuntu-4090:~/workspaces/IsaacLab$ python source/standalone/workflows/rsl_rl/train.py --task Isaac-Velocity-Flat-Spot-v0 --headless
      [INFO][AppLauncher]: Loading experience file: /home/ubuntu/workspaces/IsaacLab/source/apps/isaaclab.python.headless.kit
      [Warning] [omni.isaac.kit.simulation_app] Modules: ['omni.kit_app'] were loaded before SimulationApp was started and might not be loaded correctly.
      [Warning] [omni.isaac.kit.simulation_app] Please check to make sure no extra omniverse or pxr modules are imported before the call to SimulationApp(...)
      Loading user config located at: '/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omni/data/Kit/Isaac-Sim/4.2/user.config.json'
      [Info] [carb] Logging to file: /home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omni/logs/Kit/Isaac-Sim/4.2/kit_20250104_162107.log
      2025-01-04 08:21:07 [0ms] [Warning] [omni.kit.app.plugin] No crash reporter present, dumps uploading isn't available.
      
      |---------------------------------------------------------------------------------------------|
      | Driver Version: 550.100       | Graphics API: Vulkan
      |=============================================================================================|
      | GPU | Name                             | Active | LDA | GPU Memory | Vendor-ID | LUID       |
      |     |                                  |        |     |            | Device-ID | UUID       |
      |     |                                  |        |     |            | Bus-ID    |            |
      |---------------------------------------------------------------------------------------------|
      | 0   | NVIDIA GeForce RTX 4090          | Yes: 0 |     | 24564   MB | 10de      | 0          |
      |     |                                  |        |     |            | 2684      | 16760a40.. |
      |     |                                  |        |     |            | 1         |            |
      |=============================================================================================|
      | OS: 20.04.6 LTS (Focal Fossa) ubuntu, Version: 20.04.6, Kernel: 5.15.0-126-generic
      | XServer Vendor: The X.Org Foundation, XServer Version: 12013000 (1.20.13.0)
      | Processor: Intel(R) Core(TM) i9-14900KF | Cores: 24 | Logical: 32
      |---------------------------------------------------------------------------------------------|
      | Total Memory (MB): 64106 | Free Memory: 39407
      | Total Page/Swap (MB): 2047 | Free Page/Swap: 2046
      |---------------------------------------------------------------------------------------------|
      [INFO]: Parsing configuration from: omni.isaac.lab_tasks.manager_based.locomotion.velocity.config.spot.flat_env_cfg:SpotFlatEnvCfg
      [INFO]: Parsing configuration from: omni.isaac.lab_tasks.manager_based.locomotion.velocity.config.spot.agents.rsl_rl_ppo_cfg:SpotFlatPPORunnerCfg
      Traceback (most recent call last):
        File "/home/ubuntu/workspaces/IsaacLab/source/standalone/workflows/rsl_rl/train.py", line 151, in <module>
          main()
        File "/home/ubuntu/workspaces/IsaacLab/source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/utils/hydra.py", line 79, in wrapper
          env_cfg, agent_cfg = register_task_to_hydra(task_name, agent_cfg_entry_point)
        File "/home/ubuntu/workspaces/IsaacLab/source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/utils/hydra.py", line 57, in register_task_to_hydra
          ConfigStore.instance().store(name=task_name, node=cfg_dict)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/hydra/core/config_store.py", line 85, in store
          cfg = OmegaConf.structured(node)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 125, in structured
          return OmegaConf.create(obj, parent, flags)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 178, in create
          return OmegaConf._create_impl(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 900, in _create_impl
          format_and_raise(node=None, key=None, value=None, msg=str(e), cause=e)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 861, in _create_impl
          return DictConfig(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 111, in __init__
          format_and_raise(node=None, key=key, value=None, cause=ex, msg=str(ex))
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 109, in __init__
          self._set_value(content, flags=flags)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 647, in _set_value
          raise e
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 644, in _set_value
          self._set_value_impl(value, flags)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 690, in _set_value_impl
          self.__setitem__(k, v)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 314, in __setitem__
          self._format_and_raise(key=key, value=value, cause=e)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/base.py", line 231, in _format_and_raise
          format_and_raise(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 308, in __setitem__
          self.__set_impl(key=key, value=value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 318, in __set_impl
          self._set_item_impl(key, value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 620, in _set_item_impl
          self._wrap_value_and_set(key, value, target_type_hint)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 636, in _wrap_value_and_set
          self._format_and_raise(key=key, value=val, cause=e)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/base.py", line 231, in _format_and_raise
          format_and_raise(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 628, in _wrap_value_and_set
          wrapped = _maybe_wrap(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 1105, in _maybe_wrap
          return _node_wrap(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 1004, in _node_wrap
          node = DictConfig(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 111, in __init__
          format_and_raise(node=None, key=key, value=None, cause=ex, msg=str(ex))
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 109, in __init__
          self._set_value(content, flags=flags)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 647, in _set_value
          raise e
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 644, in _set_value
          self._set_value_impl(value, flags)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 690, in _set_value_impl
          self.__setitem__(k, v)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 314, in __setitem__
          self._format_and_raise(key=key, value=value, cause=e)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/base.py", line 231, in _format_and_raise
          format_and_raise(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 308, in __setitem__
          self.__set_impl(key=key, value=value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 318, in __set_impl
          self._set_item_impl(key, value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 620, in _set_item_impl
          self._wrap_value_and_set(key, value, target_type_hint)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 636, in _wrap_value_and_set
          self._format_and_raise(key=key, value=val, cause=e)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/base.py", line 231, in _format_and_raise
          format_and_raise(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 628, in _wrap_value_and_set
          wrapped = _maybe_wrap(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 1105, in _maybe_wrap
          return _node_wrap(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 1004, in _node_wrap
          node = DictConfig(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 111, in __init__
          format_and_raise(node=None, key=key, value=None, cause=ex, msg=str(ex))
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 109, in __init__
          self._set_value(content, flags=flags)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 647, in _set_value
          raise e
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 644, in _set_value
          self._set_value_impl(value, flags)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 690, in _set_value_impl
          self.__setitem__(k, v)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 314, in __setitem__
          self._format_and_raise(key=key, value=value, cause=e)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/base.py", line 231, in _format_and_raise
          format_and_raise(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 308, in __setitem__
          self.__set_impl(key=key, value=value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 318, in __set_impl
          self._set_item_impl(key, value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 620, in _set_item_impl
          self._wrap_value_and_set(key, value, target_type_hint)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 636, in _wrap_value_and_set
          self._format_and_raise(key=key, value=val, cause=e)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/base.py", line 231, in _format_and_raise
          format_and_raise(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 628, in _wrap_value_and_set
          wrapped = _maybe_wrap(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 1105, in _maybe_wrap
          return _node_wrap(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 1004, in _node_wrap
          node = DictConfig(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 111, in __init__
          format_and_raise(node=None, key=key, value=None, cause=ex, msg=str(ex))
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 109, in __init__
          self._set_value(content, flags=flags)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 647, in _set_value
          raise e
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 644, in _set_value
          self._set_value_impl(value, flags)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 690, in _set_value_impl
          self.__setitem__(k, v)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 314, in __setitem__
          self._format_and_raise(key=key, value=value, cause=e)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/base.py", line 231, in _format_and_raise
          format_and_raise(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 308, in __setitem__
          self.__set_impl(key=key, value=value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 318, in __set_impl
          self._set_item_impl(key, value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 620, in _set_item_impl
          self._wrap_value_and_set(key, value, target_type_hint)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 636, in _wrap_value_and_set
          self._format_and_raise(key=key, value=val, cause=e)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/base.py", line 231, in _format_and_raise
          format_and_raise(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 628, in _wrap_value_and_set
          wrapped = _maybe_wrap(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 1105, in _maybe_wrap
          return _node_wrap(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 1004, in _node_wrap
          node = DictConfig(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 111, in __init__
          format_and_raise(node=None, key=key, value=None, cause=ex, msg=str(ex))
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 109, in __init__
          self._set_value(content, flags=flags)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 647, in _set_value
          raise e
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 644, in _set_value
          self._set_value_impl(value, flags)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 690, in _set_value_impl
          self.__setitem__(k, v)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 314, in __setitem__
          self._format_and_raise(key=key, value=value, cause=e)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/base.py", line 231, in _format_and_raise
          format_and_raise(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 308, in __setitem__
          self.__set_impl(key=key, value=value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 318, in __set_impl
          self._set_item_impl(key, value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 620, in _set_item_impl
          self._wrap_value_and_set(key, value, target_type_hint)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 636, in _wrap_value_and_set
          self._format_and_raise(key=key, value=val, cause=e)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/base.py", line 231, in _format_and_raise
          format_and_raise(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 628, in _wrap_value_and_set
          wrapped = _maybe_wrap(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 1105, in _maybe_wrap
          return _node_wrap(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 1004, in _node_wrap
          node = DictConfig(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 111, in __init__
          format_and_raise(node=None, key=key, value=None, cause=ex, msg=str(ex))
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 109, in __init__
          self._set_value(content, flags=flags)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 647, in _set_value
          raise e
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 644, in _set_value
          self._set_value_impl(value, flags)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 690, in _set_value_impl
          self.__setitem__(k, v)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 314, in __setitem__
          self._format_and_raise(key=key, value=value, cause=e)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/base.py", line 231, in _format_and_raise
          format_and_raise(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 819, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 308, in __setitem__
          self.__set_impl(key=key, value=value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 318, in __set_impl
          self._set_item_impl(key, value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 620, in _set_item_impl
          self._wrap_value_and_set(key, value, target_type_hint)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 636, in _wrap_value_and_set
          self._format_and_raise(key=key, value=val, cause=e)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/base.py", line 231, in _format_and_raise
          format_and_raise(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 899, in format_and_raise
          _raise(ex, cause)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
          raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 628, in _wrap_value_and_set
          wrapped = _maybe_wrap(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 1105, in _maybe_wrap
          return _node_wrap(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/omegaconf.py", line 1045, in _node_wrap
          node = AnyNode(value=value, key=key, parent=parent)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/nodes.py", line 135, in __init__
          super().__init__(
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/nodes.py", line 29, in __init__
          self._set_value(value)  # lgtm [py/init-calls-subclass]
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/nodes.py", line 46, in _set_value
          self._val = self.validate_and_convert(value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/nodes.py", line 76, in validate_and_convert
          return self._validate_and_convert_impl(value)
        File "/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omegaconf/nodes.py", line 154, in _validate_and_convert_impl
          raise UnsupportedValueType(
      omegaconf.errors.UnsupportedValueType: Value 'Tensor' is not a supported primitive type
          full_key: env.scene.robot.actuators.spot_knee.joint_parameter_lookup
          object_type=dict
      ```
      
      ## 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`
      - [ ] 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
      628e5916
  9. 07 Jan, 2025 1 commit
  10. 03 Jan, 2025 3 commits
    • Kyle Morgenstein's avatar
      Adds body tracking option to ViewerCfg (#1620) · a29bea03
      Kyle Morgenstein authored
      # Description
      
      Resolves Issue #1534 by adding non-root body tracking as an option in
      the ViewerCfg. See the issue for justification/discussion. API as
      follows:
      
      - Adds origin_type "asset_body"
      - Adds field "body_name"
      
      When origin_type = "asset_body" and "body_name" matches a body in the
      asset specified in "asset_name", the viewport is configured to track the
      link frame of the body in world coordinates. By using the existing eye
      and lookat fields in ViewerCfg the additional features are enabled:
      
      - Tracking the end effector of an arm during manipulation (see below)
      - Tracking a fixed offset from the end effector of an arm (e.g.
      mimicking the view of a wrist-mounted camera)
      - Tracking a mobile base using the currently-supported workaround for
      lack of wheel physics by defining a virtual arm to mimic the motion of
      the robot
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Training Video from "Isaac-Lift-Cube-Franka-v0" after 1000
      iterations.
      
      Viewer defined as follows:
      
      viewer = ViewerCfg(eye=(0.5, 0.5, 0.0), origin_type="asset_body",
      env_index=0, asset_name="robot", body_name="panda_hand")
      
      No other changes were made from the default environment definition.
      
      
      https://github.com/user-attachments/assets/fff24b50-c9d0-48dd-b4c2-3641a11f0d4d
      
      ## 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
      - [X] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      ---------
      Signed-off-by: 's avatarKelly Guo <kellyg@nvidia.com>
      Signed-off-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      Co-authored-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
      a29bea03
    • Rishi Veerapaneni's avatar
      Fixes MARL workflows for recording videos during training/inferencing (#1596) · 7ea72c40
      Rishi Veerapaneni authored
      # Description
      
      Fixing bug so that using training workflow on MARL workflow populates
      videos/train.
      See #1595
      
      ## Type of change
      - Bug fix (non-breaking change which fixes an issue)
      ## Screenshots
      
      ![before_and_after](https://github.com/user-attachments/assets/5b662a88-dedd-4220-a0c4-8e7d09ceb51f)
      The first run was without the changes where we see videos/train empty.
      The second run is after the changes with videos/train successfully
      populated.
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [N/A] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [Sort of] I have added tests that prove my fix is effective or that my
      feature works; I have verified that it works on train.py for skrl and
      rl_games. I have not verified rsl_rl or sb3 as well have not verified
      play.py on any of the four. However I have implemented the changes on
      all of them as they all seem to follow the exact same structure.
      - [ ] 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; Unsure if this fix is worth being labelled as a
      contributor, if so would be happy to be added to the contributors.md
      (full name is Rishi Veerapaneni).
      7ea72c40
    • Octi Zhang's avatar
      Fixes error in Articulation where default_joint_stiffness and... · e8ea1850
      Octi Zhang authored
      Fixes error in Articulation where default_joint_stiffness and default_joint_damping is not correctly set if actuator is instance of ImplicitActuator (#1580)
      
      # Description
      
      Before the fix, the field, default_joint_stiffness, and
      default_joint_damping in omni.isaac.lab.assets.Articulation will be
      the default value configured Joint Drive property in usd file, and
      defining a new value with actuator config will not have effect
      if the actuator is type ImplicitActuator
      
      after the fix, all actuator types will be able to override
      default_joint_stiffness and default_joint_damping
      
      Fixes #1552 
      
      <!-- As a practice, it is recommended to open an issue to have
      discussions on the proposed pull request.
      This makes it easier for the community to keep track of what is being
      developed or added, and if a given feature
      is demanded by more than one party. -->
      
      ## 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)
      
      <!--
      Example:
      
      | Before | After |
      | ------ | ----- |
      | _gif/png before_ | _gif/png after_ |
      
      To upload images to a PR -- simply drag and drop an image while in edit
      mode and it should upload the image directly. You can then paste that
      source into the above before/after sections.
      -->
      
      ## 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
      - [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 avatarKelly Guo <kellyguo123@hotmail.com>
      Co-authored-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
      Co-authored-by: 's avatarJames Tigue <166445701+jtigue-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      e8ea1850
  11. 02 Jan, 2025 3 commits
    • Mayank Mittal's avatar
      Fixes event term for pushing root by setting velocity (#1584) · 574abc4b
      Mayank Mittal authored
      # Description
      
      Previously, the event term set the current root velocity to the sampled
      values. However, this isn't the same as "pushing" the root. This MR
      fixes this issue by changing the operation inside.
      
      ## 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
      - [ ] 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
      574abc4b
    • steple's avatar
      Adds missing "not" in error message in setup_vscode.py (#1615) · e2770650
      steple authored
      # Description
      
      Adds a missing word in an error message.
      Also fixes a broken link in the pull request template.
      
      (I did not enter an issue since it seems like a tiny change, but will if
      you'd like me to.)
      
      ## 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 - _I don't
      think any are necessary._
      - [ ] My changes generate no new warnings - _I doubt it, but I have not
      been able to install everything, I discovered this issue on my first
      attempt to build._
      - [ ] I have added tests that prove my fix is effective or that my
      feature works - _Not a feature._
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file - _Not sure which file that is
      in this case, please let me know if this is applicable._
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      ---------
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      e2770650
    • steple's avatar
      Updates copyright notices to 2025 (#1616) · b26d5c63
      steple authored
      # Description
      
      Updates all copyright notices to 2025. This should make pre-commit
      checks happy. My local system is still in 2024, but apparently github is
      in 2025. Happy New Year!
      
      (I did not enter an issue, but happy to do so if you like me to.)
      
      ## 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 - _I don't
      think it's needed._
      - [x] My changes generate no new warnings - _As far as I can tell._
      - [ ] I have added tests that prove my fix is effective or that my
      feature works - _Not a feature._
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file - _n/a?_
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      b26d5c63
  12. 27 Dec, 2024 1 commit
    • -T.K.-'s avatar
      Fixes JointAction not preserving order when using all joints (#1587) · fae5c7a5
      -T.K.- authored
      # Description
      
      This PR fixes #1586.
      
      An additional condition is added to the `JointAction._joint_ids` logic
      where if user specifies to preserve the joint order, the `_joint_ids`
      field will not be cleared even if the speficied list contains all the
      joints.
      
      ## 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
      - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      Signed-off-by: 's avatar-T.K.- <t_k_233@outlook.com>
      fae5c7a5
  13. 20 Dec, 2024 1 commit
    • Kelly Guo's avatar
      Updates installation instruction for SKRL JAX (#1570) · dd044a49
      Kelly Guo authored
      # Description
      
      SKRL provides examples using JAX, which by default only installs the CPU
      version. To be compatible with CUDA, it is required to install JAX prior
      to installing SKRL. This PR updates the installation instructions for
      SKRL to note this requirement.
      
      ## 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
      
      <!--
      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
      -->
      dd044a49
  14. 18 Dec, 2024 2 commits
    • Kelly Guo's avatar
      Sets default clipping mode for cameras to None (#1559) · 052975a9
      Kelly Guo authored
      # Description
      
      In https://github.com/isaac-sim/IsaacLab/pull/891, the
      `depth_clipping_behavior` parameter was added with the default mode set
      to `"zero"`. This introduced a breaking behavior in the depth cameras as
      previously, values returned by the cameras were not clipped. This PR
      sets the default behavior to `"none"`, which should bring us back to the
      original camera behavior.
      
      ## 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
      -->
      052975a9
    • Özhan Özen's avatar
      Adds null-space control option within `OperationSpaceController` (#1557) · 71df8680
      Özhan Özen authored
      # Description
      
      This PR adds an option to enable null-space control within
      `OperationSpaceController` (following the discussions in #913).
      
      ## Details
      
      Currently, `OperationSpaceController` controls only the task space,
      which results in joint movements within the null-space of redundant
      robotic manipulators. In general, it is desirable to have some control
      over the robot null-space, e.g., to prevent the joints from going near
      their limits. Hence, the PR adds the following:
      
      - An optional nullspace (position) control integrated into
      `OperationSpaceController`. This controller attracts the robot joints to
      provided targets whereas possible, in parallel to the task-space target.
      - Test cases for `OperationSpaceController` that use null-space control.
      - Updates to the related tutorial script and documentation to use and
      describe null-space control.
      - Integration of (optional) null-space control to
      `OperationSpaceControllerAction` with predefined joint targets, e.g.,
      default joint positions, joint centers, zero joint position.
      - Integration of null-space control to `"Isaac-Reach-Franka-OSC-v0"`
      manager-based environment.
      
      Null-space control utilizes either the dynamically consistent Jacobian
      inverse or the Moore–Penrose inverse, depending on whether the full
      inertia matrix is available.
      
      ## 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 avatarÖzhan Özen <41010165+ozhanozen@users.noreply.github.com>
      Co-authored-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
      71df8680