Skip to content

Update upstream #6

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 713 commits into
base: main
Choose a base branch
from
Open

Update upstream #6

wants to merge 713 commits into from

Conversation

nexus-labrom
Copy link
Collaborator

Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.
List any dependencies that are required for this change.

Fixes # (issue)

Type of change

  • 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

Please attach before and after screenshots of the change if applicable.

Checklist

  • I have run the pre-commit checks 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

@Mayankm96 Mayankm96 force-pushed the main branch 3 times, most recently from 9e160e0 to 82f3613 Compare March 2, 2025 14:24
fan-ziqi and others added 27 commits June 23, 2025 09:11
# Description

Fix the link

## 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
- [ ] 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: robotsfan <[email protected]>
Fixes link to python script in walkthrough tutorial

Fixes #2740 

## 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
# Description

Add more information in the print out message, when generating
disassembly paths.

## Type of change

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)

## Checklist

- [ x ] I have run the [`pre-commit` checks](https://pre-commit.com/)
with `./isaaclab.sh --format`
- [ ] 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
# 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
-->

Please include a summary of the change and which issue is fixed. Please
also include relevant motivation and context.
List any dependencies that are required for this change.

Implement part of #1769
(optimization)

This is a breaking change because the fast variant is now enabled by
default.

I also improve sb3 training script, fixed loading of normalization and
fixed the humanoid hyperparameters to be similar to rsl-rl, so we can
compare apples to apples in terms of training speed.

I will probably open another PR for the rest of the proposals.

<!-- 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)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- This change requires a documentation update

With respect to testing, how do you run a single test?
and is there anything I should add?


## Checklist

- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->

---------

Signed-off-by: Antonin RAFFIN <[email protected]>
Signed-off-by: Kelly Guo <[email protected]>
Co-authored-by: Kelly Guo <[email protected]>
# Description

This PR adds `NoiseModel` support for manager-based workflows. To
achieve this, I have:
- Added `NoiseModel` lifecycle management to `ObservationManager`.
- Added a `Callable` field, `func`, to `NoiseModelCfg`, which
`ObservationManager` uses to assign the class instance within, similar
to how it is done for `ModifierBase`.
- Renamed `apply()` to be `__call()__`, to be consistent with
function-based noises and `ModifierBase`.

Fixes #2715 and #1864.

Note: I left the changelog with the entry [Unreleased] until the PR is
given the green light.

