Skip to content

Retune Franka deformable lift for stable grasping - #6831

Draft
mmichelis wants to merge 1 commit into
isaac-sim:developfrom
mmichelis:mym/lift-soft
Draft

Retune Franka deformable lift for stable grasping#6831
mmichelis wants to merge 1 commit into
isaac-sim:developfrom
mmichelis:mym/lift-soft

Conversation

@mmichelis

@mmichelis mmichelis commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

Description

The Franka deformable lift tasks could not grasp reliably. The gripper tunneled through the beam between soft vertices, and the shared lift MDP terms offered no deformable-aware rewards or divergence guards, so diverged environments kept poisoning the rollout.

This PR retunes Isaac-Lift-Soft-Franka and Isaac-Lift-Cloth-Franka for stable grasping and adds the Newton configuration surface the retuning depends on.

Task side. A task-local mdp package supplies deformable-aware rewards, observations, terminations, events, a gravity curriculum, and a pose command that tracks the deformable center of mass. The beam material, the collider contact and rest offsets, and the arm and hand actuator gains are retuned so the gripper no longer crushes the deformable, and full-surface rigid-soft contact backed by signed-distance fields on the gripper catches contacts that previously slipped between vertices. The cloth task gains a kinematic rigid support registered with the coupler so the cloth no longer passes through it. The action space is now selected through a preset, with joint-space targets as the default and task-space inverse kinematics available through presets=ik.

Newton side. NewtonShapeSDFCfg and NewtonCfg.sdf_shape_cfgs provision volume SDFs on collider shapes selected by label regex, NewtonCollisionPipelineCfg.enable_rigid_soft_full_surface_contact turns on edge and triangle-interior soft contacts against rigid SDFs, and VBDSolverCfg.rigid_body_particle_contact_buffer_size sizes the per-body particle contact list so contacts are not silently dropped from a body's reaction list. These additions are opt-in and change no existing behavior.

Dependencies

Full-surface rigid-soft contact on the coupled proxy solver requires Newton with proxy-body contact harvesting, tracked in newton-physics/newton#3756. Until that lands and the repository's Newton revision is advanced, Isaac-Lift-Soft-Franka raises NotImplementedError on reset because upstream Newton rejects the flag unconditionally for SolverCoupledProxy. The Newton configuration added here is correct and inert in the meantime; no other task is affected.

The isaacsim_physx preset of Isaac-Lift-Soft-Franka requires #6830, which lets mesh spawners accept collision_props alongside deformable_props. The preset passes collision_props=[PhysxCollisionCfg(rest_offset=0.0005, contact_offset=0.005)] so the beam rests on the table instead of floating on PhysX's default 20 mm deformable rest offset. Without #6830 the spawner raises ValueError: Cannot use both deformable and collision properties at the same time., so the preset fails at spawn time. The Newton presets are unaffected.

Note on environments.rst

docs/source/overview/environments.rst is regenerated with tools/update_environments_rst.py, which rewrites the generated block wholesale and offers no row filter. Only the four Isaac-Lift-Soft-Franka, Isaac-Lift-Soft-Franka-Camera, Isaac-Lift-Cloth-Franka and Isaac-Lift-Cloth-Franka-Camera rows come from this PR, where they pick up the new ik / joint action selector. The remaining rows reflect pre-existing registry drift from #6669 and #6807 that the stale file was hiding. Separately, --check exists but is not wired into CI or pre-commit, which is why the drift accumulated unnoticed; adding it would be a cheap follow-up.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update

This PR contains two breaking changes to the Franka deformable lift tasks, both documented with migration guidance in the changelog fragment:

  • The default action space changes from task-space differential inverse kinematics to joint-space targets. Append presets=ik to restore the previous behavior.
  • The rsl_rl experiment_name changes from franka_deformable to franka_soft. Move existing logs/rsl_rl/franka_deformable run directories to resume from an older checkpoint.

Screenshots

Not 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

The Franka deformable lift tasks could not grasp reliably. The gripper
tunneled through the beam between soft vertices, and the shared lift MDP
terms offered no deformable-aware rewards or divergence guards, so
diverged environments kept poisoning the rollout.

Add a task-local mdp package with deformable-aware rewards,
observations, terminations, events, a gravity curriculum, and a pose
command that tracks the deformable center of mass. Retune the beam
material, the collider contact and rest offsets, and the arm and hand
actuator gains so the gripper no longer crushes the deformable. Enable
full-surface rigid-soft contact backed by signed-distance fields on the
gripper so contacts are caught between vertices.

Give the cloth task a kinematic rigid support that is registered with
the coupler so the cloth no longer passes through it. Select the action
space through a preset, with joint-space targets as the default and
task-space inverse kinematics available through presets=ik.

Support the above in Newton with NewtonShapeSDFCfg to provision volume
SDFs on collider shapes selected by label regex, a collision pipeline
flag for full-surface rigid-soft contact, and a configurable per-body
particle contact buffer so contacts are not silently dropped.

Full-surface contact on the coupled proxy solver additionally requires
Newton with proxy-body contact harvesting, tracked in
newton-physics/newton#3756.
@github-actions github-actions Bot added documentation Improvements or additions to documentation isaac-lab Related to Isaac Lab team labels Jul 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation isaac-lab Related to Isaac Lab team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant