[pull] develop from isaac-sim:develop - #58
Merged
Merged
Conversation
…#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`
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 : )