StreamPIReal6_3w / README.md
Dengliming's picture
Upload folder using huggingface_hub
00c55c8 verified
|
Raw History Blame Contribute Delete
7.36 kB
> **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.
<!-- PIPERX_REAL6_DEPLOYMENT_START -->
## 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.
<!-- PIPERX_REAL6_DEPLOYMENT_END -->