openarm 双臂协作模仿学习 · 入门路线
先完成
00_公共基础.md,再看本文件。本组硬件:OpenArm 双臂平台(若实验室实际设备为 xArm / myCobot 等,路线同样适用,SDK 见资源清单)。
这个方向在做什么
- 模仿学习:不写规则,而是像教小朋友一样"手把手"示范------你握着机械臂做一遍动作(遥操作),它把"看到什么 → 做什么动作"记录下来,训练出一个策略,之后它自己就会了。
- (模仿学习和强化学习的区别是什么呢?相较于监督学习,模仿学习和强化学习的优点缺点是什么呢?思考思考。)
- 双臂协作:两只手配合,一只手扶着、一只手拧,或者传接物品,难点在协调。
- 参考项目:斯坦福 Mobile ALOHA。中文科普视频 https://www.bilibili.com/video/BV1p5411z7Ke/ ,强烈建议先看,建立直觉。
- 本组平台:OpenArm 官方仓库 https://github.com/enactic/openarm ,官方文档 https://docs.openarm.dev/ 。
路线总览
一个遗憾的事情是老师的驱动板由于电流纹波噪声过滤很差,要重新画板子,因此在此期间你们只能用urdf跑仿真,也是你们预先学习的好时机!
| 阶段 | 目标 | 核心资源 |
|---|---|---|
| 阶段 0 | 公共基础(Python 为主) | 看第一篇基础推文 |
| 阶段 1 | 跑通 LeRobot 仿真 demo 这个待定吧 现在陈主任在积极协调VR设备,比如果12月无法交涉,就采用Lerobot | LeRobot 官方文档 |
| 阶段 2 | 真机遥操作采集数据 + 训练策略 | OpenArm + LeRobot |
| 阶段 3 | 真机部署与调优 | ACT / Diffusion Policy |
阶段 0:公共基础(所有组共用)
- 重点:Python 是本组最重要的语言;conda 虚拟环境必会;Linux 会基础即可。
- 兴趣建立:看 Mobile ALOHA 中文科普(https://www.bilibili.com/video/BV1p5411z7Ke/ )。
阶段 1:跑通第一个仿真 demo(LeRobot)
LeRobot 是 HuggingFace 官方的机器人学习库,把"采集数据 → 训练 → 部署"全流程封装好了,是新手最友好的入口。
- 建一个独立 conda 环境,
pip install lerobot。 - 打开官方文档 https://huggingface.co/docs/lerobot/index ,跟着 tutorial 跑第一个仿真示例(用预训练策略让仿真机械臂完成任务)。
- 同步了解 MuJoCo 仿真(材机战士 35P:https://www.bilibili.com/video/BV1c3dHY3Ej9/ )------仿真界面里的机器人、场景、关节,知道谁是谁即可,不用会写。
验收: 录一段屏------仿真机械臂用预训练策略完成一个任务,视频发群里。
阶段 2:数据采集 + 第一次训练
- 理解数据:模仿学习的数据 = 一堆"(看到的状态, 该做的动作)"成对记录(LeRobot 里叫 LeRobotDataset)。
- 用 OpenArm 真机做遥操作采集数据:具体方式以 OpenArm 官方文档和 LeRobot 教程为准;LeRobot 官方还提供 SO-101 低成本采集臂方案可参考。
- 用 LeRobot 训练一个 ACT 或 Diffusion Policy 策略(库内已集成,基本是"数据放好 + 一行命令")。
- 训练完先在仿真/回放里看效果。
验收: 自己采集的数据 + 自己训练的模型,在仿真或真机上复现了示范动作(哪怕只有 30% 像,也算过)。
阶段 3:真机部署与调优
- 安全第一:真机调试必须慢速、急停按钮在手里、人站在臂的行程外;双臂更容易互相碰撞,先单臂后双臂。机器人中心有位学长和15kg的双足打WWE,很遗憾,下盘不稳被机器人重击后送去医院住了一周。
- 常见问题与调优:相机视角/标定、控制频率、动作延迟------这些都是"工程经验",遇到一个解决一个,查 issues 或问学长。(我还不会手眼标定 如果你做到这一块实操可以教我 我认为在你们感兴趣的方向上一定会比学长做的好得多的,是教学相长的过程)
- 进阶(了解即可):能说出 ACT 和 Diffusion Policy 的原理梗概("模仿学习 = 学一个'看图出动作'的映射")就够;有兴趣再了解 RoboVerse 等仿真生态。
- 想往强化学习走:看 02 组路线 + 王树森 DRL(https://www.bilibili.com/video/BV12o4y197US/ ,可选)。
资源清单
| 名称 | 用途 | 链接 |
|---|---|---|
| LeRobot 文档 | 入门主线教程 | https://huggingface.co/docs/lerobot/index |
| LeRobot GitHub | 代码与示例 | https://github.com/huggingface/lerobot |
| LeRobot HF 主页 | 预训练模型、数据集 | https://huggingface.co/lerobot |
| OpenArm | 本组硬件平台 | https://github.com/enactic/openarm ;https://docs.openarm.dev/ |
| ALOHA | 双臂遥操作硬件方案 | https://github.com/tonyzhaozh/aloha |
| Mobile ALOHA | 移动双臂参考 | https://github.com/MarkFzp/mobile-aloha |
| ACT | 模仿学习开山算法 | https://github.com/tonyzhaozh/act |
| Diffusion Policy | 扩散模型动作策略 | https://github.com/real-stanford/diffusion_policy |
| xArm Python SDK | 若实际设备为 xArm | https://github.com/xArm-Developer/xArm-Python-SDK |
| pymycobot | 若实际设备为 myCobot | https://github.com/elephantrobotics/pymycobot |
| 材机战士 MuJoCo 教程 | 仿真入门 | https://www.bilibili.com/video/BV1c3dHY3Ej9/ |
| Mobile ALOHA 中文科普 | 建立直觉 | https://www.bilibili.com/video/BV1p5411z7Ke/ |
| 鱼香ROS / 古月居 | OpenArm 若提供 ROS 接口再学(以官方文档为准) | https://www.bilibili.com/video/BV1GW42197Ck/ / https://www.bilibili.com/video/BV1zt411G7Vn/ |
常见坑
- 环境装不上:90% 是网络或版本问题(00 文件第 10 节)。
- 训练出的策略乱动:先检查数据质量(数据太少/重复动作太多),再调训练轮数。
- 真机动作对不上:先查相机标定和坐标系,再查控制频率。
- 别一上来就想着"改算法":先完整跑通官方 demo 流程,再动任何东西。
- 遥操作时机械臂别离手;人在回路,随时能停。