Skip to content

Align lift experiment names and split shared camera experiment - #7537

Open
mmichelis wants to merge 2 commits into
isaac-sim:developfrom
mmichelis:mym/lift-experiment-names
Open

Align lift experiment names and split shared camera experiment#7537
mmichelis wants to merge 2 commits into
isaac-sim:developfrom
mmichelis:mym/lift-experiment-names

Conversation

@mmichelis

Copy link
Copy Markdown
Collaborator

Description

The lift task family had inconsistent rsl_rl experiment names. The cloth and cable tasks already used the lift_* scheme (lift_cloth, lift_cable, lift_cable_camera), while the soft-beam task used franka_soft and the camera variant used franka_deformable_camera. This PR brings both in line with their siblings.

The second commit fixes a real bug found while making the rename. franka_deformable_camera was shared by Isaac-Lift-Soft-Franka-Camera and Isaac-Lift-Cloth-Franka-Camera, so both tasks wrote runs into the same directory. Because the two tasks have identical observation and action shapes (both instantiate the same FrankaCameraObservationsCfg and the same 128x128 FRANKA_CAMERA_CFG, and DeformableSampledPointsInRobotRootFrame always emits 20 points regardless of mesh resolution), a checkpoint from one task loads into the other with no shape mismatch. Replaying without an explicit --checkpoint falls through to get_checkpoint_path(log_root_path, agent_cfg.load_run, ...) with load_run defaulting to .*, which globs the directory with no task filter, so it could silently evaluate a policy trained on the other task. Selecting --checkpoint latest or best was already safe because resolve_checkpoint_selector filters on the task field of run_manifest.json; only the legacy bare-glob fallback was exposed.

Resulting experiment directories, all distinct:

Task Experiment
Isaac-Lift-Soft-Franka lift_soft
Isaac-Lift-Cloth-Franka lift_cloth
Isaac-Lift-Cable-Franka lift_cable
Isaac-Lift-Soft-Franka-Camera lift_soft_camera
Isaac-Lift-Cloth-Franka-Camera lift_cloth_camera
Isaac-Lift-Cable-Franka-Camera lift_cable_camera

Checkpoint weights are unaffected; only the log directory changes. Existing runs can be moved into the new directories, and the task field in each run's run_manifest.json distinguishes soft from cloth runs that previously shared franka_deformable_camera. Passing --experiment_name franka_soft also restores the old path.

Runner config class names are deliberately unchanged, since they are referenced by the registered rsl_rl_cfg_entry_point strings and renaming them would break that public API without a deprecation path. The only new class is FrankaClothCameraPPORunnerCfg, which gives the cloth camera task its own experiment directory.

Type of change

  • Breaking change (existing functionality will not work without user modification)

Release backport

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

Checklist

  • I have read and understood the contribution guidelines
  • 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 added a changelog fragment under source/<pkg>/changelog.d/ for every touched package (do not edit CHANGELOG.rst or bump extension.toml — CI handles that)
  • I have added my name to the CONTRIBUTORS.md or my name already exists there

Notes on the two unchecked or qualified items: no documentation references these log directories, so no docs changes were required. No test was added because the repository has no existing coverage asserting experiment names, and a test pinning the strings would restate the config rather than exercise behavior. Verified manually that all six lift tasks resolve to distinct experiment directories through the gym registry.

@mmichelis
mmichelis requested a review from a team September 3, 2026 15:08
@github-actions github-actions Bot added the isaac-lab Related to Isaac Lab team label Sep 3, 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 PR consistently renames the soft lift-family RSL-RL experiment directories and gives the cloth camera task a distinct runner configuration, preventing it from sharing checkpoint discovery paths with the soft camera task. The breaking log-path changes and migration steps are documented in package changelog fragments.

  • Design and architecture: The new cloth camera runner is a thin subclass that overrides only experiment_name, matching the existing cable camera specialization and preserving the shared camera policy configuration. This cleanly separates soft, cloth, and cable camera run directories without duplicating model or algorithm settings.
  • API: The updated cloth task entry point resolves to the newly defined FrankaClothCameraPPORunnerCfg, while existing runner class names and the other task registrations remain intact. The user-visible experiment-directory changes are explicitly marked as breaking, with guidance for moving existing runs or overriding the experiment name where applicable.
  • Implementation: The inheritance and registration paths are internally consistent: cloth retains the existing camera actor, critic, and algorithm settings while selecting lift_cloth_camera; soft now selects lift_soft_camera; and non-camera soft selects lift_soft. The main non-blocking compatibility cost is that external scripts, dashboards, and existing run layouts referencing the former directories must follow the documented migration.

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 Sep 3, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR aligns the soft-beam RSL-RL experiment names with the lift task family and separates soft-camera and cloth-camera runs to prevent cross-task checkpoint selection.

  • Renames the soft and soft-camera experiment directories to lift_soft and lift_soft_camera.
  • Adds a cloth-camera runner configuration using lift_cloth_camera.
  • Routes the cloth-camera Gym registration to the new runner configuration.
  • Documents the breaking directory migrations and compatibility override.

Confidence Score: 5/5

The PR appears safe to merge because the new entry point resolves to a valid inherited configuration and all affected lift variants use distinct, documented experiment directories.

The registration and runner changes are internally consistent, preserve inherited agent settings, eliminate the camera-task directory collision, and provide documented migration paths for the intentional breaking renames.

Important Files Changed

Filename Overview
source/isaaclab_tasks/isaaclab_tasks/core/lift/config/franka_soft/init.py Correctly routes the cloth-camera task to its dedicated RSL-RL runner configuration.
source/isaaclab_tasks/isaaclab_tasks/core/lift/config/franka_soft/agents/rsl_rl_ppo_cfg.py Renames the soft experiment defaults and adds a valid inherited cloth-camera configuration with a unique directory.
source/isaaclab_tasks/changelog.d/rename-franka-soft-to-lift-soft.major.rst Accurately documents the non-camera breaking rename, contributed-task impact, and compatibility override.
source/isaaclab_tasks/changelog.d/split-camera-lift-experiments.major.rst Accurately documents the camera-directory split and migration of existing runs.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  Soft[Isaac-Lift-Soft-Franka] --> LS[lift_soft]
  Cloth[Isaac-Lift-Cloth-Franka] --> LC[lift_cloth]
  Cable[Isaac-Lift-Cable-Franka] --> LCB[lift_cable]
  SoftCam[Isaac-Lift-Soft-Franka-Camera] --> LSC[lift_soft_camera]
  ClothCam[Isaac-Lift-Cloth-Franka-Camera] --> LCC[lift_cloth_camera]
  CableCam[Isaac-Lift-Cable-Franka-Camera] --> LCBC[lift_cable_camera]
Loading

Reviews (1): Last reviewed commit: "Give the soft and cloth camera lift task..." | Re-trigger Greptile

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

Labels

isaac-lab Related to Isaac Lab team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants