Robotics · Manipulation

ReKep:关系型关键点约束的时空推理

Relational Keypoint Constraints for Robotic Manipulation
Wenlong Huang, Chen Wang, Yunzhu Li, Ruohan Zhang, Li Fei-Fei · Stanford University(部分作者亦属 Columbia / UIUC)

ReKep 把操作任务表示为运行在语义关键点(semantic keypoints)上的一串 Python 约束函数,每个函数把一组 3D 关键点映射为一个数值代价。通过分层优化,这些约束可被现成求解器实时求解为末端位姿序列(SE(3)),构成闭环策略;约束本身则由大视觉模型与 VLM 从自由形式语言指令与 RGB-D 观测自动生成,无需任务专属数据或训练。

2024 · arXiv preprint Wheeled single-arm + Stationary dual-arm Zero task-specific data 📄 arXiv:2409.01652 Project page
robotic manipulationrelational keypoint constraintssemantic keypointsVLM · GPT-4oDINOv2 · SAMconstrained optimizationclosed-loop policybimanual manipulation约束优化

01 Motivation

把机器人操作任务表示为"关联机器人与环境的约束(constraints)"是一种很有前景的行为编码方式。但一直缺乏一种约束形式,能同时满足三点要求。论文将此凝练为核心问题:

如何构造约束,使其 1) versatile to diverse tasks(适配多样任务)、2) free of manual labeling(无需人工标注)、3) optimizable by off-the-shelf solvers to produce robot actions in real-time(可被现成求解器实时求解为动作)。

ReKep 的答案是:用运行在语义关键点上的 Python 函数来写约束。它天然可微、可组合,既能被 VLM 以代码形式自动生成(解决标注),又能交给通用数值优化器实时求解(解决实时性),还能覆盖 multi-stage、in-the-wild、bimanual、reactive 等多种行为(解决通用性)。

ReKep teaser
Figure 1:ReKep 把多样的操作行为表示为一串可优化的时空约束函数。以倒茶(pouring)为例:第一个 ReKep 将抓取点约束在茶壶把手(blue),随后的 ReKep 把壶嘴(red)拉向杯口上方(green),同时另一约束保持茶壶竖直,最后再触发倾倒。约束作用于语义关键点,随任务阶段推进而切换。
68.6%ReKep (Auto) 全部 7 任务平均成功率
~10 Hz局部优化器闭环求解频率
k=5每个 mask 上 k-means 聚类得关键点候选
0任务专属数据 / 额外训练 / 环境模型

02 Method

ReKep 表示为把一组环境中的 3D 关键点映射到标量代价的 Python 函数:约束满足即代价 ≤ 0。一个任务被写成一串 ReKep(分为 sub-goal 与 path 两类约束,按 stage 组织)。系统据此构建约束优化问题,通过分层分解只求解"下一个 sub-goal + 到达它的 path",配合点跟踪(point tracker)形成实时感知-动作闭环。约束由基础模型自动合成。

ReKep system overview
Figure 2:ReKep 系统总览。DINOv2 先在场景中提出关键点并叠加到 RGB 图上;图像与指令一起送入 GPT-4o,生成一串以 Python 程序表达的 ReKep 约束,指定不同任务阶段各关键点之间的期望关系(sub-goal 与 path 约束)。随后由优化器求解末端位姿并闭环执行。

关键点提出(Keypoint Proposal)

给定 RGB 图,先用 DINOv2 提取 patch-wise 特征并双线性插值上采样到原图尺寸;用 Segment Anything (SAM) 抽取场景中所有 mask,覆盖相关物体。对每个 mask 内的特征用 k-means(k=5,cosine 相似度) 聚类,取聚类质心作为关键点候选,再借助深度投影到世界坐标系。整个过程无需任务级标注,即可得到与语义相关、跨物体覆盖的关键点集合。

ReKep 生成(VLM as code)

把带编号关键点的图像与自由语言指令一并输入 GPT-4o,让其直接输出 Python 形式的约束程序,指定各阶段关键点应满足的关系(如"壶嘴对齐杯口""保持茶壶竖直")。这些约束天然作为 Csub-goal / Cpath 序列组织成任务的 stage skeleton。

分层优化(Hierarchical Optimization)

