引言

在机器人领域,模仿学习 (Imitation Learning, IL) 已成为教导机器人执行复杂操作技能的首选方法。通过观察人类执行任务——比如折叠衬衫或堆叠杯子——机器人可以使用行为克隆等算法来复制这些行为。这是一种优雅的数据驱动解决方案,并已展现出巨大的潜力。

但这里有个问题: 速度。

通常情况下,模仿学习策略仅限于以演示时的速度执行。如果在数据收集过程中,人类为了安全或精确而移动缓慢,机器人也会学得同样迟缓。在研究实验室里这还没什么,但在强调吞吐量的工业自动化或物流领域,“稳扎稳打”往往意味着不可接受。

那么,为什么不直接按“快进”键呢?为什么我们不能简单地以 \(2\times\) 或 \(4\times\) 的速度执行学到的动作?

事实证明,加速机器人并不像加速 YouTube 视频那样简单。增加速度会从根本上改变系统的物理特性。动量会改变,摩擦力会改变,机器人跟踪轨迹的能力也会下降。机器人会进入训练中从未见过的状态分布,导致动作抖动、抓取失败和系统崩溃。

在这篇文章中,我们将深入探讨 SAIL (Speed Adaptation for Imitation Learning,模仿学习的速度自适应) , 这是佐治亚理工学院研究人员提出的一个新的全栈框架。SAIL 解决了动力学偏移和延迟这一对相互交织的挑战,使机器人能够在不牺牲可靠性的前提下,以比人类演示快达 \(4\times\) 的速度执行任务。

SAIL 的目标是加速策略执行,使机器人完成任务的速度比原始训练演示更快。

问题所在: 为什么更快的执行会让机器人崩溃

要理解为什么需要 SAIL,我们首先需要了解当我们天真地加速一个标准的视觉运动策略 (如扩散策略 Diffusion Policy) 时会发生什么。

1. 动力学偏移与控制器滞后

机器人是受惯性支配的物理系统。当人类通过远程操作收集数据时,他们通常移动得很慢。低级控制器 (如 PID 或阻抗控制器) 几乎可以完美地跟踪这些慢速指令。

然而,如果你让机器人在一半的时间内执行相同的路径,所需的加速度就会飙升。控制器不可避免地会滞后于目标。这就会产生跟踪误差 。 机器人并没有处于策略认为它应该在的位置,这会将“分布外” (Out-of-Distribution, OOD) 的状态反馈给神经网络。

2. 滚动时域问题

现代策略通常使用滚动时域控制 (Receding Horizon Control) 。 在每个时间步,AI 会预测未来的动作轨迹 (例如,接下来的 16 步) 。它执行前几步,然后停止,再次观察世界,并预测一条的轨迹。

在正常速度下,这些连续的预测通常能很好地重叠。但在高速下,由于上述的跟踪误差,机器人的状态会偏离计划。当策略基于这个偏离的状态重新规划时,新的轨迹可能看起来与前一条完全不同。这种不一致会导致机器人剧烈抖动或顿挫——这种现象被称为时间不一致性 (Temporal inconsistency)

3. 系统延迟

最后,还有一个硬性的物理限制: 延迟 。 相机捕捉图像、GPU 处理神经网络以及电机驱动器执行动作都需要时间。如果机器人移动得太快,它可能会在“大脑”计算完下一批动作之前就用完了当前的动作缓存,导致机器人卡顿或停顿。

解决方案: SAIL 框架

SAIL 解决这些问题的方法不仅仅是训练一个更好的神经网络,而是优化整个机器人“全栈”——从高层 AI 规划器一直到底层的电机控制器。

SAIL 系统概览,展示了策略层和系统层组件。

如图 2 所示,SAIL 由四个紧密集成的组件组成:

  1. 误差自适应引导 (Error-Adaptive Guidance, EAG) : 一种强制平滑规划的方法。
  2. 控制器不变目标 (Controller-Invariant Targets) : 定义 AI 应该学习什么的新方法。
  3. 自适应速度调节 (Adaptive Speed Modulation) : 仅在必要时减速。
  4. 动作调度 (Action Scheduling) : 管理延迟以防止停顿。

