Skip to content

[pull] develop from isaac-sim:develop - #58

Merged
pull[bot] merged 2 commits into
mataylor-nvidia:developfrom
isaac-sim:develop
Sep 23, 2026
Merged

pull[bot] merged 2 commits into
mataylor-nvidia:developfrom
isaac-sim:develop

Conversation

@pull

@pull pull Bot commented Sep 23, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

StafaH and others added 2 commits September 23, 2026 09:07
…#7970)

# Description

The `reset_hand` kernel in the experimental Warp reorientation env
sampled hand joint reset positions around the **lower joint limit**
instead of between the lower and upper limits:

```python
dof_pos_noise = wp.randf(rng_state[env_id], -1.0, 1.0)
rand_delta = delta_min + (delta_max - delta_min) * 0.5 * dof_pos_noise  # centred on delta_min
```

As a result, every hand joint reset at or below its default position.
With a large enough `reset_dof_pos_noise` it could also end up outside
the joint limits. For example, with limits `[-1, 1]`, default `0.1` and
noise scale `0.2`, resets fell in `[-0.32, 0.08]` instead of `[-0.12,
0.28]`.

The torch reorient and handover tasks were already fixed in #6413 via
`sample_joint_positions_within_limits`. This PR applies the same `[-1,
1] -> [0, 1]` mapping in the Warp kernel, so both versions of the task
reset joints over the same range. This was the last copy of the formula
from the issue on `develop`.

Fixes #4404

## Type of change

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

## Test

I added
`test_warp_reset_hand_samples_the_same_range_as_the_torch_helper` to the
existing `source/isaaclab_tasks/test/core/test_reorient_utils.py`. It
launches `reset_hand` on CPU for 512 envs and checks two things:
- every sample stays inside the range that
`sample_joint_positions_within_limits` produces;
- each joint gets samples on both sides of its default.

The test fails without the fix and passes with it (`uv run python -m
pytest source/isaaclab_tasks/test/core/test_reorient_utils.py`: 12
passed).

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [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 added a changelog fragment under
`source/<pkg>/changelog.d/` for every touched package (do **not** edit
`CHANGELOG.rst` or bump `extension.toml` — CI handles that)
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

- [x] <!-- backport-active-release --> Backport this pull request to the
active release branch after it merges into `develop`

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
# Description

First PR in a series that splits the core cleanup in #7949 into small,
reviewable pieces. This PR only changes how imports are written in
`source/isaaclab/isaaclab` and adds the import rules to `AGENTS.md`;
there is no logic change.

**Import rules (new `## Code style` section in `AGENTS.md`)**
- Imports are grouped in PEP 8 order: `__future__`, standard library,
third-party, Omniverse runtime packages, Isaac Lab packages, then local
relative imports. The existing ruff isort config already enforces this.
- Imports from the same package are relative when the target is at most
three leading dots away (e.g. `from ...utils import math as
math_utils`), and absolute for deeper targets and other packages.
- Modules with an `if __name__ == "__main__":` block keep absolute
imports, because some are executed by file path (e.g.
`benchmark/entrypoints/multigpu.py` launches itself as the worker
script), where relative imports fail.

**Changes in the core package**
- Applied the rule above across the package with an AST-based rewrite:
725 imports converted (686 `from isaaclab.x import ...`, 39 `import
isaaclab.x.y as z` -> `from ...x import y as z`), then re-sorted with
ruff. 103 imports that would need more than three dots stay absolute.
- No imports are added, removed, or moved between scopes.
- `test/sensors/test_ray_caster_kernels.py` loaded
`utils/warp/kernels.py` by file path, which cannot resolve relative
imports. It now imports the kernels as regular package modules; they
import without Kit.

Verification:
- Every file's AST is identical to `develop` once relative imports are
resolved to absolute names (520 files).
- Importing every module under `isaaclab` gives the same result as on
`develop`, both in one process and with each of the 203 top-level
modules in a fresh process (checks for import-order-dependent cycles).
- `isaaclab train --rl_library rsl_rl --task Isaac-Cartpole-Direct
--num_envs 16 presets=newton_mjwarp --max_iterations 5` completes.
- `pytest source/isaaclab/test/benchmark source/isaaclab/test/cli
source/isaaclab/test/app/test_app_launcher_argv.py`: 661 passed.
- `ruff check` (including isort) / `ruff format` are clean.

## Type of change

- Code cleanup (non-breaking, no functional change)

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [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 added a changelog fragment under
`source/<pkg>/changelog.d/` for every touched package (`.skip`)
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

- [x] <!-- backport-active-release --> Backport this pull request to the
active release branch after it merges into `develop`
@pull pull Bot locked and limited conversation to collaborators Sep 23, 2026
@pull pull Bot added the ⤵️ pull label Sep 23, 2026
@pull
pull Bot merged commit cff81e8 into mataylor-nvidia:develop Sep 23, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant