简介

当我们想象一个人形机器人时,通常脑海中会出现两种画面: 要么是用两条腿走路,要么是站着不动用双手操作物体。这反映了传统机器人控制的发展方向——将机器人视为用于移动操作的双足平台。

但是,想想人类实际上是如何运动的。我们不仅仅是走路。我们会坐在椅子上,会在低矮的障碍物下爬行,摔倒时会顺势打滚来缓冲,还会从地上撑起来。我们会用肘部、膝盖、背部和肩膀与世界互动。用机器人学术语来说,人类拥抱“全身地面接触 (full-body ground contacts) ”。

然而,对于机器人来说,用脚底以外的任何部位接触地面通常被视为一种失败状态。这种限制是有原因的: 预测接触力很难。而当你不知道机器人的肘部还是背包接下来会碰到地面时,预测接触力的难度更是呈指数级增长。

在这篇文章中,我们将深入探讨一篇引人入胜的论文: “Embrace Contacts: Humanoid Shadowing with Full Body Ground Contacts” (拥抱接触: 具有全身地面接触的人形机器人跟随) 。 研究人员提出了一个新的框架,允许人形机器人使用标准的强化学习流程来执行“极限”的、富含接触的动作——比如霹雳舞、爬行和从俯卧姿势恢复。

一个人形机器人正在执行包括坐下和爬行在内的各种复杂姿势。

如上图 1 所示,这项工作超越了简单的行走。它使机器人能够在现实世界中执行复杂的动态动作,弥合了仿真与现实之间的差距,而且在部署时不需要昂贵的动作捕捉设备。

问题所在: 为什么机器人不能直接“打个滚”?

要理解这篇论文的贡献,我们首先需要明白为什么全身接触对机器人学家来说是一场噩梦。

1. 接口的难题

标准的运动控制器使用速度指令。你告诉机器人: “以 0.5 m/s 的速度前进”或“向右转”。这对走路很有效。但是,你如何用线速度来描述一个空翻?或者从爬行到站立的转换?当机器人翻滚时,它的“前方”一直在旋转。在机器人的基坐标系中定义这些体操动作的指令不仅模棱两可,而且不切实际。

2. 仿真差距 (Simulation Gap)

现代机器人是在仿真中训练的 (Sim-to-Real,仿真到现实) 。我们在物理引擎中训练一个大脑 (策略) ,然后将其复制粘贴到真实的机器人中。然而,模拟器使用的是刚体物理学。它们简化了碰撞。在仿真中,一个“硬”机器人撞击“硬”地板是一个清晰的数学事件。在现实中,机器人有橡胶垫、电线和轻微的形变,与地面的相互作用是混乱的。

当机器人只走路时,我们只需要担心脚。当机器人跳霹雳舞时,我们需要为膝盖、肘部、肩膀和手建立碰撞模型。如果仿真与现实不完全匹配,机器人在部署时可能会乱动甚至损坏自己。

3. 数据匮乏

我们经常通过让机器人模仿人类动作数据 (MoCap,动作捕捉) 来教它们。最流行的数据集 AMASS 虽然庞大但很枯燥。它主要包含人们站立和行走的动作。它缺乏训练鲁棒的恢复策略所需的“极限”数据——比如在地上打滚。

解决方案: 统一的人形机器人运动框架

研究人员提出了一个“跟随 (shadowing) ”人类动作的流程。目标是获取原始的人类动作文件 (比如一个人爬行) ,并让机器人在现实世界中复制它,同时实时处理所有的平衡和接触物理问题。

展示从人类数据到仿真训练再到现实世界部署流程的图表。

图 2 展示了完整的工作流程。它分为两个阶段: 仿真训练现实世界部署

  1. 数据策展: 他们将标准数据集与从互联网视频中抓取的自定义“极限动作 (Extreme-Action) ”数据集相结合。
  2. 重定向 (Retargeting) : 人类骨骼和机器人骨骼是不同的。系统将人类动作重定向到机器人身体可以实现的关节角度。
  3. 策略 (大脑) : 一个神经网络接收当前状态和一系列未来的指令,以决定如何移动电机。
  4. 仿真到现实 (Sim-to-Real) : 训练好的策略运行在机器人的机载计算机 (Nvidia Jetson) 上,接收高级指令并输出低级扭矩。

