一句话定位
AMO 用「动捕采样 + 轨迹优化生成全身参考动作」替代直接跟踪 MoCap 动作的做法,训出一个能吃分布外(O.O.D.)躯干/高度指令的自适应模块,把 Unitree G1 的全身可达工作空间在遥操下大幅扩展到能弯腰触地捡物。
背景与定位
范式:sim-to-real 全身控制(whole-body control, WBC),走「轨迹优化 + RL」混合路线而非纯 MoCap 跟踪路线。跟 ExBody2、HOVER 这类直接把 AMASS mocap 重定向后拿来跟踪的方法不同——这类方法的参考动作库里几乎不含”弯腰、蹲下摸地”这种大幅度全身姿态,导致训出来的策略天生缺这块能力(distribution bias)。AMO 反过来在训练前就主动构造这类数据:先固定人体动捕的上肢动作,再随机采样躯干朝向/高度指令,喂给一个动力学感知的轨迹优化器(Crocoddyl 的 BoxFDDP),解出满足动力学可行性的全身参考关节角,由此构造出”AMO 数据集”——作者称其为”第一个面向灵巧动作-操作(loco-manipulation)显式设计的人形运动库”。遥操作接口继承自同组前作 Open-TeleVision 的 VR 流式视觉反馈栈。论文对比的两个直接对手是 HOVER(纯 MoCap 参考、无躯干+高度联合控制)和 Opt2Skill(纯轨迹优化、无法处理 O.O.D. 遥操指令)。
模型架构
分层策略,遥操与自主两套模式共享下半身:
- 遥操上半身 π’_upper:非学习式、纯优化——手部姿态经 dex-retargeting 库重定向;头部+双腕位姿用**多目标加权逆运动学(IK)**求解(同时最小化头、左腕、右腕三个 6D 目标的位置+朝向误差),用 Levenberg-Marquardt 算法(基于 Pink 库)求解,同时解出一组中间指令
[rpy, h](躯干朝向+高度)喂给下半身。姿态代价对上肢关节和[rpy, h]分别加权,简单任务优先动上肢,大幅度任务才触发躯干动作。 - AMO 自适应模块
φ(q_upper, rpy, h) → q_lower^ref:三层 MLP,由 AMO 数据集(轨迹优化生成)监督训练,训完后在下半身 RL 训练阶段冻结,只作为参考信号输入。 - 下半身 π_lower:教师-学生蒸馏。教师用 PPO 在 IsaacGym 大规模并行仿真中训练,观测含特权信息
s_priv = [真值速度, 真值 rpy, 真值高度, 足底接触];学生策略去掉特权信息,改用 25 步本体感觉历史作为补偿输入,监督学习蒸馏教师。下半身动作空间q_lower ∈ R^15(双腿 2×6 + 腰部 3 个电机)。观测里额外拼接上半身执行器状态,用于上下半身协调。 - 自主上半身 π_upper(自主模式):模仿学习,骨干用 ACT(action-chunking transformer)+ DINOv2 视觉编码器。双目图像(
img_left,img_right)各切成 16×22 patch,每 patch 出 384 维 token,拼成2×16×22×384的视觉 token,再与本体状态 token(上半身本体感觉 + 上一步发给下半身的[v, rpy, h]指令)拼接送入 ACT。输出为全部上半身关节角 + 双手关节角 + 下发给下半身的[v, rpy, h]。 - 硬件本体:Unitree G1(29 自由度全身)+ 两只 Dex3-1 三指灵巧手(各 7 自由度)+ 自研 Active Head(3 个主动自由度模拟人头运动)+ ZED Mini 双目相机。
数据
- AMO 数据集(下半身参考动作):上肢动作来自 AMASS 动捕库随机抽样,躯干指令(rpy, h)概率化随机采样,二者组合后送入多接触最优控制(MCOP)轨迹优化——代价函数含状态/控制正则、CoM 平衡项、躯干朝向跟踪项、高度跟踪项,双脚假设恒定触地(不含行走场景)。求解器为 BoxFDDP(control-limited feasibility-driven differential dynamic programming,经 Crocoddyl 实现)。论文未披露数据集具体条目数/小时数(未披露)。
- RL 训练数据:非固定数据集,而是 IsaacGym 里按课程表(Table V/VI)程序化随机采样的指令分布(见训练方法节),课程本身即控制训练分布的”配比”。
- 自主任务的模仿学习数据:人类操作员用遥操策略采集演示轨迹(视觉+本体感受+动作),论文未披露具体演示条数/小时数(仅报告以 10 次 rollout 为单位的成功率,见评测)。
- 无额外动作标注成本:AMO 数据集的”标签”即轨迹优化解出的关节角本身,不需要人工标注;RL 阶段的目标同理直接来自采样指令。
- 纯仿真训练 + 真机零样本部署:下半身策略全程 IsaacGym 仿真训练,未做额外真实数据微调;自主上半身依赖真机采集的遥操演示做模仿学习。
训练方法
- AMO 模块预训练:三层 MLP 监督拟合轨迹优化生成的
(q_upper, rpy, h) → q_lower^ref映射,训完冻结。 - 下半身教师(PPO)课程学习(Table V/VI 完整披露):
- Global step < 100:目标高度固定 0.8,躯干 rpy 固定 0,手臂固定默认姿态;
- Step ≥ 100:目标高度开始在
[0.5, 0.8]随机采样; - Step ≥ 2000:躯干 roll 随机化到
[-0.7, 0.7]、pitch 到[-0.52, 1.57]、yaw 到[-1.57, 1.57],并激活对应奖励项; - Step ≥ 4000:手臂目标关节角开始从 AMASS 随机采样(此前固定默认姿态);
- 步态频率分段线性从 1.3(step < 5k)降到 1.0(5k ≤ step ≤ 10k 线性过渡,之后恒定);
- **站立比例(stance rate)**分段线性从 0.2(step < 1k)升到 0.5(1k ≤ step ≤ 2k 线性过渡,之后恒定);
- 训练中期加入动作延迟以缩小 sim-to-real gap。
- 下半身学生蒸馏:监督学习拟合教师输出,输入去掉特权观测,改用 25 步本体感觉历史补偿。
- 自主上半身(IL):人类先用遥操策略采集演示,再用 ACT 训练模仿策略(细节见模型架构节),对比了立体 vs 单目输入、动作 chunk size 60 vs 120 两组消融。
- 全流程未见有额外真机在线 RL 或强化微调步骤。
Infra(训练 / 推理工程)
- 仿真训练:IsaacGym 大规模并行仿真训练下半身策略;论文未披露训练所用 GPU 型号/数量/总 GPU-hours(未披露)。
- 推理部署硬件:部分实验用外接 PC + RTX 4090 GPU 便于调试;完整遥操系统与 RL 策略可整体部署在机载 Jetson Orin NX,推理频率 50 Hz。
- 遥操图像/姿态流:复用同组前作 Open-TeleVision 的 OpenTelevision 栈在 VR 设备与机器人间传输图像与人体姿态。
- 具体的仿真并行环境数、混合精度策略、逐模块推理延迟拆解均未在论文披露(未披露)。
评测 benchmark
- 躯干/高度/速度跟踪精度(仿真,Table II)——对比 Ours(AMO) / w/o AMO(去掉 AMO 参考,改用默认姿态正则)/ w/o priv(教师去掉特权观测)/ w rand arms(手臂目标改随机采样而非 AMASS):
- Stand 场景:AMO 躯干俯仰误差
E_p=0.1259、高度误差E_h=0.0151,显著优于 w/o AMO 的E_p=0.1875、E_h=0.1168(高度误差近 8 倍); - Walk 场景:AMO
E_h=0.0182vs w/o AMOE_h=0.1253,同量级差距——论文指出 w/o AMO “基本学不会跟踪高度指令”; - w rand arms 在偏航跟踪
E_y上反而最低(随机手臂姿态迫使策略探索更广姿态空间),作者说明这不影响 AMO 的核心贡献(躯干俯仰/横滚+高度)。
- Stand 场景:AMO 躯干俯仰误差
- 躯干控制范围对比(仿真,Table III,vs w/o AMO / Waist Tracking / ExBody2):
- Roll 范围:AMO
(-0.4723, 0.4714)vs Waist Tracking(-0.3571, 0.3068)vs ExBody2(-0.0673, 0.0623)——ExBody2 幅度不到 AMO 的 1/7; - Pitch 范围:AMO
(-0.4546, 1.5745),Waist Tracking 受限于 G1 腰部俯仰电机物理限位 ±0.52 rad,只能到(-0.4531, 0.5200),ExBody2 为(-0.2123, 0.4637); - Yaw 范围:AMO
(-1.5512, 1.5868),ExBody2 几乎为零(-0.1005, 0.0056)。 - 结论:靠人体动捕多样性驱动的 ExBody2 类方法躯干可控范围被训练分布强约束;仅用腰部电机的 Waist Tracking 被硬件限位卡死;AMO 靠全身姿态调整(如单腿微屈倾斜骨盆实现躯干横滚)突破两类限制。
- Roll 范围:AMO
- O.O.D. 泛化(仿真,定性对比):训练躯干 yaw 采样范围为 ±1.57,AMO 仍能稳定跟踪到 ±2 rad;训练高度范围 0.5–0.8 m,AMO 仍能稳定跟踪到低至 0.4 m;对照组 w/o AMO 在越出训练范围前就已经跟踪失败,高度指令几乎完全跟不上。
- 真机自主任务成功率(10 次 rollout/组,Table IV):
- 纸袋拾取(Picking/Moving/Placing):双目+chunk120 为 8/10、8/10、9/10;单目+chunk120 为 9/10、7/10、10/10;双目+chunk60 为 7/10、7/10、6/10——短 chunk 在”手伸进袋子把手下方再调整朝向”这步最容易失败。
- 垃圾瓶投掷(Picking/Placing):双目+chunk120 为 7/10、10/10;单目+chunk120 为 4/10、10/10;双目+chunk60 为 5/10、10/10——立体视觉(更大视场角+隐式深度)和长 chunk 都显著提升抓取成功率,放置阶段各配置均接近满分。
- 篮筐搬运(长时程):仅提供关节角曲线的定性 case study(下蹲/躯干前倾→双侧倾斜抓取→起身行走→左右转体放置),未报告量化成功率。
创新点与影响
- 贡献:① 提出 AMO,用动力学可行的轨迹优化参考替代纯动捕跟踪,大幅扩展人形机器人全身可达工作空间,实现弯腰触地捡物级别的操作;② 建立了一个专门针对”灵巧动作-操作”设计的人形运动参考库(而非复用现成动捕动作库);③ 同时在仿真+真机的遥操与自主两种模式下验证,并做了完整消融。
- 改变了什么:把 WBC 训练数据的构造思路从”重定向已有人体动捕”转向”按需(on-demand)用轨迹优化合成覆盖分布外指令的参考”,解决了动捕数据集里缺乏大幅度全身姿态样本导致的分布偏差(distribution bias)问题;躯干控制范围对比(Table III)量化证明了这带来的实际优势。
- 作者自陈局限:系统采用上下半身解耦设计,这限制了整体全身协调的上限——例如人类在高动态场景下会用手臂辅助维持平衡,而当前系统的上肢控制独立于机身状态,不感知/不响应下半身平衡需求;作者提出未来可探索让上肢控制感知机身状态的”平衡感知上肢控制”方向。
原始链接
- arXiv 摘要:https://arxiv.org/abs/2505.03738
- arXiv PDF:https://arxiv.org/pdf/2505.03738
- 项目主页(RSS 2025):https://amo-humanoid.github.io/
- GitHub(OpenTeleVision/AMO,MuJoCo 交互演示 + 训好模型):https://github.com/OpenTeleVision/AMO
一手源存档(sources/)
- amo—project-page — 项目主页快照(作者/单位、RSS 2025、Abstract、遥操/仿真/自主视频说明)
- amo—github-readme — GitHub README 快照(MuJoCo 演示按键说明、O.O.D. 范围、安全免责声明)
- arXiv 原文 PDF(不入 git):https://arxiv.org/pdf/2505.03738