一句话定位
UMI-on-Legs 把 UMI 手持夹爪采集的桌面操作策略「装」到四足狗身上:高层扩散策略只管在相机帧里预测末端轨迹,底层用纯仿真强化学习训练的「操作中心化」全身控制器(WBC)在任务坐标系里跟踪这段轨迹并输出腿+臂关节目标,两个策略之间只靠”末端轨迹”这一份数据握手,从而不需要机器人在场采集数据、也不需要在仿真里搭建任务物体和奖励——投掷、推重物、零样本跨本体搬杯子三项任务真实成功率都在 70% 以上。
背景与定位
论文把机器人数据扩展的两条路径各自的瓶颈挑明:真实世界遥操作受限于机器人硬件(贵、危险、数据往往与本体绑死);仿真受限于任务多样性(建资产、写奖励、建模物体动力学都很难)。UMI-on-Legs 的答案是两条路径分别扩展、只用一个简单接口对接:
- 真实世界只扩展”任务相关”数据:用 UMI 手持夹爪(GoPro+平行夹爪)采集操作演示,不需要机器人在场,用扩散策略(Diffusion Policy,Chi et al. 2023)建模。
- 仿真只扩展”机器人相关”数据:用大规模并行仿真训练 WBC,只需要跟踪末端轨迹、不需要搭建任务和物体仿真、不需要写任务奖励。
关键设计是这两个策略之间的接口:任务坐标系(task-frame)下的末端执行器轨迹。多数在先的四足操作系统(如 DeepWBC)用**机体坐标系(body-frame)**下的单步末端目标作接口——这要求采数据时机器人必须在场,且不足以表达复杂动态轨迹。UMI-on-Legs 反其道而行:manipulation policy 只管在相机帧里推断末端轨迹,再转换到任务坐标系交给 WBC 跟踪,由此获得跨本体泛化能力、异步多频率执行(操作策略 1-5Hz、WBC 50Hz)、以及即使机身晃动也能保持末端精度的稳定性。作者称这一支路线为”manipulation-centric whole-body control”,并将其与依赖机体坐标系瞬时目标、无法直接部署已有桌面操作策略的 DeepWBC / Visual Whole-Body Control 划清界限。论文发表于 CoRL 2024(Spotlight),并有 CoRL 2024 WCBM / X-Embodiment 两个 workshop 版本。
模型架构
系统由两个独立训练、异步运行的策略组成:
(1) 高层操作策略(behavior cloning):沿用 UMI(Chi et al.)的默认配置——U-Net 骨干的扩散策略 + DDIM 采样调度器 + 预训练 CLIP 视觉编码器,输入手腕/GoPro 相机图像序列,输出相机帧下未来一段的末端 6-DoF 位姿序列。三个任务用了不同的时域配置(见”训练方法”);杯子重排任务直接复用 UMI 论文公开发布的 checkpoint,不重新训练。
(2) 底层全身控制器(WBC,MLP + PPO 强化学习):
- 观测空间:机器人 18 个关节的位置与速度(Go2 四足 12 自由度腿 + ARX5 机械臂 6 自由度)、机体朝向与角速度、上一步动作,以及操作策略推断出的末端轨迹(3D 位置 + 6D 旋转表征)。轨迹观测在当前时刻附近以 20ms 间隔密采 -60ms~+60ms(提供速度/加速度信息),另外附加 1000ms 之后的目标(供腿部预判是否要迈步)。
- 策略网络:一个 MLP,输出腿(12 自由度)与臂(6 自由度)的关节位置目标,由独立的 PD 控制器分别跟踪腿和臂;在机载 CPU(Go2 的 Jetson)上前向一次约 0.06ms,以 50Hz 调用。
- 奖励设计:主任务奖励把位置误差 ε_pos 与朝向误差 ε_orn 耦合进同一个指数核 exp(-(ε_pos/σ_pos + ε_orn/σ_orn))(作者发现分离两项奖励会导致策略只在位置或朝向某一侧做到高精度),并对 σ 做课程学习——σ_pos 按 [2, 0.1, 0.5, 0.1, 0.05, 0.01, 0.005] 在误差小于 [100, 1.0, 0.8, 0.5, 0.4, 0.2, 0.1] 时依次收紧,σ_orn 按 [8.0, 4.0, 2.0, 1.0, 0.5] 在误差小于 [100.0, 1.0, 0.8, 0.6, 0.2] 时收紧。其余正则/塑形项(权重见 Table 5):关节限位 -10、关节加速度 -2.5e-7、关节力矩 -1e-4、机身高度 -1、碰撞 -1、动作变化率 -0.01、机臂-机身对齐 -1、四足受力均匀 -1、脚下于髋 -1、位姿到达 +4。
- 硬件本体:Unitree Go2(12-DOF 四足)+ ARX5 机械臂(6-DOF),共用 Go2 电池供电;臂端装 Finray 柔性夹爪 + GoPro,外形匹配 UMI 夹爪;机身后部固定倾角 60° 挂载 iPhone 15 Pro 做里程计(ARKit VIO),经以太网连 Jetson。WBC 跑在 Go2 的 Jetson 上,扩散策略跑在独立桌面机 RTX 4090、通过网络连接传回动作。
数据
本工作不采集新的大规模数据集,而是复用/少量采集三份任务专属演示,均由 UMI 手持夹爪录制:
- 动态投掷(tossing):采集 500 条抓取+投掷人类演示轨迹,用于训练该任务的扩散策略,同时也是 WBC 强化学习阶段”任务坐标系目标轨迹”的采样池。
- 全身推重物(kettlebell pushing):仅采集 25 条演示轨迹(动作更简单,数据需求更少)。
- 跨本体杯子重排(cup rearrangement):不采集任何新数据,直接复用 UMI 论文公开发布的、面向 UR5/Franka 等固定基座机械臂训练的 checkpoint,该 checkpoint 原始训练集为 1400 条轨迹(沿用原论文配置,本工作只做零样本部署评测)。
三个任务的扩散策略推理超参不同(视觉观测时域 / 本体感知时域 / 输出步数 / 实际执行步数 / 执行频率 / 轨迹更新平滑时间):投掷 2/4/64/40/12Hz/0.1s;推物 2/2/32/10/10Hz/0.3s;杯子重排(UMI 原 checkpoint)1/2/16/8/5Hz/0.1s。WBC 强化学习阶段不使用任何真实机器人数据或物体仿真资产——训练目标轨迹全部来自上述 UMI 采集的末端轨迹数据集;仿真投掷评测协议(§10.2)里每个 episode 只需随机初始化机身 xy 位置([-5cm, 5cm])与 z 朝向([-0.1rad, 0.1rad])、以及关节初始位置(默认位形 ±5% 关节行程内)。
训练方法
- 操作策略:标准行为克隆(behavior cloning),对 UMI 采集的演示做条件扩散去噪训练,损失/优化器等超参沿用 UMI 默认设置(论文未在本文中重新列出扩散训练的 batch/lr 等,只列出上文的时域/执行超参)。
- WBC 强化学习:基于 IsaacGym(Makoviichuk et al. 2021, arXiv:2108.10470)大规模并行仿真,用 PPO 训练(代码库致谢 Nikita Rudin 的 legged_gym 实现);每个 episode 从 UMI 采集的末端轨迹数据集里随机采样一条投掷/推物轨迹作为跟踪目标,由此完全绕开搭建操作任务/物体仿真与设计任务奖励。全部对照组(含消融、DeepWBC 基线)统一训练 4000 iterations。
- Sim2real 手段:训练中加入随机推力扰动;随机化关节摩擦/阻尼、接触摩擦、机身与臂的质量及质心;显式建模 20ms 控制延迟(论文在仿真中以 5ms 间隔从 0-30ms 扫描延迟,发现 20ms 与真实系统匹配最佳);为模拟里程计噪声,每 20 秒随机”传送”机器人一次。域随机化具体范围(Table 6):关节阻尼 [0.01, 0.5]、关节摩擦 [0.0, 0.05]、几何摩擦 [0.1, 8.0]、质量随机化 [-0.25, 0.25]、质心随机化 [-0.1m, 0.1m]。
- 接口设计消融(在投掷任务上做,见评测表):相对于完整方法依次去掉”轨迹预览(preview)""任务坐标系跟踪(task-space)""UMI 轨迹训练数据(UMI Traj)“,三者同时去掉即退化为类 DeepWBC 基线。
- 尝试过但没有效果的方法(论文专辟”Things that did not work”一节坦陈):(1) 特权策略蒸馏 + 长于 1 步的观测历史——未带来性能提升,反而因 Python ROS2 定时器不精确导致历史时间戳分布外、引入不稳定;(2) 投掷阶段的精确抓取——仅采 500 条演示不足以让抓取阶段抵抗控制器的小幅晃动带来的分布漂移;(3) 用腿部触地/关节读数/IMU 做惯性-步态速度估计去补偿 iPhone 140ms 位姿延迟,效果不显著。
Infra(训练 / 推理工程)
- 训练:仿真器 IsaacGym,PPO(legged_gym 实现);GPU 型号、卡数、并行环境数、训练总 GPU-hours 均未披露。扩散策略(操作策略)的训练算力同样未披露。
- 推理频率:WBC 以 50Hz 输出关节目标(机载 Jetson CPU 上单次前向 ≈0.06ms);操作策略(扩散策略)以任务相关的低频异步运行——投掷 12Hz、推物 10Hz、杯子重排 5Hz——运行在独立桌面机 RTX 4090,通过网络把末端轨迹传回 Jetson。
- 延迟实测:关节状态-指令闭环延迟经仿真扫描后取 20ms(0-30ms 每 5ms 一档);位姿观测延迟——OptiTrack 动捕 8ms,iPhone ARKit VIO 140ms(仿真里用 10ms 模拟以缩小 sim2real 差距,140ms 的真实延迟在部署中表现为低频振荡、未被完全解决)。真实系统 Python ROS2 因 GIL 限制,关节观测更新约 200Hz、策略推理约 50Hz,作者指出 C++ 实现可进一步降低延迟。
- 续航/可靠性:小腿关节(连杆传动、力矩需求更高)在 10-30 分钟内容易过热进入错误模式,靠提高力矩正则项后可连续运行 20-30 分钟;电池满充电压偏高需加装稳压器,电量偏低时动作会变”闷”。
- 系统成本(Table 7,市场价):Unitree Go2 Edu Plus $12,500 + ARX5 机械臂 $10,000 + GoPro Hero9 $210.99 + GoPro Media Mod $79.99 + GoPro Max Lens Mod $68.69 + iPhone 15 Pro $999 + Elgato 采集卡 $147.34,总计 $24,006.01,约为作者引用的其他四足操作系统成本的 1/4。
评测 benchmark
仿真消融(Table 1,投掷任务,每组 500 episode,同时报告位置误差/朝向误差/存活率/功耗):
| 方法 | 位置误差(cm)↓ | 朝向误差(deg)↓ | 存活率(%)↑ | 功耗(kW)↓ |
|---|---|---|---|---|
| Ours(完整方法) | 2.12 | 3.35 | 98.4 | 3.82 |
| (-) Preview(去预览) | 3.02 | 4.23 | 93.0 | 3.95 |
| (-) Task-space(去任务坐标系跟踪) | 15.49 | 15.55 | 0.0 | 4.74 |
| (-) UMI Traj(去 UMI 轨迹训练数据) | 2.48 | 15.67 | 97.4 | 3.69 |
| DeepWBC 基线 | 22.2 | 66.22 | 0.0 | 5.92 |
去掉任务坐标系跟踪或 UMI 轨迹数据中的任一项都会显著损害位置和/或朝向精度;去掉轨迹预览会让存活率下降 5.4 个百分点、功耗上升 130W(动作更抖)。完整方法与”去 UMI Traj”消融的存活率相近,但朝向精度差 4.7 倍,说明用真实操作轨迹(而非任意采样目标)训练 WBC 对精细朝向跟踪至关重要。
真实世界评测(每任务 20 episode,分别用 OptiTrack 动捕 与 iPhone 里程计对照):
- 动态投掷(把预抓好的网球投进 90cm 外、40cm 半径的箱子):75%(动捕)/ 70%(iPhone)。用动捕标定的”oracle”投掷轨迹回放(排除操作策略噪声)相对常规部署再提升约 +10 个百分点,说明剩余差距主要来自操作策略预测轨迹的噪声而非 WBC 跟踪误差。
- 壶铃推动(10lbs 壶铃推入 80-120cm 距离的目标区):95%(动捕)/ 90%(iPhone);额外测试 20lbs 壶铃 5 次中 4 次成功。控制器从未在仿真里训练过外部质量/摩擦扰动,却能自适应地转为”前倾加力”策略完成任务。
- 零样本跨本体杯子重排(直接部署 UMI 原始 UR5 checkpoint、无微调):85%(动捕)/ 80%(iPhone),包括在草地、泥地、可折叠桌、逆光等野外场景中的定性测试。
创新点与影响
- 提出”操作中心化”全身控制器范式:用任务坐标系末端轨迹(而非机体坐标系瞬时目标)作为高层操作策略与底层 WBC 之间的接口,使 WBC 训练完全不需要搭建任务/物体仿真与任务奖励,同时让已有的”桌面”操作策略(如 UMI 的 UR5 checkpoint)可以零样本跨本体部署到四足+机械臂系统上。
- 用消费级 iPhone(ARKit VIO)替代动捕/AprilTag 方案,给出一套自带、紧凑、可完全离线部署的里程计方案,是此前四足操作系统的常见短板。
- 论文附带详尽的”未成功尝试”与部署工程细节(延迟扫描、URDF 重新称重建模、过热/电压问题、安全奖励整形),对复现与后续工程实践有直接参考价值。
- 作者自陈局限:(1) 仅支持夹爪式操作(继承自 UMI),不支持全身接触式操作;(2) 接口是单向的——高层操作策略无法获知底层本体的可达性/运动学限制;(3) 系统尚缺少碰撞规避与力反馈/力控能力。
原始链接
- arXiv: https://arxiv.org/abs/2407.10353
- PDF: https://arxiv.org/pdf/2407.10353
- GitHub: https://github.com/real-stanford/umi-on-legs
- Project page: https://umi-on-legs.github.io/
- Video: https://www.youtube.com/watch?v=4Bp0q3xHTxE
- Training curves (W&B): https://api.wandb.ai/links/columbia-ai-robotics/rrudtifq
一手源存档(sources/)
- umi-on-legs—github-readme —
real-stanford/umi-on-legsGitHub README 快照(代码结构、致谢、legged_gym/IsaacGym 出处) - umi-on-legs—project-page — umi-on-legs.github.io 项目主页快照(摘要、Q&A、团队信息)
- arXiv 原文 PDF/HTML(https://arxiv.org/abs/2407.10353),不入 git