Skip to content

Adds Shadow Hand Environments Newton Implementation#4616

Open
nv-rgresia wants to merge 16 commits intoisaac-sim:dev/newtonfrom
nv-rgresia:shadow-hand-envs-newton
Open

Adds Shadow Hand Environments Newton Implementation#4616
nv-rgresia wants to merge 16 commits intoisaac-sim:dev/newtonfrom
nv-rgresia:shadow-hand-envs-newton

Conversation

@nv-rgresia
Copy link
Contributor

@nv-rgresia nv-rgresia commented Feb 13, 2026

Description

Imports the shadow hand environments to Newton. Currently the working environments are Isaac-Repose-Cube-Shadow-Direct-v0 and 'Isaac-Repose-Cube-Shadow-Vision-Direct-v0', but all around model performance is lacking during testing.

Type of change

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

Checklist

  • I have read and understood the contribution guidelines
  • I have run the pre-commit checks with ./isaaclab.sh --format
  • My changes generate no new warnings
  • 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

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Feb 13, 2026

Too many files changed for review. (1275 files found, 100 file limit)

@nv-rgresia nv-rgresia changed the base branch from main to dev/newton February 13, 2026 20:50
@github-actions github-actions bot added documentation Improvements or additions to documentation asset New asset feature or request isaac-sim Related to Isaac Sim team isaac-mimic Related to Isaac Mimic team infrastructure labels Feb 13, 2026
Copy link
Contributor

@kellyguo11 kellyguo11 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, looks good overall! Does the Newton renderer actually provide segmentation data? or that's just an empty buffer for now?

I also wonder if the difference in training performance compared to PhysX might be from the tendon setup or missing sensor data?

@nv-rgresia
Copy link
Contributor Author

The segmentation data is indeed empty buffers; I wonder if the lack of color data is impacting it as well.

I'll have to do some benchmarking between all the environments to determine whats going on. The current allegro hand checkpoint looks to be underperforming as well and I can compare it against the basic environment, but i'll need to do the training first.

Also I've added another commit the OpenAI FF environment, the EventCfg has some limitations due to Newton currently, but its able to start training. The OpenAI LSTM should be working as well, although I get a key error in the rl_games train script, is this a known issue?

Copy link
Collaborator

@AntoineRichard AntoineRichard left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for PR! I've left a couple comments. I think there is an issue with the joint_pos_limits, but i'm working on making that homogeneous across PhysX and Newton.

),
# collision_props=sim_utils.CollisionPropertiesCfg(contact_offset=0.005, rest_offset=0.0),
joint_drive_props=sim_utils.JointDrivePropertiesCfg(drive_type="force"),
# fixed_tendons_props=sim_utils.FixedTendonPropertiesCfg(limit_stiffness=30.0, damping=0.1),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this setting still being applied in Newton?

self.fingertip_pos.view(self.num_envs, self.num_fingertips * 3),
self.fingertip_rot.view(self.num_envs, self.num_fingertips * 4),
self.fingertip_velocities.view(self.num_envs, self.num_fingertips * 6),
# self.cfg.force_torque_obs_scale *
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this API should be available in Newton as well?

"distribution": "gaussian",
},
)
# robot_tendon_properties = EventTerm(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are we able to randomize the tendon parameters in Newton?

Copy link
Contributor Author

@nv-rgresia nv-rgresia Feb 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No because tendons aren't part of this MR, will update once Vidur's PR makes it in.

)

# -- scene
# reset_gravity = EventTerm(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this should also be supported

SHADOW_HAND_CFG = ArticulationCfg(
spawn=sim_utils.UsdFileCfg(
# newton requires implicitactuators be specified in usd and there's a bug with physx tendons
usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/ShadowRobot/ShadowHand/shadow_hand_instanceable_newton.usd",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we do this in a new cfg that extends from SHADOW_HAND_CFG? I'm worried we might miss this when we merge this with develop

@kellyguo11 kellyguo11 changed the title Shadow Hand Environments Newton Implementation Adds Shadow Hand Environments Newton Implementation Feb 28, 2026
@kellyguo11
Copy link
Contributor

@AntoineRichard - could you give these changes another look?

@nv-rgresia - pls also run ./isaaclab.sh -f to format the files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

asset New asset feature or request documentation Improvements or additions to documentation infrastructure isaac-mimic Related to Isaac Mimic team isaac-sim Related to Isaac Sim team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants