ervla / README.md
multimodalart's picture
multimodalart HF Staff
Upload folder using huggingface_hub
17f7e4c verified
|
Raw History Blame Contribute Delete
2.83 kB
---
title: ERVLA
emoji: 🤖
colorFrom: gray
colorTo: blue
sdk: gradio
sdk_version: 6.17.3
app_file: app.py
short_description: Camera views + instruction → robot action chunks
python_version: "3.12"
startup_duration_timeout: 1h
---
# ERVLA: Embodied Chain-of-Thought for Generalizable Robot Manipulation
Demo of **ERVLA** (`ERVLA/liberoplus`) — a vision-language-action (VLA) manipulation policy
built on a Qwen3-VL-4B backbone with a DiT flow-matching action head (MiBoT). The
`liberoplus` checkpoint is the LIBERO-Plus-tuned model that reaches 86.9% success on the
LIBERO-Plus benchmark.
**What the Space does:** you upload the two camera observations a LIBERO robot would see
(base/agentview + left wrist), type the task instruction, and the model predicts the next
end-effector **action chunk** — 10 steps of Δxyz translation, Δrotation, and gripper
command. The chunk is shown as a line chart of the translation deltas plus a full table
(and CSV) of all 7 action dimensions per step.
**No simulator runs here.** LIBERO-Plus/VLABench environments cannot be deployed inside a
Space, so the predicted action chunk is the demo's output — the same_tensor the reference
deployment server streams to the LIBERO evaluator.
## Inputs
- **Base view** — the agentview camera image (LIBERO observation convention).
- **Left-wrist view** — the wrist camera image.
- **Instruction** — the task, e.g. *"Turn on the stove and put the moka pot on it."*
- **Advanced:** LIBERO suite (robot type), the robot's 8-dim proprioceptive state
(EE position, orientation as axis-angle, gripper finger joints), sampling seed, and
chunk length.
## How it maps to the reference implementation
The inference path replicates `src/server/deploy_hf_liberoplus.py` from the
[ERVLA repo](https://github.com/Oscar-Yang11/ERVLA): the same multi-view chat template
(`/no_cot`), the raw state zero-padded to the model's 60-dim state window, the manual
action mask over dims 0–6, 5-step Euler integration of the flow-matching head, and
denormalization with the `libero_all` stats from `configs/data/sources/libero.yaml`.
## Credits & data
- Paper: [Revisiting Embodied Chain-of-Thought for Generalizable Robot Manipulation](https://huggingface.co/papers/2606.03784)
- Code: [Oscar-Yang11/ERVLA](https://github.com/Oscar-Yang11/ERVLA)
- Model: [ERVLA/liberoplus](https://huggingface.co/ERVLA/liberoplus) (also
[ERVLA/pretrain](https://huggingface.co/ERVLA/pretrain),
[ERVLA/vlabench](https://huggingface.co/ERVLA/vlabench))
- The bundled example frames (`ex_*.png`) are extracted from the authors' released
[ERVLA/Libero](https://huggingface.co/datasets/ERVLA/Libero) demonstration dataset and
are shown here for demonstration of the model's own training-domain inputs; all credit
for those images goes to the ERVLA authors.