CMU ASAP——让宇树G1后仰跳投且跳舞的人形机器人:通过RL训练的增量动作模型解决sim2real问题

前言

实话说,今25年2月,我便看到了CMU的这个ASAP的工作,当时很多人觉得炫酷,可以让宇树G1学科比那样后仰跳投,我当时还不以为然,觉得 这有啥用..

一个月之后的25年3月,西湖机器人公司便发布了几个让宇树G1跳舞的视频,丝滑流畅,我当时依然固执的认为,这有啥用

  1. 直到近期一个娱乐集团找到我,希望让我们在他们已买的宇树G1上,通过二次开发,使得其可以丝滑流畅的跳舞(通过机器人表演烘托气氛、促进用户消费),我便对这个事情产生了重大改观
  2. 对此,我个人还是要深刻反省,当我觉得一个工作没啥用的时候,很有可能是我还没意识到它对某个特定行业的价值
  3. 包括近期,我和我司「七月在线」长沙具身团队的部分全职同事、以及部分实习同事「实习同事来自国防科大、中南、华科的博士生,其次硕士生」讨论,发现在让机器人跳舞这个事情上,CMU的这个ASAP的工作 值得好好看下

于此,本文来了

顺带,我司是国内少有的同时发力科研与落地的具身科技公司,其4个办公室中的「长沙办公室」就在渔人码头旁边:楷林国际,如果想在长沙做具身智能落地开发的,欢迎来我司

  • 要求:​做过类似ACT/DP/π0相关的复现(最好是在真机上),至于​薪资​,在长沙同类中TOP 2
  • 后面,上海、武汉亦需要,也欢迎推荐 推成必奖

第一部分 ASAP

1.1 引言与相关工作

1.1.1 引言

ASAP原论文称,近期的研究[10-Exbody,25-H2O,24-Omnih2o,26-Hover,32-Exbody2]为人形机器人引入了全身表现力,但这些努力主要集中在上半身动作,尚未达到人类运动所展现的灵活性

实现类人机器人灵活的全身技能依然是一项根本性挑战,这不仅源于硬件的限制,还由于仿真动力学与现实物理之间的不匹配

为弥合动力学不匹配,出现了三种主要方法:

  1. 系统辨识(SysID)方法
    SysID方法直接估算关键物理参数,如电机响应特性、各机器人连杆的质量以及地形属性[102-Sim-to-real transfer for biped locomotion,19-Advancing humanoid locomotion: Mastering challenging terrains with denoising world model learning]

    然而,这些方法需要预先定义参数空间[49-System identification],而这可能无法完全反映仿真到现实的差距,尤其是在现实世界动力学超出建模分布范围时尤为明显
    系统辨识(SysID)通常还依赖于真实的力矩测量 [29-Learning agile and dynamic motor skills for legged robots],而许多广泛使用的硬件平台并不具备这样的测量能力,从而限制了其实用性
  2. 领域随机化(DR)
    与此相反,域随机化(DR)方法首先在仿真中训练控制策略,然后再部署到现实硬件上
    85-Sim-to-real: Learning agile locomotion for quadruped robots
    79-Learning to walk in minutes using massively parallel deep reinforcement learning
    59-Rapid locomotion via reinforcement learning


    为缓解仿真与现实物理之间的动力学不匹配,DR 方法依赖于对仿真参数的随机化
    87-Domain randomization for transferring deep neural networks from simulation to the real world
    68- Sim-to-real transfer of robotic control with dynamics randomization


    但这可能导致策略过于保守 [25-H2O],最终阻碍高度敏捷技能的发展
  3. 学习型动力学方法
    另一种弥合动力学不匹配的方法是利用现实世界数据学习现实物理的动力学模型
    尽管这种方法在
    无人机 [81- Neural lander:Stable drone landing control using learned dynamics]
    和地面车辆[97-Anycar to anywhere: Learning universal dynamics model for agile and adaptive mobility] 等低维系统中已取得成功

    但其在人形机器人上的有效性尚未被探索