让我们逐一分解这些组件。

1. 误差自适应引导 (EAG)

第一个挑战是修复由连续策略预测不一致引起的“抖动”。

扩散模型中常用的一种技术是无分类器引导 (Classifier-Free Guidance, CFG) 。 在这个背景下,CFG 可以通过将计划建立在计划的尾部来平滑过渡。实际上,你是在告诉模型: “规划一条未来的路径,但要确保它与你刚才的决定平滑连接。”

然而,盲目的连贯性是危险的。如果机器人已经偏离了路线 (高跟踪误差) ,强迫它遵循旧的、无效的计划将是灾难性的。你不想与一个错误保持一致。

SAIL 引入了误差自适应引导 。 系统会监控当前的跟踪误差 \(e\)。

  • 如果跟踪误差低: 系统应用引导来强制平滑。它假设之前的计划仍然有效。
  • 如果跟踪误差高: 系统禁用引导。它识别出机器人已偏离轨道,并允许策略纯粹根据当前的观察做出反应,实际上是从头开始“重新规划”以纠正误差。

朴素策略展开与误差自适应引导的对比。

图 3 展示了这种差异。在顶行 (Naive) 中,两个连续的预测 (蓝色和绿色) 明显分叉,导致执行的路径 (黑色虚线) 很不平稳。在底行 (EAG) 中,引导机制对齐了预测,从而实现了平滑的执行。

在数学上,修正后的噪声预测 \(\varepsilon_{\theta}^{\mathrm{guided}}\) 根据权重 \(w\) 将无条件预测与有条件预测混合在一起:

误差自适应引导公式。

如果跟踪误差超过阈值,权重 \(w\) 会动态设置为 0,瞬间将系统从“平滑模式”切换到“修正模式”。

2. 减少控制器偏移

第二个主要创新是改变机器人试图模仿的对象

在标准数据收集中,我们记录的是指令位姿 (Commanded Pose) (\(x^d\))——即人类操作员告诉机器人要去的地方。通常,数据是使用“软”控制器收集的,这样对人手来说感觉更自然。

如果我们加速执行,我们需要一个“硬” (高增益) 控制器来跟上速度。但硬控制器的行为与软控制器不同。如果我们把从软控制器记录的目标喂给硬控制器,机器人会模仿指令,而不是动作

指令位姿与实际到达位姿的对比以及控制器偏移问题。

SAIL 改变了学习目标。策略不再预测指令位姿 (\(x^d\)),而是学习预测实际到达位姿 (Reached Pose) (\(x\))——即机器人在演示过程中实际物理到达的位置。

  • 这有什么帮助? 实际到达位姿是轨迹的物理现实。它对于所使用的控制器是不变的。
  • 执行: 在高速运行时,SAIL 使用专用的高保真跟踪控制器 (High-Fidelity Tracking Controller) (高增益) ,该控制器经过优化,可以积极地跟踪这些实际到达的位姿。

通过将目标 (物理现实) 与控制器动力学 (我们如何到达那里) 解耦,SAIL 确保无论速度如何,机器人都能遵循预期的路径。

3. 自适应速度调节

并非任务的所有部分都能同等地加速。想象一下端着一杯咖啡走到桌边。你可以在移动手臂时很快,但在把它放在杯垫上的那一刻,你必须减速以保持精确。

如果我们强制进行全局 \(4\times\) 加速,精确部分就会失败。

SAIL 实现了自适应速度调节 。 它分析任务以识别“关键动作”——需要高精度或复杂交互的阶段。

  1. 离线分析: 它使用一种算法 (基于航点密度) 来检测演示中的复杂几何运动。
  2. 在线检测: 它监视夹爪事件 (打开/关闭) ,这通常标志着抓取或释放。

展示带有航点的自适应速度调节的策略展开。

如图 F.3 所示,系统动态调整加速因子 \(c_t\)。轨迹中快速移动部分标为红色,慢速、精确移动部分 (如物体交互附近的帧簇) 标为蓝色。控制它的方程简单而有效:

自适应速度调节公式。

其中 \(k_t\) 是指示关键动作的二进制标志。这使得机器人可以在自由空间运动时冲刺,而在精细工作时减速。

