25年2月来自Nvidia的论文“ASAP: Aligning Simulation and Real-World Physics for Learning Agile Humanoid Whole-Body Skills”。
人形机器人具有无与伦比的多功能性,可以执行类似人类的全身技能。然而,由于模拟和现实世界之间的动态不匹配,实现敏捷和协调的全身运动仍然是一项重大挑战。现有的方法,如系统识别 (SysID) 和域随机化 (DR) 方法,通常依赖于劳动密集型的参数调整,或导致过于保守的策略而牺牲灵活性。本文提出 ASAP(将模拟和真实物理对齐),这是一个两阶段框架,旨在解决动态不匹配问题并实现敏捷的人形全身技能。在第一阶段,用重定位的人体运动数据在模拟中预训练运动跟踪策略。在第二阶段,在现实世界中部署策略并收集现实世界数据来训练一个增量(残差)动作模型来补偿动态不匹配。然后,ASAP 使用集成到模拟器中的增量动作模型对预训练策略进行微调,以有效地与现实世界的动态保持一致。实验中在三种转移场景对 ASAP 进行评估——从 IsaacGym 到 IsaacSim、从 IsaacGym 到 Genesis 以及从 IsaacGym 到现实世界的 Unitree G1 人形机器人。该方法显著提高各种动态运动的敏捷性和全身协调性,与 SysID、DR 和增量动态学习基线相比,减少跟踪误差。ASAP 实现以前难以实现的高度敏捷运动,展示增量动作学习在连接模拟和现实世界动态方面的潜力。这些结果表明,从模拟到现实,开发更具表现力和敏捷性的人形机器人是一个有希望的方向。
如图所示:人形机器人(Unitree G1)演示多种敏捷的全身技能,展示控制策略的敏捷性:(a)C罗的标志性庆祝动作,包括跳跃和 180 度空中旋转;(b)詹姆斯的“沉默者”庆祝动作,包括单腿平衡;(c)科比著名的后仰跳投,包括单腿跳跃和落地;(d)1.5 米前跳;(e)腿部伸展;(f)1.3 米侧跳。
几十年来,一直在设想人形机器人能够达到甚至超越人类的敏捷性。然而,大多数先前的研究 [46、74、47、73、107、20、95、50] 主要集中在运动上,将腿部视为一种移动方式。最近的研究 [11、26、25、27、33] 已将全身表现力引入人形机器人,但这些努力主要集中在上半身运动上,尚未实现人类运动所见的敏捷性。实现人形机器人的敏捷全身技能仍然是一项根本挑战,这不仅是因为硬件限制,还因为模拟动力学与现实世界物理之间的不匹配。
出现了三种主要方法来弥合动力学不匹配:系统识别 (SysID) 方法、域随机化 (DR) 和学习动力学方法。 SysID 方法直接估计关键物理参数,例如电机响应特性、每个机器人连杆的质量和地形特性 [102, 20]。但是,这些方法需要预定义的参数空间 [49],这可能无法完全捕捉模拟与现实之间的差距,尤其是当现实世界的动态超出建模分布时。SysID 还经常依赖于真值(GT)扭矩测量 [30],而这些测量在许多广泛使用的硬件平台上都不可用,从而限制了它的实际适用性。相比之下,DR 方法首先在模拟中训练控制策略,然后再将其部署到现实世界的硬件上 [85, 79, 59]。为了减轻模拟和现实世界物理之间的动态不匹配,DR 方法依赖于随机化模拟参数 [87, 68];但这可能导致过于保守的策略 [26],最终阻碍高度敏捷技能的发展。弥合动态不匹配的另一种方法是使用现实世界数据学习现实世界物理的动态模型。虽然这种方法已经在无人机[81]和地面车辆[97]等低维系统中取得了成功,但其对人形机器人的有效性仍未得到探索。
基于学习的人形机器人控制方法
。近年来,基于学习的方法在人形机器人的全身控制方面取得重大进展。人形机器人主要利用物理模拟器 [58, 63, 88] 中的强化学习算法 [80],学习各种技能,包括稳健的运动 [44, 98, 45, 48, 47, 74, 73, 20, 106]、跳跃 [46] 和跑酷 [50, 107]。还展示更高级的功能,例如跳舞 [105, 33, 11]、位置操纵 [26, 53, 16, 25],甚至后空翻 [78]。与此同时,人形角色动画社区已经在基于物理的模拟中实现极具表现力和敏捷的全身运动 [71, 86, 55],包括侧手翻 [67]、后空翻 [69]、体育动作 [104, 90, 56, 91, 92] 和流畅的目标交互 [86, 18, 23]。然而,由于模拟和现实世界物理之间的动态不匹配,将这些高度动态和敏捷的技能迁移到现实世界的人形机器人上仍然具有挑战性。
机器人的离线和在线系统识别
。模拟器和现实世界物理之间的动态不匹配可以归因于两个主要因素:机器人模型描述不准确以及存在复杂的现实世界动态,而基于物理的模拟器很难捕捉这些动态。传统方法使用系统识别 (SysID) 方法 [39, 6] 解决这些问题,该方法根据现实世界的性能校准机器人模型或模拟器。这些方法可以大致分为离线 SysID 和在线 SysID,具体取决于系统识别是否发生在测试时。离线 SysID 方法通常收集现实世界数据并调整模拟参数以更准确的动态训练策略。标定过程可能侧重于建模执行器动力学 [85, 30, 99]、改进机器人动力学模型 [36, 3, 19, 22, 31]、明确识别关键模拟参数 [102, 10, 14, 96]、学习模拟参数的分布 [75, 28, 5],或优化系统参数以最大化策略性能 [64, 76]。相比之下,在线 SysID 方法旨在学习机器人状态或环境属性的表示,从而能够实时适应不同的条件。这些表示可以通过以下方法学习:基于优化的方法 [101, 103, 43, 70]、基于回归的方法 [100, 40, 89, 20, 32, 60, 15, 72, 61, 41, 62, 42]、下一状态重构技术 [65, 51, 54, 94, 83]、直接奖励最大化 [47],或利用跟踪和预测误差进行在线自适应 [66, 57, 29, 17]。
机器人残差学习
。在机器人技术中,除了学习或预定义的基础模型外,还广泛使用学习残差组件。先前的研究已经探索了残差策略模型,这些模型可以改进初始控制器的动作 [84, 35, 9, 2, 13, 21, 4, 34, 42]。其他方法利用残差组件来纠正动力学模型中的不准确性 [66, 1, 38, 82, 24] 或对残差动作产生的残差轨迹进行建模 [12],以实现精确而敏捷的运动。
下面介绍ASAP工作。
预训练:学习敏捷人形机器人技能
数据生成:重定位人类视频数据
为了跟踪富有表现力和敏捷的动作,收集人类动作的视频数据集并将其重定位到机器人动作,为动作跟踪策略创建模仿目标,如图所示:(a) 从视频中捕捉人体动作。(b) 使用 TRAM [93],以 SMPL 参数格式重建 3D 人体运动。(c) 在模拟中训练强化学习 (RL) 策略以跟踪 SMPL 运动。(d) 在模拟中,将学习的 SMPL 运动重定位到 Unitree G1 人形机器人。(e) 训练有素的 RL 策略部署在真实机器人上,在物理世界中执行最终运动。
a) 将人类视频转换为 SMPL 动作:首先录制人类表演富有表现力和敏捷动作的视频。使用 TRAM [93],从视频中重建 3D 动作。TRAM 以 SMPL 参数格式 [52] 估计人体运动的全局轨迹,其中包括全局根平移、朝向、身体姿势和形状参数,生成的动作表示为 D/SMPL。
b) 基于模拟的数据清理:由于重建过程会引入噪声和误差 [26],一些估计的运动可能在物理上不可行,使其不适合在现实世界中进行运动跟踪。为了解决这个问题,采用“模拟到数据”清理程序。具体来说,使用基于物理的运动跟踪器 MaskedMimic [86] 来模仿 IsaacGym 模拟器 [58] 中 TRAM 的 SMPL 运动。通过此基于模拟验证的运动将保存为清理后数据集 D^Cleaned/SMPL。
c) 将 SMPL 运动重定位为机器人运动:使用 SMPL 格式的清理数据集 D^Cleaned/SMPL,按照形状和运动两阶段重定位过程,将 SMPL 运动重定位为机器人运动 [26]。由于 TRAM 估计的 SMPL 参数代表各种人体形状,首先优化形状参数 β′ 以近似人形。选择 12 个与人类和人形机器人之间具有对应关系的身体链接,对 β′ 执行梯度下降优化,最小化静止姿势下的关节距离。使用优化的形状 β′ 以及原始平移 p 和姿势 θ,应用梯度下降以进一步最小化身体链接的距离。此过程可确保准确的运动重定向,并生成干净的机器人轨迹数据集 D^Cleaned/Robot。
基于相位的运动跟踪策略训练
将运动跟踪问题制定为目标条件强化学习 (RL) 任务,其中策略 π 经过训练以跟踪数据集 D^Cleaned/Robot 中重定位的机器人运动轨迹。受 [67] 的启发,状态 s/t 包括机器人的本体感受 s^p/t 和时间相位变量 φ ∈ [0, 1],其中 φ = 0 表示运动的开始,φ = 1 表示结束。仅此时间相位变量 φ 就足以作为单-运动跟踪的目标状态 s^g/t [67]。本体感觉 s^p/t 定义为 s^p/t ≜ [q/t-4:t, q^ ̇/t-4:t, ω^root/t−4:t, g/t−4:t, at−5:t−1],其中包含关节位置 q/t、关节速度 q^ ̇/t、根角速度 ω^root/t、根投影重力 g/t 和最后一个动作 a/t−1 的 5 步历史记录。使用智体的本体感觉 s^p/t 和目标状态 s^g/t,将奖励定义为 r/t = R (s^p/t, s^g/t),用于策略优化。具体的奖励项可以在下表中找到。动作 a/t 对应于目标关节位置,并传递给 PD 控制器,该控制器驱动机器人的自由度。为了优化策略,用近端策略优化 (PPO) [80],旨在最大化累积折扣的奖励值。本文确定几个对于实现稳定策略训练至关重要的设计选择:
a) 非对称 AC 训练:现实世界的人形机器人控制,本质上是一个部分可观察的马尔可夫决策过程 (POMDP),其中某些在模拟中随时可用的任务相关属性,在现实世界场景中变得不可观察。然而,这些缺失的属性可以显著促进模拟中的策略训练。为了弥补这一差距,采用一个非对称 AC 框架,其中评论家C网络可以访问特权信息,例如参考运动的全局位置和根线速度,而参与者A网络仅依赖于本体感受输入和时间相位变量。这种设计不仅增强了训练期间基于相位的运动跟踪,而且还实现简单的、相位驱动的运动目标,以实现模拟-到-现实的迁移。至关重要的是,由于参与者不依赖基于位置的运动目标,其方法消除了在现实世界部署期间对里程计的需求——克服了先前人形机器人研究中一个有据可查的挑战 [26, 25]。
b) 跟踪容错的终止课程:训练策略以在模拟中跟踪敏捷运动是一项挑战,因为某些运动对于策略来说太难,无法有效学习。例如,在模仿跳跃动作时,策略通常会在训练初期失败,并学会留在地面上以避免落地惩罚。为了缓解这个问题,引入一个终止课程,在整个训练过程中逐步完善运动误差容错,引导策略提高跟踪性能。最初,设置一个宽松的终止阈值 1.5 米,这意味着如果机器人偏离参考运动这个幅度,episode 就会终止。随着训练的进展,逐渐将此阈值收紧到 0.3 米,逐步增加对策略的跟踪要求。这个课程允许策略首先发展基本的平衡技能,然后逐步实施更严格的运动跟踪,最终成功执行高动态行为。
c) 参考状态初始化:任务初始化在 RL 训练中起着至关重要的作用。在参考运动开始时简单地初始化episode,会导致策略失败。例如,在C罗的跳跃训练中,从头开始情节会迫使策略按顺序学习。但是,成功的后空翻需要先掌握着陆——如果策略不能正确着陆,它将很难完成从起跳开始的整个动作。为了解决这个问题,采用参考状态初始化 (RSI) 框架 [67]。具体来说,随机采样 0 到 1 之间的时间相位变量,这有效地随机化策略要跟踪的参考运动起点。然后,根据该相位的相应参考运动初始化机器人的状态,包括根位置和方向、根线性和角速度以及关节位置和速度。这种初始化策略允许策略并行学习不同的运动阶段,而不是局限于严格顺序的学习过程,从而显著改善了运动跟踪训练,特别是对于敏捷的全身运动。
d) 奖励项:用三个项的总和来定义奖励函数 r/t:1) 惩罚,2) 正则化和 3) 任务奖励。
e) 域随机化:为了提高图预训练策略的稳健性,使用基本域随机化技术。
后训练:训练增量动作模型和微调运动跟踪策略
第一阶段训练的策略可以跟踪现实世界中的参考运动,但无法实现较高的运动质量。因此,在第二阶段利用预训练策略推出的现实世界数据来训练增量动作模型,然后使用这个学习的增量动作模型通过动态补偿来细化策略。
如图所示ASAP概述:(a)运动追踪预训练和真实轨迹收集:利用从人类视频中重定位的人形运动,预训练多个运动追踪策略来推出真实世界的轨迹。 (b)增量动作模型训练:基于真实世界的推出数据,最小化模拟状态 s/t 和真实状态 s^r/t 之间的差异来训练增量动作模型。 (c)策略微调:冻结增量动作模型,将其合并到模拟器中以与真实世界的物理保持一致,然后微调预训练的运动追踪策略。 (d)真实世界部署:最后,在现实世界中直接部署微调后的策略,而无需增量动作模型。
数据收集
在现实世界中部署预训练策略来执行全身运动跟踪任务并记录产生的轨迹,表示为 D^r = {s^r/0, a^r/0, . . . , s^r/T , a^r/T },如上图 (a) 所示。在每个时间步 t,用运动捕捉设备和板载传感器来记录状态:s/t = [p^base/t, v^base/t, α^base/t, ω^base/t, q/t, q^ ̇/t ],其中 p^base/t 表示机器人底座 3D 位置,v^base/t 是底座线速度,α^base/t 是以四元数表示的机器人底座朝向,ω^base/t 是底座角速度,q/t 是关节位置矢量,q^ ̇/t 表示关节速度。
训练 Delta 动作模型
由于模拟与现实之间的差距,在模拟中重放现实世界的轨迹时,得到的模拟轨迹可能会与现实世界记录的轨迹有很大偏差。这种差异是学习模拟与现实世界物理之间不匹配的宝贵学习信号。利用基于 RL 的 delta/residual 动作模型来弥补模拟与现实物理之间的差距。