引言

想象一下一个正在学步的蹒跚学步儿。他们踉踉跄跄,摇摇晃晃,不可避免地会摔倒。但通常,父母会在一旁——牵着他们的手,承托着他们的重量,在他们落地前接住他们,并把他们扶起来再试一次。这种生物学上的“教师-学生”循环是人类掌握运动技能的基础。

在机器人领域,特别是人形机器人行走方面,我们通常跳过这一步。我们通常在一个数字化的“矩阵 (Matrix) ”——物理仿真——中训练机器人,在那里它们可以摔倒数百万次而毫发无损。然后,我们将那个“大脑”复制粘贴到物理机器人中,并祈祷它能奏效。这被称为 Sim-to-Real (仿真到现实) 迁移 。 虽然有效,但它受限于“现实差距 (reality gap) ”: 现实世界中的摩擦力、传感器噪声和复杂的物理特性永远无法与仿真完美匹配。

另一种选择——直接在现实世界中学习——虽然在性能上可能更好,但在实践中却极其可怕。人形机器人反复摔倒会损坏昂贵的硬件,并且需要人类研究人员每隔几秒钟手动重置一次。

但是,如果机器人能有一个“家长”呢?

在一篇引人入胜的论文 “Robot Trains Robot: Automatic Real-World Policy Adaptation and Learning for Humanoids” (机器人训练机器人: 人形机器人的自动现实世界策略适应与学习) 中,来自斯坦福大学的研究人员提出了一个名为 RTR 的新颖框架。他们将一个“学生”人形机器人与一个“教师”机械臂配对。机械臂不仅仅是抓住人形机器人;它会主动教导它,提供保护、指导、反馈和自动重置。

图 1: 机器人训练机器人 (RTR)。我们提出了 RTR,通过使用机械臂作为教师、人形机器人作为学生,实现自动化的现实世界策略适应和学习。

这篇博客文章将深入探讨 RTR 框架,拆解其硬件生态系统、用于弥合现实差距的巧妙算法创新,以及展示机器人如何在几乎没有人类干预的情况下高效地在现实世界中学会行走的实验。

现实世界学习的难题

在分析解决方案之前,我们必须了解为什么在现实世界中训练人形机器人如此困难。主要有三个瓶颈:

  1. 安全性: 人形机器人天生不稳定。在强化学习 (RL) 的探索阶段,机器人会尝试随机的、通常是混乱的动作。如果没有保护,这会导致灾难性的摔倒。虽然存在被动式龙门架 (连接在框架上的安全带) ,但它们是“哑”的——它们限制了运动,且不提供有用的反馈。
  2. 奖励设计: 在仿真中,我们要知道机器人的确切速度、位置和受力情况来计算 AI 的“奖励” (得分) 是很容易的。在现实世界中,测量这些值是很困难的。如果机器人在跑步机上打滑,你如何准确测量它的前进速度?
  3. 效率: 强化学习是数据饥渴型的。它需要成千上万次的尝试。如果人类必须在每次摔倒后手动扶起机器人,训练过程将变得极其缓慢且耗费人力。

RTR 框架通过自动化整个循环来解决这些问题。

系统: 教师与学生

研究人员构建了一个旨在自主运行的物理生态系统。

图 2: 系统设置。我们展示了系统架构和组件交互。该系统由两组组成: 机器人教师和机器人学生。教师组包括一个带有力/力矩传感器的机械臂、一台迷你 PC 和一台用于行走任务的可选跑步机;学生组包括一个人形机器人和一个用于策略训练的工作站。四种类型的线条分别代表物理交互、数据传输、控制命令和神经网络参数。

硬件设置

如图 2 所示,设置分为两组:

1. 机器人教师 教师是一个 6 自由度 (DoF) 的 UR5 机械臂。至关重要的是,它的腕部配备了一个 力/力矩 (F/T) 传感器 。 它通过四根弹性绳索连接到人形机器人学生。这些绳索至关重要;与刚性金属杆不同,弹性允许更平滑的力传递,防止教师突然猛拉学生。

对于行走任务,教师组还包括一台可编程的 跑步机 , 它可以根据机器人的表现调整速度。

2. 机器人学生 学生是 ToddlerBot , 一个小型的开源人形机器人。它重量轻 (3.4 千克) 且坚固,使其成为实验性学习的理想候选者,因为摔倒在所难免。

教师的教学大纲

