Skip to content

Noietch/EVA-CLIENT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EVA-Client Logo

EVA-Client: A Unified Framework for Deployment, Evaluation, and Data Collection on Real Robots

One policy, any robot — the smooth all-in-one real-robot stack. Debug, record, evaluate, visualize, all in the browser.

Project Page Technical Report Documentation (English) Documentation (中文) GitHub Stars

eva-promo-slim.mp4

EVA-Client driving an AgileX bimanual arm end-to-end from the browser — teleop → record → π₀ checkpoint → smooth async deploy. Real hardware, not a rendering.

Jump to:  What's NEW · What you get · Robot zoo · Protocols · Architecture · Documentation · Roadmap · Cite


🔥 What's NEW!

  • [2026-07-22] New RL Workspace. EVA-Client now supports human-in-the-loop (HIL) intervention during policy rollouts and real-time value-curve visualization.

7.20.1._compressed.mp4

  • [2026-07-18] Headless CLI + ZMQ control channel. Drive the full deploy / eval / RL / collect loop from a single .py config without the browser — every console button (incl. HIL takeover) mirrored on a ZMQ socket. See docs/console.md and docs/control-channel.md.
  • [2026-07-03] EVA-Client is open-sourced!
  • [2026-07-03] Paper, docs, and project page are live! Read the Technical Report, browse the Documentation (中文), and visit the Project Page.

✨ What you get

  • 🚀 Deployment. One command brings up a real-robot closed loop: .py config → transport (ROS1 / ROS2 / ZeroMQ / offline dataset) → policy backend (OpenPI, OpenPI-RTC, StarVLA, GR00T, mock, replay) → inference strategy (sync / async / naive / ACT-ensemble / RTC) with live latency compensation. 6 robots already — joint-space or EEF-space (PyRoki IK), all live-switchable from the DEBUG tab.
  • 📊 Evaluation. Multi-checkpoint sweeps with per-trial records: every rollout captures camera video, 3D URDF scene, per-dimension state charts, and per-prompt milestone scores into dataset metadata, then replays synchronously in the RESULT tab. Prompt shuffling, and remote policy servers over SSH port-forward are first-class.
  • 🎥 Data collection. Teleop capture straight into LeRobot v2.1 episodes from the COLLECT tab — background saver, in-tab QC PASS/FAIL replay, camera streams encoded to mp4, per-frame green/red quality flags. Teleop demos and model rollouts share one on-disk layout.

🤖 Robot zoo & compatibility

✅ Supported  ·  🚧 In development  ·  📦 To be added

Robot Form factor Supported
AgileX Piper Dual 6-DoF arm + gripper
ARX R5 Dual 6-DoF arm + gripper
Dual Franka Panda Dual 7-DoF arm + gripper
Galaxea R1 Lite Dual 6-DoF arm on torso
Universal Robots UR5e Single 6-DoF arm + gripper
AgiBot G2 Dual-arm humanoid (24-DoF body)
AgiBot G2 (mobile base) Humanoid on mobile chassis 🚧
YAM Dual-arm manipulator 🚧
Tianji Dual-arm manipulator 🚧
Unitree H1 / G1 Humanoid 🚧
Fourier GR-1 Humanoid 📦
Booster T1 Humanoid 📦
Mobile ALOHA Mobile dual-arm 📦

🔌 Protocols & middleware

Layer Name Protocol / wire format Supported
Transport ROS 1 ROS 1 stack
Transport ROS 2 ROS 2 stack
Transport ZeroMQ ZeroMQ execution node
Transport Offline dataset Offline LeRobot v2.x replay
Policy backend OpenPI WebSocket + msgpack (OpenPI, stateless)
Policy backend OpenPI-RTC WebSocket + msgpack (Real-Time Chunking)
Policy backend StarVLA WebSocket + msgpack (typed envelope)
Policy backend GR00T ZeroMQ REQ/REP + msgpack-numpy (Isaac-GR00T)
Policy backend Mock Local (smooth random actions)
Policy backend Replay Local (recorded trajectory replay)

🏗️ Architecture

EVA-Client workflow


📚 Documentation

Full guides live in docs/. Start here:

Guide What's inside
📦 Installation Requirements, uv setup, hardware extras, verify
🚀 Quick start Two-process bring-up, supported transports, deploy/eval/replay presets
🧭 Web console The seven tabs — MANUAL, COLLECT, REPLAY, DEBUG, RL, EVAL, RESULT
📚 Core concepts Transports, policy backends, inference strategies, robots, action spaces
⚙️ Configuration _base_ inheritance, deep merge, startup pipeline
🎞️ Recording LeRobot v2.1 on-disk layout, QC flags, eval trials
🔬 Development Tests, lint, type-check, and how the robot side is faked

🗺️ Roadmap

  • More robots. Extend the robot zoo to more embodiments — dual-arm manipulators (YAM, Tianji, …), humanoids (Unitree H1/G1, Fourier GR-1, Booster T1, …) and mobile / wheeled platforms (mobile ALOHA, Galaxea R1 base, quadruped + arm).
  • Human-in-the-loop data collection for RL. Interventions during policy rollout captured as preference / correction data, DAgger-style relabeling, and reward-model signals piped back through the LeRobot episode format for online RL fine-tuning.
  • Embodied agent. Wrap the deployment + evaluation loop with a language-driven planner (VLM / VLA + tool use) so long-horizon tasks can be decomposed, executed, verified, and re-planned end-to-end from the same console.
  • Data annotation. Extend Collect mode with fine-grained task and sub-task annotation, segmenting long-horizon episodes into labeled sub-task units and milestones within the same LeRobot dataset. This makes a collection reusable at the level of individual manipulation phases.

📝 Citation

If EVA-Client is useful for your research or product, please cite:

@misc{yang2026evaclient,
      title={EVA-Client: A Unified Data Collection, Inference, and Deployment Framework for Embodied Policies on Real Robots},
      author={Heqing Yang and Yang Yi and Liyao Wang and Linqing Zhong and Donglin Yang and Ruipu Wu and Zitong Bai and Fengjiao Chen and Manyuan Zhang and Linjiang Huang and Si Liu},
      year={2026},
      eprint={2607.02646},
      archivePrefix={arXiv},
      primaryClass={cs.RO},
      url={https://arxiv.org/abs/2607.02646},
}

📬 Contact

For questions or collaboration, feel free to reach out via WeChat:

WeChat QR Code


License & Acknowledgements

This project is licensed under the Apache-2.0 License. See LICENSE for more information.

Builds upon several excellent open-source efforts, including PyRoki and jaxls for kinematics, OpenPI for policy serving, the LeRobot dataset format, and a vendored mmengine-style config system from MMEngine.

About

EVA-Client: A Unified Framework for Deployment, Evaluation, and Data Collection on Real Robots

Topics

Resources

License

Stars

75 stars

Watchers

4 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors