Instructions to use OpenRAL/rskill-diffusion-pusht with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use OpenRAL/rskill-diffusion-pusht with LeRobot:
- Notebooks
- Google Colab
- Kaggle
File size: 3,244 Bytes
73940ec 59e3f25 73940ec 59e3f25 73940ec 59e3f25 73940ec 59e3f25 73940ec | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | ---
tags:
- OpenRAL
- rskill
- diffusion-policy
- lerobot
- pusht
- manipulation
license: apache-2.0
language:
- en
---
# rskill-diffusion-pusht
> **OpenRAL rSkill** — Diffusion Policy (Chi et al., 2023) trained on
> the PushT 2-D pushing benchmark, packaged for `OpenRAL`.
This package wraps [`lerobot/diffusion_pusht`](https://huggingface.co/lerobot/diffusion_pusht)
with a `rskill.yaml` manifest. It does **not** copy model weights.
## Upstream model
| Field | Value |
| --- | --- |
| Source repo | [`lerobot/diffusion_pusht`](https://huggingface.co/lerobot/diffusion_pusht) |
| Paper | [arxiv:2303.04137](https://arxiv.org/abs/2303.04137) — *Diffusion Policy: Visuomotor Policy Learning via Action Diffusion* (Chi et al., 2023) |
| License | Apache-2.0 |
| Parameters | ~263 M (1-D U-Net) |
| Action chunk | 8 (within horizon 16) |
| Denoising | 100 DDPM steps per chunk |
| Benchmark | PushT (`gym_pusht`, `pymunk` 2-D rigid-body) |
Per-chunk inference is dominated by the 100-step denoising loop; cached
pops are essentially free, so this is the extreme test of the
queue-drain contract in `ChunkedExecutor`.
## Supported robots
| Robot | Embodiment tag | Status | Notes |
| --- | --- | --- | --- |
| PushT 2-D pseudo-robot (`gym_pusht/PushT-v0`) | `pusht`, `lerobot` | ✓ sim | 2-D end-effector pushing a T block on a 512 × 512 px canvas |
## Sensors required
| Key | Type | Resolution | Format |
| --- | --- | --- | --- |
| `observation.image` | RGB camera | 96 × 96 | `float32` |
PushT predates the multi-cam `observation.images.cameraN` convention and
exposes the raw key `observation.image`.
## Manifest summary
| Field | Value |
| --- | --- |
| `name` | `OpenRAL/rskill-diffusion-pusht` |
| `version` | `0.1.0` |
| `license` | `apache-2.0` |
| `role` | `s1` |
| `embodiment_tags` | `pusht`, `lerobot` |
| `runtime` / `quantization.dtype` | `pytorch` / `fp32` |
| `weights_uri` | `hf://lerobot/diffusion_pusht` |
| `latency_budget.per_chunk_ms` | 1 250 ms (warm full-chunk ≈ 1 756 ms on RTX 4070 Laptop, dominated by DDPM) |
| `latency_budget.warmup_ms` | 10 000 ms |
| `latency_budget.load_ms` | 30 000 ms |
| `commercial_use_allowed` | `true` |
Full schema: `openral_core.RSkillManifest` —
`python/core/src/openral_core/schemas.py`.
## Reproduction
```bash
git clone https://github.com/OpenRAL/openral && cd OpenRAL
just bootstrap && uv sync --all-packages --group sim
# End-to-end via the canonical SimEnvironment config (CPU is enough):
just sim-diffusion-pusht
# which runs:
# openral sim run --config scenes/benchmarks/diffusion_pusht.yaml --save-video
# Sim test (gym_pusht + pymunk):
uv run pytest tests/sim/test_pusht_2d_diffusion_pusht.py -v -m sim
```
## License
This rSkill package (`rskill.yaml`, `README.md`) is **Apache-2.0** to
match the upstream weights. Commercial use is allowed
(`commercial_use_allowed: true`).
## See also
- [`robots/pusht_2d/README.md`](../../robots/pusht_2d/README.md) — RobotDescription manifest.
- [`scenes/benchmarks/diffusion_pusht.yaml`](../../scenes/benchmarks/diffusion_pusht.yaml) — paired SimEnvironment config.
- [`docs/reference/vla_compatibility.md`](../../docs/reference/vla_compatibility.md) — VLA × Robot × Sim matrix.
|