## 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
- [ ] 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
…igidObjectCollection and Articulation (#2736)

# Description
When WriteState, WriteLink, WriteCOM, WriteJoint are invoked, there is a
inconsistency when reading values of ReadState, ReadLink, ReadCOM. The
Source of the bug is because of missing timestamp invalidation of
relative data or missing update to the related data within the write
function. Below I list the all functions that is problematics

RigitObject:
write_root_link_pose_to_sim
write_root_com_velocity_to_sim

RigitObjectCollection:
write_object_link_pose_to_sim
write_object_com_velocity_to_sim

Articulation:
write_joint_state_to_sim

The bug if fixed by invalidating the relevant data timestamps in
write_joint_state_to_sim function for articulation, and added direct
update to the dependent data in write_(state|link|com)_to_sim of
RigitObject and RigitObjectCollection.

I have added the tests cases that checks the consistency among
ReadState, ReadLink, ReadCOM when either WriteState, WriteLink,
WriteCOM, WriteJoint is called and passed all tests.

Fixes #2534 #2702 

<!-- 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

- [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: Kelly Guo <[email protected]>
Co-authored-by: Kelly Guo <[email protected]>
# Description

Various minor updates to documentation to clarify a few concepts:

- Adds note about source conda environment if installing from binaries
using conda, but not using `./isaaclab.sh -c` option
- Adds note that Fabric should be enabled for GPU simulation and that
rendering will not update if Fabric is not enabled
- Adds note about using the inference task names if available when
running inferencing
- Removes unneeded physics cudaDevice flag for distributed training

## 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
-->
…2692)

Fix bug of reset joint initial state of articulation in event function
`reset_scene_to_default` ref to:
#2663, where the targets
were not previously reset together with the joint positions.

# Description

ref: #2663

Signed-off-by: Wenguo Hou <[email protected]>
Co-authored-by: Kelly Guo <[email protected]>
# Description

The body_com event term added to the base velocity cfg caused errors in
some locomotion environments if the body was not named "base". This PR
disables the event term for these environments.

Fixes #2574 

## 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
-->
# Description

This PR logs env_cfg and agent_cfg to wandb in accordance how rl_games
handles env_cfg and agent_cfg. Before env_cfg and agent_cfg is not
observable from wandb run.


## Type of change

- 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
-->
# Description

Add an example to train a locomotion and loco-manipulation controller
for digit. This also serves as an example on how to train a robot with
closed loops.

## Type of change

- New feature (non-breaking change which adds functionality)

## Screenshots



## 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

---------

Signed-off-by: lgulich <[email protected]>
Co-authored-by: Kelly Guo <[email protected]>
Co-authored-by: Kelly Guo <[email protected]>
# Description

Fixes typo in reset_scene_to_default that was recently added where joint
position was incorrectly set to velocity targets.


## 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
-->
…ng (#2760)

# Description

This PR updates the `NoiseModelWithAdditiveBias` to apply per-feature
bias sampling.

Previously, the model sampled a single scalar bias per episode and
applied it uniformly across all feature dimensions (i.e., axis 1 of a
(`num_env`, `feature_dim`) tensor). This PR changes the behavior to
instead sample a separate bias value for each feature dimension, making
the model more suitable for structured inputs such as positions,
velocities, or multi-DOF actions.

### Notes

Structured inputs typically contain semantically distinct components,
like [x, y, z] coordinates, where applying the same bias across all
components introduces unrealistic, fully correlated noise. Independent
per-dimension bias sampling leads to more realistic and robust policy
training, especially for sim-to-real transfer.

I’ve replaced the previous behavior with this new default, as I believe
the original implementation could be misleading and not well-suited for
many practical scenarios. However, if desired, I can make both behaviors
available via a configuration flag (e.g., `per_feature_bias=True`), to
retain backward compatibility.

Fixes #2759.

## Type of change

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)

## Checklist

- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [ ] 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: Kelly Guo <[email protected]>
…1748)

# Description

In the `H1RoughEnvCfg` class, the `body_names` assignment for contact
termination was initialized twice, which was redundant. This PR removes
the duplicate assignment.

```
        # Terminations
        self.terminations.base_contact.params["sensor_cfg"].body_names = [".*torso_link"]

        # Rewards
        self.rewards.undesired_contacts = None
        self.rewards.flat_orientation_l2.weight = -1.0
        self.rewards.dof_torques_l2.weight = 0.0
        self.rewards.action_rate_l2.weight = -0.005
        self.rewards.dof_acc_l2.weight = -1.25e-7

        # Commands
        self.commands.base_velocity.ranges.lin_vel_x = (0.0, 1.0)
        self.commands.base_velocity.ranges.lin_vel_y = (0.0, 0.0)
        self.commands.base_velocity.ranges.ang_vel_z = (-1.0, 1.0)

        # terminations
        self.terminations.base_contact.params["sensor_cfg"].body_names = ".*torso_link"
```

