简介
强化学习 (Reinforcement Learning, RL) 彻底改变了足式机器人的运动方式。我们已经看到四足机器人穿越崎岖地形、爬楼梯,甚至以超人的敏捷度进行跑酷。然而,这些最先进的控制器存在一个挥之不去的问题: 它们往往极其“僵硬”。
大多数 RL 运动策略都是为了跟踪特定的速度指令而训练的。如果你推一下运行速度跟踪控制器的机器人,它会将你的推力视为一种干扰并试图立即消除它。它会反抗以保持目标速度。虽然这对轻微的碰撞有效,但在受力较大的情况下会彻底失效。机器人要么变得僵硬并打滑,要么因为猛烈撞击障碍物而损坏自身 (甚至周围环境) 。
为了让机器人能与人类并肩工作,它们需要柔顺性 (compliance) 。 它们需要知道什么时候该硬 (例如拉动重物) ,什么时候该软 (例如让人类用手引导,或吸收剧烈的冲击) 。
在一篇名为 FACET 的新论文中,来自清华大学和上海人工智能实验室的研究人员介绍了一种解决方法。他们不是训练机器人跟踪速度,而是训练它模仿一个“虚拟弹簧”。

如图 1 所示,这种方法可以实现多种行为: 从软到可以用绳子牵引的机器人,到硬到可以拉动 10kg 负载的机器人。
背景: 速度跟踪的问题
要理解为什么 FACET 是必要的,我们必须看看当前的机器人是如何被控制的。足式机器人的标准 RL 策略通常优化基于速度跟踪的奖励函数。人类操作员发出指令“以 1 m/s 前进”,机器人则尽量减小其实际速度与该目标之间的误差。
虽然这对于移动很有效,但它忽略了力。在现实世界中,交互涉及力。如果一个机器人试图保持 1 m/s 的速度撞向墙壁,它将对其电机施加最大扭矩来对抗墙壁,这可能会损坏其齿轮。
表 1 强调了当前方法中的不足:

阻抗控制
解决方案在于经典机器人学中的一个概念,称为阻抗控制 (Impedance Control) 。 与其命令位置 (\(x\)) 或速度 (\(v\)),不如命令力与运动之间的关系。我们将机器人的末端执行器 (或身体) 建模为连接在一个虚拟弹簧和阻尼器上。
控制这种行为的基本方程是:

这里,\(K_p\) 代表刚度 (弹簧回弹的力度) ,\(K_d\) 代表阻尼 (对运动的阻力) 。
- 高 \(K_p\) : 机器人僵硬且抵抗移动 (适合抓持重物) 。
- 低 \(K_p\) : 机器人柔顺且“柔软” (适合安全和吸收冲击) 。
虽然这对于机械臂来说是标准做法,但通过 RL 将其应用于足式机器人却很困难,因为足式机器人与地面的接触是复杂的且断断续续的。你不能简单地在质心施加一个力;你必须通过脚与地面的不断接触和断开来产生这个力。
FACET 方法
FACET (Force-Adaptive Control via Impedance Reference Tracking,基于阻抗参考跟踪的力自适应控制) 弥补了这一差距。其核心思想是创建一个参考模型——一个虚拟的质量-弹簧-阻尼系统的仿真——并训练机器人表现得完全像那个虚拟模型一样。

1. 参考模型与机器人
首先,研究人员定义了他们希望机器人体现的理想“虚拟”系统的动力学。参考模型的行为遵循以下方程:

在这个方程中:
- \(m, K_p, K_d\) 是虚拟质量、刚度和阻尼。
- \(x_{des}\) 是目标设定点 (弹簧锚定的位置) 。
- \(f_{ext}\) 是外力 (如踢或推) 。
这个参考模型能完美地对外部力量做出反应。如果你推它 (\(f_{ext}\)),弹簧会压缩 (\(x_{des} - x_{ref}\)),质量块会退让。
然而,实际机器人的物理特性是不同的。它受地面反作用力 (\(f_{grf}\)) 支配,而不是虚拟弹簧:

FACET 的目标是利用强化学习强制方程 3 (机器人) 产生看起来完全像方程 2 (弹簧) 的轨迹。
2. 跟踪轨迹,而不是力
直接测量机器人上的外力是很困难的,因为大多数四足机器人的身体上缺乏力传感器。因此,研究人员不要求机器人直接跟踪力。相反,他们将参考动力学随时间积分,以创建一条“参考轨迹”。
如果虚拟弹簧模型被推动,它会沿着特定的路径移动。RL 策略根据机器人跟随该特定路径的紧密程度获得奖励。

