论文 “Recova: Agent-Guided Failure Recovery for Autonomous Robotic Manipulation”

(NVIDIA / UCSD / UT Austin,arXiv 2610.01178,2026-10)

一、动机

  1. VLA 不会处理失败后的场景。 训练数据几乎都是从标准初始状态出发的成功轨迹。一旦出错,比如环卡在柱尖、铅笔卡住、牌倒了,场景就落到长尾分布里。任务策略直接重试,往往解决不了障碍。
  2. 在真机上学恢复太贵。 要反复人工复位,还可能损坏物体。仿真和数字孪生可以安全地复现失败、试纠正动作,但真实的接触和观测仍需要真机来验证。
  3. 语言模型 agent 适合当协调者。 已有工作分别做了失败诊断、代码策略、人在环 DAgger。缺的是一个闭环:诊断 → 选择或开发纠正动作 → 验证 → 沉淀 → 把数据分流给对应的策略。

二、要点

  • 任务执行和场景恢复分开。 任务策略 πθ(a|o,g) 以任务指令 g 为条件;恢复策略 ρφ(a|o,z) 以恢复指令 z(如"把卡住的环推下去")为条件。以 z 为条件,恢复技能就能跨任务复用。
  • 恢复技能分三类: 复原型(Restorative,扶正倒下的物体)、使能型(Enabling,把物体挪到够得着的地方)、改变策略型(Adaptive,换抓取位姿或换方向开门)。
  • 主要结果:
    • LIBERO-Pro 六个设定平均 78.8%,最强基线 ASPIRE 为 71.7%。
    • MolmoSpaces 平均 64.9%,最强基线为 38.0%。
    • 真机四个任务:基础策略 23.8% → DAgger 后 77.5% → 加上恢复技能 87.5%。
    • 在"摸牌"任务上,四轮采集中人工接管率从 87.5% 降到 0%。

其概览如图 1 所示:

三、方法与特色

1. 数字孪生由 agent 自动构建(real-to-sim)

  • 编码 agent 用真机的相机图像、标定和机器人轨迹搭出 MuJoCo 场景,并拟合物体位姿和接触参数,使回放轨迹与真实视角对齐。
  • agent 在孪生里尝试任务:
    • 成功的轨迹进入任务数据集。
    • 失败时,agent 诊断原因、给恢复指令 z 命名,同时产出两样东西:一段 code-as-policy 恢复程序(进技能库),以及一批恢复 rollout(进恢复数据集)。
  • 这样真机部署前就已有一批恢复技能,四个任务在孪生里共开发了 24 个。

2. 真机闭环:Monitor → Detect → Decide → Verify

  • 由 VLM(Gemini 3.8 Flash)担任监控者,有四类结构化查询,均为温度 0、JSON 输出:
    • 需求查询 M_req:把任务指令转成可从图像检查的完成条件 C_g。
    • 完成查询 M_done:每 20 秒检查一次。
    • 干预查询 M_int:每 10 秒异步检查一次,判断场景是否完好,并给出恢复指令 z;z 优先原样复用已有技能名,让同一类行为的示范共享标签。
    • 恢复查询 M_res:恢复后检查场景是否"等价可用",不要求物体回到原位。
  • 决策逻辑:
    • 场景完好但任务卡住 → 人示范完成任务。
    • 场景被扰乱且 z 已注册 → 恢复策略在 50 秒预算内自主尝试一次。
    • 否则 → 人只示范恢复那一段。
    • 连续两次干预 → 下一轮由人做完整示范,避免反复失败的循环。

3. 数据按来源分流的 DAgger

  • 本轮成功的任务 rollout(S_k)和人工任务示范(E_k)→ 任务数据集。
  • 人工恢复示范(R_k)和通过恢复验证的自主恢复(A_k)→ 恢复数据集。
  • 失败片段只记日志,不用于训练。
  • 遇到新的失败类型时,系统提出新的 z,人示范一次,z 进入恢复指令集 K,同时引导在孪生里开发对应程序。技能集就这样持续扩张。

