引言: 瓷器店里的公牛问题

想象一下让机器人从塞得满满当当的冰箱里拿一瓶特定的苏打水。对人类来说,这轻而易举。我们本能地知道如何把手伸进去,避开打翻酸奶,甚至能推断出瓶子背面在哪里,即使我们看不见它。然而,对于机器人来说,这种“杂乱场景”简直是噩梦。

密集堆叠的物体会造成严重的遮挡。传统的深度传感器在面对透明或反光表面 (如玻璃瓶) 时往往表现不佳,经常返回嘈杂的数据或视觉上的“空洞”。此外,为每种可能的物体排列收集现实世界的训练数据成本极高。因此,目前大多数机器人很难在不扰乱环境的情况下安全地抓取物体。

在这篇文章中,我们将深入探讨 FetchBot , 这是一个在机器人技术和计算机视觉交叉领域提出的新框架。FetchBot 通过一种巧妙的 零样本 Sim-to-Real (Zero-Shot Sim-to-Real) 方法,解决了在杂乱场景中进行通用物体抓取的挑战。

图 1: FetchBot 概览,展示了从合成数据到针对多样化物体进行现实世界部署的流程。

如图 1 所示,该系统旨在处理多样的几何形状、变化的布局以及多种末端执行器 (吸盘和夹爪) ,且在训练过程中从未见过现实世界的场景。

数据瓶颈与仿真解决方案

训练一个鲁棒的抓取策略的第一个障碍是数据。现实世界的数据收集既缓慢又有风险——机器人会把东西弄坏。仿真是一个显而易见的替代方案,但现有的模拟器通常生成“稀疏”的场景,物体之间距离较远以避免物理不稳定性。这并不能帮助机器人学习如何应对拥挤的货架。

为了解决这个问题,研究人员开发了 UniVoxGen (统一体素场景生成器) 。

基于体素的场景生成

UniVoxGen 没有依赖笨重的物理引擎在场景生成过程中检查碰撞 (这很慢) ,而是将物体体素化。它将 3D 空间视为微小立方体 (体素) 的网格。

图 3: 基本的体素操作,包括并集、交集、差集和变换。

如图 3 所示,该系统使用基本的集合操作:

  • 并集 (Union) : 向场景中添加物体。
  • 交集 (Intersection) : 即时检查新物体是否与现有物体碰撞。
  • 差集 (Difference) : 移除物体。
  • 变换 (Transformation) : 旋转和定位物体。

这种方法计算量很小,使团队能够生成 100 万个不同的杂乱场景 。 这些场景不仅仅是随机堆积;它们模拟了货架、桌面、抽屉和架子 (见下图 10) ,为训练智能体提供了密集的“真值 (ground truth) ”数据。

图 10: UniVoxGen 在不同环境中生成的杂乱场景示例。

老师: 动力学感知的 Oracle 策略

有了数百万个场景,我们该如何教机器人行动?我们不能立即训练基于视觉的策略,因为当你甚至还不知道如何安全移动时,从像素中弄清楚什么太难了。

研究人员首先使用强化学习 (RL) 训练了一个 Oracle 策略 (Oracle Policy) 。 Oracle 是一位拥有“作弊特权”的“老师”: 它可以访问模拟器的完美真值状态 (所有物体的确切位置,没有视觉遮挡) 。

通过奖励塑造行为

Oracle 学习抓取目标,同时尽量减少对周围物品的干扰。奖励函数在这里至关重要。仅仅抓取物体是不够的;机器人的动作必须轻柔。

研究人员使用了复合奖励函数,其中包括:

  1. 任务奖励: 用于成功提起物体。
  2. 安全约束: 防止机器人移动笨拙或撞到障碍物。
  3. 环境惩罚: 如果附近的障碍物移动 (碰撞) ,则惩罚机器人。

展示穿透/碰撞导致过度加速时的惩罚公式。

例如,针对穿透 (导致加速的碰撞) 的惩罚确保智能体学会避免猛烈撞击货架。

展示针对障碍物平移运动的惩罚公式。

同样,系统会对障碍物物体的任何平移或旋转运动进行惩罚 (如上所示) ,迫使策略寻找“大海捞针”般的轨迹。

学生: 基于视觉的策略

一旦 Oracle (老师) 训练完成,它就会生成 50 万个高质量的演示。现在的目标是训练一个 视觉策略 (学生) ,它只能使用视觉输入 (RGB 相机) 来模仿 Oracle,这也是机器人在现实世界中唯一拥有的东西。

这通常是 Sim-to-Real 鸿沟 导致系统崩溃的地方。仿真渲染出完美的深度。现实世界的深度传感器 (如 Intel RealSense) 会产生噪声,尤其是在有光泽或透明的物体上。如果你在完美的仿真深度上进行训练,机器人在现实世界中就会失败。

FetchBot 引入了一个两阶段的管道来弥合这一差距,如图 2 所示。

图 2: 完整的 FetchBot 管道,从数据生成 (A) 到零样本 Sim-to-Real 迁移 (D)。

1. 利用预测深度跨越鸿沟

FetchBot 没有使用来自传感器的原始深度,而是使用了 深度基础模型 (具体来说是 “Depth Anything”) 。

  • 在仿真中: RGB 图像被输入到基础模型中以预测深度。
  • 在现实世界中: 真实的 RGB 图像被输入到同一个基础模型中以预测深度。

