OpenPIE-0.6 is a fully open-source reimplementation of Physical Intelligence's pi0.6 model. Unlike the original closed-source model, OpenPIE-0.6 provides:
Full PyTorch implementation (no JAX/Flax dependencies)
Pre-trained weights you can use immediately
Training code to reproduce or fine-tune on your own data
Apache 2.0 license for commercial use
Comparison: OpenPIE-0.6 vs Original pi0.6
Feature
Original pi0.6
OpenPIE-0.6
Open Source
No (closed)
Yes (Apache 2.0)
Framework
JAX/Flax
PyTorch
Pre-trained Weights
Not released
Available
Training Code
Not released
Available
Fine-tuning
Not possible
Fully supported
Commercial Use
Restricted
Allowed
Performance Comparison
Metric
OpenPIE-0.6
pi0.6 Paper Reference
Status
Action MSE
0.010
~0.01
Match
Value Correlation
0.986
>0.8
Exceeds
Advantage Gap
0.070
>0.05
Exceeds
Throughput
22 act/s
~20 act/s
Exceeds
Model Architecture
OpenPIE-0.6 (5.91B policy + 1.31B value = 7.22B total)
├── Vision Encoder: SigLIP (384x384 images)
├── Base VLM: PaliGemma (Gemma 2B backbone)
├── Action Expert: Gemma 2B (cross-attention with VLM)
├── Value Function: 1.31B params (distributional, 1024 bins)
└── Action Space: 14D continuous (7 DOF left arm + 7 DOF right arm)
Training Details
OpenPIE-0.6 was trained using the RECAP algorithm (RL with Experience and Corrections via Advantage-conditioned Policies):
1# Pseudo-code for robot integration2classOpenPIEPolicy:3def__init__(self):4# Load model weights5 self.policy_weights = load_file(hf_hub_download("exla-ai/openpie-0.6","policy.safetensors"))6# ... initialize your model architecture with these weights78defget_action(self, image, robot_state, instruction):9"""
10 Args:
11 image: Camera image (384x384 RGB)
12 robot_state: Current joint positions (14D for dual arm)
13 instruction: Text instruction like "pick up the cube"
1415 Returns:
16 actions: Joint position targets (14D)
17 """18# Your inference code here19pass2021# Usage22policy = OpenPIEPolicy()23action = policy.get_action(24 image=camera.get_frame(),25 robot_state=robot.get_joint_positions(),26 instruction="pick up the red cube and place it on the plate"27)28robot.execute(action)
Why OpenPIE-0.6?
Fully Open: Unlike the original pi0.6, all weights and code are available
PyTorch Native: No JAX dependencies, works with standard PyTorch ecosystem
Production Ready: Optimized for inference with safetensors format
Extensible: Easy to fine-tune on your own robotics data
Well Documented: Clear examples and integration guides
Citation
If you use OpenPIE-0.6 in your research, please cite: