-
Notifications
You must be signed in to change notification settings - Fork 3.8k
[Task Clean-up][Manager] Dexterous Part 5/9: Add the reorientation manager counterparts #6418
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
hujc7
wants to merge
6
commits into
isaac-sim:develop
Choose a base branch
from
hujc7:jichuanh/task-cleanup-dex-part08
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
a54cfbb
Initialize the manager reset buffer before the managers load
hujc7 40096f4
Add the reorientation manager MDP terms
hujc7 6dc299d
Add the manager-based reorientation task configurations
hujc7 445ad89
Move the Shadow camera benchmark task to the contributed tasks
hujc7 56e8558
Align manager reorient tasks with Direct counterparts
hujc7 8ebd90f
Drop dead scene flags and the fake articulation cube
hujc7 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| Fixed | ||
| ^^^^^ | ||
|
|
||
| * Fixed :attr:`~isaaclab.envs.ManagerBasedRLEnv.reset_buf` not existing until the first | ||
| call to :meth:`~isaaclab.envs.ManagerBasedRLEnv.step`, so manager terms that run during | ||
| the initial reset could not read it. |
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
74 changes: 74 additions & 0 deletions
74
source/isaaclab_tasks/changelog.d/task-cleanup-dex-part08.major.rst
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,74 @@ | ||
| Added | ||
| ^^^^^ | ||
|
|
||
| * Added manager-based counterparts for the Shadow cube reorientation task and | ||
| its OpenAI FF/LSTM observation variants, alongside the existing Allegro | ||
| manager task. | ||
| * Added :class:`~isaaclab_tasks.core.reorient.mdp.reorient_timeout`, which | ||
| restarts the episode timer on every goal reach so OpenAI-variant episodes | ||
| extend across success streaks. | ||
| * Added ``enable_domain_randomization`` to the manager-based Allegro and Shadow | ||
| environment for turning off its startup randomization terms. | ||
| * Added Newton and OvPhysx physics presets to the manager-based reorientation | ||
| environments, selectable with ``physics=``. | ||
| * Added a Direct-versus-manager value-parity check covering timing, success | ||
| tolerance, fall distance, and the consecutive-success cap. | ||
|
|
||
| Changed | ||
| ^^^^^^^ | ||
|
|
||
| * **Breaking:** Changed the manager-based reorientation tasks to report | ||
| ``Metrics/success_rate`` as a per-episode success bit, drawn at | ||
| ``ReorientCommandCfg.success_count_threshold`` like the Direct environments, | ||
| instead of a per-attempt ratio. Curves from earlier runs are not comparable. | ||
| * **Breaking:** Changed domain randomization to default off on the Allegro and | ||
| Shadow manager tasks, so they match their Direct counterparts, which randomize | ||
| nothing beyond the reset distributions. Set ``enable_domain_randomization`` on | ||
| the configuration to restore it. The OpenAI variants keep it enabled, matching | ||
| their Direct counterparts. | ||
| * **Breaking:** Changed the manager-based Allegro task to use the same RL agent | ||
| configurations as its Direct counterpart, so the two are comparable. The | ||
| ``rl_games_manager_ppo_cfg.yaml``, ``skrl_manager_ppo_cfg.yaml`` and | ||
| ``AllegroCubePPORunnerCfg`` entries are removed; use ``rl_games_ppo_cfg.yaml``, | ||
| ``skrl_ppo_cfg.yaml`` and ``AllegroHandPPORunnerCfg``. | ||
|
|
||
| * **Breaking:** Changed the manager-based Allegro reorientation environment to | ||
| match the Direct observation, action, reset, and termination contracts. The | ||
| observation space changes size, so existing manager checkpoints cannot be | ||
| loaded and must be retrained. | ||
| * **Breaking:** Changed the Shadow Hand reorientation tasks to apply the same | ||
| randomization on every physics backend. PhysX now also randomizes joint gains, | ||
| object mass, and gravity, and Newton now also randomizes contact materials. | ||
| Policies trained before this change must be retrained. | ||
| * **Breaking:** Moved the Shadow Hand camera benchmark task to the contributed | ||
| tasks as ``IsaacContrib-Reorient-Cube-Shadow-Camera-Benchmark-Direct``. The | ||
| released ``Isaac-Reorient-Cube-Shadow-Camera-Benchmark-Direct`` identifier no | ||
| longer resolves; use the contributed identifier instead. | ||
| * **Breaking:** Changed the in-hand cube to a rigid body on the Newton backend, | ||
| where it was previously declared as an articulation with no joints or | ||
| actuators. Code that resolved the object through | ||
| :class:`~isaaclab.assets.Articulation` must use | ||
| :class:`~isaaclab.assets.RigidObject`. | ||
| * Removed the ``clone_in_fabric`` settings from the reorientation scenes. The | ||
| flag no longer reaches the replicator, so the value had no effect. | ||
| * Renamed the per-robot scene constants to name what they hold: ``ROBOT_CFG`` | ||
| becomes ``SHADOW_HAND_ROBOT_CFG`` or ``ALLEGRO_HAND_ROBOT_CFG``, | ||
| ``OBJECT_CFG`` becomes ``CUBE_CFG``, and ``ObjectCfg`` becomes ``CubeCfg``. | ||
|
|
||
| Removed | ||
| ^^^^^^^ | ||
|
|
||
| * Removed ``ReorientObjectEnvCfg`` and the shared reorientation observation, | ||
| action, and command configurations. Each manager task now declares its own; | ||
| derive from :class:`~isaaclab.envs.ManagerBasedRLEnvCfg` directly. | ||
| * Removed ``reorient_common``. Its constants are declared by the tasks that use | ||
| them, and the in-hand offset and goal-marker position are now per-robot fields | ||
| on the Direct configurations. | ||
|
|
||
| Fixed | ||
| ^^^^^ | ||
|
|
||
| * Fixed the manager-based reorientation tasks not reporting | ||
| ``Metrics/success_rate``. | ||
| * Fixed manager ``Metrics/success_rate`` counting goal attempts rather than the | ||
| per-episode success bit the Direct tasks report. |
6 changes: 6 additions & 0 deletions
6
source/isaaclab_tasks/isaaclab_tasks/contrib/reorient/__init__.py
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| # Copyright (c) 2022-2026, The Isaac Lab Project Developers (https://github.com/isaac-sim/IsaacLab/blob/main/CONTRIBUTORS.md). | ||
| # All rights reserved. | ||
| # | ||
| # SPDX-License-Identifier: BSD-3-Clause | ||
|
|
||
| """Contributed variants of the in-hand reorientation tasks.""" |
6 changes: 6 additions & 0 deletions
6
source/isaaclab_tasks/isaaclab_tasks/contrib/reorient/config/__init__.py
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| # Copyright (c) 2022-2026, The Isaac Lab Project Developers (https://github.com/isaac-sim/IsaacLab/blob/main/CONTRIBUTORS.md). | ||
| # All rights reserved. | ||
| # | ||
| # SPDX-License-Identifier: BSD-3-Clause | ||
|
|
||
| """Configurations for the contributed reorientation environments.""" |
21 changes: 21 additions & 0 deletions
21
source/isaaclab_tasks/isaaclab_tasks/contrib/reorient/config/shadow_hand/__init__.py
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| # Copyright (c) 2022-2026, The Isaac Lab Project Developers (https://github.com/isaac-sim/IsaacLab/blob/main/CONTRIBUTORS.md). | ||
| # All rights reserved. | ||
| # | ||
| # SPDX-License-Identifier: BSD-3-Clause | ||
|
|
||
| """Shadow Hand rendering-throughput benchmark task.""" | ||
|
|
||
| import gymnasium as gym | ||
|
|
||
| from isaaclab_tasks.core.reorient.config.shadow_hand import agents | ||
|
|
||
| gym.register( | ||
| id="IsaacContrib-Reorient-Cube-Shadow-Camera-Benchmark-Direct", | ||
| entry_point="isaaclab_tasks.core.reorient.config.shadow_hand.shadow_hand_direct_camera_env:ShadowHandCameraEnv", | ||
| disable_env_checker=True, | ||
| kwargs={ | ||
| "env_cfg_entry_point": f"{__name__}.shadow_hand_camera_benchmark_env_cfg:ShadowHandCameraBenchmarkEnvCfg", | ||
| "rsl_rl_cfg_entry_point": f"{agents.__name__}.rsl_rl_ppo_cfg:ShadowHandCameraFFPPORunnerCfg", | ||
| "rl_games_cfg_entry_point": f"{agents.__name__}:rl_games_ppo_camera_cfg.yaml", | ||
| }, | ||
| ) |
30 changes: 30 additions & 0 deletions
30
...saaclab_tasks/contrib/reorient/config/shadow_hand/shadow_hand_camera_benchmark_env_cfg.py
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| # Copyright (c) 2022-2026, The Isaac Lab Project Developers (https://github.com/isaac-sim/IsaacLab/blob/main/CONTRIBUTORS.md). | ||
| # All rights reserved. | ||
| # | ||
| # SPDX-License-Identifier: BSD-3-Clause | ||
|
|
||
| """Rendering-throughput benchmark variant of the Shadow Hand camera task.""" | ||
|
|
||
| from isaaclab.utils.configclass import configclass | ||
|
|
||
| from isaaclab_tasks.core.reorient.config.shadow_hand.feature_extractor import FeatureExtractorCfg | ||
| from isaaclab_tasks.core.reorient.config.shadow_hand.shadow_hand_direct_camera_env_cfg import ShadowHandCameraEnvCfg | ||
|
|
||
|
|
||
| @configclass | ||
| class ShadowHandCameraBenchmarkEnvCfg(ShadowHandCameraEnvCfg): | ||
| """Benchmark configuration with the feature extractor CNN disabled. | ||
|
|
||
| The tiled camera renders frames each step as normal, but the CNN forward pass is | ||
| bypassed — zero embeddings are returned instead. This isolates rendering throughput | ||
| from CNN inference overhead when profiling. | ||
|
|
||
| The renderer backend and camera data types can still be selected via ``presets``:: | ||
|
|
||
| presets = newton_renderer # benchmark with Newton renderer | ||
| presets = ovrtx # benchmark with OVRTX renderer | ||
| presets = rgb # benchmark RGB rendering only | ||
| presets = depth, newton_renderer # benchmark depth rendering with Newton | ||
| """ | ||
|
|
||
| feature_extractor: FeatureExtractorCfg = FeatureExtractorCfg(enabled=False) |
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's make sure this change is also reflected in the docs.
@fatimaanes @yts-nv @r-schmitt for viz on renaming of the task