Skip to content

Fix pretrained checkpoint matrix - #7424

Merged
kellyguo11 merged 3 commits into
isaac-sim:developfrom
maxkra15:maximiliank/fix-pretrained-checkpoint
Sep 1, 2026
Merged

Fix pretrained checkpoint matrix#7424
kellyguo11 merged 3 commits into
isaac-sim:developfrom
maxkra15:maximiliank/fix-pretrained-checkpoint

Conversation

@maxkra15

Copy link
Copy Markdown

Description

Fix the checkpoint workflow so unsupported preset-only tasks do not abort construction of the supported core matrix, and restore the Newton MJWarp checkpoint job for Isaac-Reach-Franka-OSC.

The OSC task previously required an exclusion because implicit feed-forward efforts were not limited by MJWarp. That controller issue was fixed by #7033 using a zero-gain explicit actuator that enforces the Franka asset effort limits before simulation. The checkpoint exclusion remained after that fix and is now stale.

Validation

  • Focused Ruff hooks passed during uv run isaaclab -f
  • uv run --frozen --extra test python -m pytest scripts/tools/test/test_train_and_publish_checkpoints.py -q — 8 passed
  • Newton MJWarp OSC training: 1,000 PPO iterations, 4,096 environments, 98,304,000 steps, 92.92% final training success, no NaNs
  • The trained checkpoint loaded successfully and its staged download matched the local SHA-256

The full local pre-commit run reaches unrelated changelog-fragment failures already present on the current develop checkout; this PR changes only the checkpoint utility, its tests, and an isaaclab_rl skip fragment.

Staged checkpoints

  • omniverse://isaac-dev.ov.nvidia.com/Isaac/IsaacLab/PretrainedCheckpoints/rsl_rl/Isaac-Open-Drawer-Franka_newtonmjwarp_none_rsl_rl.pt
  • omniverse://isaac-dev.ov.nvidia.com/Isaac/IsaacLab/PretrainedCheckpoints/rsl_rl/Isaac-Reach-Franka-OSC_newtonmjwarp_none_rsl_rl.pt

Public Isaac 6.1 asset-pack promotion is handled separately from this code change.

Type of change

  • Bug fix (non-breaking change which fixes an issue)

Release backport

  • Backport this pull request to the active release branch after it merges into develop

Screenshots

Not applicable.

Checklist

  • I have read and understood the contribution guidelines
  • I ran the applicable pre-commit and focused validation checks
  • Documentation/changelog requirements are satisfied with a skip fragment because only tooling is changed
  • My changes generate no new warnings
  • I have added tests that prove the fix
  • My name already exists in CONTRIBUTORS.md

@maxkra15
maxkra15 requested a review from a team August 28, 2026 20:16
@github-actions github-actions Bot added bug Something isn't working isaac-lab Related to Isaac Lab team labels Aug 28, 2026

@isaaclab-review-bot isaaclab-review-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Isaac Lab Review Bot

The change correctly avoids default-backend normalization for preset-driven tasks, allowing unsupported preset-only tasks to be skipped, and restores the Newton MJWarp job for Isaac-Reach-Franka-OSC. The added tests cover both regressions.

  • Design and architecture: The reordered lookup matches _select_physics_variants: preset-driven tasks select only recognized variants, while preset-less tasks still use their normalized default backend. The retained private task_name argument is unused after removing the exclusion, but this is optional cleanup rather than a material design defect.
  • API: No public API, CLI option, or documented compatibility surface changes. Widening the private helper's default_backend parameter to str | None matches its new internal call path, and the skip fragment is appropriate for this tooling-only change.
  • Implementation: The job-construction paths preserve existing behavior for supported preset and preset-less tasks. The regression tests directly exercise unsupported preset handling and restored OSC/Newton MJWarp selection; no concrete implementation failure is evidenced.

No blocking issues. No inline issue met the actionable-evidence threshold; the assessment above records the review feedback.

Automated review; human maintainers own approval decisions.

@greptile-apps

greptile-apps Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR fixes checkpoint matrix construction so preset-only tasks with unsupported physics variants do not require default-backend normalization, and it restores Newton MJWarp checkpoint generation for the Franka OSC reach task.

  • Defers default physics-backend normalization when explicit physics presets are available.
  • Removes the stale Newton MJWarp exclusion for Isaac-Reach-Franka-OSC.
  • Adds focused regression tests for unsupported presets and OSC backend selection.
  • Adds the tooling-only changelog skip fragment.

