安装

通过 uv 在 Python 3.10+ 上从源码安装,以离线数据集回放验证。

环境要求

平台提示。唯一会静默失败的是平台问题:Orbbec wheel 仅提供 Linux x86_64/aarch64 与 macOS arm64 版本,因此在其他平台(如 macOS Intel 或 Windows)上,camera 附加项不会装入任何东西,运行时相机无法工作。

前置依赖

1. 克隆源码。

bash
git clone https://github.com/Noietch/EVA-CLIENT.git
cd EVA-CLIENT                  # 仓库根目录,后续命令都在此执行

2. 安装 uv(其他方式见 uv 项目主页):

bash
curl -LsSf https://astral.sh/uv/install.sh | sh

3. 获取 Python 3.10+(可选;uv venv 会按需获取):

bash
uv python install 3.10

创建环境并安装

在仓库根目录创建 Python 3.10+ 虚拟环境、激活、以可编辑模式安装。仅 ros1 需追加 --system-site-packages,将系统级 ROS 暴露给该环境。

标准(非 ros1):

bash
uv venv --python 3.10 .venv
source .venv/bin/activate
uv pip install -e ".[dev]"

使用 ros1

bash
uv venv --python 3.10 --system-site-packages .venv

dev 附加项提供测试与代码检查工具(参见开发),并安装 eva 入口。确认:

bash
eva --help

硬件附加项

机器人与相机驱动为可选附加项,与 dev 一起列出,例如 UR5e:

bash
uv pip install -e ".[dev,ur5e]"
附加项用途
dev始终包含。测试与代码检查工具。
frankaFranka 机械臂(dual_franka 机器人)。
arxARX R5 机械臂(arx_r5 机器人)。
ur5eUR5e 机械臂(ur5e 机器人)及 DH 夹爪。
cameraOrbbec 深度相机(Linux x86_64/aarch64,macOS arm64)。
vizWeb 视图中更快加载 3D 机器人模型。
内置驱动。arxur5e 的厂商驱动随 EVA 源码一并提供,无需另行下载。
EVA 只充当连接层。EVA 只负责在策略与机器人之间打通协议,每台机器人可通过各自的中间件(ROS、ZMQ 或其他)通信。因此这些附加项并非完整的机器人集成——examples/hardware 只提供参考示例,你可基于示例按自己机器人的实际情况进行适配。参见机器人集成

离线测试

开环配置回放已录制的数据集,无需机器人或策略服务器。下方路径为仓库自带文件,后续可换成自有配置(参见配置)。

bash
# 离线数据集回放——无需 ROS,无需策略服务器
eva --config configs/00_openloop/dual_agilex_AGILEX_openloop.py

日志中的成功标志:

text
Console web server: http://127.0.0.1:8080

本机打开 http://localhost:8080。远程主机则先转发端口:

bash
ssh -L 8080:localhost:8080 <user>@<host>
--config 为必填项。若 8080 被占用,用 --web-port 8090 改端口。

完整选项见命令行参考;端到端运行见快速上手