Light REACT
面向规模化部署的全身韧性智能
Light REACT 是我们在控制层面迈向规模化部署的第一步。它聚焦一个重要却尚未得到充分研究的问题:如何让人形机器人在受扰、受损或行动受限时,仍然能够恢复行动、继续执行任务。我们将这一研究方向称为韧性人形机器人控制(REsilient humAnoid ConTrol,REACT)。
借助 Transformer 架构,Light REACT 实现了全身上下文学习(Whole-Body In-Context Learning):根据近期与物理环境的交互轨迹,判断外力、硬件受损和环境约束对身体的影响,再调用相应的全身技能作出调整。这为机器人自主恢复和继续执行任务提供了控制基础,有助于在部署规模扩大后,减少人工干预和长时间的任务中断。
韧性:规模化部署的最后一公里
规模化部署的目标,是让大量机器人在真实世界中积累经验,再用这些经验改进模型,形成持续迭代的数据飞轮。但随着部署规模扩大,机器人难免会受到干扰、跌倒,甚至出现硬件故障。一旦这些情况超出控制系统的应对能力,任务就会中断。部署越依赖人工救援,就越难稳定运行,也越难形成持续的数据反馈。
因此,全身控制模块需要具备韧性:既能应对外界干扰,也能在跌倒后起身,并适应硬件故障。硬件受损不仅让控制更困难,还会改变机器人实际能够完成的动作。我们希望保住的是机器人的移动能力,而不是某一种固定步态。即使身体能力发生变化,机器人也应尽可能继续行动,支撑规模化部署的稳定运行。
目前,全身控制器1,2通常会在训练中加入模拟推力,以提升平衡能力、减少跌倒。但对人形机器人而言,韧性还意味着:跌倒后能够重新起身3,4,在硬件受损5,6时保持移动能力,以及在身体已无法支持常规直立行走时,找到其他移动方式。
已有研究分别探索了这些能力,但仍有两个难点:一是覆盖更广泛的硬件受损情形,二是把应对这些情形的能力整合进同一个通用策略。为此,我们首先提出韧性金字塔,按层级梳理机器人可能遇到的问题,以及各层级所需的行为能力。在此基础上,我们扩展受损情形的数量和种类,并设计完整的训练流程,将各层级的应对能力统一到一个全身控制器中。这就是 Light REACT:为规模化部署建立具备韧性的控制基础。
重新理解人形机器人的韧性
我们的出发点是:充分利用机器人全身仍然可用的能力,在硬件受损时尽可能准确地跟踪速度指令。行走、跛行、单腿跳跃和爬行,都是利用身体尚存的运动、驱动和支撑能力,完成同一个控制目标的不同方式。韧性金字塔将这些能力分为四层:受推时保持平衡,跌倒后重新起身,硬件受损后调整起身与移动方式,以及无法直立运动时转为爬行。完整的韧性控制器应当贯通这四个层级。
无法行走,也能继续移动
双腿无法再支撑双足步态时,让双臂参与支撑,转为爬行。
适应受损的身体,换一种方式移动
判断身体能力的变化,跌倒后重新起身,并利用仍然可用的关节继续移动。
跌倒后起身,恢复行走
受到强烈推力而跌倒后,能够自行起身并继续行走。
受到推力,仍能保持平衡
在适度推力下保持平衡,继续行走。
训练教师、蒸馏学生、对齐偏好
Light REACT 的训练分为三个阶段:强化学习(RL)、蒸馏,再进行一轮强化学习。每个阶段承担不同的任务。
第一阶段:训练专用教师 。我们采用分而治之的方法,针对不同受损类型分别学习合适的控制策略。每一类受损条件下,都单独训练“起身与直立运动”和“爬行”两类教师策略,共同覆盖韧性金字塔的全部层级。
第二阶段:多教师蒸馏 。我们将多个教师的能力整合到一个可部署的学生策略中,目标是尽可能完整地保留教师的技能。对比 MLP、RNN 和 Transformer 后,我们发现 Transformer 对教师能力的覆盖最广。它的显式上下文窗口能够保留近期交互历史,为全身上下文学习提供支持。
第三阶段:偏好对齐 。我们希望机器人在身体条件允许时,优先起身并保持直立运动,同时保留爬行作为后备能力。仅靠蒸馏无法建立这一偏好,因为在同一种受损条件下,行走和爬行都可能完成速度跟踪。为此,我们通过奖励设计,将直立偏好引入强化学习。在本组实验中,只有 Transformer 实现了这一目标;MLP 和 RNN 则逐渐退化为以爬行为主的策略。
多个专用教师,
覆盖多种能力
正在加载教师动作…
一个通用模型,
尚无明确偏好
同一个模型,
建立直立偏好
六个教师:3 类受损条件 × 2 类技能
我们考虑三类受损条件:驱动失效(Actuation Loss),将受影响电机的主动输出力矩设为零;关节锁定(Joint Locking),将受影响关节固定在某个角度;屈膝约束(Knee-Fold Constraint),使膝关节保持弯曲,无法完全伸直。
这三类条件共包含 196 种受损情形。驱动失效和关节锁定各包含 86 种:覆盖腿部全部关节的 12 种单关节情形、全部 66 种双关节组合,以及同一条腿上沿关节链连续影响 3–6 个关节的 8 种情形。屈膝约束包含 24 种,分别在左右膝关节上施加 12 个屈曲角度区间,范围覆盖 90°–150°。
针对这些受损条件,我们训练两类技能:起身与直立运动(Recovery–Locomotion),涵盖跌倒后的起身恢复和直立移动;爬行(Crawling),通过全身多个部位与地面接触来完成移动。
教师策略交互演示
教师策略如何训练
六个教师分别独立训练,均使用 PPO7 和 AMP8。PPO 负责强化学习优化,AMP 则利用参考动作提供运动先验。
起身与直立运动教师分两步训练。首先,从零开始用强化学习学习起身:为 AMP 提供起身参考动作,以约束动作的自然性,并通过课程学习安排外部向上辅助力。随后,在已学会起身的模型上继续训练,加入速度跟踪奖励来学习移动,同时使用起身和移动两类参考动作。这一步不再施加外部辅助力。
爬行教师从零开始训练,AMP 使用爬行参考动作,并使用相同的速度跟踪奖励。此外,我们专门设置俯卧朝向奖励,鼓励机器人从跌倒姿态翻转到适合爬行的姿态。
每类技能各训练三个教师,分别在训练中注入驱动失效、关节锁定或屈膝约束。这样,六种“受损类型 × 技能”的组合,各自对应一个专用教师策略。
训练时,每个教师还会接收一个21 维二值受损标记:每一维对应一个关节,1 表示受损,0 表示未受损。这属于训练阶段的特权信息,直接告诉教师哪些关节受到影响,让它专注于学习已知受损条件下的最佳应对行为,而不必同时判断哪里出了问题。蒸馏后的学生策略不接收这一标记。
受损类型驱动失效
T 字姿态 · 红色标出失效电机
21 维受损标记
1 · 驱动失效 0 · 未受损
86 种情形:12 种单电机失效、66 种双电机失效、8 种关节链失效。
将多个专用策略整合为一个通用策略
只看当前观测,还是利用交互历史?
我们对比三种学生架构:只使用单帧观测、没有记忆的多层感知机(MLP),循环神经网络(RNN),以及拥有 64 帧上下文窗口的 Transformer。三者接收相同类型的输入:速度指令和本体感知信息。通过这一对比,我们考察时序记忆如何帮助学生判断自身的身体状态与可用能力。
MLP
只使用当前观测。
无记忆RNN
GRU(512 个隐藏单元)+ MLP 动作输出头。
学习到的记忆Transformer
保留 64 帧的因果上下文窗口。
序列记忆相同的观测,不同的记忆方式
同一串观测,按相同的时序输入三个策略。
学生保留了多少教师能力?
蒸馏的核心目标是技能覆盖:同一个学生应当在各类受损条件下,同时保留起身与直立运动、爬行两类技能。我们从两个角度评估:学生输出的动作与教师有多接近?学生自主运行时,各类行为又各占多少?前者用教师轨迹输入下的动作均方误差衡量,后者则通过学生自主运行的轨迹评估。
Transformer 的动作均方误差最低
我们先让各个教师运行,采集观测—动作轨迹,再按时间顺序,将其中的速度指令和本体感知观测输入学生,计算学生预测动作与已记录的教师动作之间的均方误差(MSE)。这一评估使用的是教师运行时的观测,而不是学生自主运行产生的观测。
拥有 64 帧上下文窗口的 Transformer 对教师轨迹的拟合明显更好,表明它可能更充分地保留了教师的行为能力。
展开六个教师的详细结果 收起六个教师的详细结果
驱动失效
起身与直立运动教师
驱动失效
爬行教师
关节锁定
起身与直立运动教师
关节锁定
爬行教师
屈膝约束
起身与直立运动教师
屈膝约束
爬行教师
除了模仿误差,学生实际会怎么做?
模仿误差低,并不意味着学生已经完整掌握了教师的技能。我们进一步评估学生自主运行的轨迹,将每一帧归为“直立”“爬行”或“其他”,再统计各类受损条件下三种行为的帧数占比。
每一帧如何分类
- 直立
-
身体处于直立姿态。
- 根节点(骨盆)高度 ≥ 0.40 m
- 躯干与竖直方向的夹角 ≤ 70°
两项条件须同时满足;不要求速度跟踪误差达到特定阈值。
- 爬行
-
以低姿态爬行,并跟踪速度指令。
- 根节点(骨盆)高度 < 0.35 m
- 朝向:躯干 +X 轴与竖直向下方向的夹角 ≤ 30°
- 爬行坐标系下的前向速度跟踪误差绝对值:|ex| ≤ 0.25 m/s
三项条件须同时满足。
- 其他
-
既不完全满足“直立”条件,也不完全满足“爬行”条件。
包括姿态切换过程,以及朝向或速度跟踪未达到爬行标准的低姿态行为。
下方动画展示了同一种故障下,MLP、RNN 和 Transformer 的逐帧行为分类。三个机器人均从跌倒姿态开始,右腿六个电机全部失去动力,并接收 vx = 0.5 m/s 的前向速度指令。彩色时间轴标出了这段 20 秒运行轨迹中每一帧的行为类别。
没有记忆的 MLP 在各类受损条件下都以“其他”行为为主。这与一种可能的机制相符:单帧观测提供的上下文不足,以 MSE 为目标的蒸馏容易在两类技能的动作之间取平均,产生两者之间的过渡行为。RNN 在三类受损条件下都减少了“其他”行为的占比,说明循环记忆有助于缓解这种歧义。Transformer 利用显式的 64 帧上下文窗口,较为均衡地保留了直立运动和爬行,并且在每类受损条件下,“其他”行为的占比都是三种架构中最低的。
这些结果表明,在本次对比的三种架构中,Transformer 的显式上下文最有助于保留教师的技能,并减少两类技能之间的混淆。
驱动
失效
关节
锁定
屈膝
约束
MLP
驱动
失效
关节
锁定
屈膝
约束
RNN
驱动
失效
关节
锁定
屈膝
约束
Transformer · 64 帧上下文
让行为符合人的偏好
蒸馏把同一受损条件下的多种移动方式整合进了一个策略,但还没有回答一个问题:机器人应该优先选择哪一种?学生可能起身行走,可能爬行,也可能表现为“其他”类别中的行为。
我们的偏好很明确:身体条件允许时,优先起身并保持直立运动;确实无法直立时,再转为爬行。直立运动主要依靠脚部接触地面,可以减少四肢和关节外壳的磨损,也更适合人类活动空间。与此同时,当损伤已经使行走不可行时,爬行仍是必不可少的后备能力。
我们通过强化学习微调蒸馏后的学生策略,引导它形成这一偏好。奖励鼓励起身、稳定的直立姿态,以及直立状态下的速度指令跟踪。爬行时准确跟踪速度指令也能获得奖励,但奖励水平显著低于直立跟踪。这一阶段调整的是策略如何运用已经学到的技能。下面的对比显示,同样的偏好目标,在不同架构上可能产生不同结果。
相同的偏好目标,不同的学习结果
微调后,Transformer 更倾向于直立运动,MLP 和 RNN 则更倾向于爬行。下方柱状图在蒸馏后与强化学习对齐后的行为帧数占比之间切换,展示两个阶段的差异。
驱动
失效
关节
锁定
屈膝
约束
MLP
驱动
失效
关节
锁定
屈膝
约束
RNN
驱动
失效
关节
锁定
屈膝
约束
Transformer · 64 帧上下文
强化学习从蒸馏后保留下来的技能出发。对 MLP 和 RNN 来说,起身、直立运动和爬行可能还不是清晰、可靠的独立行为。持续直立移动需要一连串能力:先起身,再稳定身体,随后在受损条件下跟踪指令。如果这套过程不够可靠,爬行就可能成为更容易获得奖励的选择。随着训练不断强化爬行,策略练习和改进起身能力的机会也可能随之减少。
同一个任务,对不同模型的难度也可能不同。即使奖励更偏向直立跟踪,一个难以保持直立并跟随指令的策略,仍可能通过爬行获得更稳定的回报。Transformer 的显式时序上下文可能帮助它利用身体近期的反馈,在受损条件下维持直立控制,从而为微调强化预期偏好提供更好的起点。
偏好对齐后的全身上下文学习
下面的真机视频对比了 Transformer 在偏好对齐前后,如何应对暂时性的受损情况。每次运行中,损伤都会在中途解除,用来观察两种策略在身体重新具备直立运动能力后,是否会调整行为。
第一个场景中,双膝电机因过热失去动力,并在运行中途恢复。动力恢复后,经过强化学习对齐的 Transformer 重新转为直立运动。这一现象表明,它可能利用上下文窗口中保留的全身交互历史,判断故障已经解除。相比之下,蒸馏策略在这次演示中没有完成这一切换。第二个场景中,机器人的双腿被绑住,运行中途再剪断绑带,观察策略如何应对约束的解除。
受损情况
未对齐偏好· 蒸馏后的策略
已对齐偏好· 强化学习对齐后
受损情况
未对齐偏好· 蒸馏后的策略
已对齐偏好· 强化学习对齐后
收到速度指令后,机器人首先尝试站起。外部压力阻止它起身时,策略利用上下文窗口中的交互历史判断站立受到限制,随后转为爬行,继续跟踪速度指令。到达开阔区域后,它又从新的交互中判断环境约束已经解除,自主站起,并以直立姿态继续跟踪指令。
硬件完好,但受到环境约束强化学习对齐后