Confidence Score: 5/5

The PR appears safe to merge, with no concrete blocking or independently actionable non-blocking issue identified.

The changed matrix logic avoids unsupported default-backend normalization while retaining concrete preset selection, and the restored Franka OSC Newton MJWarp path is covered by focused tests.

Important Files Changed

Filename Overview
scripts/tools/train_and_publish_checkpoints.py Reorders preset discovery and conditionally normalizes the default backend while removing the stale Franka OSC Newton MJWarp exclusion; no concrete defect was established.
scripts/tools/test/test_train_and_publish_checkpoints.py Adds focused regression coverage for unsupported preset-only tasks and restored Franka OSC Newton MJWarp selection.
source/isaaclab_rl/changelog.d/maximiliank-skip-unsupported-checkpoint-presets.skip Adds the expected empty changelog skip fragment for the tooling-only change.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Registered core task] --> B[Enumerate task presets]
    B --> C[Parse environment configuration]
    C --> D[Select learning workflow]
    D --> E{Named physics presets exist?}
    E -->|No| F[Normalize default physics backend]
    E -->|Yes| G[Match requested concrete selectors]
    F --> H[Build checkpoint jobs]
    G --> H
    G --> I[Include Franka OSC Newton MJWarp]
Loading

Reviews (1): Last reviewed commit: "Enable Franka Reach OSC MJWarp checkpoin..." | Re-trigger Greptile

@maxkra15

maxkra15 commented Sep 1, 2026

Copy link
Copy Markdown
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 Sep 1, 2026
@kellyguo11
kellyguo11 merged commit 1b92aad into isaac-sim:develop Sep 1, 2026
45 checks passed
@isaaclab-bot

isaaclab-bot Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Backported to release/3.0.0 as 2d42577.

isaaclab-bot Bot pushed a commit that referenced this pull request Sep 1, 2026
# Description

Fix the checkpoint workflow so unsupported preset-only tasks do not
abort construction of the supported core matrix, and restore the Newton
MJWarp checkpoint job for `Isaac-Reach-Franka-OSC`.

The OSC task previously required an exclusion because implicit
feed-forward efforts were not limited by MJWarp. That controller issue
was fixed by #7033 using a zero-gain explicit actuator that enforces the
Franka asset effort limits before simulation. The checkpoint exclusion
remained after that fix and is now stale.

## Validation

- Focused Ruff hooks passed during `uv run isaaclab -f`
- `uv run --frozen --extra test python -m pytest
scripts/tools/test/test_train_and_publish_checkpoints.py -q` — 8 passed
- Newton MJWarp OSC training: 1,000 PPO iterations, 4,096 environments,
98,304,000 steps, 92.92% final training success, no NaNs
- The trained checkpoint loaded successfully and its staged download
matched the local SHA-256

The full local pre-commit run reaches unrelated changelog-fragment
failures already present on the current `develop` checkout; this PR
changes only the checkpoint utility, its tests, and an `isaaclab_rl`
skip fragment.

## Staged checkpoints

-
`omniverse://isaac-dev.ov.nvidia.com/Isaac/IsaacLab/PretrainedCheckpoints/rsl_rl/Isaac-Open-Drawer-Franka_newtonmjwarp_none_rsl_rl.pt`
-
`omniverse://isaac-dev.ov.nvidia.com/Isaac/IsaacLab/PretrainedCheckpoints/rsl_rl/Isaac-Reach-Franka-OSC_newtonmjwarp_none_rsl_rl.pt`

Public Isaac 6.1 asset-pack promotion is handled separately from this
code change.

## Type of change

- Bug fix (non-breaking change which fixes an issue)

## Release backport

- [x] <!-- backport-active-release --> Backport this pull request to the
active release branch after it merges into `develop`

## Screenshots

Not applicable.

## Checklist

- [x] I have read and understood the contribution guidelines
- [x] I ran the applicable pre-commit and focused validation checks
- [x] Documentation/changelog requirements are satisfied with a skip
fragment because only tooling is changed
- [x] My changes generate no new warnings
- [x] I have added tests that prove the fix
- [x] My name already exists in `CONTRIBUTORS.md`

(cherry picked from commit 1b92aad)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working isaac-lab Related to Isaac Lab team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants