安装
通过 uv 在 Python 3.10+ 上从源码安装,以离线数据集回放验证。
环境要求
- EVA Client 源码——从源码树安装,所有命令在仓库根目录执行。
- Python 3.10+——3.10 或更高版本。
uv可按需自动获取。 - uv——必需:EVA 锁定精确依赖版本,仅提供基于
uv的安装路径。 - ROS Noetic——仅
ros1传输层需要。本页离线测试使用dataset,不需要 ROS。参见传输层。
平台提示。唯一会静默失败的是平台问题:Orbbec wheel 仅提供 Linux x86_64/aarch64 与 macOS arm64 版本,因此在其他平台(如 macOS Intel 或 Windows)上,
camera 附加项不会装入任何东西,运行时相机无法工作。前置依赖
1. 克隆源码。
git clone https://github.com/Noietch/EVA-CLIENT.git cd EVA-CLIENT # 仓库根目录,后续命令都在此执行
2. 安装 uv(其他方式见 uv 项目主页):
curl -LsSf https://astral.sh/uv/install.sh | sh
3. 获取 Python 3.10+(可选;uv venv 会按需获取):
uv python install 3.10
创建环境并安装
在仓库根目录创建 Python 3.10+ 虚拟环境、激活、以可编辑模式安装。仅 ros1 需追加 --system-site-packages,将系统级 ROS 暴露给该环境。
标准(非 ros1):
uv venv --python 3.10 .venv source .venv/bin/activate uv pip install -e ".[dev]"
使用 ros1:
uv venv --python 3.10 --system-site-packages .venv
dev 附加项提供测试与代码检查工具(参见开发),并安装 eva 入口。确认:
eva --help
硬件附加项
机器人与相机驱动为可选附加项,与 dev 一起列出,例如 UR5e:
uv pip install -e ".[dev,ur5e]"
| 附加项 | 用途 |
|---|---|
dev | 始终包含。测试与代码检查工具。 |
franka | Franka 机械臂(dual_franka 机器人)。 |
arx | ARX R5 机械臂(arx_r5 机器人)。 |
ur5e | UR5e 机械臂(ur5e 机器人)及 DH 夹爪。 |
camera | Orbbec 深度相机(Linux x86_64/aarch64,macOS arm64)。 |
viz | Web 视图中更快加载 3D 机器人模型。 |
内置驱动。
arx 与 ur5e 的厂商驱动随 EVA 源码一并提供,无需另行下载。EVA 只充当连接层。EVA 只负责在策略与机器人之间打通协议,每台机器人可通过各自的中间件(ROS、ZMQ 或其他)通信。因此这些附加项并非完整的机器人集成——
examples/hardware 只提供参考示例,你可基于示例按自己机器人的实际情况进行适配。参见机器人集成。离线测试
开环配置回放已录制的数据集,无需机器人或策略服务器。下方路径为仓库自带文件,后续可换成自有配置(参见配置)。
# 离线数据集回放——无需 ROS,无需策略服务器 eva --config configs/00_openloop/dual_agilex_AGILEX_openloop.py
日志中的成功标志:
Console web server: http://127.0.0.1:8080
本机打开 http://localhost:8080。远程主机则先转发端口:
ssh -L 8080:localhost:8080 <user>@<host>
--config 为必填项。若 8080 被占用,用 --web-port 8090 改端口。