ervla / README.md
multimodalart's picture
multimodalart HF Staff
Upload folder using huggingface_hub
17f7e4c verified
|
Raw History Blame Contribute Delete
2.83 kB

A newer version of the Gradio SDK is available: 6.31.0

Upgrade
metadata
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: 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