为此,25年2月,来自1Carnegie Mellon University、2NVIDIA的研究者提出了ASAP,这是一种两阶段框架,能够对齐仿真与真实物理之间的动力学不匹配,从而实现灵巧的人形机器人全身技能

ASAP包括预训练阶段和后训练阶段,分别在仿真中训练基础策略,并通过对齐仿真与真实世界动力学对策略进行微调

  • 在预训练阶段,利用人体运动视频作为数据源,在仿真中训练运动跟踪策略
    这些动作首先被重定向到人形机器人 [25-H2O],然后训练基于相位条件的运动跟踪策略 [67-Deepmimic: Example-guided deep reinforcement learning of physics-based character skills],以跟随重定向后的动作

    然而,直接将该策略部署到真实硬件上,由于动力学不匹配会导致性能下降
  • 为了解决这一问题,后训练阶段会收集真实世界的 rollout 数据,包括通过动作捕捉记录的本体感知状态和位置信息系统
    收集到的数据随后在仿真中回放,此时动力学不匹配表现为跟踪误差
    The collected data are then replayed in simulation,where the dynamics mismatch manifests as tracking errors

    接着,训练一个增量动作模型,通过最小化现实世界与仿真状态之间的差异,来学习补偿这些不一致性。该模型实际上作为动力学差异的残差修正项
    We then train a delta action model that learns to compensate for these discrepancies by minimizing the difference between real-world and simulated states. This model effectively servesas a residual correction term for the dynamics gap.

    最后,利用增量动作模型(delta action model)对预训练策略进行微调,使其能够有效适应现实世界的物理环境

1.2 预训练:学习灵活的人形技能

1.2.1 数据生成:重定向人体视频数据

为了追踪富有表现力和灵活性的动作,作者收集了人类动作的视频数据集,并将其重定向到机器人动作,从而为动作跟踪策略创建模仿目标——说白了,要让人形模仿人类的动作

如图3

或图2(a)所示

  • a-b) 将人类视频转换为SMPL 动作
    首先,录制人类执行富有表现力和灵活动作的视频(见图3 (a) 和图12)
    之后,利用TRAM [93],从视频中重建三维动作,TRAM 以SMPL 参数格式[52] 估算人体动作的全局轨迹,包括全局根部平移、朝向、身体姿态和形状参数,如图3 (b) 所示
    关于TRAM,其对应的信息为
    Yufu Wang, Ziyun Wang, Lingjie Liu, and Kostas Daniilidis.
    Tram: Global trajectory and motion of 3d humans from in-the-wild videos.
    In European Conference on Computer Vision, pages 467–487. Springer, 2025


    最终得到的动作记为\mathcal{D}_{\text {SMPL }}
  • c)基于仿真的数据清洗:由于重建过程可能引入噪声和误差[25],部分估算得到的动作可能在物理上不可行,因此不适合在现实世界中进行动作跟踪
    为了解决这一问题,作者采用了一种“仿真到数据”(sim-to-data)的清洗流程

    具体而言,作者在IsaacGym仿真器[58-Isaac gym: High performance gpu based physics
    simulation for robot learning
    ]
    中利用基于物理的动作跟踪器MaskedMimic[86- Maskedmimic: Unified physicsbased character control through masked motion inpainting]
    模仿TRAM中的SMPL动作

    通过这种基于仿真的验证后「如图3(c)所示」的动作会被保存为清洗后的数据集\mathcal{D}_{\text {SMPL }}^{\text {Cleaned }}

  • d) 将SMPL 动作重定向为机器人动作:利用SMPL 格式的清洗数据集\mathcal{D}_{\text {SMPL }}^{\text {Cleaned }},作者按照形态与动作的两阶段重定向流程[25-H2O],将动作重定向为机器人动作——如下图第二个箭头所指向的
    Retargeting SMPL Motions to Robot Motions: With the cleaned dataset DCleanedSMPLin SMPL format, we retarget themotions into robot motions following the shape-and-motion two-stage retargeting process [25]

    详见此文《H2O与OmniH2O——通过RGB摄像头全身实时遥控:仿真RL中训练,然后再sim2real(含师生学习与策略蒸馏详解)

    由于TRAM估算的SMPL 参数代表了不同的人体形态,作者首先优化形态参数\beta^{\prime}以逼近人形形态。通过选取人与人形机器人之间对应的12 个身体连接部位,对\beta^{\prime}进行梯度下降,以最小化静止姿态下的关节距离

    利用优化后的形态\beta^{\prime} 以及原始的平移p 和姿态\theta,进一步应用梯度下降以最小化身体连接部位之间的距离
    该过程确保了动作重定向的准确性,并生成了清洗后的机器人轨迹数据集\mathcal{D}_{\text {Robot }}^{\text {Cleaned }}

