RAPID:把一次人类演示变成可复用的机器人程序

· Editorial Team estimated
智能体编程 模仿学习 非抓取操作 代码生成 任务与运动规划 泛化

编码智能体在复杂编程任务上已经证明了自己的能力,RAPID 追问的是:这种能力能不能被引到机器人系统上。给定一段人类视觉演示,RAPID 通过一个迭代式的智能体循环自动生成、验证并精化机器人程序。为了让这件事成立,它只从演示中推断出三样东西:可测试的任务规格、用于执行的动作原语、以及可供程序运行与验证的交互式环境。为了让产出的程序不止于演示场景本身,RAPID 采用了一种「以物体为中心的关系式程序表示」——它关注被演示策略的底层结构,而不是具体的那段运动:把动作原语写成实现「物体级运动效果」的轨迹优化程序,再用关系式约束把它们组合起来,而这些约束在运行时才结合具体场景几何求解。论文在仿真中评测了八个高难度、接触丰富的非抓取操作任务以及 LIBERO-Pro 的通用抓取操作,并在真实 Franka 机械臂上完成了全部八个非抓取任务,表现出对物体位姿、形状、材质与环境的泛化能力。

原文 · arXiv:2609.30249

把机器人真正用起来的昂贵环节,从来不是机器人本身,而是从「人能演示一遍的任务」到「可靠到可以无人值守运行的动作程序」之间的那段距离——这段距离传统上由熟练的集成工程师写代码、调参来填。过去两年,另一个答案变得可行:让编码智能体来写程序,让机器人来告诉它程序行不行。

背景与问题

编码智能体擅长的恰好是机器人编程需要的那套循环:写代码、跑一遍、读失败、改。机器人研究者已经开始利用这一点,但多数系统要么只让智能体产出仍需人工对接的计划,要么生成的程序与所演示的内容绑定得很死。论文指出,一个智能体精化循环需要三样东西,而这三样通常都由人工提供:可测试的任务规格、机器人能执行的动作原语、以及一个能运行并检查程序的交互式环境。RAPID 的前提是:这三样都可以从一段人类视觉演示中推断出来,而不必为每个任务单独搭建。

核心创新

RAPID 是一个从单段人类视觉演示出发、自动生成、验证并精化机器人程序的框架。真正承重的设计有两个:

  • 一切都从演示中推断。 可测试的任务规格、可执行的动作原语、以及交互式验证环境,都来自同一段演示,从而去掉了同类系统默认存在的「按任务搭脚手架」环节。
  • 以物体为中心的关系式程序表示。 程序不锁定在被演示的那段运动上,而是编码被演示策略的底层结构。动作原语被写成实现「物体级运动效果」的轨迹优化程序,再通过关系约束组合;这些约束在运行时才结合具体场景几何求解。这一步才是泛化的来源:程序是围绕「关系与效果」写的,而不是围绕关节轨迹写的,所以当场景、物体或位姿变化时,同一段程序可以被重新实例化。

在此之上,智能体循环反复迭代:生成程序、执行并验证、再精化,由验证环境闭合整个回路。

结果

  • 仿真: 八个高难度、接触丰富的非抓取操作任务,外加 LIBERO-Pro 上的通用抓取操作。
  • 真机: 在 Franka 机械臂上成功部署,并完成全部八个非抓取任务的评测。
  • 泛化: 在所有实验中,RAPID 都表现出对物体位姿、形状、材质与环境的泛化——而这些正是「记住一条轨迹」的做法必然失效的维度。

这里评测的覆盖面值得一提:接触丰富的非抓取操作,无论对经典规划还是学习式策略都属于更难的一档,而让一条「单次演示」的流水线同时覆盖八个这类任务、一个抓取基准以及真机硬件,跨度是实打实的。

局限

最大的局限在于摘要没有报告的东西:它声称「表现强劲」并成功部署到真机,但没有给出真机成功率数字、没有给出同硬件上与学习式策略的对比、也没有说明「生成—验证—精化」循环每个任务要花多久。对于一个卖点是「降低工程投入」的方法,合成耗时是一阶指标,缺了它影响很大。验证依赖推断出来的交互式环境,因此任务规格中任何错误或缺口都会悄悄塑造被精化出的程序,而摘要没有说明规格错误是如何被发现的。泛化在位姿、形状、材质、环境上做了展示,但没有刻画当接触动力学改变、或任务在结构上与演示明显不同时的表现。最后,这个循环依赖冻结的编码智能体模型——本批另一篇 TAMP 研究里用的是 Claude Opus 5 与 GPT-5.6 Sol/6 Astra——这带来了熟悉的问题:当这些后端模型迭代时,可复现性与成本如何保证。

行业启示

行业层面的逻辑很直接:机器人部署的已证实成本主要来自集成,而一条能把一次人类演示转成「经过验证、可复用程序」的流水线,打的是主项成本而非边际成本。即便团队最终不整体采用 RAPID,那个「以物体为中心的关系式程序表示」也值得研究——它把一条原则说得很清楚:可部署的机器人程序应当围绕策略的结构、以及运行时才求解的关系来写,而不是围绕一条录制下来的轨迹来写。对系统集成商而言,真正相关的说法不是「编码智能体能给机器人编程」,而是「这段程序在物体位姿、形状、材质或工作空间变化后无需重写仍然可用」。这正是「自动化一个工位」和「沉淀一份可被多个工位复用的程序资产」之间的差别。