通过使用基础模型作为中间人,输入空间变得一致。基础模型倾向于平滑噪声,并且至关重要的是,它可以根据上下文推断透明物体的深度,而物理传感器通常会“看穿”物体。

2. 占用预测: “X 射线”视觉

即使有了良好的深度图,单个相机视图也存在盲区 (遮挡) 。如果一罐苏打水在盒子后面,相机就看不到它。标准方法是将深度图投影到 3D 点云或体素网格中。然而,这会导致相机视线被阻挡的地方出现“阴影”或空白区域。

FetchBot 训练其视觉编码器执行 语义占用预测 (Semantic Occupancy Prediction) 。 它强制模型观察部分视图并推测完整的几何形状是什么样的,包括物体的背面和被遮挡的区域。

图 6: 标准 RGB-D 体素化 (A) 与 FetchBot 占用查询 (B) 的对比。标准方法遗漏了被遮挡区域,导致碰撞。

如图 6 所示,标准的 RGB-D 投影留下了一个“不完整”的地图。机器人认为障碍物后面的空间是空的,可能会规划路径穿过它,从而导致碰撞。FetchBot 的占用方法推断出了隐藏的几何形状,允许机器人规划出绕过障碍物的安全路径。

机制: 可变形交叉注意力

为了从 2D 图像中获得这种 3D 理解,系统使用了一种称为可变形交叉注意力 (Deformable Cross-Attention, DCA) 的机制。

用于融合多视图特征的可变形交叉注意力 (DCA) 公式。

系统定义了一个 3D 查询 (体素) 网格。对于每个体素查询 (\(q_p\)) ,它将 3D 点投影到来自相机的 2D 特征图上。然后,它聚合来自这些特定 2D 位置的特征,以确定该 3D 体素是否被占用。这有效地将来自多个相机视图的信息融合为连贯的 3D 理解。

实验与结果

研究人员在仿真和现实世界中评估了 FetchBot,并将其与启发式方法、运动规划 (CuRobo) 和其他基于学习的方法 (扩散策略、RGB-D 方法) 进行了比较。

仿真性能

在仿真中,他们测量了成功率 (是否抓取了物品?) 和干扰度 (其他物品移动了多少?) 。

在仿真中对比 FetchBot 与基线方法的表格。

FetchBot (标记为“Occupancy (Ours)”) 优于所有基线方法。值得注意的是,它在 使用吸盘时达到了 81.46% 的成功率 , 在 使用夹爪时达到了 91.02% 的成功率 , 同时保持平移干扰显著低于其他方法。

现实世界零样本迁移

终极测试是在现实世界中。该系统部署在 Flexiv Rizon 4S 机械臂上,没有进行现实世界的微调 (零样本) 。

图 8: 现实世界中不同输入模态下成功率对比的柱状图。

图 8 中的结果令人瞩目。

  • 标准点云方法 (DP3) 表现挣扎 (成功率约 46-53%) ,因为现实世界的深度传感器噪声很大。
  • 仅 RGB 的方法 无法掌握避障所需的 3D 几何形状。
  • FetchBot (Ours) 实现了 86.6% (吸盘)93.3% (夹爪) 的成功率。

为什么它效果更好?

定性差异在场景重建中显而易见。图 7 将标准体素化与 FetchBot 的占用预测进行了比较。

图 7: 现实世界重建对比。(A) 显示了来自原始传感器的嘈杂、不完整的体素。(B) 显示了来自 FetchBot 的干净、完整的重建。

FetchBot 的重建 (图 7B) 是完整且平滑的,填补了让其他规划器困惑的空白。这种鲁棒性延伸到了具有挑战性的材料上。正如下图 13 所示,该系统可以重建透明瓶子和反光罐子的几何形状——这些物体在红外深度传感器下通常是不可见或扭曲的。

图 13: 处理不同形状和材料的现实世界占用重建。

鲁棒性与泛化能力

该系统证明了其不仅限于货架的泛化能力。它在桌面和抽屉上进行了测试,展示了无需重新训练即可处理不同抓取环境的能力。

图 9: FetchBot 扩展到桌面吸取任务和抽屉抓取任务。

结论与未来方向

FetchBot 代表了具身智能迈出的重要一步。通过承认现实世界传感器的局限性和数据的稀缺性,作者精心设计了一个解决方案,利用了两个世界的优势: 仿真的无限可扩展性和基础模型的语义能力。

主要收获:

  1. 中间表示很重要: 使用预测深度而不是原始传感器深度标准化了输入,有效地消除了 Sim-to-Real 鸿沟。
  2. 推断优于感知: 不要只相信传感器所看到的。训练模型预测占用情况 (填补空白) 允许在被遮挡的空间中安全导航。
  3. 通过程序化生成实现扩展: 简单的基于体素的生成 (UniVoxGen) 足以学习复杂的、可泛化的行为。

局限性: 尽管令人印象深刻,但该系统也有局限性。图 18 强调了一些场景,在这些场景中,机器人为了避开障碍物可能会达到关节限制,或者物体太大需要双臂操作。此外,“完全被遮挡”且物理上无法触及的物体需要高级推理 (移动物体 A 以获取物体 B) ,这超出了当前策略的范围。

图 18: 失败模式分析,包括关节限制、大物体和完全无法触及的目标。

FetchBot 证明,只要对视觉数据进行正确的抽象,机器人就能学会哪怕是以体素为单位,在现实世界混乱杂乱的环境中导航。