cs.RO · arXiv 2024

ReKep: Spatio-Temporal Reasoning of Relational Keypoint Constraints for Robotic Manipulation

用关系关键点约束实现机器人操作的时空推理
Wenlong Huang · Chen Wang · Yunzhu Li · Ruohan Zhang · Li Fei-Fei  |  Stanford University & Columbia University

ReKep 将机器人操作任务表示为作用于三维关键点的关系约束函数(Python 程序),由 GPT-4o 结合 RGB-D 观测自动生成,再经分层优化求解机器人动作。无需任务专属训练数据,即可完成多阶段单臂与双臂操作,并具备实时响应外部干扰的能力。

arXiv: Sep 2024 单臂 & 双臂操控 无需任务专属训练 📄 arXiv:2409.01652 🌐 Project Page
relational keypoint constraints robotic manipulation spatio-temporal reasoning optimization-based control GPT-4o DINOv2 bimanual manipulation 关键点约束 无训练操控 分层优化

01 动机

机器人操作任务涉及多阶段、双臂协作、以及与动态物体的复杂空间关系。现有方法要么依赖大量任务专属训练数据,要么难以对操作过程中的接触关系做精确时空建模,在面对多样化场景时泛化能力有限。

"We present ReKep, a visually-grounded constraint representation for robotic manipulation … [which] automatically generates constraints from language instructions and RGB-D observations using a vision-language model, which are then solved by a hierarchical optimization procedure."
ReKep teaser — 倒茶任务中三个语义关键点的约束示意
图 1:ReKep 在倒茶任务中的示意。蓝色关键点标记茶壶把手,红色标记壶嘴,绿色标记杯口。系统通过关键点之间的关系约束函数,驱动机器人完成精细的多阶段操作。
68.6%总体成功率
(vs. VoxPoser 10.0%)
46.7%扰动条件下成功率
(vs. VoxPoser 6.7%)
7多样化测试任务
(单臂 + 双臂)
~10 Hz实时优化求解频率

02 方法

ReKep 的核心是将操作任务分解为若干阶段(stages),每个阶段包含两类约束:在阶段末必须满足的 sub-goal constraints 和在整个阶段过程中持续满足的 path constraints。约束函数以 Python 程序形式表达,接收关键点的三维坐标并输出数值代价,由 GPT-4o 根据语言指令和 RGB-D 观测自动生成。

ReKep 系统总览流程图
图 2:ReKep 系统流程。DINOv2 提取 patch 特征并结合 SAM 生成关键点建议,叠加到 RGB 图像后送入 GPT-4o,生成各操作阶段的约束函数 Python 程序,再由分层优化器求解机器人动作。

关键点提议(Keypoint Proposal)

使用 DINOv2 进行 patch 级特征提取,双线性插值到原始分辨率后,结合 Segment Anything(SAM)获取物体掩码,再用 k-means(k=5)对特征聚类得到语义关键点。关键点以三维 Cartesian 坐标表示,直接对应操作中有意义的部件(把手、壶嘴、杯口等)。

约束自动生成(Constraint Generation via GPT-4o)

将叠加了关键点标记的 RGB 图像与自然语言任务指令共同输入 GPT-4o,模型输出包含 NumPy 操作的 Python 约束函数。sub-goal constraint 定义阶段目标(如壶嘴与杯口对齐),path constraint 定义过程限制(如避免碰撞)。

分层优化求解(Hierarchical Optimization)

两层优化:首先以 Dual Annealing + SLSQP 全局搜索满足 sub-goal 约束的末端执行器位姿(约 1 秒),随后以局部优化器在满足 path constraint 的前提下生成运动轨迹(约 0.1 秒每步)。前向模型假设末端执行器与被抓关键点之间刚性连接,每 0.1 秒由视觉重跟踪更新关键点位置,实现实时感知-动作闭环,频率约 10 Hz。

七个实验任务图示
图 3:七项实验任务,覆盖单臂多阶段操作(倒茶、回收易拉罐、收纳书本、封装纸盒、折叠衣物、整理鞋子)和双臂协同折叠,测试系统在多样化真实场景下的泛化能力。

03 实验

在真实机器人平台上评测 7 个任务(每任务各 10 次),对比基线为 VoxPoser(zero-shot 代码生成规划)和 Auto-Annotated(使用 GPT-4V 自动生成关键点标注的改进版本)。另设扰动条件测试(外力干扰)以评估反应式恢复能力,并在 8 类服装折叠任务上测试双臂泛化。

任务VoxPoserAuto-AnnotatedReKep(本文)
Pour Tea(倒茶)0/103/108/10
Recycle Can(回收易拉罐)3/106/108/10
Stow Book(收纳书本)0/103/106/10
Tape Box(封装纸盒)4/107/108/10
Fold Garment(折叠衣物)0/105/106/10
Pack Shoes(整理鞋子)0/103/105/10
Collaborative Folding(双臂协作折叠)0/104/107/10
Overall(总体)10.0%44.3%68.6%
扰动任务VoxPoserAuto-AnnotatedReKep(本文)
Pour Tea (Dist.)0/102/104/10
Tape Box (Dist.)2/103/105/10
Collaborative Folding (Dist.)0/103/105/10
Overall(总体)6.7%26.7%46.7%
8 类服装折叠双臂泛化结果
图 5:双臂协作折叠在 8 种服装类别上的策略泛化。Strategy Success(策略生成成功):52.5%;Execution Success(执行成功):73.8%。各类别策略成功率从 30%(礼服)到 70%(裤子、短裤)不等。
失败案例错误来源分解
图 4:系统失败案例的错误来源分解。点跟踪(point tracking)是最主要的错误来源,这主要由频繁的遮挡问题导致。其次为约束生成(constraint generation)和优化求解(optimization)中的错误。

消融分析(Ablations)

错误来源分析(图 4)表明,点跟踪失败是系统瓶颈,主要因操作过程中存在"heavy intermittent occlusions"。约束生成(GPT-4o 的输出质量)与优化求解失败(局部极值、不可行问题)构成另外两类主要错误源。

04 局限性

Note: 以下局限性均由作者在论文中明确陈述(stated by the authors)。
刚性假设的适用范围有限

前向模型假设末端执行器与被抓关键点之间保持刚性连接(rigidity assumption between end-effector and grasped keypoints)。论文指出此假设仅在约 0.1 秒的短时间窗口内有效,之后须由视觉重跟踪更新关键点位置。对于柔性物体或接触复杂的场景,该假设会引入较大误差。

点跟踪在遮挡条件下易失败

系统依赖持续的关键点视觉跟踪。操作过程中"heavy intermittent occlusions"(频繁的间歇性遮挡)是目前最大的单一失败来源(见图 4 错误分解),限制了在杂乱或自遮挡场景中的可靠性。

阶段序列固定,难以动态重规划

当前框架"assumes a fixed sequence of stages for each task"。若需在任务执行中途以不同阶段顺序重新规划,则须以高频重新运行关键点提议和 VLM 推理,带来显著的计算瓶颈,实时性无法保证。