4. 延迟感知动作调度

拼图的最后一块是物理时间限制。大型扩散模型的推理需要时间 (例如 50ms 到 100ms) 。

如果机器人移动缓慢,100ms 可以忽略不计。如果机器人以 \(4\times\) 速度移动,100ms 代表了移动了很长一段距离。如果机器人在下一次推理准备好之前就完成了当前的动作队列,它就会冻结。

SAIL 计算了一个理论上的速度提升上限 (Speedup Upper Bound) (\(\delta^{\mathrm{lb}}\))。这是机器人被物理允许的最快移动速度,以确保一批动作的执行时间总是长于推理时间加上调节视野的时间。

控制循环中处理延迟的时间线。

图 E.2 展示了调度是如何重叠的。绿色块是当前的执行。蓝色块是在后台发生的推理。SAIL 确保绿色块足够长以覆盖间隙,从而确保连续、流畅的运动。

实验与结果

研究人员在仿真环境 (RoboMimic) 和现实世界 (Franka Emika Panda 和 UR5 机器人) 中评估了 SAIL。使用的主要指标是带遗憾吞吐量 (Throughput-with-Regret, TPR) , 该指标奖励快速成功的完成,但惩罚失败。

仿真性能

在仿真中,SAIL 与标准扩散策略 (DP) 、加速版 DP 和其他基线进行了比较。

TPR 与加速因子的关系图。

图 6 显示了“Lift” (举起) 和“Can” (易拉罐) 任务的结果。

  • 绿线 (DP) 代表标准扩散策略。当你尝试加速它 (在 X 轴向左移动) 时,性能并没有太大改善或有所下降。
  • 蓝线 (SAIL) 显示了巨大的增益。随着加速因子 \(c\) 减小 (意味着更高的速度) ,吞吐量飙升。

表 1 中的定量结果突显了改进的幅度:

展示仿真结果并对比 SAIL 与基线的表格。

Can 任务中,SAIL 达到了 0.92 的成功率 (SR) , 超越演示速度倍数 (SOD) 为 3.20x。相比之下,朴素的 DP-Fast 基线 SR 降至 0.87。在 Lift 任务中,SAIL 达到了接近 4 倍加速 (3.98) 且成功率为 100%。

现实世界评估

现实世界的测试更加令人印象深刻,涉及擦白板、折叠布料和双臂上菜等任务。

带有 Franka 和 UR5 机器人的现实世界任务设置。

团队推动系统以达到 5 倍的目标加速 , 最终实现了高达 3.2 倍的有效加速 (计入关键阶段的减速后) 。

现实世界评估中常见的失败模式。

图 8 展示了基线在现实世界中失败的原因:

  • 抓取不精准: 移动太快导致夹爪错过了物体 (帧 1, 5, 7) 。
  • 低保真跟踪: 机器人因为偏离路径而与其他物体碰撞 (帧 2, 3) 。
  • 动作顿挫: 突然的加速导致物体飞出夹爪 (帧 8) 。

SAIL 缓解了这些问题。例如,在“Plate Fruits” (摆放水果) 任务中,SAIL 获得了 5.46 的 TPR 分数 , 而加速版基线仅为 2.22,有效地使机器人单元的效率翻了一番。

展示现实世界评估结果的表格。

结论

SAIL 框架表明,我们不需要从头开始重新训练机器人来让它们变得更快。通过仔细考虑完整的机器人技术栈——承认神经网络是在驱动具有质量、延迟和动量的物理机器——我们可以释放出显著的性能提升。

这项工作的关键要点:

  1. 不要盲目相信历史: 使用误差自适应引导来平衡一致性与误差修正。
  2. 学习目的地,而不是指令: 预测“实际到达位姿”使策略对控制器的变化具有鲁棒性。
  3. 速度是情境化的: 自适应调节允许机器人既快准。

对于进入该领域的学生和研究人员来说,SAIL 提醒我们: 解决“AI 部分” (策略) 往往只是战斗的一半。AI 与物理控制系统之间的接口才是许多最关键的挑战——以及解决方案——的所在。