MINT-SJTU/Evo-RL
We release Evo-RL, the opensource real-world offline RL on So-101 and AgileX PiPER for easier reproduction.
Evo‑RL – 现实世界强化学习工具包
简介 – Evo‑RL 是一个开源框架,用于在现实世界的机器人平台上进行离线和在线强化学习。它建立在 LeRobot 库(一个用于机器人数据收集和策略训练的 Hugging Face 项目)之上,并增加了完整的流程,包括:
- 硬件集成 – 支持 Seeed Studio SO‑101 机械臂和 AgileX PiPER / PiPER‑X 机器人,并提供详细的串口、CAN‑bus 和摄像头接线说明。
- 数据收集 – 提供命令行工具 (
lerobot‑human‑inloop‑record),让人类可以远程操作机器人,同时自动将多模态观测数据(RGB、RealSense 深度、关节状态)记录到 Hugging Face 数据集中。 - 价值函数训练与推理 – 在收集到的数据集上训练一个 return‑to‑go 估计器(默认为 pistar06),并回写价值、优势和二元“优质轨迹”标签。
- 策略训练 – 使用标准的
lerobot‑train脚本,训练一个以语言为条件的策略,将优势条件标签作为任务描述的一部分。 - 闭环部署 – 在人机协作循环中部署训练好的策略,以收集下一轮数据,实现迭代改进。
该仓库附带脚本、配置模板、无需 Docker 的 conda 安装方式,以及 Hugging Face 上的公开 RW‑RL dataset。
快速入门摘要
# 克隆并设置环境
git clone https://github.com/MINT-SJTU/Evo-RL.git && cd Evo-RL
conda create -y -n evo-rl python=3.10
conda activate evo-rl
pip install -e . # 安装套件与 CLI 入口点
之后您可以:
- 使用
lerobot-teleoperate验证硬件(请参阅 README 以获取单臂或双臂设置的确切命令字符串)。 - 使用
lerobot-human-inloop-record记录数据集。 - 使用
lerobot-value-train训练价值模型。 - 使用
lerobot-value-infer推理价值标签。 - 使用
lerobot-train训练策略。 - 使用相同的
lerobot-human-inloop-record命令并添加--policy.path=<checkpoint>来执行闭环部署。
README 中的关键功能
| 领域 | 仓库提供的功能 |
|---|---|
| 硬件支持 | 针对 SO‑101 (串口) 和 AgileX PiPER/PiPER‑X (USB‑CAN) 机器人的详细配置,包括稳定的设备路径建议和校准文件布局。 |
| 数据集处理 | 一键推送到 Hugging Face (--dataset.push_to_hub=true)、自动数据集报告 (lerobot-dataset-report) 以及公开的 RW‑RL 数据集。 |
| 价值函数 | 训练脚本 (lerobot-value-train) 支持 bfloat16、通过 accelerate 进行多 GPU 启动,以及用于自定义价值模型的插件架构。 |
| 优势条件策略 (ACP) | 在价值推理后,数据集中会新增三列 (value_<TAG>, advantage_<TAG>, acp_indicator_<TAG>);策略训练脚本可以将二元指标作为文本标签读取,并支持 Dropout 控制。 |
| 端到端流程 | README 涵盖了从安装到下一轮数据收集的所有七个阶段,让用户可以重现完整的研究循环。 |
| 社区与可复现性 | 提供项目网站、微信群组、即将发表的论文链接以及 Apache‑2.0 授权;所有代码、模型和数据集均旨在公开重复使用。 |
适用对象
- 机器人研究人员:需要一套现成的堆栈来在低成本机械臂上进行现实世界强化学习。
- ML 工程师:希望在机器人数据上尝试优势条件训练。
- 教育工作者:希望进行从远程操作数据收集到实际硬件策略部署的实践实验室。
提及的限制
- 论文和预训练模型标注为“即将推出”,因此目前仓库主要提供流程代码和 RW‑RL 数据集。
- 硬件特定步骤(例如校准、CAN‑bus 串口 ID)需要访问支持的机器人;仓库不提供模拟备援。
引用与授权
- 授权:Apache‑2.0 (根据
LICENSE徽章)。 - 引用:未来将发表论文;目前用户可引用仓库 URL。
以上所有信息均直接取自仓库的 README;未添加任何外部假设。
相关
- 项目
- 项目
- 项目
- 项目