通过最小化机器人的位置/速度 (\(x_{sim}\)) 与参考模型的位置/速度 (\(x_{ref}\)) 之间的差异,机器人隐式地学会了产生模仿弹簧所需的地面反作用力。
3. 用于稳定性的时间平滑
这篇论文的一个主要技术贡献是他们生成这些目标的方式。如果简单地开环运行参考模型,它可能会偏离实际机器人所能达到的范围太远 (由于电机限制或摩擦) 。如果只看接下来的这一步,信号又太嘈杂。
研究人员提出了时间平滑 (Temporal Smoothing) 。 他们通过从过去多个不同的开始时间积分参考动力学来生成目标。

最终的奖励函数融合了这些目标,确保机器人学习到一种稳定的行为,既尊重弹簧动力学,又不会被瞬时噪声或不可能的目标所迷惑。

4. 教师-学生训练
在仿真中,我们确切地知道是什么外力 (\(f_{ext}\)) 在推动机器人。在现实世界中,我们不知道。为了解决这个问题,FACET 使用了一个两阶段的训练过程。
- 教师策略 (Teacher Policy): 训练时可以访问“特权信息” (精确的外力、地面摩擦力等) 。
- 学生策略 (Student Policy): 训练其模仿教师,但它只能看到“本体感知”数据 (关节角度、IMU) 。它利用这些观测的历史数据来隐式地估计外力。

这种设置允许部署后的机器人“感觉”到推力并做出柔顺的反应,即使它没有皮肤或力传感器。
实验结果
研究人员在 Unitree Go2 四足机器人上验证了 FACET。结果表明,与标准速度跟踪基线相比,其鲁棒性和交互能力有了显著提高。
抵御“大脚踢”
最令人印象深刻的演示之一是抗冲击能力。机器人被命令以 1.5 m/s 的速度行走,然后施加巨大的侧向力 (高达 400N) 。
- 基线 (Vanilla): 试图对抗外力以保持在直线上。它产生僵硬的反应,失去稳定性并摔倒。
- FACET: 表现得像弹簧一样。它允许力将其推向侧面 (偏离) ,吸收能量,然后恢复平衡。

正如在图 4 中间图表所见,FACET 的轨迹 (蓝色) 显示机器人显着侧向漂移。这是理想的!通过“顺势而为”,机器人经受住了冲击。基线 (绿色) 试图守住路线,结果崩溃了。
软碰撞
对于在家庭中运行的机器人来说,安全至关重要。当 FACET 机器人撞向墙壁时,虚拟弹簧会压缩。因为用户可以设置低刚度 (\(K_p\)),机器人会轻柔地停止。图 4 (右) 显示,与鲁棒基线相比,FACET 产生的碰撞冲量显著降低。
重负荷牵引
柔顺性对安全性很有好处,但如果你需要做功呢?因为 FACET 允许可变刚度,你可以调高 \(K_p\) (刚度) 参数。机器人有效地绷紧了它的虚拟肌肉。

在牵引实验中 (图 6) ,机器人被系在一个重物上。内置控制器在 2.5kg 时失败。标准的鲁棒策略在 5kg 时失败。FACET 成功拉动了 10kg (其自身体重的 2/3) ,通过协调其整个身体倾斜并施加力,正如高刚度参考模型所命令的那样。
扩展到操作
该框架不仅限于机器人的身体。它可以扩展到“移动操作 (Loco-manipulation)” (带有机械臂的机器狗) 。通过定义两个参考模型——一个用于身体,一个用于手臂——FACET 允许执行复杂的协调任务。


这允许用户例如抓住机器人的手并拖动整个机器人 (动觉示教) ,或者让机器人在用腿支撑的同时用手臂推动重物。
结论
FACET 代表了我们对足式机器人控制思路的转变。它不再是死板的指令 (“在时间 T 到达位置 X”) ,而是提供了一个灵活的框架 (“像刚度为 K 的弹簧一样行动”) 。
这种方法解锁了两个关键能力:
- 安全性: 机器人变得柔顺,能够吸收冲击并在障碍物前轻柔停止。
- 通用性: 只需更改几个输入数值,同一策略就可以从柔软、可引导转变为僵硬、有力。
通过训练 RL 智能体跟踪阻抗参考而不是原始速度,FACET 为足式机器人铺平了道路,使其不仅敏捷,而且足够安全,可以与周围的世界——以及人类——进行物理交互。
](https://deep-paper.org/en/paper/2505.06883/images/cover.png)