点击下方卡片,关注「3DCV」公众号
选择星标,干货第一时间送达
来源:3DCV
添加小助理:cv3d008,备注:方向+学校/公司+昵称,拉你入群。文末附3D视觉行业细分群。
扫描下方二维码,加入「3D视觉从入门到精通」知识星球,星球内凝聚了众多3D视觉实战问题,以及各个模块的学习资料:近20门独家秘制视频课程、最新顶会论文、计算机视觉书籍、优质3D视觉算法源码等。想要入门3D视觉、做项目、搞科研,欢迎扫码加入!
0. 这篇文章干了啥?
机器人操作涉及与环境中物体的复杂交互,这些交互通常可以在空间和时间领域表达为约束。以图1中向杯中倒茶的任务为例:机器人必须握住把手,在移动过程中保持杯子直立,使壶嘴与目标容器对齐,然后以正确的角度倾斜杯子进行倾倒。这里的约束不仅编码了中间子目标(如对齐壶嘴),还编码了过渡行为(如在移动过程中保持杯子直立),这些共同决定了机器人在与环境交互时的空间、时间和其他组合性动作要求。然而,为大量现实世界任务有效制定这些约束带来了重大挑战。虽然使用机器人与物体之间的相对姿态来表示约束是一种直接且广泛使用的方法,但刚体变换不描绘几何细节,需要事先获取物体模型,且不适用于可变形物体。另一方面,数据驱动的方法能够在视觉空间中直接学习约束。尽管这种方法更加灵活,但随着对象和任务中约束数量的组合增长,如何有效地收集训练数据仍不明确。因此,我们提出以下问题:如何表示操作中的约束,使其1) 具有广泛适用性:能够适应需要多阶段、野外、双手和反应式行为的任务;2) 可扩展地获得:有潜力通过基础模型的进步实现全自动化;3) 可实时优化:能够被现成的求解器有效求解以产生复杂的操作行为?
在本文中,我们提出了关系关键点约束(ReKep)。具体来说,ReKep将约束表示为Python函数,该函数将一组关键点映射到数值成本,其中每个关键点都是场景中特定于任务且具有语义意义的三维点。每个函数由关键点上的(可能非线性的)算术运算组成,并编码它们之间的期望“关系”,这些关键点可能属于环境中的不同实体,如机械臂、物体部件和其他代理。虽然每个关键点仅包含其在世界坐标系中的三维笛卡尔坐标,但如果有关键点之间的刚性约束,则多个关键点可以共同指定线、面和/或三维旋转。我们在顺序操作问题的背景下研究了ReKep,其中每个任务都涉及具有时空依赖性的多个阶段(例如,上述示例中的“抓取”、“对齐”和“倾倒”)。
虽然约束通常是针对每个任务手动定义的,但我们展示了ReKep的具体形式具有独特的优势,即它们可以通过预训练的大型视觉模型(LVM)和视觉语言模型(VLM)实现自动化,从而能够根据RGB-D观测和自由形式的语言指令在野外环境中指定ReKep。具体来说,我们利用LVM在场景中提出细粒度且具有语义意义的关键点,并利用VLM根据叠加了提议关键点的视觉输入编写约束作为Python函数。该过程可以解释为使用视觉指代表达式在VLM支持的输出模态(代码)中定位不易用自然语言指定的细粒度空间关系。有了生成的约束,就可以使用现成的求解器通过跟踪关键点重新评估约束来生成机器人动作。我们采用分层优化程序,首先求解一组作为子目标(表示为SE(3)末端执行器姿态)的路点,然后求解滚动时域控制问题以获得实现每个子目标的密集动作序列。通过适当的问题实例化,我们证明了对于本文考虑的任务,该算法可以可靠地以大约10 Hz的频率求解。
下面一起来阅读一下这项工作~
1. 论文信息
标题: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
原文链接:https://arxiv.org/abs/2409.01652
代码链接:https://github.com/huangwl18/ReKep
官方主页:https://rekep-robot.github.io/
2. 摘要
将机器人操作任务表示为将机器人与环境相关联的约束,是编码所需机器人行为的一种有前途的方法。然而,如何制定这些约束,使其能够1) 适用于多种任务,2) 无需手动标记,3) 可通过现成的求解器进行优化以实时生成机器人动作,这些问题尚不清楚。在本研究中,我们引入了关系关键点约束(ReKep),这是一种基于视觉的机器人操作约束表示方法。具体而言,ReKep 表示为 Python 函数,该函数将环境中的一组 3D 关键点映射到数值成本。我们证明了通过将操作任务表示为一系列关系关键点约束,我们可以采用分层优化过程来求解机器人动作(在 SE(3) 中表示为一系列末端执行器姿态),并以实时频率实现感知-动作循环。此外,为了避免对每个新任务手动指定 ReKep,我们设计了一种自动化程序,该程序利用大型视觉模型和视觉-语言模型从自由形式的语言指令和 RGB-D 观测结果中生成 ReKep。我们在轮式单臂平台和固定式双臂平台上实现了该系统,这些平台可以执行各种操作任务,包括多阶段、野外、双手和反应性行为,且无需特定任务的数据或环境模型。
3. 效果展示
4. 主要贡献
我们的贡献总结如下:1) 我们将操作任务表述为具有关系关键点约束的分层优化问题;2) 我们设计了一条使用大型视觉模型和视觉语言模型自动指定关键点和约束的管道;3) 我们在两个真实机器人平台上展示了系统实现,这些系统以语言指令和RGB-D观测为输入,为各种操作任务产生多阶段、野外、双手和反应式行为,而无需特定任务的数据或环境模型。推荐学习:国内首个面向具身智能方向的理论与实战课程
5. 基本原理是啥?
ReKep概述。给定RGB-D观测值和自由形式的语言指令,DINOv2用于在场景中的细粒度有意义区域上提出关键点候选。将叠加了关键点的图像和指令输入GPT-4o,以生成一系列ReKep约束,这些约束以Python程序的形式指定了在任务不同阶段(C(i)子目标)关键点之间所需的关系以及过渡行为(C(i)路径)的任何要求。最后,使用约束优化求解器获得SE(3)中的一系列密集末端执行器动作,这些动作受生成的约束限制。
6. 实验结果
7. 总结 & 未来工作
在本文中,我们提出了关系关键点约束(ReKep),这是一种结构化的任务表示方法,它使用约束来操作语义关键点,以指定机器人手臂、物体(部分)以及环境中其他代理之间的期望关系。结合点跟踪器,我们证明了ReKep约束可以在分层优化框架中反复且高效地求解,以作为以实时频率运行的闭环策略。我们还展示了ReKep的独特优势,即它可以由大型视觉模型和视觉-语言模型自动合成。我们在两个机器人平台上和多种任务上展示了结果,这些任务包括多阶段、野外、双手和反应性行为,所有这些都无需特定于任务的数据、额外训练或环境模型。
尽管前景广阔,但仍存在一些局限性。首先,优化框架依赖于基于刚性假设的关键点前向模型,尽管高频反馈回路降低了对模型准确性的要求。其次,ReKep依赖于准确的点跟踪来在闭环中正确优化动作,这本身就是一个具有挑战性的3D视觉任务,因为存在严重的间歇性遮挡。最后,当前公式假设每个任务都有固定的阶段序列(即骨架)。使用不同骨架进行重新规划需要以高频运行关键点提议和视觉-语言模型(VLM),这带来了相当大的计算挑战。
对更多实验结果和文章细节感兴趣的读者,可以阅读一下论文原文~
课程亮点
本课程从学术研究和实际应用两方面,带你从零入门具身智能的原理学习、论文阅读、代码梳理等内容。
课程由具身智能领域的资深专家主讲,他们先后担任研究所、国企、大厂具身智能负责人,拥有丰富的理论知识和实践经验。
课程答疑
本课程答疑主要在本课程对应的鹅圈子中答疑,学员学习过程中,有任何问题,可以随时在鹅圈子中提问。