Instructions to use drashutoshspace/moonbot_pi0_three_blocks_stack with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use drashutoshspace/moonbot_pi0_three_blocks_stack with LeRobot:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
# No code snippets available yet for this library.
# To use this model, check the repository files and the library's documentation.
# Want to help? PRs adding snippets are welcome at:
# https://github.com/huggingface/huggingface.jsmoonbot pi0 — three blocks stack, WITH force/torque
pi0 fine-tuned from lerobot/pi0_base (PaliGemma 2B + 300M action expert; full fine-tune: vision encoder and VLM trainable), trained on gdiazsrl/three_blocks_stack_sep22 (296 episodes, 519,684 frames at 30 Hz, 9 language instructions; MoonBot 7-DOF arm, block stacking).
Input/output: 21-dim state = joint_read (8: 7 joints + gripper) + tip_pos (7: end-effector pose) + F_ee (6: force/torque); 3 RGB cameras (front, eef, right); 8-dim action (7 joint positions + gripper).
Comparison run. One of six policies comparing pi0 / SmolVLA / ACT with vs without force/torque, all trained with batch size 16, 20,000 steps, seed 1000 and no validation split; otherwise each uses its own LeRobot preset. The two datasets are the same episodes and frames, except that the 6 F_ee dimensions are removed from the state in the no-F/T one. The counterpart of this model without force/torque is moonbot_pi0_no_tf.
| model | F/T | repo | W&B run |
|---|---|---|---|
| pi0 | with | moonbot_pi0_three_blocks_stack |
bkbszs91 |
| pi0 | without | moonbot_pi0_no_tf |
ahb0i6l9 |
| SmolVLA | with | moonbot_smolvla_tf |
rn1je6y9 |
| SmolVLA | without | moonbot_smolvla_no_tf |
9i3olvax |
| ACT | with | moonbot_act_tf |
uw4alfzk |
| ACT | without | moonbot_act_no_tf |
a7hpuoto |
Training
| initialization | lerobot/pi0_base |
| parameters | 4.03B (all trainable) |
| language input | yes |
| action chunk | 50 (all 50 executed) |
| optimizer | AdamW, lr 2.5e-5, betas (0.9, 0.95), weight decay 0.01, grad clip 1.0 |
| LR schedule | cosine with 1,000 warm-up steps, decaying towards 2.5e-6 over 30,000 steps (stops at 20,000) |
| precision | bfloat16, gradient checkpointing |
| batch size / steps | 16 / 20,000 (about 0.62 epochs) |
| seed | 1000 |
| GPU | 1x NVIDIA RTX PRO 6000 Blackwell (96 GB) |
| training time | 9.9 h |
| final training loss | 0.0145 (this policy's own objective; not comparable across algorithms) |
| framework | LeRobot 0.6.1 |
| training curves | https://wandb.ai/drmishra-space/lerobot/runs/bkbszs91 |
Checkpoints
checkpoint-005000, checkpoint-010000, checkpoint-015000, checkpoint-020000 (final). Each checkpoint-XXXXXX/ folder holds the weights (model.safetensors), config.json, train_config.json and the pre/post-processor files. checkpoint-020000/ also includes training_state/ (optimizer, scheduler, RNG, step) for resuming. This repo has no deployment bundle: deploy with the 21-dim rosetta contract moonbot1.yaml from the rosetta fork.
Complete checkpoints, including the optimizer state, are also on the team OneDrive under DATA/Processed/pi0_checkpoint_020000 (final checkpoint).
Deployment
Per Gustavo: open config.json in the downloaded checkpoint and remove invalid fields such as pretrained_revision before loading with rosetta/policy_bridge_node.py.
hf download drashutoshspace/moonbot_pi0_three_blocks_stack --include "checkpoint-020000/*" --local-dir model
python src/rosetta/rosetta/policy_bridge_node.py --ros-args \
-p contract_path:=<rosetta>/moonbot1.yaml \
-p policy_path:=$PWD/model/checkpoint-020000