让我们分解一下使其发挥作用的技术创新。

创新 1: 极限动作数据集

你无法学习你没见过的东西。如果你只用行走数据训练机器人,它永远学不会如何用肘部来稳定自己。

作者发现标准数据集是不够的。为了解决这个问题,他们使用了计算机视觉工具 (具体是 4D-Human) 从人们跳霹雳舞、练柔术和在地上爬行的互联网视频中提取 3D 动作。

比较使用标准数据集与极限数据集训练时的策略行为。

区别显而易见。在图 6 (上图) 中,请看左侧的“策略行为 (Policy Behavior) ”。

  • 上排 (标准数据集) : 机器人试图爬行,但因为它没有被训练去信任这种接触,所以拒绝将手放在地上。它只能尴尬地蹲着。
  • 下排 (极限数据集) : 机器人自信地将手和膝盖着地,有效地进行爬行。

创新 2: 基于 Transformer 的指令编码器

我们如何告诉机器人该做什么?研究人员使用了运动指令序列 (Motion Command Sequence) 。 他们不是给出一个单一的速度目标,而是给机器人一段未来几秒钟的“连续画面”关键帧 (目标姿势) 。

这就产生了一个新问题: 输入长度可变。有时你可能提供很长的未来动作视野,有时则很短。为了处理这个问题,他们利用了 Transformer 编码器

基于 Transformer 的指令编码器架构。

如图 4 所示,该架构的工作原理如下:

  1. 输入: 网络接收一系列未来的目标动作 (目标 1 到目标 N) 。
  2. 处理: 一个多头注意力编码器 (Multi-headed Attention Encoder) 处理这些目标。这使得机器人能够“关注”未来特定的重要关键帧 (例如,“我需要现在就为 2 秒后发生的跳跃做准备”) 。
  3. 选择: 系统选择与紧迫的未来相关的嵌入 (\(t_{left}\) 为最小正值) 来指导即时动作。
  4. Actor MLP: 这个编码后的指令与机器人的本体感觉历史 (Proprioception History,即它对自己当前关节角度和速度的认知) 拼接在一起,并输入到一个多层感知机 (MLP) 中以生成电机动作。

为什么要用序列?

你可能会问,“为什么不直接给机器人下一帧就好?”

比较单帧与多帧指令跟踪的效果。

图 7 展示了为什么前瞻至关重要。

  • 单帧指令 (中排) : 机器人是被动反应的。它看到下一个姿势,试图猛地调整身体去瞬间匹配它。这导致不稳和摔倒。
  • 多帧指令 (下排) : 机器人看到了完整的运动弧线。它可以准备动量来摆动腿部或平滑地转移重心,从而成功地跟踪运动。

创新 3: 处理物理上不可行的指令

这里有一个微妙但困难的问题: 人类动作捕捉数据是“飘忽 (floaty) ”的。视频中的人可能会跳跃,动作捕捉数据只是说身体向上了。但在物理世界中,机器人必须对地面施加力才能向上移动。

此外,由于机器人的身体形状与人类不同,重定向后的动作在物理上可能是不可能的 (例如,目标姿势可能要求机器人的手在地面内部) 。

机器人正在执行霹雳舞动作,其中参考姿势是悬浮的。

在图 3 中,机器人正在做一个霹雳舞的回旋动作 (flare) 。由于重定向误差,参考动作 (“幽灵”或目标) 可能会稍微悬浮或穿透地面。机器人不能简单地“传送”到那个姿势。

策略必须学会柔顺 (compliant) 。 它需要尝试跟随指令,但优先考虑物理规律和平衡。如果指令说“把手穿过地板”,策略必须学会“把手放在地板并推”。这需要在训练期间采取非常具体的奖励策略。

创新 4: 用于多 Critic 强化学习的优势混合

这是本文最硬核的技术贡献。在强化学习 (RL) 中,我们要设计一个“奖励函数”来告诉机器人什么时候做得好。

