Skip to content

Add Newton stack tasks for Franka and KUKA-Allegro - #7735

Draft
maxkra15 wants to merge 45 commits into
isaac-sim:mainfrom
maxkra15:maximiliank/franka-newton-stack
Draft

maxkra15 wants to merge 45 commits into
isaac-sim:mainfrom
maxkra15:maximiliank/franka-newton-stack

Conversation

@maxkra15

@maxkra15 maxkra15 commented Sep 10, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Adds experimental manager-based Newton MJWarp stacking tasks for Franka and KUKA-Allegro, plus Franka RGB PPO/distillation. Reset events restore physical intermediate states; the curriculum learns backwards from those states while retaining randomized table starts. Play evaluates table starts only. No new dependencies are introduced.

Merged upstream main at 46d6cc3d7 (merge commit fb918a4fb) and resolved camera/deployment/docs conflicts while retaining upstream nested camera-output mapping and its RGB-to-action export regression. The docs follow upstream's source/isaaclab/ layout.

  • Uses the standard FRANKA_PANDA_CFG flat asset, its MuJoCo payload, and a passive mimic follower; only the leading finger is driven.
  • Shares Franka pick/lift/transport/place construction across both movable cubes. The retained 6,786-row bank matches the previous bank within 2e-7; the experimental generic grasp creator remains a separate change and does not replace stacking resets.
  • Uses the normal event/curriculum lifecycle, with current actuator commands for reset targets. The stacking guide includes a small phase-selection example, training/play commands, and checkpoint caveats.
  • Reuses the state actor's 100-input observation order and architecture for camera critics/teachers. The deployed camera actor receives RGB and robot proprioception, not simulator object state.
  • Keeps distinct reset, snapshot, camera, checkpoint, and fail-closed deployment contracts. Shared environment smoke tests cover both state tasks; no additional simulation-test harness is added.
  • Keeps the collision-only table surface hidden and the shared default ground visual. Previews are externally linked at an immutable commit, not included as binary media in this PR. The nonexistent camera preview entry is removed.

Pretrained checkpoints and compatibility

Pretrained stacking checkpoints are available in the Isaac-dev Nucleus pretrained-checkpoints collection. Availability does not imply compatibility with the current asset dynamics.

An earlier matched 10-episode comparison of historical Franka model_8997.pt completed 10/10 episodes with the previous configuration and 4/10 with the standard-asset configuration. These are bounded compatibility checks, not population success estimates. Retrain or revalidate Franka policies before advertising them for this configuration. Older 109-input camera teachers also require retraining for the shared 100-input teacher interface.

Camera-student success and fresh LEAPP deployment parity are not certified. Hardware use additionally requires camera/controller calibration, safety limits, and independent validation.

Reference previews

Franka state — MP4

Franka reference policy completes a stack

KUKA-Allegro state — MP4

KUKA-Allegro reference policy completes a stack

These reference recordings end at measured success terminations (steps 170 and 213). The Franka recording predates the standard-asset migration and is not validation on current dynamics. No camera-success preview is claimed. Both MP4 and GIF URLs were checked successfully.

Validation on the merged branch (October 21)

  • Focused source-package checks: 112 passed across stacking configuration (16), RL entrypoints (54), LEAPP camera/export proxies (15), deployment ownership (6), camera output/rendering (19), and the shared Newton smoke tests for both state tasks (2).
  • Documentation-tool checks: 34 passed. The registry-backed environment browser is current (144 training environments).
  • Clean warning-as-error Sphinx build, uv run isaaclab -f, changelog validation, JavaScript syntax, and whitespace checks pass.
  • The local Newton smoke initially exposed missing CUDA 13 NVRTC builtins on the loader search path; rerunning with the installed nvidia/cu13/lib directory on LD_LIBRARY_PATH passes. This is an environment-specific launch setting, not a test skip or source-code workaround.
  • Earlier standard-Franka reset checks established held-cube FK alignment, passive mimic behavior, sliced-reset isolation, and 6,786-row bank equivalence; the bank remains unchanged by this merge.
  • Action writers retain the LEAPP-supported articulation compatibility boundary; existing runtime/dependency deprecation warnings remain visible.

DroidPlus/RoboLab hardware-adaptation experiments and the generic grasp creator are separate from this PR. This PR's Franka tasks use Panda fingers, not the Droid's Robotiq 2F-85; no hardware or Droid deployment readiness is claimed.