1.2.2 基于相位的运动追踪策略训练(Phase-based Motion Tracking Policy Training)

作者将运动跟踪问题表述为一个目标条件强化学习RL任务,其中策略\pi 被训练用于跟踪数据集\mathcal{D}_{\text {Robot }}^{\text {Cleaned }}中的重定向机器人运动轨迹

  • 受[67- Deepmimic: Example-guided deep reinforcement learning of physics-based character skills] 的启发,状态s_{t} 包括机器人的本体感知s_{t}^{\mathrm{p}} 和一个时间相位变量\phi \in[0,1]
    其中
    \phi=0表示运动的开始
    \phi=1表示运动的结束


    仅使用该时间相位变量\phi已被证明足以作为单一运动跟踪的目标状态s_{t}^{\mathrm{g}} [67]
  • 本体感知s_{t}^{\mathrm{p}} 被定义为
    s_{t}^{\mathrm{p}} \triangleq\left[\boldsymbol{q}_{t-4: t}, \dot{\boldsymbol{q}}_{t-4: t}, \boldsymbol{\omega}_{t-4: t}^{\text {root }}, \boldsymbol{g}_{t-4: t}, \boldsymbol{a}_{t-5: t-1}\right]

    其中包含
    关节位置\boldsymbol{q}_{t} \in \mathbb{R}^{23}
    关节速度\dot{\boldsymbol{q}}_{t} \in \mathbb{R}^{23}
    根部角速度\boldsymbol{\omega}_{t}^{\text {root }} \in \mathbb{R}^{3}
    根部投影重力\boldsymbol{g}_{t} \in \mathbb{R}^{3}的5 步历史
    以及上一步动作\boldsymbol{a}_{t-1} \in \mathbb{R}^{23}
  • 利用智能体的本体感知s_{t}^{\mathrm{p}} 和目标状态s_{t}^{\mathrm{g}},然后定义奖励为r_{t}=\mathcal{R}\left(s_{t}^{\mathrm{p}}, s_{t}^{\mathrm{g}}\right),该奖励用于策略优化。具体的奖励项见表I

    动作\boldsymbol{a}_{t} \in \mathbb{R}^{23}对应于目标关节位置,并被传递给PD 控制器驱动机器人的自由度
  • 为了优化策略,作者采用了近端策略优化PPO[80],目标是最大化累积折扣奖励
    \mathbb{E}\left[\sum_{t=1}^{T} \gamma^{t-1} r_{t}\right]

此外,作者还确定了若干对实现稳定策略训练至关重要的设计选择

第一,非对称 Actor-Critic 训练

  1. 现实世界中的人形机器人控制本质上是一个部分可观测马尔可夫决策过程(POMDP),其中某些在仿真中易于获取的与任务相关的属性,在现实场景下变得不可观测
    然而,这些缺失的属性在仿真中能够显著促进策略训练
  2. 为弥合这一差距,作者采用了非对称 Actor-Critic 框架,其中 critic 网络能够访问特权信息,如参考动作的全局位置和根部线速度,而 actor 网络仅依赖本体感知输入和时间相位变量
    这一设计不仅提升了训练过程中的基于相位的动作跟踪能力,还为仿真到现实迁移提供了简单的、以相位驱动的动作目标
    至关重要的是,由于 actor 不依赖基于位置的动作目标,他们的方法在现实部署时无需里程计,从而克服了以往人形机器人相关研究中广泛记录的挑战 [25-H2O,24-Omnih2o]