对于这项任务,奖励是相互冲突的:

  1. 任务奖励 (稀疏) : 你到达目标姿势了吗? (这只是偶尔发生) 。
  2. 正则化奖励 (密集) : 不要使用太多的能量。不要猛动电机。保持关节低速。 (这是在每一毫秒都要计算的) 。

如果你只是把这些数字加在一起,密集的正则化奖励往往会压倒稀疏的任务奖励。机器人会判定,保持站立不动比冒险移动去达成目标更安全,从而节省能量。

作者使用了一种称为优势混合 (Advantage Mixing) 的技术。他们没有使用一个单一的“Critic” (估计状态好坏的网络) 来汇总所有奖励,而是使用了三个独立的 Critic :

  1. 任务 Critic
  2. 正则化 Critic
  3. 安全 Critic

每个 Critic 独立学习。

多 Critic 损失函数的公式。

公式 (1) 显示每个 Critic \(V_{\Psi^{(i)}}\) 最小化其针对特定奖励组 \(r^{(i)}\) 的预测误差。

然后,在更新 Actor (策略) 时,他们使用加权平均来混合“优势” (即一个动作比预期好多少) :

优势混合的公式。

在公式 (2) 中,\(A_i\) 代表特定 Critic 计算出的优势。通过归一化和加权这些优势 (\(w_i\)) ,研究人员确保机器人既关注任务关注安全约束,而不会让其中一方淹没另一方。

展示多 Critic 与单 Critic 成功率对比的图表。

这种数学方法的影响在图 8 中显而易见。与标准的单 Critic 方法 (橙色线) 相比, 多 Critic 方法 (蓝色线) 学习速度更快,并且达到了更高的成功率。

现实世界实验

团队在宇树 (Unitree) G1 人形机器人上部署了该系统。设置是“盲视”的——机器人不使用外部摄像头或动作捕捉系统来了解它在房间里的位置。它完全依赖其内部传感器 (电机编码器和 IMU) 以及指令序列。

带有宇树 G1 和高级指令笔记本电脑的硬件设置。

如图 5 所示,策略运行在内部的 Nvidia Jetson NX 上。一台外部笔记本电脑充当“教练”,发送高级运动计划 (霹雳舞动作或爬行序列) 。

结果

机器人成功执行了人形机器人领域罕见的动作:

  • 从地面起身: 摔倒后恢复。
  • 打滚: 躯干与地面持续接触。
  • 站立舞蹈: 在保持平衡的同时进行复杂的上半身运动。

表 2 (下) 展示了实现这一目标所使用的仿真参数。请注意,为了收集足够的经验,使用了大量并行机器人 (4096 个) 。

展示仿真参数 (如 4096 个机器人和域随机化范围) 的表格。

他们还使用了广泛的域随机化 (Domain Randomization) 。 他们在训练期间改变了机器人的质量、电机摩擦和传感器延迟。这确保了即使仿真并不完美,策略也足够鲁棒,能够处理混乱的现实世界。

奖励结构

对于那些对 RL 调优细节感兴趣的人,作者详细列出了他们的奖励项。

展示跟踪、正则化和安全奖励项的表格。

用于奖励的高斯核公式。

他们使用高斯核 (公式 3) 作为跟踪奖励。这意味着如果误差为零,奖励为 1.0,并且随着误差的增加呈指数衰减。这鼓励了精确性,同时避免了在误差巨大时导致数值不稳定。

结论: 人形机器人运动的未来

论文 “Embrace Contacts” 拓展了我们对“移动 (locomotion) ”的定义。通过创建一个能够处理可变未来指令、不完美数据集和复杂物理交互的流程,作者证明了人形机器人不必局限于行走。

主要结论如下:

  1. 数据至关重要: 要做酷炫的动作,你需要“极限”的训练数据。
  2. 向前看: 基于 Transformer 的未来动作预测稳定了复杂的机动动作。
  3. 混合你的 Critic: 分离任务和安全奖励,可以让机器人在学习困难动作时,避免在训练过程中变得“懒惰”或“恐惧”。

这项研究为人形机器人在真正的非结构化环境中操作打开了大门——无论是在搜救隧道中爬行,在冰面上滑倒后恢复,或者仅仅是在舞池中炫耀一番。

机器人不再只是行走了;它在真正地运动。