Type of change

  • New experimental environments and deployment support
  • Bug fixes and documentation update
  • Experimental-checkpoint migration: standard-asset dynamics and the shared camera-teacher interface require revalidation/retraining

Release backport

  • Backport to the active release branch

Checklist

  • Read contribution guidelines
  • Run formatting/pre-commit checks
  • Update documentation and complete a clean warning-free documentation build
  • Validate changed behavior and audit test value
  • Add current-format changelog fragments for each touched source package
  • Contributor already listed
  • Retrain/revalidate Franka policies and refresh the Franka success preview
  • Verify camera-student success and fresh LEAPP deployment parity before deployment

@maxkra15
maxkra15 requested a review from a team September 10, 2026 14:51
@github-actions github-actions Bot added documentation Improvements or additions to documentation isaac-lab Related to Isaac Lab team labels Sep 10, 2026
@maxkra15

maxkra15 commented Oct 1, 2026

Copy link
Copy Markdown
Contributor Author

run-ci

@isaaclab-bot isaaclab-bot Bot added ci:run-docker Trigger the on-demand Docker and GPU CI workflow and removed ci:run-docker Trigger the on-demand Docker and GPU CI workflow labels Oct 1, 2026
@maxkra15

maxkra15 commented Oct 3, 2026

Copy link
Copy Markdown
Contributor Author

run-ci

@isaaclab-bot isaaclab-bot Bot added ci:run-docker Trigger the on-demand Docker and GPU CI workflow and removed ci:run-docker Trigger the on-demand Docker and GPU CI workflow labels Oct 3, 2026
@maxkra15
maxkra15 marked this pull request as draft October 13, 2026 11:31
@maxkra15

Copy link
Copy Markdown
Contributor Author

run-ci

@isaaclab-bot isaaclab-bot Bot added ci:run-docker Trigger the on-demand Docker and GPU CI workflow and removed ci:run-docker Trigger the on-demand Docker and GPU CI workflow labels Oct 21, 2026
@maxkra15

Copy link
Copy Markdown
Contributor Author

run-ci

@isaaclab-bot isaaclab-bot Bot added ci:run-docker Trigger the on-demand Docker and GPU CI workflow and removed ci:run-docker Trigger the on-demand Docker and GPU CI workflow labels Oct 21, 2026
Keep this branch current with upstream main at
e4df255. Preserve the PR behavior.
Integrate upstream main e907f82
to keep this branch current while preserving its feature scope.
Integrate upstream main d78054a
to retain compatibility with current backend ownership and dependencies.
Integrate upstream main at ce2900d to keep
the branch current with shared API and dependency changes.

Validate the merged revision with focused checks and full formatting
and lint hooks before committing. Remote CI remains separate.
@maxkra15

Copy link
Copy Markdown
Contributor Author

run-ci

@isaaclab-bot isaaclab-bot Bot added ci:run-docker Trigger the on-demand Docker and GPU CI workflow and removed ci:run-docker Trigger the on-demand Docker and GPU CI workflow labels Oct 28, 2026
@maxkra15

Copy link
Copy Markdown
Contributor Author

Merged upstream main at 9860e2b and pushed compatibility fixes in e1fbe8f.

Review fixes: migrated camera preprocessing to the current tensor-processor API without changing scaling/noise, removed the duplicate Gaussian std_range declaration now provided upstream, corrected the KUKA grasp-pair documentation, and updated existing owner-boundary assertions and release notes.

Local validation with current locked dependencies in a separate environment:

  • All 11 branch-changed test files: 149 passed, zero skipped.
  • All four stack tasks: real CUDA/Newton reset, eight steps, and second reset with finite observations/rewards.
  • Both camera variants: Isaac Sim RTX, nonblack 128x128 RGB images and finite CHW policy observations.
  • Native RSL-RL PPO: two updates, finite losses, and a serialized checkpoint with 76 finite tensors.
  • Full repository formatting/lint, changelog checks, git diff checks, and a clean Sphinx warning-as-error build passed.

The pre-fix deprecated camera import fails when that warning is promoted to an error; the updated existing stack tests pass with the same filter. These are execution and compatibility checks, not long-run policy qualification or real-robot validation. Fresh CI has been requested for this revision.

Integrate upstream main at 6d37745 to keep
the branch current with shared API and dependency changes.

Validate the merged revision with focused checks and all repository
formatting and lint hooks. Remote CI remains separate.

This branch has not been deployed

No deployments
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

Status: In review

Development

Successfully merging this pull request may close these issues.

4 participants