第二,跟踪容差的终止课程

  1. 在仿真中训练策略以跟踪敏捷动作具有挑战性,因为某些动作对于策略来说过于困难,难以有效学习
    例如,在模仿跳跃动作时,策略常常在训练早期就失败,并学会保持在地面上以避免着陆惩罚
  2. 为缓解这一问题,作者引入了一种终止课程,在整个训练过程中逐步细化动作误差容忍度,引导策略提升跟踪性能
    最初,设定了较宽松的终止阈值为1.5米,即如果机器人偏离参考动作超过该距离,则终止该回合
    随着训练的进行,作者逐步将该阈值收紧至0.3米,逐步提高策略的跟踪要求
    这一课程使策略能够先发展基本的平衡技能,然后逐步施加更严格的动作跟踪要求,最终实现高动态行为的成功执行

第三,参考状态初始化

任务初始化在强化学习训练中起着至关重要的作用

  1. 作者发现,简单地将每个训练回合初始化在参考动作的起始点会导致策略失败。例如,在C罗的跳跃训练中,如果从动作开始处启动回合,会迫使策略顺序学习
    然而,要成功完成后空翻,首先需要掌握落地动作——如果策略无法正确落地,就很难从起跳到完成整个动作
  2. 为了解决这一问题,作者采用了参考状态初始化(RSI)框架 [67-Deepmimic]
    具体来说,在0到1之间随机采样时间-相位变量,有效地随机化了策略要跟踪的参考动作的起始点
    随后,根据该相位下对应的参考动作初始化机器人的状态,包括根部位置与姿态、根部线速度和角速度以及关节位置和速度
    这种初始化策略显著提升了运动追踪的训练效果,特别是在灵活的全身动作中,通过使策略能够并行学习不同的运动阶段,而不是被限制在严格的顺序学习过程中

第四,奖励项

作者将奖励函数r_{t}定义为三项之和:

  1. 惩罚项
  2. 正则化项
  3. 任务奖励

表 I 对这些组成部分进行了详细总结

第五,域随机化

为了提升图 2(a) 中预训练策略的鲁棒性

作者采用了表 VI 中列出的基本域随机化技术

1.3 后训练:训练Delta动作模型与微调运动跟踪策略

在第一阶段训练的策略能够在现实世界中跟踪参考动作,但未能实现高质量的动作表现

因此,如图2(b)和(c)所示

在第二阶段,作者利用由预训练策略在现实世界中采集的数据来训练一个delta动作模型,随后通过利用该学习到的delta动作模型进行动力学补偿,从而对策略进行优化

1.3.1 数据收集

作者在现实世界中部署预训练策略以执行全身运动跟踪任务(如图9 所示)

并记录由此产生的轨迹,记为\mathcal{D}^{\mathrm{r}}=\left\{s_{0}^{\mathrm{r}}, a_{0}^{\mathrm{r}}, \ldots, s_{T}^{\mathrm{r}}, a_{T}^{\mathrm{r}}\right\},如图2(a) 所示

在每一个时间步t,使用动作捕捉设备和机载传感器记录状态:

s_{t}=\left[p_{t}^{\text {base }}, v_{t}^{\text {base }}, \alpha_{t}^{\text {base }}, \omega_{t}^{\text {base }}, q_{t}, \dot{q}_{t}\right]

  • 其中p_{t}^{\text {base }} \in \mathbb{R}^{3}表示机器人基座的三维位置
  • v_{t}^{\text {base }} \in \mathbb{R}^{3}是基座线速度
  • \alpha_{t}^{\text {base }} \in \mathbb{R}^{4}表示以四元数表示的机器人基座姿态
  • \omega_{t}^{\text {base }} \in \mathbb{R}^{3}是基座角速度
  • q_{t} \in \mathbb{R}^{23}为关节位置向量
  • \dot{q}_{t} \in \mathbb{R}^{23}表示关节速度