机械臂不仅仅是一个被动的衣架;它运行特定的控制策略来充当主动导师。它的角色包括:

  • 柔顺控制 (指导) : 利用 F/T 传感器,机械臂采用 *导纳控制 (admittance control) *。如果人形机器人向前走,机械臂会感知到拉力并随之移动。它在垂直方向 (Z 轴) 支撑机器人的重量,同时允许其在水平方向 (XY 轴) 自由移动。这模仿了父母牵着孩子的手——在不限制运动的情况下提供平衡。
  • 课程调度: 在训练开始时,机械臂给予机器人很大的支撑。随着训练的进行,机械臂会自动降低高度,放松绳索,迫使人形机器人支撑自己的重量。
  • 信息丰富的奖励: F/T 传感器提供关于机器人拉力或倾斜程度的实时数据。这些数据作为奖励函数的一部分输入到学习算法中,这是一种没有外部传感器通常无法获得的信号。
  • 自动重置: 当系统检测到摔倒 (通过 F/T 传感器或机器人的 IMU) 时,机械臂会将人形机器人提回到站立位置。这允许进行连续的、无人值守的训练。

核心方法: 动力学感知适应

硬件只是战斗的一半。研究人员还引入了一套复杂的算法流程,以确保机器人有效地学习。核心理念是 Sim-to-Real 适应 (仿真到现实的适应)

目标是在仿真中训练一个“大脑” (策略) ,但在结构上使其能够快速在现实世界中微调,以适应物理差异 (如特定的电机摩擦或跑步机打滑) 。

该流程由三个不同的阶段组成。

图 3: Sim-to-real 微调算法。我们展示了我们的 Sim-to-real 微调过程。首先,我们通过域随机化 (DR) 在仿真中训练一个动力学感知的策略,将环境物理特性编码为隐向量。接下来,我们在不同的仿真环境中优化一个通用隐向量,以初始化现实世界的训练。最后,我们在现实世界中改进隐向量并训练一个新的评论家网络 (critic) 。橙色表示三个阶段中的可训练组件;蓝色表示冻结组件。

第一阶段: 带域随机化的仿真

在第一阶段,策略是在仿真中训练的。研究人员使用 域随机化 (Domain Randomization) , 创建了数千个具有不同物理属性 (摩擦力、质量、阻尼) 的环境版本。

策略 \(\pi(s, z)\) 接受两个输入:

  1. 机器人的状态 \(s\) (关节角度、速度) 。
  2. 一个 隐向量 (latent vector) \(z\)。

这个隐向量 \(z\) 是秘诀所在。它是当前环境物理特性的压缩表示。一个神经网络编码器接收物理参数 \(\mu\) (如摩擦力) 并将它们压缩成 \(z\)。

为了将这种物理知识注入策略,作者使用了 FiLM (Feature-wise Linear Modulation,特征线性调制) 层。FiLM 层不只是将 \(z\) 连接到输入,而是使用 \(z\) 来缩放和偏移模型深层的神经网络激活值。

\[ \gamma _ { j } ^ { ( i ) } , \beta _ { j } ^ { ( i ) } = \mathrm { F i L M } _ { j } ( z ^ { ( i ) } ) , \quad h _ { j } ^ { ( i ) } \gets \gamma _ { j } ^ { ( i ) } \odot h _ { j } ^ { ( i ) } + \beta _ { j } ^ { ( i ) } , \]

描述: 方程 1

简单来说,\(z\) 就像是一组旋钮,根据当前所在的物理世界改变大脑处理信息 的方式

第二阶段: 通用隐向量优化

这里存在一个问题: 当我们转移到现实世界时,我们不知道确切的物理参数 (摩擦力、阻尼) ,所以我们无法使用编码器计算 \(z\)。

为了解决这个问题,研究人员冻结了策略网络,并搜索一个 通用隐向量 \(\tilde{z}\),该向量在 所有 随机化的仿真环境中都能表现得“足够好”。

\[ \tilde { z } = \arg \operatorname* { m a x } _ { z } \sum _ { i } \mathbb { E } _ { \tau \sim \pi ( \cdot | z ) , \mathcal { T } _ { i } } [ J ( \tau ) ] \]

描述: 方程 2

这个通用向量作为一个稳健的起点——对现实世界感觉的一个“最佳猜测”。

第三阶段: 现实世界微调

最后,机器人被放置在 RTR 装置中。在这个阶段,主策略网络 (“大脑”) 被 冻结唯一 更新的是隐向量 \(z\)。

使用 PPO (近端策略优化) 算法,机器人与现实世界互动。根据它获得的奖励,它只调整 \(z\) 向量。

这之所以高明,有两个原因:

  1. 效率: 优化一个小向量比重新训练一个庞大的神经网络要快得多。
  2. 安全性: 因为主要的行走行为在主网络中被冻结,机器人不会突然忘记如何行走并开始乱动 (这种现象被称为灾难性遗忘) 。它只是调整其“物理设置”以匹配现实。

实验 1: 微调行走策略

RTR 的第一个主要测试是行走任务。目标: 在跑步机上行走,同时准确跟踪目标速度。

奖励信号: 机器人因匹配目标速度而获得奖励。

\[ r = \exp \left( - \sigma \cdot ( v - v ^ { \mathrm { t a r g e t } } ) ^ { 2 } \right) , \]

