Add Run pi0.5 Policy objective wiring ExecutePolicyPi05Torch#786
Draft
griswaldbrooks wants to merge 1 commit into
Draft
Add Run pi0.5 Policy objective wiring ExecutePolicyPi05Torch#786griswaldbrooks wants to merge 1 commit into
griswaldbrooks wants to merge 1 commit into
Conversation
…5Torch Wires the new ExecutePolicyPi05Torch behavior (moveit_pro PR pending) into a lab_sim Objective. Wiring demo only: the pi0.5 base checkpoint's declared state_dim (32) does not match lab_sim's real joint count, so this needs a matching-dims fine-tuned checkpoint export before it can run end-to-end. Added to skip_objectives in the integration test since no such checkpoint ships in CI.
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
[written by AI]
needs: moveit_pro/#20521
Adds a
lab_simObjective,Run pi0.5 Policy(src/lab_sim/objectives/run_pi05_policy.xml), wiring the newExecutePolicyPi05Torchbehavior from moveit_pro PR #20521 (in-process libtorch pi0.5 VLA policy inference).What it wires
Look at Tablewaypoint, then runsExecutePolicyPi05Torcharm-only (manipulatorjoint group; gripper ports left unset) against lab_sim's two cameras (/scene_camera/color,/wrist_camera/color, the latter doubled to fill the checkpoint's third expected camera slot).prefix_pt_path,expert_pt_path,stats_path) point at placeholder paths under/models/pi05/— no such checkpoint ships in this repo or in CI.Known limitation: wiring demo, not runnable as-is
The pi0.5 base checkpoint's exported metadata declares
state_dim: 32(the base checkpoint has no fine-tune dataset, so the exporter falls back toPI05Config.max_state_dim's default).ExecutePolicyPi05Torchrequires an exact match between the real robot state size andmetadata.state_dim; lab_sim's manipulator has far fewer than 32 joints, so this objective will fail its first observation with the base checkpoint.This is not a padding bug to fix: reading LeRobot's actual pi0.5 pipeline (
lerobot/policies/pi05/processor_pi05.py'sPi05PrepareStateTokenizerProcessorStepand the sharedNormalizerProcessorStep), state is discretized and embedded as text tokens in the prompt at its real (unpadded) length —max_state_dimis stored on that processor step but never read in its__call__. Only the flow-matching action expert has a hard-sizedLinearprojection that requires numeric padding tomax_action_dim, andExecutePolicyPi05Torchalready implements that (unpadding the response chunk, per the moveit_pro PR). A properly fine-tuned checkpoint for lab_sim would report its own real joint count asstate_dimin its exported metadata, and this objective would run against it unmodified — no code change needed on either side.Runnable end-to-end once a matching-dims checkpoint is exported and its artifact paths are substituted in. Added to
skip_objectivesinobjectives_integration_test.pyso the "run all objectives" CI sweep doesn't try to execute it without real checkpoint files.