简介
迭代闭环
具身算法是闭环迭代出来的,不是一次训练就完事:先在真机上采集示教数据,用数据训练出策略,把 checkpoint 部署回真机,再做真机评测;评测暴露的问题回流到下一轮采集,如此循环,模型一轮轮变强。
这条闭环里,训练在你自己的训练栈上跑;其余全是真机活儿——而 EVA 正是承接这部分的真机基础设施:数据采集、模型部署、真机评测,一套软件全包。
术语:chunk 指策略单次推理输出的一小段动作序列;episode 沿用 LeRobot v2.1 语义。
软件框架
一次运行的动作信号从策略服务器(训练好的 VLA)或人工遥操作发出,经过 EVA-Client 缓存、平滑、换算,再下发给真实机器人硬件执行;机器人回传的相机与关节观测同样经 EVA 转给信号源。
连接策略、单步推理、采集数据、跑评测,全部在 Web 控制台中完成,控制台由 EVA 在本机端口提供。一次运行由命令行传入的配置文件完全决定——一份 .py 文件指明机器人、传输层、策略服务器、推理策略。改行为就改 --config,不改命令行开关。见配置。
控制台与工作流
控制台的各个标签页并不是孤立的功能,而是分别落在数采、部署、评测三条流程上。先按流程建立这条逻辑通道,再看每个标签页的具体职责:
数采
| 标签页 | 作用 |
|---|---|
| MANUAL | 滑杆驱动的关节控制,用于硬件适配与链路检查——连接策略前先验证控制与观测链路。见 MANUAL。 |
| COLLECT | 遥操作采集与质检;每次尝试录制为 LeRobot v2.1 格式的 episode。见 数据采集。 |
| REPLAY | 已录 episode 的开环回放,用于离线质检;复用同一可视化流水线,无需真机或策略服务器。 |
部署
| 标签页 | 作用 |
|---|---|
| DEBUG | 连接策略跑推理——连续运行、仅仿真预览、或在 3D 中逐 chunk 预览再下发到真机。见 DEBUG。 |
评测
| 标签页 | 作用 |
|---|---|
| EVAL | 多检查点评测;每个检查点在选择器中以槽位字母(Model A / B / …)+ 真实检查点名展示,按指令打分。见 EVAL。 |
| RESULT | 已录尝试的同步相机视频、3D 回放、关节曲线、分数。见 RESULT。 |
起始标签页由配置决定:评测配置(configs/03_evaluation/)直接进入 EVAL/RESULT;部署配置进入 DEBUG。
启动 EVA
前置条件:eva 命令已在 PATH 中(见安装),且策略服务器已运行可达(地址在配置文件里,见策略后端)。离线回放二者均不需要。
eva 必填 --config 指向一份 .py 配置;--web-port 默认 8080。
# 部署配置——落在 DEBUG。 eva --config configs/01_deploy/dual_agilex_AGILEX/openpi_qpos.py # 离线回放——无需策略服务器与真机。 eva --config configs/00_openloop/dual_agilex_AGILEX_openloop.py # 多检查点评测——打开 EVAL/RESULT。 eva --config configs/03_evaluation/arx_r5_eval.py
自带配置文件夹以目标机器人命名(dual_agilex_AGILEX、arx_r5 等)。改配的方式见配置。
--web-port 重跑。eva --config configs/01_deploy/arx_r5/openpi_qpos.py 12:14:24.426 INFO Creating transport: type=zmq robot=arx_r5 12:14:24.430 INFO ZMQ transport ready: sub=tcp://127.0.0.1:5555 pub=tcp://127.0.0.1:5556 robot=arx_r5 12:14:24.430 INFO Transport ready: type=zmq obs_mode=JointState 12:14:24.481 INFO UrdfScene ready for 'arx_r5': 2 parts, 1 URDFs, 9 meshes 12:14:24.483 INFO Console web server: http://127.0.0.1:8080 12:14:24.483 INFO Console web server started on port 8080
远程机器人转发端口:ssh -L 8080:localhost:8080 you@robot-host。完整选项见命令行参考。
核心构件
每份配置都装配四个可插拔部件,各以短名选定:
- 传输层——
ros1、ros2、zmq、dataset(离线回放源)。 - 策略后端——
openpi/openpi_rtc、starvla、gr00t;mock返回合成动作、replay重放已录动作,用于离线工作。 - 推理策略——
sync、async、naive、act、rtc;可在控制台实时切换。取舍见推理策略。 - 动作空间——
JointState或EEFPose。EEF 目标由 EVA 通过 IK 换算为关节指令。
自带机器人:agilex_AGILEX、arx_r5、dual_franka、agibot_g2、r1_lite、ur5e。可添加自己的。