描述: 方程 3 在现实世界中,测量真实速度 \(v\) 是很难的。然而,因为机器人在跑步机上,如果它相对于房间保持原地不动,它的速度就匹配跑步机的速度。RTR 系统确保机器人保持居中,允许跑步机速度作为机器人速度的代理指标。

主动教学有帮助吗?

研究人员进行了“消融实验 (ablation studies) ”——移除系统的部分组件以查看它们是否重要。

  1. 柔顺性: 他们比较了主动、柔顺的机械臂与固定、刚性的机械臂。结果如何?刚性机械臂拖累了机器人,阻止了它学习自然的动力学。柔顺机械臂 (RTR) 允许更好的策略适应。
  2. 调度: 他们测试了逐渐降低机械臂 (课程) 与保持高位 (简单) 或低位 (困难) 的对比。逐渐降低的调度产生了最好的长期结果,防止机器人对支撑产生依赖。

图 4: 行走消融实验。本实验旨在评估机械臂反馈控制和隐向量微调的有效性。

如上面的图 4 (左) 所示,RTR 方法 (深蓝线) 在评估期间获得的奖励始终高于机械臂固定或调度静态的基线。

隐向量微调有效吗?

图 4 (右) 回答了算法问题。研究人员比较了他们的方法 (仅微调 \(z\)) 与微调整个网络或添加残差网络的方法。RTR 方法 (深灰/蓝线) 是数据效率最高且最稳定的。

结果: 仅需 20 分钟 的现实世界训练,机器人的行走速度就比零样本 (zero-shot) 基线翻了一番。

与 RMA 的比较

研究人员还将 RTR 与 Rapid Motor Adaptation (RMA) 进行了比较,后者是足式机器人的最先进基线。RMA 使用观察历史来预测隐向量 \(z\)。

表 3: 我们在该表中比较了 RTR (我们的) 和 RMA 每个阶段的性能

表 3 显示,RTR 使用 FiLM 层的方法 (底行) 在仿真中明显优于 RMA 的拼接方法 (顶行) 。此外,在现实世界中,RTR 策略要稳定得多,而 RMA 策略经常导致机器人过度前倾。

实验 2: 从头开始学习 (甩动起摆)

Sim-to-Real 对行走很有效,但有些任务很难准确模拟。例如,与柔软、可变形物体的交互——或者在绳子上摆动。软缆绳的复杂动力学是物理引擎的噩梦。

在这个实验中,机器人必须直接在现实世界中学会将自己甩起来 (就像吊环体操运动员一样) ,且从零知识开始。

设置: 机器人握住弹性绳索。目标是摆动双腿和身体,以最大化摆动幅度。

教师的角色: 在这里,教师机械臂扮演了更具动态的角色。它可以:

  • 帮助: 与摆动同步移动以放大能量 (教机器人“好的”高摆动是什么感觉) 。
  • 扰动: 与摆动反向移动以抑制能量 (迫使机器人更努力地对抗) 。

图 5: 甩动起摆消融实验。我们展示了甩动起摆的设置和实验结果。

奖励: 系统根据安装在机械臂上的 F/T 传感器测量的力幅度来计算奖励。

\[ r = \exp \left( - \alpha \cdot ( \hat { A } _ { \nu _ { x } } - A ^ { \mathrm { t a r g e t } } ) ^ { 2 } \right) , \]

描述: 方程 4

结果

图 5(b) 中的曲线图显示,“帮助 (Help) ”调度 (深灰线) 表现更优。通过在训练早期人为地提高摆动高度,教师允许学生的“评论家 (Critic) ” (AI 中估计价值的部分) 看到它通常需要数小时才能达到的高价值状态。这种“引导式体验”显著加速了学习。

15 分钟 的现实世界互动内,人形机器人成功地从头学会了周期性的甩动起摆动作。

结论与启示

“Robot-Trains-Robot” 框架代表了机器人学习迈出的重要一步。通过引入教师机器人,研究人员有效地自动化了研究生的角色——那个通常不得不接住倒下机器人的角色。

这项工作的主要收获:

  1. 主动保护是关键: 一个柔顺、有感知的机械臂能够实现被动龙门架无法比拟的安全探索。
  2. 混合学习流程: 三阶段过程 (带 FiLM 的仿真 \(\rightarrow\) 通用隐向量 \(\rightarrow\) 现实世界微调) 平衡了仿真的速度和现实世界数据的准确性。
  3. 效率: 以前可能需要数小时人工监督的任务,现在可以在 15-20 分钟的自主运行中学会。

虽然目前的设置使用的是小型人形机器人,但这些原则是可扩展的。未来的迭代可能会看到巨大的工业机械臂训练全尺寸人形机器人,或者是仓库中的桥式起重机充当教师。随着机器人开始相互教导,机器人进化的步伐可能即将换挡加速。