4. 多站并行

  • 因为只在交接点才需要人,一个操作员可以同时看管四个工作站。
  • 在一次 14 分钟的会话里,人工控制占总站时的 11%。

主要特色总结: 恢复被当成独立、可学习、可复用的能力。恢复有两种实现,学习型策略和程序化技能互补。人的介入被设计成扩展能力的入口,不只是兜底。数据按用途分流,并做了完整的出处记录(provenance)。

如图 2 所示Recova 将任务执行与场景恢复解耦,并通过一个负责协调仿真、部署和学习的智能体将两者连接起来。

四、存在的问题

1. 仿真对比不够公平

  • 基线数字直接引用已发表结果,Recova 的数字是作者自己测的,种子、预算、协议不完全一致。
  • Recova 的恢复程序在任务策略的执行预算用完后接管,而且由程序完成任务也算成功。这相当于多给了时间和尝试机会,基线未必有同等预算。
  • 恢复程序是针对基准任务逐个开发的。论文说开发和评估用的随机种子不重叠,但这仍属于针对任务的工程投入。
  • 程序里的场景查询是否用到了仿真特权状态,论文没交代清楚。
  • 在 LIBERO-Pro 的 Object 套件上,Recova 仍不如 ASPIRE。

2. 缺少关键消融

  • 没有对比"恢复数据并进单一策略"和"两个策略分开",而"分开"恰恰是核心论点。
  • 没有量化数字孪生对真机结果的贡献:去掉孪生的初始数据会怎样?sim-to-real 差距有多大?图 5 里孪生技能(蓝色)只在仿真中展示,真机上执行的是学出来的恢复策略(绿色)。"real-to-sim-to-real"这条链路的实证比较弱。
  • 没有评估 VLM 监控者的准确率,包括误报/漏报率、z 命名的一致性,以及判断错误对数据质量的影响。

3. 真机统计量小

  • 每个配置只跑 20 次,5 个百分点的差距就是 1 次试验。
  • “+DAgger”和"+恢复技能"两行的数据量和算力没有对齐。恢复策略额外吃了人工恢复示范,提升里有多少来自更多数据,说不清楚。
  • 人工接管率 87.5% → 0% 只在一个任务上测得,每轮 7–8 个 episode,置信区间很宽。

4. 自动化程度和可复现性

  • 孪生构建声称由 agent 完成,但没有报告耗时、需要多少人工修正、失败率是多少,也没说物体模型从哪里来。
  • 正文似乎没有写明编码 agent 用的是哪个模型(只点名了监控用 Gemini 3.8 Flash),复现有难度。
  • 新技能注册进 registry、片段重新打标签,目前仍要人工。作者在结论里也承认,"自动注册、跨任务共享技能"是未来工作。也就是说,"技能可跨任务复用"这一卖点在实验里并没有被验证。

5. 适用范围有限

  • 前提是场景能恢复到"等价初始"状态,不处理不可逆失败,比如打翻液体或损坏物体。
  • 任务都是刚体、桌面、短时程的(铅笔盒、套环、麻将),没有涉及可变形物体和关节复杂的物体。
  • 监控延迟 4.5–5.5 秒,做完成检查时机器人要停住,检查间隔 10–20 秒。动态任务或需要快速反应的失败接不住。
  • 单次恢复限时 50 秒、只尝试一次,失败就交给人。自主恢复的成功率本身没有单独报告。

6. 叙事比证据走得远

  • 贡献点里的"53.7 个百分点提升"主要来自 DAgger 微调本身(23.8 → 77.5)。这和"agent 引导的恢复"关系不大,标准人在环 DAgger 也能拿到。
  • 恢复技能本身只额外贡献了 10 个百分点。

一句话评价: 这是一个系统工程完整、设计合理的框架:恢复与任务解耦,VLM 监控加分流式 DAgger,多站并行。但它最核心的两个主张,即"数字孪生发现的恢复能迁移到真机"和"策略分离优于混合",缺少消融和对照。仿真对比的公平性和真机样本量也让结论偏乐观。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