> **30k candidate:** default checkpoint is > `checkpoints/29999`. L40 and physical-robot acceptance > are still pending. Do not publish or treat as frozen. --- license: apache-2.0 library_name: jax tags: - robotics - vision-language-action - pi0.5 - stream-pi - piper-x - real-robot --- # StreamPI Piper-X Real6 — 20k StreamPI / π0.5 checkpoint fine-tuned for six Piper-X dual-arm real-robot manipulation tasks. This release packages the 20,000-step JAX inference checkpoint together with its matching normalization statistics, deployment code, evaluation utilities, and source framework. ## Release contents - Complete StreamPI/OpenPI source framework - 20,000-step JAX inference parameters - Matching `real_piper_x_6tasks` normalization statistics - WebSocket policy server and Piper-X robot client - Offline replay-evaluation scripts and saved results - Release manifest and provenance metadata - Archived upstream StreamPI README ## Model overview | Field | Value | |---|---| | Base policy | π0.5 | | Temporal extension | StreamPI | | Training framework | JAX | | Robot | Piper-X dual-arm platform | | Training domain | Real-robot manipulation | | Number of tasks | 6 | | Released training step | 20,000 | | Dataset/config identity | `real_piper_x_6tasks` | | Intended use | Research, offline evaluation, and controlled real-robot deployment | ## Observation and action interface The checkpoint must be used with the same feature ordering, camera naming, normalization statistics, and control convention used during training. | Component | Expected content | |---|---| | External camera | `cam_high` | | Wrist cameras | `cam_left_wrist`, `cam_right_wrist` | | Left-arm state/action | `left_joint_1..6`, `left_gripper` | | Right-arm state/action | `right_joint_1..6`, `right_gripper` | | Normalization | Bundled `real_piper_x_6tasks` statistics | | Policy transport | WebSocket policy server/client | Do not substitute normalization statistics from another robot, dataset, or checkpoint. Even when tensor dimensions match, a different joint order, gripper convention, image key, or normalization range can produce invalid robot actions. ## Recommended validation order Before enabling torque on the physical robot: 1. Verify checkpoint loading and configuration resolution. 2. Confirm all three camera streams and their expected names. 3. Confirm state and action dimensions, joint order, units, and gripper range. 4. Load the bundled `real_piper_x_6tasks` normalization statistics. 5. Run the packaged offline replay evaluation. 6. Inspect predicted actions for NaN, Inf, discontinuities, and range violations. 7. Test with torque disabled or in a constrained low-speed environment. 8. Enable real-robot execution only after all safety checks pass. ## Deployment notes The WebSocket server and robot client must use the same checkpoint, configuration, normalization assets, observation schema, and action-chunk execution convention. For reproducibility, use the environment and launch information recorded in the packaged manifest and provenance metadata. Paths from the original training machine may need to be replaced with local release paths. ## Key packaged files - [`assets/pi05_calvin/InternRobotics/InternData-Calvin_ABC/norm_stats.json`](assets/pi05_calvin/InternRobotics/InternData-Calvin_ABC/norm_stats.json) - [`assets/pi05_libero/physical-intelligence/libero/norm_stats.json`](assets/pi05_libero/physical-intelligence/libero/norm_stats.json) - [`assets/streampi05/unified_robodojo_all_arx_x5/norm_stats.json`](assets/streampi05/unified_robodojo_all_arx_x5/norm_stats.json) - [`checkpoints/20000/assets/real_piper_x_6tasks/norm_stats.json`](checkpoints/20000/assets/real_piper_x_6tasks/norm_stats.json) - [`deployment/piperx_client.py`](deployment/piperx_client.py) - [`evaluation/scripts/offline_continuous_replay.py`](evaluation/scripts/offline_continuous_replay.py) - [`evaluation/scripts/offline_replay_eval_30.py`](evaluation/scripts/offline_replay_eval_30.py) - [`evaluation/scripts/offline_replay_smoke.py`](evaluation/scripts/offline_replay_smoke.py) - [`lerobot/examples/2_evaluate_pretrained_policy.py`](lerobot/examples/2_evaluate_pretrained_policy.py) - [`lerobot/lerobot/configs/eval.py`](lerobot/lerobot/configs/eval.py) - [`lerobot/lerobot/scripts/eval.py`](lerobot/lerobot/scripts/eval.py) - [`packages/openpi-client/src/openpi_client/websocket_client_policy.py`](packages/openpi-client/src/openpi_client/websocket_client_policy.py) - [`src/openpi/serving/websocket_policy_server.py`](src/openpi/serving/websocket_policy_server.py) - [`third_party/aloha/aloha_scripts/replay_episodes.py`](third_party/aloha/aloha_scripts/replay_episodes.py) - [`third_party/libero/libero/lifelong/evaluate.py`](third_party/libero/libero/lifelong/evaluate.py) ## Upstream documentation The original StreamPI project README is preserved at: - [`docs/UPSTREAM_STREAMPI_README.md`](docs/UPSTREAM_STREAMPI_README.md) Use the upstream document for general StreamPI/OpenPI architecture and installation information. This model card describes the Piper-X Real6 checkpoint and its release-specific constraints. ## Intended use This release is intended for: - StreamPI and π0.5 research - Offline inference and replay evaluation - Reproduction of the Piper-X Real6 experiments - Controlled deployment on a compatible Piper-X dual-arm platform - Analysis of temporal conditioning in vision-language-action policies ## Limitations - The checkpoint was trained on a limited set of six real-robot tasks. - Performance outside the training distribution is not guaranteed. - Camera placement, lighting, workspace geometry, embodiment calibration, and action conventions can materially affect behavior. - Offline replay consistency does not guarantee closed-loop task success. - Real-robot execution requires independent collision, workspace, velocity, and emergency-stop safeguards. ## Safety This model can generate unsafe or out-of-distribution robot commands. Deployment must include external safety controls such as joint-limit checks, workspace constraints, velocity and acceleration limits, collision monitoring, and a hardware emergency stop. Never treat the learned policy as the sole safety layer. ## License Apache-2.0. Third-party components and upstream dependencies remain subject to their respective licenses. ## Piper-X Real6 deployment This release contains the StreamPI Piper-X policy trained for six real-robot tasks. Runtime configuration: ```yaml config: pi05_stream3_piper_x_real_6tasks checkpoint: checkpoints/20000 asset: real_piper_x_6tasks history: 3 predict: 10 execute: 5 state_dim: 14 action_dim: 14 ``` Verify the release: ```bash export OPENPI_PYTHON=/path/to/python bash scripts/verify_release.sh ``` Run a synthetic loopback test without robot hardware: ```bash export OPENPI_PYTHON=/path/to/python export LOOPBACK_GPU=0 export LOOPBACK_PORT=18080 bash scripts/test_loopback.sh ``` Start the policy server: ```bash export OPENPI_PYTHON=/path/to/python export POLICY_GPU=0 export POLICY_PORT=8000 bash scripts/start_policy_server.sh ``` Before enabling robot torque, complete policy warm-up and read [`HANDOFF.md`](HANDOFF.md), especially the client protocol and safety requirements.