## 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
- [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: Kelly Guo <[email protected]>
Signed-off-by: Kelly Guo <[email protected]>
Co-authored-by: Kelly Guo <[email protected]>
Co-authored-by: Kelly Guo <[email protected]>
## 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 #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: Kelly Guo <[email protected]>
# 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: Norbert Cygiert <[email protected]>
Co-authored-by: Kelly Guo <[email protected]>
# 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: David <[email protected]>
Signed-off-by: Kelly Guo <[email protected]>
Co-authored-by: Kelly Guo <[email protected]>
…es (#2511)

# 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: Kelly Guo <[email protected]>
Signed-off-by: Kelly Guo <[email protected]>
Co-authored-by: Kelly Guo <[email protected]>
Co-authored-by: Kelly Guo <[email protected]>
# 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: tensorflow/tensorboard#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
# 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
-->
# 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: Brian Bingham <[email protected]>
Signed-off-by: Michael Gussert <[email protected]>
Co-authored-by: Michael Gussert <[email protected]>
# 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: Kelly Guo <[email protected]>
# 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
-->
# 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
#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
-->
# 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
-->
# 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
-->
…2512)

# 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](#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: Kelly Guo <[email protected]>
noseworm and others added 30 commits July 30, 2025 20:57
…IsaacLab (#2968)

This MR adds new tasks which extend the `Factory` tasks to include:
1. Force sensing: Add observations for force experienced by the
end-effector.
2. Excessive force penalty: Add an option to penalize the agent for
excessive contact forces.
3. Dynamics randomization: Randomize controller gains, asset properties
(friction, mass), and dead-zone.
4. Success prediction: Add an extra action that predicts task success.

The new tasks are: `Isaac-Forge-PegInsert-Direct-v0`,
`Isaac-Forge-GearMesh-Direct-v0`, and `Isaac-Forge-NutThread-Direct-v0`

- New feature (non-breaking change which adds functionality)
- This change requires a documentation update

- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [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: Kelly Guo <[email protected]>
Co-authored-by: Octi Zhang <[email protected]>
Co-authored-by: Kelly Guo <[email protected]>
# Description

Some tests are now taking longer to run, especially the environment
ones. Increasing some timeouts here to allow tests to complete.

## 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
-->

---------

Signed-off-by: Kelly Guo <[email protected]>
# Description

Updates ordering to first update pip then install torch in pip
installation workflows, as some users are running into issues when
installing torch on older pip versions.

## 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
-->
# Description

Restructures the environment test to include new Forge environments as
part of the Factory tests. Also fixes some timeouts for tests to make
sure they can complete.


## 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
-->
# Description

Adds the flaky module to allow for marking some non-deterministic tests
as flaky. This allows us to specify number of retries for specific test
cases and how many passes are needed to determine the test is marked as
pass or fail.


## 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
-->
# Description

As reported in #3071, we have
some issues with the isaaclab.bat script when multiple calls to
`!python_exe!` are called, resulting in ` '!python_exe!' is not
recognized as an internal or external command` error messages. This fix
uses `call` command to expand `!python_exe!` to and correctly execute
the commands.

## 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
-->
# Description

Several changes to prepare for the Isaac Lab 2.2 release:

- updating staging server to production
- removing mentions of feature/isaacsim_5_0 branch as those will now be
part of `main`
- updates version to 2.2.0 from 2.1.1

## 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
-->
# Description

Fixes warnings when building docs for IsaacLab Mimic by using `from __future__ import annotations` to allow Sphinx autodoc import.

## Type of change

- Bug fix (non-breaking change which fixes an issue)

## Checklist

- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
# Description

Fixes `anyio` license checking. Current return is UNKNOWN, actual
license is MIT.

## 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
# Description

Updates onnx and protobuf versions as previous dependency versions had
security vulnerabilities.

To avoid onnx 1.16.1, we are updating onnx to 1.18.0
To avoid protobuf 3.20.3, we are updating protobuf to 6.31.1

Also included some minor updates to add one more flaky test annotation
for test failure, and adding random_state to GaussianProcessRegressor to
resolve another security risk for non-reproducible results.

## 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
-->
Fixes warnings when building docs for IsaacLab Mimic by using `from __future__ import annotations` to allow Sphinx autodoc import.

- 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
- [ ] 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
Fixes `anyio` license checking. Current return is UNKNOWN, actual
license is MIT.

- 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
# Description
It appears that `isaaclab` transitively depends on `hf-xet`, (a
`huggingface`-developed data storage paradigm) via the following
dependency chain:
```
Collecting hf-xet<2.0.0,>=1.1.3 (from huggingface-hub<1.0,>=0.34.0->transformers->isaaclab==0.41.5)
```
This results in a failing license check. This PR adds the relevant
license from this [repo](https://github.com/huggingface/xet-core)

**UPDATE:** I have also added the initialization of `FAILED_PACKAGES=0`
in `license-check.yaml` in order to avoid the error I was encountering
when no packages were failing:
<img width="1461" height="210" alt="image"
src="https://github.com/user-attachments/assets/5845626e-2e5c-493f-8356-ae00667ab9ea"
/>

## 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
-->
# Description

1. Changed test reporter for compatibility pipeline to generate HTML
report
2. Increased the number of reported logs for failed test cases to 50
(max)
3. Set execute permissions in the Dockerfile on the isaaclab.sh -
sometimes the post-merge pipeline fails due to permissions
4. Updated the default Isaac SIM version
# Description

Updates the release notes docs with the latest release notes for 2.2 and
some other minor documentation updates.
Also fixes new issues with the license checker to add additional
exceptions.

Also using this change to trigger the documentation update for 2.2.

## 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
-->
# Description
This adds improved readout from the subprocesses in `install_deps.py`.
It will now print the output instead of printing everything at once when
the process is finished. It also has improved error handling. This will
help users to have a better understanding of their build process and
more easily resolve issues.

## 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
- [ ] 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: Hunter Hansen <[email protected]>
Signed-off-by: Kelly Guo <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Kelly Guo <[email protected]>
# Bugfix

Previously, self._data.joint_dynamic_friction_coeff was being set for
all environments, regardless of the intended targets. This behavior is
incorrect — the friction coefficient should only be set for the
specified physx_env_ids.

Co-authored-by: ooctipus <[email protected]>
Co-authored-by: Kelly Guo <[email protected]>
…3139)

# Description

Current is_isaacsim_version_4_5() sometimes mis-detects 5.0 when running
4.5 (e.g., Docker/symlinked installs), causing the conda bootstrap to
pick Python 3.11 instead of 3.10.

This pr ensures determining the isaacsim version following below steps

1. Read ${ISAACLAB_PATH}/_isaac_sim/VERSION (symlink/binary install).

2. If unknown, import isaacsim and read ../../VERSION next to the
package. (pip installation)

3. If still unknown, fall back to
importlib.metadata.version("isaacsim").

I tested locally to work with 4.5 pip or binary install.

<!-- 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
- [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
-->
…environments done due to each term. (#3107)

# Description

Currently Termination Manager write current step's done count for each
term if reset is detected. This leads to two problem.
1. User sees different counts just by varying num_envs
2. the count can be over-count or under-count depending on when reset
happens, as pointed out in #2977 (Thanks, @Kyu3224)

The cause of the bug is because we are reporting current step status
into a buffer that suppose to record episodic done. So instead of write
the entire buffer base on current value, we ask the update to respect
the non-reseting environment's old value, and instead of reporting
count, we report percentage of environment that was done due to the
particular term.

Test on Isaac-Velocity-Rough-Anymal-C-v0

Before fix:
<img width="786" height="323" alt="Screenshot from 2025-08-06 22-16-20"
src="https://github.com/user-attachments/assets/4838d612-7f0e-4232-a07e-688b547e91db"
/>
Red: num_envs = 4096, Orange: num_envs = 1024

After fix:

<img width="786" height="323" alt="Screenshot from 2025-08-06 22-16-12"
src="https://github.com/user-attachments/assets/e6e55c21-17ed-42ca-8d94-a19d08611f86"
/>
Red: num_envs = 4096, Orange: num_envs = 1024

Note that curve of the same color ran on same seed, and curves matched
exactly, the only difference is the data gets reported in termination.
The percentage version is a lot more clear in conveying how agent
currently fails, and how much percentage of agent fails, and shows that
increasing num_envs to 4096 helps improve agent avoiding termination by
`base_contact` much quicker than num_envs=1024. Such message is a bit
hard to tell in first image.

<!--
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
- [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
-->
# 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
-->

Update rendering preset mode pathing to be compatible when an experience
file is set.

<!-- 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)

## 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
- [ ] 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: ooctipus <[email protected]>
Co-authored-by: ooctipus <[email protected]>
…2949)

# Description

Fixes the IndexError caused by simultaneously indexing env_ids and
joint_ids in `reset_joints_by_scale` and `reset_joints_by_offset`.

Fixes # [2948](#2948)

## 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

---------

Signed-off-by: Kelly Guo <[email protected]>
Signed-off-by: Emily Sturman <[email protected]>
Signed-off-by: ooctipus <[email protected]>
Co-authored-by: Kelly Guo <[email protected]>
Co-authored-by: Mayank Mittal <[email protected]>
Co-authored-by: ooctipus <[email protected]>
# Description

This PR: 

- Adds ContactSensorCfg.track_contact_points to toggle tracking of
contact point locations between sensor bodies and filtered bodies.
- Adds ContactSensorCfg.max_contact_data_per_prim to configure the
maximum amount of contacts per sensor body.
- Adds ContactSensorData.contact_pos_w data field for tracking contact
point locations.

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)

## Checklist

- [ ] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

---------

Signed-off-by: James Tigue <[email protected]>
Signed-off-by: Kelly Guo <[email protected]>
Signed-off-by: ooctipus <[email protected]>
Co-authored-by: Ashwin Khadke <[email protected]>
Co-authored-by: Kelly Guo <[email protected]>
Co-authored-by: ooctipus <[email protected]>
…h in documentation to avoid ambiguity (#3151)

# Description

If the user directly enters model_xxx.pt, an error will be reported. The
user should be guided to enter a path

## 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

Co-authored-by: ooctipus <[email protected]>
# Description

This MR introduces the following:

* An `agent` argument to all scripts to allow selecting different entry
points (each then get resolved to their respective settings file).
* Symmetry function for ANYmal robot for the locomotion task and
cartpole balancing task
* Documentation on how to configure RL training agent using gym
resgistry

Fixes #2835

## Type of change

- New feature (non-breaking change which adds functionality)
- This change requires a documentation update

## Screenshots

### Cartpole

```bash
# without symmetry
./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task Isaac-Cartpole-v0 --headless --agent rsl_rl_with_symmetry_cfg_entry_point --run_name ppo_with_no_symmetry agent.algorithm.symmetry_cfg.use_data_augmentation=false

# with symmetry
./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task Isaac-Cartpole-v0--headless --agent rsl_rl_with_symmetry_cfg_entry_point --run_name ppo_with_symmetry_data_augmentation  agent.algorithm.symmetry_cfg.use_data_augmentation=true
```

| Isaac-Cartpole-v0 (pink w/o symmetry, blue w/ symmetry) |
| ------ |
| <img width="823" height="421" alt="image"
src="https://github.com/user-attachments/assets/9c33db99-0d79-4c1d-b437-e01275d613b5"
/> |

### Locomotion

```bash

# without symmetry
./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task Isaac-Velocity-Rough-Anymal-D-v0 --headless --agent rsl_rl_with_symmetry_cfg_entry_point --run_name ppo_with_no_symmetry agent.algorithm.symmetry_cfg.use_data_augmentation=false

# with symmetry
./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task Isaac-Velocity-Rough-Anymal-D-v0 --headless --agent rsl_rl_with_symmetry_cfg_entry_point --run_name ppo_with_symmetry_data_augmentation  agent.algorithm.symmetry_cfg.use_data_augmentation=true
```

| Isaac-Velocity-Rough-Anymal-D-v0 (green w/o symmetry, purple w/
symmetry) |
| ------ |
| <img width="1241" height="414" alt="image"
src="https://github.com/user-attachments/assets/625c125d-db9f-4006-9a62-0d55701a9407"
/> |

## 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: Kelly Guo <[email protected]>
Co-authored-by: ooctipus <[email protected]>
# Description

Some of the information in FAQ is now outdated since Isaac Sim is
open-sourced. This MR removes that part but also adds more explaination
on the goals of Isaac Lab.

## 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

---------

Signed-off-by: Mayank Mittal <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: ooctipus <[email protected]>
# Description

Updates CodeOwners to be more fine-grained

## Type of change

- 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

---------

Co-authored-by: ooctipus <[email protected]>
# Description

While working on a task I made a tiny typo in the scale randomization
range for the stiffness-gain parameter. The robot still spawned, but its
behaviour was utterly bizarre. It only took a minute to spot the
mistake, yet it made me realize we have no guard-rails for this sort of
edge case.

This PR introduces a lightweight check that verifies, when
operation=="scale", the lower bound is non-negative and the upper bound
is not smaller than the lower one. Right now I cover the most common
parameters (stiffness, damping, mass, tendon gains, etc.), basically
anything that must stay positive to make physical sense.

If you’d like the same safeguard applied to other parameter types just
let me know and I’ll happily extend the patch.

## Type of change

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)

## Checklist

- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [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

---------

Signed-off-by: Louis LE LAY <[email protected]>
Signed-off-by: ooctipus <[email protected]>
Co-authored-by: louislelay <[email protected]>
Co-authored-by: ooctipus <[email protected]>
# Description

For some simple cases, disabling rate limit in the runloop can help
improve performance for rendering.
Nevertheless, we should not need to enable rate limit in headless cases.

## 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

- [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
-->

Co-authored-by: ooctipus <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.