Align lift experiment names and split shared camera experiment - #7537
Align lift experiment names and split shared camera experiment#7537mmichelis wants to merge 2 commits into
Conversation
There was a problem hiding this comment.
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 selectslift_soft_camera; and non-camera soft selectslift_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 SummaryThis 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.
Confidence Score: 5/5The 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
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]
Reviews (1): Last reviewed commit: "Give the soft and cloth camera lift task..." | Re-trigger Greptile |
Description
The lift task family had inconsistent
rsl_rlexperiment names. The cloth and cable tasks already used thelift_*scheme (lift_cloth,lift_cable,lift_cable_camera), while the soft-beam task usedfranka_softand the camera variant usedfranka_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_camerawas shared byIsaac-Lift-Soft-Franka-CameraandIsaac-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 sameFrankaCameraObservationsCfgand the same 128x128FRANKA_CAMERA_CFG, andDeformableSampledPointsInRobotRootFramealways emits 20 points regardless of mesh resolution), a checkpoint from one task loads into the other with no shape mismatch. Replaying without an explicit--checkpointfalls through toget_checkpoint_path(log_root_path, agent_cfg.load_run, ...)withload_rundefaulting to.*, which globs the directory with no task filter, so it could silently evaluate a policy trained on the other task. Selecting--checkpoint latestorbestwas already safe becauseresolve_checkpoint_selectorfilters on thetaskfield ofrun_manifest.json; only the legacy bare-glob fallback was exposed.Resulting experiment directories, all distinct:
Isaac-Lift-Soft-Frankalift_softIsaac-Lift-Cloth-Frankalift_clothIsaac-Lift-Cable-Frankalift_cableIsaac-Lift-Soft-Franka-Cameralift_soft_cameraIsaac-Lift-Cloth-Franka-Cameralift_cloth_cameraIsaac-Lift-Cable-Franka-Cameralift_cable_cameraCheckpoint weights are unaffected; only the log directory changes. Existing runs can be moved into the new directories, and the
taskfield in each run'srun_manifest.jsondistinguishes soft from cloth runs that previously sharedfranka_deformable_camera. Passing--experiment_name franka_softalso restores the old path.Runner config class names are deliberately unchanged, since they are referenced by the registered
rsl_rl_cfg_entry_pointstrings and renaming them would break that public API without a deprecation path. The only new class isFrankaClothCameraPPORunnerCfg, which gives the cloth camera task its own experiment directory.Type of change
Release backport
developChecklist
pre-commitchecks with./isaaclab.sh --formatsource/<pkg>/changelog.d/for every touched package (do not editCHANGELOG.rstor bumpextension.toml— CI handles that)CONTRIBUTORS.mdor my name already exists thereNotes 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.