--- 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.