为实时求解完整问题,论文将其分解为只优化"当前阶段的 sub-goal 位姿 + 到达该 sub-goal 的 path"(伪代码见 Algorithm 1)。所有优化问题用 SciPy 实现、决策变量归一化到 [0,1]:初次用 Dual Annealing + SLSQP(约 1 秒)求全局解,之后基于上一解只跑局部优化器,约 10 Hz 闭环。Sub-Goal 求解还纳入辅助控制代价:scene collision avoidance、reachability、pose regularization、solution consistency,双臂设置下再加 self-collision。

03 Experiments

轮式单臂平台固定双臂平台 上设计 7 个任务,分别考察 multi-stage (m)、in-the-wild (w)、bimanual (b)、reactive (r) 行为:Pour Tea (m,w,r)、Stow Book (w)、Recycle Can (w)、Tape Box (w,r)、Fold Garment (b)、Pack Shoes (b)、Collaborative Folding (b,r)。每个设置 10 次试验、随机化物体位姿,报告成功率。基线为 VoxPoser;ReKep 评测两个变体:Auto(基础模型自动生成约束)与 Annot.(人工标注约束)。

Experiment tasks
Figure 3:7 个实验任务与优化结果可视化,涵盖带常识的野外指定、有时空依赖的多阶段任务、有几何感知的双臂协同,以及与人协作、受扰动时的反应性。

Table 1 · 常规成功率(两平台合计 7 任务,各 10 次)

TaskVoxPoserReKep (Auto)ReKep (Annot.)
Pour Tea0/103/108/10
Recycle Can3/106/108/10
Stow Book0/103/106/10
Tape Box4/107/108/10
Fold Garment0/105/106/10
Pack Shoes0/103/105/10
Collab. Folding0/104/107/10
Total10.0%44.3%68.6%

注:论文命名对应关系为 VoxPoser = 基线,"Auto" = 自动生成 ReKep,"Annot." = 人工标注 ReKep(即上表第 3、4 列均为 ReKep 变体)。

Table 2 · 外部扰动下成功率(执行中改变物体位姿,Dist.)

Task (Dist.)VoxPoserReKep (Auto)ReKep (Annot.)
Pour Tea0/102/104/10
Tape Box2/103/105/10
Collab. Folding0/103/105/10
Total6.7%26.7%46.7%

由于关键点被高频跟踪,系统能对外部扰动做出反应并重规划。ReKep 能正确建模多阶段任务的时序依赖(如壶嘴须先对齐杯口再倒)、利用常识(可乐罐应回收)、构建双臂协同(同时折左右袖)与人机协作(与人一起对齐四角折大毯子),并在受限空间生成运动学上有挑战的行为(Stow Book、把两只鞋密集塞进小体积的 Pack Shoes)。

泛化的操作策略(Generalization)

Novel bimanual folding strategies
Figure 5:ReKep 对不同类别衣物自动构造的新颖双臂折叠策略及其成功率。由于该任务每次关联两个点,需对齐的两点用箭头相连,关键点颜色表示顺序。以 sweater 为例:两臂先同时折起两只袖子,再合拢完成折叠。

System Error Breakdown

论文进一步给出系统误差分解(Figure 4),按模块归因失败来源;主要瓶颈与其设计假设一致——集中在关键点跟踪与前向模型近似等感知/建模环节(详见下节 Limitations)。

04 Limitations

Note: 以下三点均为作者在 "Conclusion & Limitations" 中明确陈述(stated)的局限;论文另在 Appendix A.11 有扩展讨论。
依赖基于刚性假设的关键点前向模型

"the optimization framework relies on a forward model of keypoints based on rigidity assumption" —— 优化框架依赖刚性假设下的关键点前向模型;不过高频反馈闭环在一定程度上放松了对该模型精度的要求。

依赖准确的点跟踪(point tracking)

ReKep 需要准确的点跟踪才能在闭环中正确优化动作,而点跟踪本身因"heavy intermittent occlusions(严重的间歇性遮挡)"而是一项有挑战的 3D 视觉任务。

假设固定的阶段序列(fixed skeleton)

当前形式假设每个任务有固定的 stage 序列(skeleton)。若要用不同 skeleton 重规划,就需高频运行关键点提出与 VLM,带来相当的计算挑战。