1.3.2 训练增量动作模型:解决sim2real的差异问题

由于仿真与现实之间的差距,当在仿真中重放现实世界的轨迹时,生成的仿真轨迹很可能会与实际记录的轨迹产生显著偏差。这种差异为学习仿真与现实物理世界之间的不匹配提供了宝贵的学习信号

作者利用基于强化学习的增量/残差动作模型来补偿仿真到现实的物理差距(We leverage an RL-based delta/residual action modelto compensate for the sim-to-real physics gap)

如图2(b) 所示

增量动作模型被定义为

\Delta a_{t}=\pi_{\theta}^{\Delta}\left(s_{t}, a_{t}\right)

  • 其中策略\pi_{\theta}^{\Delta}学习根据“ 当前状态s_{t} 和动作a_{t}” 输出修正动作
    这些修正动作(\Delta a_{t}) 被加到真实世界记录的动作(a_{t}^{r}) 上,以弥补仿真与真实世界动力学之间的差异
  • RL 环境通过如下方式将该增量动作模型融入到模拟器动力学中:s_{t+1}=f^{\operatorname{sim}}\left(s_{t}, a_{t}^{r}+\Delta a_{t}\right)
    其中f^{\operatorname{sim}}表示模拟器的动力学
    a_{t}^{r} 是从真实环境采集得到的参考动作
    \Delta a_{t}则引入了由增量动作模型(delta action model)学习得到的修正

在每个强化学习步骤期间:

  1. 机器人在真实世界状态s_{t}^{r}处初始化
  2. 奖励信号的计算旨在最小化模拟状态s_{t+1}与记录的真实世界状态s_{t+1}^{r}之间的差异,并加入了动作幅值正则项\left.\exp \left(-\left\|a_{t}\right\|\right)-1\right),如表II 所示

    工作流程如图2(b)所示

  3. PPO 用于训练增量动作策略\pi_{\theta}^{\Delta},学习修正后的\Delta a_{t}以匹配仿真与真实世界

通过学习delta 动作模型,模拟器可以准确地复现现实世界中的故障

  1. 例如,考虑这样一种情景:由于电机强度被高估,模拟机器人可以跳跃,但由于电机较弱,现实世界中的机器人无法跳跃
  2. delta 动作模型\pi_{\theta}^{\Delta}会学会减弱下肢动作的强度,从而模拟现实机器人电机的限制。这使得模拟器能够复现现实世界的动力学,并使策略能够被微调以有效应对这些限制

1.3.3 在新动力学下微调运动跟踪策略

通过学习得到的增量动作模型\pi^{\Delta}\left(s_{t}, a_{t}\right),可以重建仿真环境,其中

s_{t+1}=f^{\operatorname{ASAP}}\left(s_{t}, a_{t}\right)=f^{\operatorname{sim}}\left(s_{t}, a_{t}+\pi^{\Delta}\left(s_{t}, a_{t}\right)\right)

毕竟据之前,可知

  • s_{t+1}=f^{\operatorname{sim}}\left(s_{t}, a_{t}^{r}+\Delta a_{t}\right)
  • \Delta a_{t}=\pi_{\theta}^{\Delta}\left(s_{t}, a_{t}\right)

如图2 (c) 所示

保持\pi^{\Delta}模型参数不变,并使用表I中总结的相同奖励对预训练策略进行微调

1.3.4 策略部署

最后,作者在现实世界中部署了未使用增量动作模型的微调策略,如图2(d)所示

与预训练策略相比,微调策略在实际运动跟踪性能上表现出提升。定量改进将在下文(原论文是第IV节)中讨论

// 待更

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

v_JULY_v

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值