论文标题:OK-Robot: What Really Matters in Integrating Open-Knowledge Models for Robotics
论文链接:https://arxiv.org/pdf/2401.12202.pdf
技术组成和方法该研究主要解决这个问题:从 B 上拿起 A 并将其放在 C 上,其中 A 是一个物体,B 和 C 是现实世界环境中的某个地方。要实现这一点,所提系统需要包含以下模块:开放词汇对象导航模块,开放词汇 RGB-D 抓取模块以及释放或放置对象的启发式模块(dropping heuristic)。开放词汇对象导航首先是扫描房间。开放词汇对象导航遵循了 CLIP-Fields 的方法,并假设有一个预先映射阶段,即使用 iPhone 手动扫描家庭环境。这种手动扫描只是用 iPhone 上的 Record3D 应用程序拍摄家庭视频,这将产生一系列带位置的 RGB-D 图像。扫描每个房间的时间不到一分钟,一旦信息收集完毕,RGB-D 图像以及相机的姿态和位置就被导出到项目库中进行地图构建。录制时必须捕捉地面表面以及环境中的物体和容器。接下来是进行对象检测。在扫描的每一帧上,会有一个开放词汇对象检测器对扫描的内容进行处理。本文选择 OWL-ViT 对象检测器,因为这种方法在初步查询中表现更好。研究者在每一帧上应用检测器,并提取每个对象边界框、CLIP 嵌入、检测器置信度,并将它们传递到导航模块的对象存储模块中。然后进行以对象为中心的语义存储。本文借助 VoxelMap 来完成这一步,具体来说,他们使用深度图像和相机收集的姿态将对象掩模反向投影到现实世界坐标中,这种方式可以提供一个点云,其中每个点都有一个来自 CLIP 的关联语义向量。之后是查询记忆模块:给定一个语言查询,本文使用 CLIP 语言编码器将其转换为语义向量。由于每个体素都与家中的真实位置相关联,因此可以找到最有可能找到查询对象的位置,类似于图 2 (a)。
必要时,本文将「A on B」实施为「A close B」。为此,查询 A 选择前 10 个点,查询 B 选择前 50 个点。然后计算 10×50 成对欧氏距离,并选择与最短 (A, B) 距离相关的 A 点。完成上述过程,接下来就是导航到现实世界中的对象:一旦得到了现实世界中的 3D 位置坐标,就可以将其用作机器人的导航目标来初始化操作阶段。导航模块必须将机器人放置在手臂可触到的范围,以便机器人随后可以操纵目标物体。机器人对现实世界物体的抓握与开放词汇导航不同,为了完成抓取任务,算法需要与现实世界中的任意对象进行物理交互,这使得这部分变得更加困难。因此,本文选择使用预训练的抓取模型来生成现实世界中的抓取姿态,并使用 VLM 进行语言条件过滤。本文使用的抓取生成模块是 AnyGrasp,它在给定单个 RGB 图像和点云的场景中使用平行钳口夹具生成无碰撞抓取。AnyGrasp 提供了场景中可能的抓握(图 3 第 2 列),包括抓握点、宽度、高度、深度和抓握分数,该分数表示每次抓握中未校准的模型置信度。