1. 23 Jul, 2025 1 commit
    • Kelly Guo's avatar
      Updates torch to 2.7.0 with cuda 12.8 blackwell support (#2998) · 219d001e
      Kelly Guo authored
      # Description
      
      As required by https://github.com/isaac-sim/IsaacLab/pull/2962 and
      vulnerabilities in torch 2.5.1, this change updates torch to 2.7.0
      during the installation of Isaac Lab.
      
      Although inconsistent with Isaac Sim 4.5 (still on torch 2.5.1), Isaac
      Lab should work fine with 2.7.0+cu128. This update will also allow us to
      have better support for blackwell GPUs.
      
      ## 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)
      - New feature (non-breaking change which adds functionality)
      - This change requires a documentation update
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have 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
      -->
      219d001e
  2. 22 Jul, 2025 1 commit
    • ooctipus's avatar
      Supports composite observation space with proper min max in manager based env (#2811) · 1f0be3d2
      ooctipus authored
      # Description
      This PR supports enables ManagerBasedRLEnv to properly support
      gymnaisum's composite observation gym.spaces.Dict at term-level with
      proper min, max specification. The benefit is that this will give
      rl-library a clearer signs how to pre-process the obseravtion data.
      
      Before:
      All terms are assigned with `gym.Spaces.Box(min=-np.inf, max=np.inf)`,
      one problem with this is that from rl-library side, is that some
      rl-libraries network construction depends heavily on observations space
      details. RL-library (e.g. sb3) looks at `gym.Spaces.Box.min` and
      `gym.Spaces.Box.max` to determine if they need to normalize it at
      library side.
      
      After:
      this PR utilizes on obs_terms's clip to determine if gym.Spaces.Box
      should be stricter. For example, environment obs_term returning
      gym.Spaces.Box(min=0, max=255) will be automatically detected by sb3,
      and a proper scalling be applied automatically. whereas
      gym.Spaces.Box(min=-inf, max=inf) will fail.
      
      while no special case is treated for gym.Spaces.Box(min=-1, max=1), but
      this will makes the rl-library easy to figure out that this term is
      already clipped, not more transformation needed.
      
      
      ## Type of change
      
      <!-- As you go through the list, delete the ones that are not
      applicable. -->
      
      - New feature (non-breaking change which adds functionality)
      
      ## Screenshots
      
      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.
      -->
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [x] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      <!--
      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 <kellyg@nvidia.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      1f0be3d2
  3. 20 Jul, 2025 2 commits
    • Kelly Guo's avatar
      Adds automated job to check for dependency licensing (#2488) · a797c832
      Kelly Guo authored
      # Description
      
      Automated job that runs on every PR to check for any dependencies that
      have non-permissive licenses.
      
      ## 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
      
      <!--
      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>
      a797c832
    • Kelly Guo's avatar
      Adds asset license for Valkyrie robot (#2979) · 2ff2ed29
      Kelly Guo authored
      # Description
      
      Adds license file for the Valkyrie robot in order for us to include it
      into Isaac assets.
      
      
      ## 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
      -->
      2ff2ed29
  4. 19 Jul, 2025 1 commit
    • Kelly Guo's avatar
      Adds citation link for the repository (#2935) · 2884d4ee
      Kelly Guo authored
      # Description
      
      Adds a CITATION.cff file for automatically generating citation link.
      
      ## 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
      -->
      
      ---------
      Signed-off-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
      2884d4ee
  5. 18 Jul, 2025 3 commits
    • ooctipus's avatar
      Enables sb3 to load checkpoint to continue training (#2954) · 2f12bb98
      ooctipus authored
      # Description
      
      This PR extend `script/reinforcement_learning/sb3/train.py` with feature
      to continue learning by loading the checkpoint.
      
      ## Type of change
      
      <!-- As you go through the list, delete the ones that are not
      applicable. -->
      
      - New feature (non-breaking change which adds functionality)
      
      ## Screenshots
      
      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.
      -->
      
      ## 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
      -->
      
      ---------
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      Co-authored-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
      2f12bb98
    • Giulio Romualdi's avatar
      Fixes joint out of position limits terminations (#2442) · ed8fe3c4
      Giulio Romualdi 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/main/source/refs/contributing.html
      -->
      
      This PR fixes shape‑handling bugs in the termination helpers
      **`joint_pos_out_of_limit`** and **`joint_pos_out_of_manual_limit`**:
      
      * **Root cause** – both functions reduced across joints with
      `torch.any(dim=1)` **before** slicing with `asset_cfg.joint_ids`,
      leaving a 1‑D tensor and triggering an `IndexError: too many indices`.
      * **Fix** – construct a single `violations` mask, optionally slice
      joints, **then** reduce with `torch.any(dim=1)`.
      This preserves correct shapes (`[num_envs]`) and works for any
      joint‑selection type (`None`, `slice`, list, or tensor).
      * **Additional improvements**
      
      * Made `asset_cfg` immutable by avoiding in‑place modification of
      `joint_ids`.
        * Added docstring details and harmonised logic between both helpers.
      
      No new dependencies were introduced.
      
      Fixes https://github.com/isaac-sim/IsaacLab/issues/2441
      
      <!-- 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. -->
      
      * [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
      
      *Not applicable – logic‑only change.*
      
      <!--
      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
      
      * [ ] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      * [ ] I have made corresponding changes to the documentation
      * [x] My changes generate no new warnings
      * [x] I have added tests that prove my fix is effective or that my
      feature works
      * [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      * [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      <!--
      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 avatarGiulio Romualdi <giulio.romualdi@gmail.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      ed8fe3c4
    • ooctipus's avatar
      Fixes test_modify_env_param_curr_term (#2950) · ff9c7529
      ooctipus authored
      This PR fixes the bug in the test `test_modify_env_param_curr_term`
      ```
          modify_reset_joint_pos = CurrTerm(
              func=mdp.modify_term_cfg,
              params={
                  "address": "events.reset_pole_position.params.position_range", <------
                  "modify_fn": replace_value,
                  "modify_params": {"value": (-0.0, 0.0), "num_steps": 1},
              },
          )
      ```
      
      it is trying to modify `events.reset_**pole**_position`
      
      but in the assertion, it is checking `events.reset_**cart**_position`
      
      ```
      joint_ids = env.event_manager.cfg.reset_cart_position.params["asset_cfg"].joint_ids
      assert torch.all(robot.data.joint_pos[:, joint_ids] == 0.0)
      ```
      
      it wasn't an error before because reset_joints_by_offset function was
      buggy, and the tests suite passed before right before that bug was
      fixed. Now that bug fixed, we found out this bug.
      
      ## Screenshots
      
      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.
      -->
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [x] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      <!--
      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 <kellyg@nvidia.com>
      Signed-off-by: 's avatarooctipus <zhengyuz@nvidia.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      Co-authored-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
      ff9c7529
  6. 16 Jul, 2025 2 commits
    • MinGyu Lee's avatar
      Remove deprecated env variable in docs (#2936) · 0b826f72
      MinGyu Lee authored
      # Description
      
      Remove the usage of the REMOTE_DEPLOYMENT environment variable (e.g.,
      export REMOTE_DEPLOYMENT=3) from the example code blocks in the
      [IsaacLab App
      documentation](https://isaac-sim.github.io/IsaacLab/main/source/api/lab/isaaclab.app.html),
      as this variable has been deprecated.
      
      Fixes #2920  (issue)
      
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Screenshots
      Before
      <img width="817" height="279" alt="isaaclab_app"
      src="https://github.com/user-attachments/assets/cfd45532-8b43-4285-9ed9-81039c7624e1"
      />
      After
      <img width="810" height="256" alt="Screenshot from 2025-07-15 09-54-47"
      src="https://github.com/user-attachments/assets/65838873-7374-4eee-8963-f35ca661725e"
      />
      
      
      
      ## Checklist
      
      - [O] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [O] I have made corresponding changes to the documentation
      - [O] My changes generate no new warnings
      - [O] 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
      - [O] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      0b826f72
    • Bikram Pandit's avatar
      Extends `ContactSensorData` by `force_matrix_w_history` attribute (#2916) · 1e273226
      Bikram Pandit authored
      # Description
      
      This is a follow-up to #1746 by @lukasfro — thanks for the great work
      there!
      
      I’ve been using this feature and found it really helpful. Since the only
      remaining request was to resolve merge conflicts and the PR has been
      quiet for a bit, I went ahead and rebased it on the latest `main` to
      help move things forward.
      
      I branched directly off @lukasfro’s [original
      branch](https://github.com/lukasfro/IsaacLab/tree/feature/force_matrix_w_history)
      to preserve their authorship, and only applied the changes needed to
      resolve the conflicts.
      
      Of course, if @lukasfro prefers to continue the original PR, I’m more
      than happy to close this. Just hoping to be helpful and support getting
      this great addition merged.
      
      All credit for the original work goes to @lukasfro.
      
      Fixes #1720
      
      ## 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
      - [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>
      Co-authored-by: 's avatarlukasfro <lukas.froehlich@swiss-mile.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      1e273226
  7. 15 Jul, 2025 1 commit
    • Antoine RICHARD's avatar
      Updates doc on actuators to include some references (#2656) · f22b5eb8
      Antoine RICHARD authored
      # Description
      
      Expands the documentation on actuators and the importance of the
      armature parameter when using explicit actuators.
      
      ## 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
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      f22b5eb8
  8. 12 Jul, 2025 7 commits
    • yijieg's avatar
      Removes wandb logging in AutoMate env (#2912) · 3d5ea25d
      yijieg authored
      # Description
      
      wandb logging function is provided in rl_games script. So we remove the
      wandb logging in task level. Also, we edit the task registration style
      to help startup perf.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      - This change requires a documentation update
      
      ## Checklist
      
      - [ x ] I have run the [`pre-commit` checks](https://pre-commit.com/)
      with `./isaaclab.sh --format`
      - [ x ] I have made corresponding changes to the documentation
      - [ x ] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [ x ] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      ---------
      Co-authored-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
      3d5ea25d
    • Antoine RICHARD's avatar
      Sets enable_stabilization to false by default. (#2628) · 13965cc3
      Antoine RICHARD authored
      # Description
      
      Changes the default setting for the enable stabilization flag from True
      to False.
      
      Fixes #2319
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Screenshots
      
      | Before | After |
      :-------------------------:|:-------------------------:
      
      ![net_contact_forces_1kz](https://github.com/user-attachments/assets/a9d7851c-d42a-4f22-8ea7-6b187070057e)|
      ![net_contact_forces_after](https://github.com/user-attachments/assets/523b8b5c-d8db-435c-bb66-c4312d2c6c18)
      
      ![force_matrices_1khz](https://github.com/user-attachments/assets/30feb2e1-d1f6-402f-8ca0-3a727bce4424)
      |
      ![force_matrices_after](https://github.com/user-attachments/assets/3294335f-c5d5-4c4d-ac8a-e2c2e995e2a0)
      
      
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      ---------
      Signed-off-by: 's avatarAntoine RICHARD <antoiner@nvidia.com>
      Co-authored-by: 's avatarMayank Mittal <12863862+Mayankm96@users.noreply.github.com>
      13965cc3
    • ooctipus's avatar
      Adds new curriculum mdp that allows modification on any environment parameters (#2777) · cee5027b
      ooctipus authored
      # Description
      
      This PR created two curriculum mdp that can change any parameter in env
      instance.
      namely `modify_term_cfg` and `modify_env_param`.
      
      `modify_env_param` is a more general version that can override any value
      belongs to env, but requires user to know the full path to the value.
      
      `modify_term_cfg` only work with manager_term, but is a more user
      friendly version that simplify path specification, for example, instead
      of write "observation_manager.cfg.policy.joint_pos.noise", you instead
      write "observations.policy.joint_pos.noise", consistent with hydra
      overriding style
      
      Besides path to value is needed, modify_fn, modify_params is also needed
      for telling the term how to modify.
      
      
      
      Demo 1: difficulty-adaptive modification for all python native data type
      ```
      # iv -> initial value, fv -> final value
      def initial_final_interpolate_fn(env: ManagerBasedRLEnv, env_id, data, iv, fv, get_fraction):
          iv_, fv_ = torch.tensor(iv, device=env.device), torch.tensor(fv, device=env.device)
          fraction = eval(get_fraction)
          new_val = fraction * (fv_ - iv_) + iv_
          if isinstance(data, float):
              return new_val.item()
          elif isinstance(data, int):
              return int(new_val.item())
          elif isinstance(data, (tuple, list)):
              raw = new_val.tolist()
              # assume iv is sequence of all ints or all floats:
              is_int = isinstance(iv[0], int)
              casted = [int(x) if is_int else float(x) for x in raw]
              return tuple(casted) if isinstance(data, tuple) else casted
          else:
              raise TypeError(f"Does not support the type {type(data)}")
      ```
      (float)
      ```
          joint_pos_unoise_min_adr = CurrTerm(
              func=mdp.modify_term_cfg,
              params={
                  "address": "observations.policy.joint_pos.noise.n_min",
                  "modify_fn": initial_final_interpolate_fn,
                  "modify_params": {"iv": 0., "fv": -.1, "get_fraction": "env.command_manager.get_command("difficulty")"}
              }
          )
      ```
      
      (tuple or list)
      ```
      command_object_pose_xrange_adr = CurrTerm(
              func=mdp.modify_term_cfg,
              params={
                  "address": "commands.object_pose.ranges.pos_x",
                  "modify_fn": initial_final_interpolate_fn,
                  "modify_params": {"iv": (-.5, -.5), "fv": (-.75, -.25), "get_fraction": "env.command_manager.get_command("difficulty")"}
              }
          )
      ```
      
      Demo 3: overriding entire term on env_step counter rather than adaptive
      ```
      def value_override(env: ManagerBasedRLEnv, env_id, data, new_val, num_steps):
          if env.common_step_counter > num_steps:
              return new_val
          return mdp.modify_term_cfg.NO_CHANGE
      
      object_pos_curriculum = CurrTerm(
              func=mdp.modify_term_cfg,
              params={
                  "address": "commands.object_pose",
                  "modify_fn": value_override,
                  "modify_params": {"new_val": <new_observation_term>, "num_step": 120000 }
              }
          )
      ```
      
      Demo 4: overriding Tensor field within some arbitary class not visible
      from term_cfg
      (you can see that 'address' is not as nice as mdp.modify_term_cfg)
      ```
      def resample_bucket_range(env: ManagerBasedRLEnv, env_id, data, static_friction_range, dynamic_friction_range, restitution_range, num_steps):
          if env.common_step_counter > num_steps:
                range_list = [static_friction_range, dynamic_friction_range, restitution_range]
                ranges = torch.tensor(range_list, device="cpu")
                new_buckets = math_utils.sample_uniform(ranges[:, 0], ranges[:, 1], (len(data), 3), device="cpu")
                return new_buckets
          return mdp.modify_env_param.NO_CHANGE
      
      object_physics_material_curriculum = CurrTerm(
              func=mdp.modify_env_param,
              params={
                  "address": "event_manager.cfg.object_physics_material.func.material_buckets",
                  "modify_fn": resample_bucket_range,
                  "modify_params": {"static_friction_range": [.5, 1.], "dynamic_friction_range": [.3, 1.], "restitution_range": [0.0, 0.5], "num_step": 120000 }
              }
          )
      ```
      
      
      ## Type of change
      
      <!-- As you go through the list, delete the ones that are not
      applicable. -->
      
      - New feature (non-breaking change which adds functionality)
      
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [x] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      <!--
      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 avatarooctipus <zhengyuz@nvidia.com>
      Signed-off-by: 's avatarKelly Guo <kellyg@nvidia.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      cee5027b
    • ooctipus's avatar
      Fixes reset_joints_by_scale and reset_joints_by_offsets to only affect the... · 9df117c9
      ooctipus authored
      Fixes reset_joints_by_scale and reset_joints_by_offsets to only affect the joint_names specified in SceneEntityCfg (#2899)
      
      # Description
      
      Both reset_joints_by_offsets and reset_joints_by_scale ignores the
      joint_ids specified in SceneEntityCfg passed through asset_cfg and
      affects all joints.
      
      This bug is affecting all cartpole environments. 
      
      After the fix the functions are restricted to only reset the joint
      specified through SceneEntityCfg, Cartpole environment runs and reset
      behaves correctly
      
      Fixes #2800 #980 #1742 
      
      ## 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 avatarKelly Guo <kellyg@nvidia.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      9df117c9
    • ooctipus's avatar
      Upgrades pillow dependencies for upcoming Kit 107.3.1 (#2908) · e2118ac9
      ooctipus authored
      # Description
      
      @Toni-SM pointed out that Isaac Lab must match Isaac Sim/ Kit
      107.3.1-206797 Pillow 11.2.1
      
      this PR update pillow dependencies to match that of sim and kit
      
      ## 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)
      
      ## Screenshots
      
      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.
      -->
      
      ## 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
      -->
      e2118ac9
    • Pascal Roth's avatar
      Fixes missing `ray_cast_drift` in `RayCasterCamera` (#2901) · e49ab0a1
      Pascal Roth authored
      # Description
      
      Fixes missing  `ray_cast_drift` in `RayCasterCamera`
      
      Fixes #2891 
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [x] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      ---------
      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>
      e49ab0a1
    • Patrick Yin's avatar
      Fixes ObservationManager history buffer corrupted by external calls to... · d1ecc377
      Patrick Yin authored
      Fixes ObservationManager history buffer corrupted by external calls to ObservationManager.compute (#2885)
      
      # Description
      
      When observation group has history length greater than zero, calling
      `ObservationManager.compute` modifies history state by appending current
      observation to history. This creates history corruption when
      non-`ManagerBasedEnv` classes invoke `ObservationManager.compute`. This
      PR introduces `update_history` flag (default to `False`) and only
      `ManagerBasedEnv` has the privilege to run `ObservationManager.compute`
      with `update_history=True`. If `update_history=False` and the history
      buffer is `None`, a copy of history is returned instead of the original.
      
      I have added test cases to verify this fix is effective.
      
      Fixes #2884 
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [x] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      ---------
      Signed-off-by: 's avatarooctipus <zhengyuz@nvidia.com>
      Signed-off-by: 's avatarKelly Guo <kellyg@nvidia.com>
      Co-authored-by: 's avatarooctipus <zhengyuz@nvidia.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      d1ecc377
  9. 11 Jul, 2025 1 commit
    • James Tigue's avatar
      Adds math tests for transforms, rotations, and conversions (#103) (#2801) · 8e57a3a6
      James Tigue authored
      # Description
      
      this PR adds tests for:
      
      - scale_transform
      - unscale_transform
      - saturate
      - normalize
      - copysign
      - convert_quat
      - quat_conjugate
      - quat_from_euler_xyz
      - quat_from_matrix
      - euler_xyz_from_quat
      - matrix_from_euler
      - quat_from_angle_axis
      - axis_angle_from_quat
      - skew_symmetric_matrix
      - combine_transform
      - subtract_transform
      - compute_pose_error
      
      Fixes # (issue)
      
      ## 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)
      - New feature (non-breaking change which adds functionality)
      
      ## Checklist
      
      - [ ] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [ ] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      <!--
      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>
      Signed-off-by: 's avatarKelly Guo <kellyg@nvidia.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      8e57a3a6
  10. 10 Jul, 2025 4 commits
    • James Tigue's avatar
      Fixes deprecation overload for hanging quat_rotate calls in articulation and... · 0eb323ed
      James Tigue authored
      Fixes deprecation overload for hanging quat_rotate calls in articulation and rigid_object_collection (#2867)
      
      # Description
      
      Changes remaining quat_rotate calls to quat_apply calls.
      
      Fixes #2859 
      
      <!-- 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)
      
      ## Checklist
      
      - [ ] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [ ] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      <!--
      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 <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>
      0eb323ed
    • ooctipus's avatar
      Supports sb3 wrapper to pre-process env's image obs-space to trigger sb3... · 3692aced
      ooctipus authored
      Supports sb3 wrapper to pre-process env's image obs-space to trigger sb3 natively supported cnn creation pipeline (#2812)
      
      # Description
      
      This PR modifies the SB3 Wrapper so that it utilizes the 
      SB3 natively supported encoder creation on properly defined composite
      observation space,
      
      SB3's automatic CNN encoding will apply when
      1. if observation space of that term is of shape, GrayScale, RGB, or
      RGBD
      2. if agent_cfg has normalized flag, expects data to have channel as the
      first dimension, and data pre_normalized
      3. if agent doesn't has normalized flag, expects data to have space
      min=0, max=255, dtype=uint8
      
      This PR makes sure the sb3 wrapper adjust environment image term to meet
      either condition 2 or condition 3 by looking at space's min and max, so
      sb3 creation pipeline will be applied automatically.
      
      
      ## Type of change
      
      <!-- As you go through the list, delete the ones that are not
      applicable. -->
      
      - New feature (non-breaking change which adds functionality)
      
      ## Screenshots
      
      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.
      -->
      
      ## 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
      -->
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      3692aced
    • James Smith's avatar
      Updates to ray caster ray alignment and more customizable drift sampling (#2556) · d02d3b8a
      James Smith authored
      This PR pushes some changes from our internal RAI fork of Isaac Lab.
      
      The 2 main changes are:
      
      #### Adds a new `ray_alignment` parameter to replace the previous
      `yaw_only` arg.
      
      Now the ray alignment can be aligned to `world`, `yaw`, or `base.
      
      #### Improves drift height sampling
      
      At the moment, the `RayCasterCfg` hosts a parameter called
      `drift_range`. It allows to randomize the position of the sensor in
      world frame, which comes with a couple of downsides:
      * If the projection is done along the gravity vector, the z-component
      drift term cannot be visualized (it is implicitly given in the pose, and
      added to the height scan in the observation term).
      * The perturbation is applied in world frame, i.e., if the ray cast is
      yaw aligned, then the drift varies with the yaw angle
      * The drift is applied to all (x,y,z) components equally
      
      This PR adds a new parameter ray_cast_drift_range. It gives more freedom
      in choosing the drift ranges as x, y and z components can be treated
      separately. It also applies the drift after projecting and rotating the
      ray cast points, i.e. the drift is now invariant under the yaw angle and
      the drift in z is can be visualized
      
      I've added Fabian Jenelten and Jeonghwan Kim to this PR as they worked
      on these changes within RAI - I'm simply helping to push them up 😄
      
      ## Type of change
      
      <!-- As you go through the list, delete the ones that are not
      applicable. -->
      
      - New feature (non-breaking change which adds functionality)
      - Breaking change (fix or feature that would cause existing
      functionality to not work as expected)
      
      ## 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
      -->
      
      ---------
      Signed-off-by: 's avatarooctipus <zhengyuz@nvidia.com>
      Co-authored-by: 's avatarooctipus <zhengyuz@nvidia.com>
      d02d3b8a
    • James Tigue's avatar
      Adds ability to set platform height independent of object height for terrain (#2695) · c5fd8ebe
      James Tigue authored
      # Description
      Allow to set platform height independent of the object height.
      
      <!-- 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
      - New feature (non-breaking change which adds functionality)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      Credit: @fjenelten-bdai
      
      ---------
      Signed-off-by: 's avatarJames Tigue <166445701+jtigue-bdai@users.noreply.github.com>
      Signed-off-by: 's avatarKelly Guo <kellyg@nvidia.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      c5fd8ebe
  11. 09 Jul, 2025 5 commits
    • James Tigue's avatar
      Fixes export LSTM to onnx file (#2821) · db5c1c32
      James Tigue authored
      # Description
      
      This PR fixes an issue when exporting LSTM to ONNX. The normalizer was
      resetting to zero. This PR calls `eval()` during the `forward()`.
      
      Fixes # (issue)
      
      ## 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)
      
      ## Screenshots
      Left: After, Right: Before
      
      
      ![image](https://github.com/user-attachments/assets/9a8f765f-653a-4a57-b9ee-af00e8e0539c)
      
      ## Checklist
      
      - [ ] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [ ] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      <!--
      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
      -->
      db5c1c32
    • James Tigue's avatar
      Adds absolute and relative noise to `MeshRepeatedObjectsTerrain` (#2830) · bc5a3670
      James Tigue authored
      # Description
      
      This PR expands the noise parameters of the MeshRepeatedObjectsTerrain
      by adding minimum and maximum absolute and relative noise for.
      This adds deprecation warnings to existing parameters but they will
      function normally.
      
      Fixes # (issue)
      
      ## Type of change
      
      <!-- As you go through the list, delete the ones that are not
      applicable. -->
      
      - New feature (non-breaking change which adds functionality)
      
      ## Screenshots
      
      Please attach before and after screenshots of the change if applicable.
      
      ## 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 avatarKelly Guo <kellyguo123@hotmail.com>
      Signed-off-by: 's avatarKelly Guo <kellyg@nvidia.com>
      Co-authored-by: 's avatarFabian Jenelten <162192900+fjenelten-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      bc5a3670
    • James Tigue's avatar
      Fixes articulation and render_cfg tests to be proper pytests (#2851) · 6184b562
      James Tigue authored
      # Description
      
      Fixes some pytest migration errors for test_articulation and
      test_render_cfg
      
      Fixes # (issue)
      
      ## 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
      - [ ] My changes generate no new warnings
      - [x] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [ ] 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 <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>
      6184b562
    • Michael Gussert's avatar
      Fixes GitHub edit link (#2873) · 043f045c
      Michael Gussert authored
      I added the path_to_docs key to the html_theme_options dictionary in
      conf.py and set it to docs/
      
      ## 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
      043f045c
    • James Tigue's avatar
      Adds IMU projected_gravity_b and IMU computation speed optimizations (#2512) · fde59597
      James Tigue 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/main/source/refs/contributing.html
      -->
      This PR adds projected_gravity_b data stream as well as speeding up
      computation by during batch rotating of all data streams to base frame
      in one computation rather than each data stream separately.
      
      This PR is dependant on [PR
      2129](https://github.com/isaac-sim/IsaacLab/pull/2129/) and should not
      be merged until that PR is merged.
      
      Fixes # (issue)
      
      <!-- 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. -->
      
      - New feature (non-breaking change which adds functionality)
      
      <!--
      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
      
      - [ ] 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
      -->
      
      ---------
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      fde59597
  12. 08 Jul, 2025 3 commits
    • Kelly Guo's avatar
      Updates gymnasium to v1.2.0 (#2852) · 75824e8d
      Kelly Guo authored
      # Description
      
      Updates gymnasium to 1.2.0, which includes a fix for memory leak when
      recording videos during training with `--video`.
      
      Fixes #1996 
      
      ## 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)
      - 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
      
      ## 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
      -->
      75824e8d
    • ooctipus's avatar
      Fixes numpy ver to <2 for isaaclab_rl and isaaclab_tasks (#2866) · 8d589fc8
      ooctipus authored
      # Description
      
      This PR fixes the numpy version get upgraded to >2 when installing
      rl_packages dependencies
      
      ## 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)
      
      ## Screenshots
      
      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.
      -->
      
      ## 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
      - [x] I have not done this task
      -->
      8d589fc8
    • Kelly Guo's avatar
      Allows slicing to be processed from lists (#2853) · 367925cb
      Kelly Guo authored
      # Description
      
      replace_slices_with_strings() and replace_strings_with_slices() in
      [IsaacLab/source/isaaclab/isaaclab/utils/dict.py](https://github.com/isaac-sim/IsaacLab/blob/main/source/isaaclab/isaaclab/utils/dict.py)
      are changed to allow slices being process if a list of dicts is passed
      in as input.
      
      Cherry picks changes from
      https://github.com/isaac-sim/IsaacLab/pull/2571 by @LinghengMeng
      
      Fixes #2481 
      
      
      ## 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
      -->
      367925cb
  13. 02 Jul, 2025 1 commit
    • Masoud Moghani's avatar
      Sets robomimic version to v0.4.0 (#2814) · 752be19b
      Masoud Moghani 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/main/source/refs/contributing.html
      -->
      
      This MR fixes compatibility issues with robomimic by setting its
      installation version to v0.4.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. -->
      
      - 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
      
      - [ ] 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
      -->
      752be19b
  14. 28 Jun, 2025 2 commits
    • Özhan Özen's avatar
      Fixes the implementation of `quat_inv()` (#2797) · 3d6f55b9
      Özhan Özen authored
      # Description
      
      Corrects `quat_inv()` in utils/math.py: the inverse is now computed as:
      
      `quat_conjugate(q) / q.pow(2).sum(dim=-1, keepdim=True).clamp(min=eps)`
      
      ensuring correct results for **non-unit** quaternions.  
      
      Fixes #1263 (see discussion for details). Also updated `CHANGELOG.rst`
      and corrected a few minor typos within.
      
      ## 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
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      ---------
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      3d6f55b9
    • Brian Bingham's avatar
      Updates training_jetbot_reward_exploration.rst (#2788) · 4a7d15db
      Brian Bingham authored
      # Description
      
      This is a small change to the Walkthrough documentation to make it
      explicit to change the observation space dimension in the second half of
      the Exploring the RL problem tutorial.
      
      Fixes #2787
      
      ## Type of change
      
      - This change is exclusively documentation
      
      ---------
      Signed-off-by: 's avatarBrian Bingham <briansbingham@gmail.com>
      Signed-off-by: 's avatarMichael Gussert <michael@gussert.com>
      Co-authored-by: 's avatarMichael Gussert <michael@gussert.com>
      4a7d15db
  15. 27 Jun, 2025 6 commits
    • Kelly Guo's avatar
      Updates play script for SB3 and RL library benchmarks (#2789) · 66cc743e
      Kelly Guo authored
      # Description
      
      Minor fixes for SB3 play script to accommodate for inference task names
      and updates profiling numbers for the RL library comparison.
      
      ## 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
      
      ## 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
      -->
      66cc743e
    • Kris Wilson's avatar
      Removes protobuf upper version pin (#2726) · 05c22beb
      Kris Wilson authored
      # Description
      
      This PR relaxes the upper range of allowed protobuf versions so that
      IsaacLab can be installed in a modern python environment without
      downgrading or conflicting with modern protobuf versions.
      
      The original reason for pinning this to <5 was apparently due to
      transitive breakage in tensorboard, which also had this pinned to <5 -
      so pinning this in IsaacLab itself would not be necessary if both deps
      were composed together. Tensorboard has since (in Aug 2024) unpinned
      this here: https://github.com/tensorflow/tensorboard/pull/6888
      
      So, the original concern should, afaict, be obviated now.
      
      # Fixes
      
      This should repair any case where someone wants to install IsaacLab into
      a modern python environment that uses any of the Google ecosystem
      (gRPC/protobuf et al) without conflict or forced down-rev'ing to older
      versions (current version of protobuf is 6.31.1).
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [x] I have 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
      05c22beb
    • Özhan Özen's avatar
      Modifies `update_class_from_dict()` to wholesale replace flat Iterables (#2511) · 394a1629
      Özhan Özen authored
      # Description
      
      Currently, `update_class_from_dict()` does not allow updating the
      configclass Iterable elements with Hydra, when the provided Iterable
      length differs from the default value. Such a feature is nevertheless
      needed when changing the network layer depth on the go, e.g., while
      using learning libraries that utilize configclass (see #2456 for
      details).
      
      This PR modifies `update_class_from_dict()` such that if an element is a
      flat Iterable (e.g., flat list), it is replaced wholesale, without
      checking the lengths. Moreover, the PR modifies the robustness of the
      function against a few edge cases that might break the execution, and
      adds comments to make it easier to follow the logic flow.
      
      Note: I left the changelog entry as `[Unreleased]` until a green light
      is given.
      
      Fixes #2456.
      
      ## 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
      - [ ] 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>
      394a1629
    • David's avatar
      Fixes memory leak in SDF calculation - warp doesn't free memory (#2680) · fa8612ff
      David authored
      # Description
      
      Thanks to Matteo Grimaldi, Saleh Nabi and Wonju Lee for identifying the
      source of this memory leak.
      
      <!--
      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
      -->
      
      Add garbage collector calls since warp doesn't handle well the free
      memory.
      
      Fixes #2679 
      
      <!-- 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
      
      ## Screenshots
      
      Before this change - the experiment hasn't been completed on 64GB RAM
      machines.
      After  this change it requires less than 12GB RAM.
      <!--
      Example:
      
      | Before | 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.
      -->
      ![Screenshot 2025-06-12 at 18 31
      38](https://github.com/user-attachments/assets/695de828-2f9d-4714-aae3-5d9831ae6e77)
      
      ## 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 avatarDavid <ddleon@outlook.co.il>
      Signed-off-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
      Co-authored-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
      fa8612ff
    • Norbert Cygiert's avatar
      Fixes typo in the docs for adding your own library (#2520) · 3d82782b
      Norbert Cygiert authored
      # Description
      
      Fix the small stylistic mistake in the documentation. 
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue) (docs fix)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      ---------
      Signed-off-by: 's avatarNorbert Cygiert <107721774+norbertcygiert@users.noreply.github.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      3d82782b
    • Shaoshu Su's avatar
      Improves the implementation of euler_xyz_from_quat (#2365) · d7fac055
      Shaoshu Su authored
      ## Description
      
      Previously, `euler_xyz_from_quat` returned Euler angles in the [0, 2π)
      range, which is uncommon in robotics applications. As a result, several
      users implemented their own workarounds to adjust the angle range to
      (−π, π]. Examples include:
      
      - **Isaac-RL-Two-wheel-Legged-Bot**: Custom unwrapping implemented in
      [`rewards.py#L17`](https://github.com/jaykorea/Isaac-RL-Two-wheel-Legged-Bot/blob/057f81ed3aa4aff91551fce5c54256e47cece29a/lab/flamingo/tasks/constraint_based/locomotion/velocity/mdp/rewards.py#L17).
      - **lorenzo-bianchi/IsaacLab**: Manual angle shifting in
      [`quadcopter_env_v1.py#L219`](https://github.com/lorenzo-bianchi/IsaacLab/blob/247f66db3691046ecdfecb311268eccc729048ec/source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/direct/quadcopter/quadcopter_env_v1.py#L219).
      - **kscalelabs/klab**: Custom angle normalization in
      [`imu.py#L17`](https://github.com/kscalelabs/klab/blob/edf749f5177ba296a076d13380cd0fb1e5846e3f/exts/zbot2/zbot2/tasks/locomotion/velocity/mdp/imu.py#L17).
      
      To address this issue, we have updated the default angle range from [0,
      2π) to (−π, π] by removing the `% (2 * torch.pi)` operation at the
      return statement, since the [atan2
      function](https://en.wikipedia.org/wiki/Atan2) naturally outputs angles
      within the (−π, π] range.
      
      We also introduced a new parameter, `wrap_to_2pi: bool = False`. Setting
      this parameter to `True` will maintain the previous behavior:
      
      - **Default (`wrap_to_2pi=False`)**: Angles returned in the range (−π,
      π].
      - **Optional (`wrap_to_2pi=True`)**: Angles wrapped in the original [0,
      2π) range.
      
      
      Additionally, multiple test samples have been added to evaluate and
      ensure performance and accuracy across different scenarios.
      
      ### What’s Changed
      
      - **Default behavior** updated to (−π, π] (non-breaking).  
      - **New argument** `wrap_to_2pi` for optional wrapping.  
      - **Unit tests** added for both wrapped and unwrapped outputs.
      
      ---
      
      
      Fixes https://github.com/isaac-sim/IsaacLab/issues/2364
      
      
      ## Type of Change
      
      - **Enhancement** (non-breaking addition of functionality)
      ---
      
      ## Checklist
      
      - [x] Ran `./isaaclab.sh --format` and all pre-commit checks pass  
      - [x] Updated docstrings to describe `wrap_to_2pi` parameter  
      - [x] Added tests covering both wrapped and unwrapped outputs  
      - [x] No new warnings introduced  
      - [ ] Updated changelog and bumped version in `config/extension.toml`  
      - [x] Confirmed my name is listed in `CONTRIBUTORS.md`
      
      ---------
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      d7fac055