PhyGrasp: Generalizing Robotic Grasping with Physics-informed Large Multimodal Models
PhyGrasp通过物理信息的大型多模态模型泛化机器人抓取
更多内容关注公众号:AIRoobt
论文作者模型讲解及效果视频:
加州大学发布机器臂抓取模型PhyGrasp丨使用大模型提取视觉和语言特征,抓取效果比GraspNet好
摘要:机器人抓取是机器人功能性的一个基本方面,定义了机器人与物体的互动方式。尽管取得了实质性进展,但其在反直觉或长尾场景下的泛化能力,例如具有不常见材料或形状的物体,仍然是一个挑战。相比之下,人类可以轻松地应用他们的直觉物理来熟练地抓取并有效地改变抓取方式,即使是他们从未见过的物体。本研究深入探讨了如何将这种物理常识推理融入机器人操纵中。我们介绍了PhyGrasp,一个多模态大型模型,它利用来自两个模态的输入:自然语言和3D点云,通过一个桥接模块无缝集成。语言模态展现出对各种物理属性对抓取影响的稳健推理能力,而3D模态则理解物体的形状和部分。凭借这两种能力,PhyGrasp能够准确地评估物体部分的物理属性,并确定最佳的抓取姿势。此外,模型的语言理解能力使其能够解释人类指令,生成符合人类偏好的抓取姿势。为了训练PhyGrasp,我们构建了一个名为PhyPartNet的数据集,包含195K个具有不同物理属性和人类偏好的物体实例,以及相应的语言描述。在模拟环境和真实机器人上进行的广泛实验表明,PhyGrasp实现了最先进的性能,特别是在长尾案例中,例如,成功率比GraspNet提高了约10%。项目页面:https://sites.google.com/view/phygrasp。
(注释:反直觉指的是那些不常见、不符合常规预期或难以直接从现有数据中学习的场景。这些场景通常涉及到稀有事件或边缘案例,它们在数据集中出现的频率较低,但可能在现实世界中具有重要性。
长尾场景可能包括需要抓取的物体具有不寻常的形状、材料或质地,或者需要在复杂的环境中进行操作。这些场景要求机器人不仅要能够识别和理解物体的视觉特征,还要能够理解和预测物体的物理行为,如抓取时的稳定性、物体的脆弱性以及可能的交互力。因此,长尾场景的挑战在于如何让机器人在面对这些多样化和罕见情况时,仍然能够做出准确和安全的决策。)
I. 引言
类人化的具身智能代表了机器人操纵的一个重要里程碑,提供了实际应用,例如能够协助我们日常任务的家庭机器人。尽管取得了显著的进步[15, 49],但机器人的当前能力仍然远远落后于人类,特别是在物理常识推理和泛化能力方面[5]。人类拥有固有的多模态推理能力和直观的物理感知,使我们能够通过利用常识知识准确规划行动。我们也能够直观地将知识泛化到不常见和反事实的物体或情境中。例如,如图1所示,人类直观地认识到显示器的脆弱性,并理解在举起显示器时需要抓住底座,意识到处理不当可能会导致屏幕破裂。现有的机器人抓取技术缺乏物理常识,可能会无意中忽视这些原则并导致损坏。将物理常识融入机器人系统可以缓解这个问题。因此,赋予机器人处理长尾物体和场景的这种能力成为一个重要的挑战。
图 1:PhyGrasp的动机。当前的机器人抓取策略(左)通常仅基于物体的3D形状来预测抓取姿势,忽略了其物理属性。这种疏忽可能导致显示器损坏。相比之下,将物理常识整合到机器人系统中(右)可以有效地解决这个问题。
先前的机器人抓取与操作方法通常可以归纳为两大类。1) 第一流派直接估算用于执行的低级机器人动作或轨迹[7, 8, 55]。这类方法通常依赖大规模数据进行训练,导致模型难以在新颖场景或不同机器人平台上泛化应用。2) 为了提高泛化能力,第二流派的方法[21, 20]建议实施解析方法或学习模型以生成功能性映射或抓取姿态提议。随后基于这些估计的功能性特征或姿态规划低级的机器人动作。其背后的动机是,抓取姿态相对于机器人动作序列更容易泛化。然而,现有的抓取姿态检测算法往往侧重于分析物体的三维形状和语义信息,却忽视了部件信息、物理感知或约束条件。因此,它们在面对具有多种物理属性且分布长尾场景中的物体时,仍然面临泛化能力的挑战。将物理常识融入其中仍然是现有机器人抓取框架中尚未得到充分探索的一个基本方面。
(注释:过去研发的机器人抓取和操作技术主要有两种思路。第一种方法就像直接教机器人怎么动手,比如具体到每一个细微的动作或运动轨迹,这些是基于大量的数据训练出来的。但是呢,这种方法有个问题,就是如果遇到新的环境或者换了个不一样的机器人,它可能就不太会灵活应对了,因为模型在没见过的新场景下表现不佳。
第二种方法为了能让机器人更聪明、适应更多情况,研究者们提出了新策略,他们会通过数学计算的方法或是让机器人学着识别出物体哪个部分好抓、怎么抓最合适(这就是所谓的“功能性映射”或“抓取姿态提议”)。然后根据这些判断结果去安排具体的动作执行方案。这种做法背后的道理是:找准抓的位置比规划一连串复杂的动作更容易推广到不同的情况中。
不过,即使是这样,现有的很多找抓取位置的算法也有局限性,它们主要关注的是物体的三维形状和含义理解,但却没太考虑部件的具体细节、物理感知(比如材质软硬、重量等感觉)以及抓取时的限制条件。所以,在面对各种不同物理特性的物体,特别是在那些长尾分布的复杂场景中,这些算法还有待提高其通用性和灵活性。另外,如何将我们人类日常生活中的物理常识融入到机器人的抓取逻辑中,这也是当前大多数机器人抓取系统尚未充分研究的一个重要方向。)
近年来,大型语言模型(LLMs)的快速发展,如OpenAI的ChatGPT[53],展示了强大的理解和泛化能力,为物理常识推理提供了希望。然而,这些模型缺乏感知环境信息,例如来自3D视觉的详细部分和形状,这在使用LLMs进行实际抓取应用方面构成了挑战。尽管已经提出了一些视觉-语言模型(VLMs)为LLMs提供视觉信息,但它们的重点主要是视觉问答任务,使它们在有效推理物理世界方面装备不足,特别是在机器人抓取和操纵等领域。考虑到3D模型如PointNet[58]和VoxNet[50],它们在物理世界中对物体形状和姿势提供了大量见解,一个直观的解决方案出现了:构建一个多模态模型,桥接3D和语言模态。这种整合旨在促进机器人抓取任务中物体的全面物理推理。
在实践中,由于其数据密集型和在标准多模态预训练数据集中的欠代表性,训练3D和语言模态之间的接口并非易事。现有的数据集和基准通常要么只关注抓取而不考虑潜在的物理概念(例如,材料、脆弱性、质量、摩擦)[19],要么关注高层次的物理理解而不解决低级别的抓取估计[23],限制了它们在机器人抓取和操纵任务中的实用性。我们的目标是从两个方面解决这个问题。
在这项工作中,我们构建了一个物理基础的3D-语言数据集,称为PhyPartNet。它包含195K个独特的物体实例,这些实例基于PartNet[51]具有各种物理属性的部分。对于每个物体实例,我们采样物理属性,如材料、脆弱性、质量、密度和摩擦,用于物体的各个部分。随后,我们使用分析抓取解决方案生成相应的抓取概率地图,以及机器生成的语言指令和偏好。基于PhyPartNet,我们引入了PhyGrasp,这是一个多模态模型,旨在作为LLMs和3D编码器之间的接口,有效地将高层次的物理语义和语言桥接到低级别的抓取地图。PhyGrasp采用冻结的PointNext[60]和Llama 2[68]作为其编码器,并结合了一个精心设计的桥接模块,能够整合来自语言、视觉局部和视觉全局表示的信息,以生成最终预测。它提供了几个吸引人的优点。首先,它根据物体的物理属性(如材料、脆弱性、质量、密度和摩擦)的语言描述和3D信息预测抓取姿势。其次,它的语言理解能力使它能够解释人类指令,便于输出与人类偏好一致的抓取姿势。最后,它展示了对长尾、未见和甚至反事实物体的强大泛化能力。
我们的主要贡献是PhyGrasp,它通过整合物理信息的大型多模态模型泛化机器人抓取。我们首次通过利用物体的部分级物理属性来促进抓取姿势检测。我们在模拟和真实机器人上进行实验,以展示PhyGrasp的有效性。另一个贡献是我们的PhyPartNet数据集,这是一个包含大规模3D网格实例的综合集合,具有多样化的部分级物理属性和相应的语言注释。我们希望我们的工作能够激发未来在机器人抓取领域的研究,特别是那些倾向于物理推理和交互的研究。
II. 相关工作
1) 物理推理:以前的工作主要集中在通过视觉感知估计物体的物理属性,将交互数据作为学习的主要来源[75, 76, 38]。一个不同的研究领域转向开发封装物理概念的表示,超越了直接属性估计[29, 79, 16, 59, 13, 4, 70]。值得注意的是,方法[44, 37, 23]探索了使用LLMs和VLMs进行物理推理,例如[23]引入了一个专门设计的数据集,用于量化和增强以物体为中心的物理推理能力。此外,OpenScene[56]采用CLIP[62]根据材料组成和脆弱性等属性来识别场景中的物体。然而,它们专注于高层次的物理理解,而没有解决低级别的抓取估计,限制了它们在机器人抓取和操纵任务中的实用性。这项工作引入了PhyPartNet,它不仅支撑了我们的方法论,而且通过提供对物理属性及其对机器人抓取影响的更细致理解,促进了机器人操纵的进步。
2) 大型多模态模型:社区见证了多模态大型语言模型(MLLMs)的出现,这些模型旨在通过整合处理和理解视觉信息的能力,增强传统语言模型的功能[88, 87, 77, 67, 2, 93, 36, 34, 81, 12, 35, 86, 82]。其中,Flamingo[2]通过利用视觉和语言输入,在视觉问答任务中展示了令人印象深刻的少样本学习能力。在此基础上,随着GPT-4[54]、LLaVA系列[42, 45, 41]和MiniGPT-4[90]等模型的引入,通过视觉指令调整增强了视觉语言大型模型(VLLMs)。这一创新显著提高了这些模型遵循指令的能力,这是需要与视觉内容精确互动的应用的关键方面。同时,开发了一波新模型[74, 57, 3, 73, 11]来加强VLLMs的视觉基础能力。这些进步促进了更细致的任务,如详细区域描述和精确定位,强调了这些系统在解释和与视觉数据互动方面的日益成熟。尽管在MLLMs的发展及其整合和解释多模态数据的能力方面取得了显著进展,但在物理推理的应用上,特别是在机器人抓取的背景下,仍然存在显著差距。这一差距突出了未来研究的关键领域,MLLMs在理解和执行复杂物理交互方面的潜力可以进一步探索和实现。
3) 机器人学习的大规模模型:利用大型预训练模型有望创建有能力的机器人代理。许多工作集中在使用语言模型进行机器人规划和推理[26, 1, 10, 65, 25, 63, 66, 40, 71, 17, 18, 84, 24, 46, 72, 61, 89]。为了使语言模型感知物理环境,常见的方法包括提供场景的文本描述[27, 85, 65]或访问感知API[39]。也可以通过视觉上下文解码[28]或使用直接接受视觉输入的多模态语言模型来整合视觉[18, 54, 52, 80]。在这项工作中,我们利用视觉和语言模型的泛化能力进行物理常识推理,从而首次实现了物理信息的机器人抓取。
4)抓取姿势检测:视觉引导的抓取姿势检测领域已成为机器人研究的焦点,代表了从传统的自上而下的抓取技术转向全面探索和实施六自由度(6 DOF)抓取方法的转变。这一演变得到了领域内显著贡献的强调,例如在平面抓取方面的进展[47, 92, 48]。它进一步被引入复杂6 DOF方法的研究[6, 30, 91]所推动。这一进展的核心是开发最先进的6 DOF抓取姿势检测模型,尤其是AnyGrasp[21]的示例。AnyGrasp从点云中提取和编码物体的几何特征,实现了与人类能力相媲美的物体抓取成功率。利用AnyGrasp识别的抓取姿势,后续的研究工作被提出,专注于特定物体的抓取[43, 31]。这些努力已经扩展到关节物体操纵任务[83]。然而,这些研究通常假设物体的物理参数是固定的,或者旨在在变化的物理不确定性中识别一种普遍稳健的抓取。这样的假设可能导致不切实际或危险的抓取场景,特别是处理易碎物体部分时,这一挑战因视觉传感器辨别材料属性的能力有限而加剧。为了应对这些挑战,提出了一种创新方法:通过人类指导的自然语言描述将物理参数整合到抓取规划算法中。这种方法允许网络根据物体的物理特性调整其规划结果,从而提高机器人抓取操作的实用性和安全性。
III. 数据集生成
我们开发了一个名为PhyPartNet的数据集,使机器人能够学习抓取物体的物理推理。这个数据集包括物体的点云、语言摘要和相应的分析抓取解决方案。图3的左半部分总结了数据生成过程。对于每个物体,我们生成多个实例,其中物体的不同部分具有不同的物理属性(例如,材料、密度、质量、摩擦)。第III-A节提供了数据集统计的详细信息。我们使用分析方法(参见第III-B节)来计算力闭合抓取对,并构建抓取可供性地图,作为地面真实抓取解决方案。如第III-C节所述,我们使用OpenAI的GPT-3.5为每个抓取实例提供描述性摘要,突出每个抓取实例中不同的物理属性。
A. 数据集统计
我们的数据集基于PartNet数据集[51]构建,该数据集包含24个类别的28,599个物体,每个物体都有部分分割。对于每个物体,我们生成多个实例,变化不同部分的材料。我们引入了16种材料,每种材料都与独特的物理属性相关:密度、摩擦和脆弱性。这些属性使我们能够计算每个物体表面的质量和重心,以及最大法向力。此外,我们为每个部分分配不同级别的抓取概率,反映了人类的常识(例如,人类不会抓刀片)。总共,我们创建了193,856个独特的实例,物体和材料之间均匀分布(参见图2)。
图 2:数据集统计。左右两图分别表示物体和材料之间的实例分布。
训练集、验证集和测试集分别有173,856、10,000和10,000个实例。此外,我们提示GPT(参见清单3)选择一个“困难集”,这是测试集的一个子集,包含370个最反直觉的实例。
B. 分析抓取解决方案
一个抓取,表示为g,如果对于施加在物体上的任何外部力矩(即力和扭矩,Fext),都存在接触力fc在接触摩擦锥Kg内,以平衡外部力矩,满足Gfc = Fext,就实现了力闭合。这里,G代表抓取映射矩阵,它取决于抓取的位置g,并且fc的大小可以任意大[64]。
(注释:力闭合(force closure)是确保机器人抓取物体后,物体不会因为外部力矩(力和扭矩)而从机器人手中滑脱的条件。这里我来解释一下这段话的关键点:
1. **抓取表示为g**:这里的g代表机器人抓取物体时的抓取姿势或位置。
2. **外部力矩Fext**:这是指作用在物体上的外力和扭矩,可能是由于物体的重量、其他物体的推拉作用或者环境因素(如风力)造成的。
3. **接触力fc**:这是机器人手指与物体接触点之间的力。为了保持抓取,这些力需要在一定的范围内,这个范围由接触摩擦锥Kg定义,它是一个描述手指可以施加的力的方向和大小的数学模型。
4. **力闭合条件Gfc = Fext**:这意味着只要机器人施加的接触力fc能够完全抵消外部力矩Fext,物体就不会从机器人手中滑脱。这里的G是一个抓取映射矩阵,它描述了抓取姿势g如何影响接触力fc的方向和大小。这个矩阵依赖于抓取姿势g,而fc的大小可以非常大,只要它在接触摩擦锥Kg的范围内。
简而言之,力闭合是确保机器人能够稳定抓取物体的关键条件。只有当机器人施加的接触力足以平衡所有可能的外部力矩时,抓取才是安全的。这个概念在设计机器人抓取策略时非常重要,因为它帮助确保抓取动作的可靠性和稳定性。
关于接触摩擦锥(Contact Friction Cone):是机器人学和力学中的一个概念,用于描述在接触点上可以施加的力和力矩的集合,同时保持物体的稳定抓取。这个锥体是由接触点的摩擦特性定义的,它限制了在不导致物体滑动的情况下可以施加的力的方向和大小。
具体来说,接触摩擦锥是一个几何形状,通常在三维空间中表示为一个锥形区域。在这个锥体内部的任何力(包括法向力和切向力)都不会导致物体在接触面上滑动。法向力是垂直于接触面的力,而切向力是平行于接触面的力,它可以引起滑动。摩擦锥的顶点通常位于接触面法线的方向上,表示最大的法向力,而锥体的边界则定义了在不引起滑动的情况下可以施加的最大切向力。
在机器人抓取和操纵任务中,了解接触摩擦锥对于设计有效的抓取策略至关重要。它帮助机器人计算出在不同抓取姿势下,为了保持物体稳定所需的最小力量,以及在给定的抓取姿势下,可以安全施加的最大力量。通过这种方式,机器人可以避免对物体施加过大的力量,从而防止损坏物体或失去抓取。同时,它也确保了在外部力作用下,物体能够保持在机器人的控制之中。)
在这项研究中,我们通过在物体周围采用射线投射技术确定接触对,以此来识别潜在的抓取候选方案,并将这些候选方案概念化为平行抓取动作 g。接下来,基于抓取位置 g 相对于物体质心(CoM)的位置关系,我们构建抓取映射矩阵 G。为了评估抓取动作的力封闭性,我们采用了方程1所示的优化问题。
minfc||fc||
S.t.:Gfc = Fext
fc ∈ Kg
虽然我们可以使用更简单的方法确定力闭合状态,如[47, 91]中所示,但方程1的公式使我们能够纳入反映物体物理特性的额外约束。具体来说,我们考虑最大允许接触力(|fc| ≤ ϵ),物体表面摩擦系数的变化(Kg ∝ µ),以及物体重心的调整(G ∝ CoM)。
我们计算方程1的解决方案的可行性,以验证抓取对是否力闭合,并符合其他物理前提条件。
(注释:想象一下,机器人要抓取一个物体,就像我们要用手拿起一个苹果。在这项研究中,我们教机器人如何找到最好的抓取点,就像我们决定从哪里抓苹果一样。
1. **射线投射技术**:这就像是从物体的表面发出很多虚拟的射线,看看哪些射线能够碰到机器人的手指。通过这种方式,我们可以找到可能的抓取点,也就是机器人手指可以接触物体的地方。通俗的理解:想象一下,你正在玩一个电脑游戏,游戏里有一个机器人需要抓取一个物体。为了帮助机器人找到最好的抓取点,游戏会从物体的表面发出很多虚拟的“射线”。这些射线就像是从物体表面射出的一束束光线,它们在空间中四处探索。
当这些射线遇到机器人的“手指”(或者说是抓取器)时(不同的潜在的位置),就找到了一个可能的抓取点。这个过程就像是在物体周围进行一场“光线射击”游戏,通过这些射线与机器人手指的虚拟接触,我们就可以找到所有可能让机器人抓住物体的位置。
这些潜在的抓取点就像是候选者,等待着被选中成为机器人实际抓取物体时的接触点。通过这种方式,机器人就可以知道从哪里抓取物体,才能既稳定又不损坏物体。
2. **抓取候选者**:找到这些接触点后,我们就可以想象出一种抓取方式,就像是我们决定用哪种手势去拿苹果。这个抓取方式用一个符号g来表示。
3. **抓取映射矩阵G**:这个矩阵G就像是一张地图,告诉我们机器人的手指应该在哪里施加力才能成功抓取物体。这个地图是根据抓取点g相对于物体重心的位置来制作的。物体的重心就像是苹果的中心,我们要根据这个中心来决定手指的位置。
4. **力闭合属性**:接下来,我们要确保机器人抓取物体时,不会因为外部的力(比如苹果太重或者有人试图拿走它)而让物体滑落。为了做到这一点,我们用一个数学问题(方程1)来检查机器人的抓取是否足够稳定。这个问题要求我们找到一种力的分配方式(fc),使得机器人的手指能够平衡掉所有可能的外力(Fext)。
5. **额外的物理特性考虑**:虽然我们可以用简单的方法来检查抓取是否稳定,但我们的方程1更复杂,因为它还考虑了物体的一些物理特性。比如,我们要考虑机器人手指可以施加的最大力(|fc| ≤ ϵ),物体表面的摩擦力(Kg ∝ µ),以及物体重心的位置(G ∝ CoM)。这些都是为了确保机器人在抓取时既稳定又不会损坏物体。
总的来说,这段话描述了我们如何教机器人像人类一样,考虑物体的物理特性来找到最佳的抓取方式。)
通过分析抓取对,我们通过为每个抓取位置分配高斯分布来创建抓取可供性地图。物体网格上每个点的归一化总和代表抓取概率,并遵循高斯分布的混合。图5的左列展示了生成的可供性地图。我们还为每个实例的每个物体网格表面采样2,048个点作为物体点云,以便将来进行视觉处理。
图 5:我们方法的可供性地图和抓取对匹配地图的可视化。左列是分析方法(真实值)的可供性地图,中间是我们的可供性地图,右边是抓取对匹配地图。我们观察到我们的可供性地图预测显示出高质量,并且与真实值非常相似。在匹配地图中,黄色强度表示匹配的置信度,红色和黄色点代表锚点及其前1匹配对。
(注释:"可供性地图"(affordance map)描述了一个物体表面上哪些区域是可以被机器人抓取的。在创建可供性地图的过程中,会对物体的表面进行分析,以确定哪些部分适合抓取,例如,根据物体的形状、质地、重量分布等因素。
通过分析抓取对(即物体表面上可能的抓取点),研究人员为每个抓取位置分配了一个高斯分布。高斯分布是一种连续概率分布,其形状呈钟形,可以用来表示抓取概率的分布。在这个上下文中,高斯分布的峰值代表了抓取概率最高的区域,而分布的宽度则反映了抓取概率在周围区域的衰减。
物体网格上的每个点的归一化总和代表了该点的抓取概率。归一化意味着所有点的概率之和为1,这样可以确保概率分布是有效的。这些概率遵循高斯分布的混合,意味着整个物体表面上的抓取概率是由多个高斯分布叠加而成的,每个高斯分布对应于一个潜在的抓取点。
图5的左列展示了生成的可供性地图,这是一个可视化的表示,显示了物体表面上不同区域的抓取概率。此外,为了将来进行视觉处理,研究人员还为每个实例的每个物体网格表面采样了2,048个点,这些点构成了物体的点云。点云是三维空间中点的集合,可以用于后续的计算机视觉任务,如物体识别、定位和抓取规划。)
C. 语言摘要生成
对于由具有不同材料和物理属性的多个部分组成的物体,我们使用OpenAI的GPT-3.5生成语言描述,总结每个实例,强调每个抓取场景中不同的物理属性。清单1和清单2展示了我们为GPT提供的提示和示例,以帮助它理解相关术语。GPT为我们数据集中剩余的物体实例生成语言摘要。
清单 1:一个用于GPT生成物体实例语言摘要的提示示例
(清单翻译:
角色:你是一个抓取分析助手,擅长用自然语言总结不同物体和材料的特征。
你应该用最少的词汇提供尽可能多的信息。
你应该专注于每个部分的重要特征及其材料,而不是具体数值。
你将获得一段描述物体及其部分的材料、密度、摩擦、脆弱性和人类抓取概率的段落。
你应该遵循以下规则:
1. 名称:准确描述物体和材料名称。
2. 密度:指出最密集的部分或最轻的部分。如果密度差异不明显,你可以忽略它。
3. 摩擦:指出摩擦最高和最低的部分。如果摩擦差异不明显,你可以忽略它。
...
我会给你一些例子。
例子...
指令:请处理以下段落。
输出为一段文字。)
清单 2:GPT提示的人类语言描述示例。
(清单翻译:
输入:有一个水龙头,它有几个部分,包括一个开关、一个框架和一个喷嘴。每个部分的材料是塑料、黄铜和玻璃纤维,摩擦系数分别为:0.4、0.38、0.6,密度分别为:1400、8530、2020,脆弱性为:正常、坚固、正常。
输出:这个水龙头有三个部分:开关、框架和喷嘴。喷嘴由玻璃纤维制成,摩擦系数最高。开关的材料是塑料,框架由黄铜制成,密度最高。)
IV. 学习方法
有了我们的数据集,我们能够训练一个神经网络,用于具有物理推理的机器人抓取基础。训练从一个大型视觉模型和一个大型语言模型开始(参见第IV-A节),这两个模型共同工作,将我们的数据集编码成视觉和语言特征。然后我们构建了一个桥接网络(参见第IV-B节),它将这些特征作为输入,并产生一个抓取可供性地图,以及一个补充分类器,用于为物体点云上的每个点生成相应的抓取对数组。第IV-C节详细介绍了我们用于训练的损失函数。
A. 特征提取
1) 视觉编码器:我们使用PointNeXt架构[60]将物体的点云转换为全局和局部视觉特征。使用在ModelNet40数据集[78]上预训练的PointNeXt编码器,我们为每个物体的点云提取了一个形状为(1024,)的全局特征向量。由于ModelNet40数据集包含与我们数据集中不同的物体,这些全局特征有助于我们的模型泛化到我们数据集领域之外的物体。对于局部特征的提取,我们利用PointNeXt编码器及其部分分割解码器,为物体点云中的每个点输出维度为(64,)的局部特征。编码器-解码器对在ShapeNet上训练——这是支撑我们工作相同的数据集——在局部特征中嵌入了详细的部分分割信息,增强了我们网络区分物体不同部分变化的能力。
2) 语言编码器:我们利用Llama[68]将每个实例的语言描述编码为语言特征。选择模型第20层的表示,如[94]中的发现所示,这为特征提取提供了最佳结果,我们获得了维度为(4096,)的特征。
B. 桥接网络
我们的桥接网络使用提取的特征来预测抓取解决方案。图4展示了我们桥接网络的结构。我们使用多层感知器(MLP)将全局视觉和语言特征压缩到(128,)的维度,并将它们与另一个MLP混合,生成(64,)的全局特征。在并行过程中,我们通过MLP细化局部视觉特征,并将输出与物体的全局特征和点云合并,最终为点云上的每个点产生一个复合特征向量(64+64+3,)。然后我们部署另外两个不同的MLP:一个作为预测器生成抓取可供性地图,另一个作为分类器使用嵌入来识别相应的抓取对。
图 4:PhyGrasp的桥接模块架构。它为每个点输出抓取概率(可供性地图)和配对嵌入。
C. 损失函数
我们使用三种不同的损失函数进行训练。第一个是全局损失Lg,计算预测的可供性地图与真实值之间的差异:
其中N是实例的数量,Gi是我们模型的第i个输出可供性地图,Ggti是我们数据集中相应的真实值。
(注释:
-||·||表示范数,这里可以是任何范数,比如 L1 范数或者 L2范数,用来度量两个向量之间的差异。公式将所有样本的预测能力图与对应的真实值之间的差异累加起来,然后取平均值作为损失值。这个损失值越小,表示模型的预测结果与真实值之间的差异越小,表明模型的性能越好。)
第二个损失函数Lemb用于构建嵌入,以区分正负抓取对。它是一个线性组合,包括其正面部分Lpemb和负面部分Lnemb,如下所示:
其中Kip和Kin分别是第i个实例的正负抓取对的数量。Qi,k是我们模型对第i个实例的第k个抓取对的嵌入输出。δp和δn分别是正负嵌入损失的边界。[x]+ = max(0, x)表示hinge函数。
(注释:正负抓取对(positive and negative grasp pairs)是用来评估和训练抓取算法的一组数据点。这些抓取对通常用于训练机器学习模型,以便模型能够区分哪些抓取动作是成功的(正抓取对),哪些是失败的(负抓取对)。
1. **正抓取对(Positive Grasp Pairs)**:这些是模型应该学习的抓取动作,因为它们代表了成功的抓取。在这些情况下,机器人的抓取器正确地与物体接触,并且能够稳定地抓起物体。正抓取对的数据点通常包括抓取器与物体接触的位置、抓取器的开合程度、抓取力度等信息。
2. **负抓取对(Negative Grasp Pairs)**:这些是模型应该避免的抓取动作,因为它们代表了失败的抓取。在这些情况下,机器人可能无法正确地抓起物体,或者在抓取过程中物体可能会滑落。负抓取对的数据点同样包括抓取器与物体接触的位置等信息,但这些抓取尝试没有成功。
在训练过程中,模型会尝试学习区分正负抓取对的特征,以便在实际应用中能够预测哪些抓取动作更有可能成功。这通常涉及到对抓取姿势的几何特征、物体的物理属性(如形状、大小、重量、摩擦系数等)以及抓取器的动态行为进行分析。通过这种方式,机器人抓取系统可以提高其在复杂环境中的抓取成功率。)
(正负抓取对的嵌入(embeddings)构建的损失函数的理解:
- Lpemb衡量了正抓取对之间的嵌入之间的距离与预设阈值 δp 之间的差异的平方,并将其求和,然后取平均值。如果距离小于阈值 δp,损失为零。
- Lnemb 衡量了负抓取对之间的嵌入之间的距离与预设阈值 δn之间的差异的平方,并将其求和,然后取平均值。如果距离大于阈值δn,损失为零。
整个Lemb 是Lpemb和Lnemb的加权平均。这个损失函数的目标是使正抓取对之间的嵌入尽可能靠近,而负抓取对之间的嵌入尽可能远离,从而提高模型在区分正负抓取对方面的性能。)
第三个损失Lmatch用于寻找抓取对匹配。如第IV-B节所述,我们使用MLP预测每个点对与嵌入的匹配概率。我们将这个概率定义为第i个实例中第k个抓取对的Mi,k。相应地,Mgti,k是真实值中的匹配分数,对于正对等于1,对于负对等于0:
其中log p(·)是交叉熵损失,衡量预测匹配分数与真实值之间的差异。
(注释:衡量了模型预测的匹配得分与真实匹配得分之间的差异。对于正抓取对,如果模型预测的匹配得分接近1,则损失越小;对于负抓取对,如果模型预测的匹配得分接近0,则损失越小。
通过最小化Lmatch,模型被设计为尽可能地准确地预测抓取对之间的匹配概率,以实现更好的抓取匹配性能。)
在训练过程中,我们使用自动加权损失(AWL)[33]平衡这三个损失函数,允许抓取可供性预测器和抓取对分类器的联合训练。
V. 实验和结果
我们在模拟环境(第V-A节)和现实世界(第V-B节)中进行实验,以评估我们方法在机器人抓取中的性能。
A. 模拟实验
1) 设置:我们使用PyBullet[14]进行模拟实验。我们实现了两个夹具手指,在预测的抓取位置处夹住物体,指向彼此。对于每个物体实例,我们评估了不同模型的前n预测,考虑任何在n次试验中物体在手指之间保持安全的试验作为成功抓取。
2) 基线:
• 分析(上限)指的是每个物体实例中的分析抓取解决方案。评估这个基线有助于量化分析预测与其实际模拟结果之间的差距。
• GraspNet[19]是通用物体抓取的基线。它使用卷积神经网络直接从点云预测抓取实例,为机器人抓取提供了全面而高效的方法。
• 体积抓取网络(VGN)[6]构建了场景的截断有符号距离函数(TSDF)表示,并输出与抓取可供性地图相同空间分辨率的体积。
(注释:"Analytical (upper bound)" 是指分析性的抓取解决方案,它们是基于物体实例的特定几何形状和物理性质的理论上的最佳抓取方案。这些解决方案通常是通过数学公式或物理原理推导出来的,而不是通过机器学习或数据驱动的方法。因此,它们代表了在特定条件下理论上可能达到的最高抓取性能。
"Analytical (upper bound)" 作为一种基准,用于比较其他模型的性能。通过比较实际模型的性能与这种理论上最佳的抓取解决方案之间的差距,可以评估现有模型在实际任务中的优劣。)
3) 结果:表I总结了在模拟中评估的基线模型和我们的抓取成功率。我们的模型在每个指标上都优于所有基线。VGN在我们的数据集上表现不佳,特别是对于像桌子、椅子和床这样的大型物体,这些物体具有多个表面,因为构建这些物品的TSDF很困难。此外,它对视觉特征的重度依赖使其在物理因素改变抓取策略的场景中容易失败。GraspNet在我们的通用测试集中的表现略低于我们,而在困难集上的表现下降了超过5%,而我们的模型保持了其有效性。由于困难集包括最具反直觉的例子,这表明我们的模型有效地理解了语言描述,同时推理物理属性以适应抓取策略。相比之下,仅依赖视觉的GraspNet可能在这些长尾边缘案例中挣扎。
表 I:在模拟中评估基线模型和我们模型的抓取成功率(%)。
我们还提供了我们模型对可供性地图和抓取对匹配预测的定性结果,如图5所示。从视觉上看,这些预测与分析解决方案非常相似。我们探索了同一物体上物理属性的影响。例如,顶部的钟表底座具有高摩擦和低脆弱性,而底部的钟表底座摩擦低且脆弱。我们的模型成功捕捉到这些信息,并识别出正确的抓取部分。抓取对匹配突出了我们嵌入和分类器的效率,锚点和查询点形成了力闭合抓取,提高了抓取成功率。
在表II中,我们报告了Kullback-Leibler散度(KLD)[22]、相似性度量(SIM)和曲线下面积(AUC-J)[9, 32],以评估可供性地图预测的有效性。这些指标比较了预测的可供性地图与真实值。结果表明,我们的方法在生成更准确的抓取可供性方面优于VGN。
表 II:在不同指标下比较抓取可供性地图的准确性。
4) 消融研究:表III展示了我们模型的消融研究。我们移除了每个重要特征,以评估模拟中的抓取成功率。
表 III:我们模型的消融研究。我们报告了在模拟中评估的抓取成功率(%)。
• 我们的模型没有局部特征:消除局部视觉特征显著影响了我们模型区分部分分割的能力。它阻碍了模型优先抓取成功抓取概率较高的部分,导致了最显著的性能下降。
• 我们的模型没有全局特征:排除全局特征对性能的影响相对较小。这是可以理解的,因为编码器是在ModelNet40上预训练的,与我们的物体不同。虽然这种方法有助于泛化到未见过的物体,如我们在现实世界实验中所示,但它并没有在模拟测试中明确造成问题。
• 我们的模型没有语言特征:省略语言特征在测试集中导致性能变化最小,但在困难集中导致大量失败。在大多数情况下,模型可以依赖视觉特征来识别安全的抓取。然而,在反直觉的实例中,语言信息对于确保成功抓取至关重要。
B. 现实世界实验
1) 设置:我们使用三个物体进行实验,每个物体都提供了标准和具有挑战性的抓取场景(见图6)。对于香蕉,标准测试涉及无限制的抓取,而挑战是在不损坏的情况下抓取过熟香蕉的茎。药瓶挑战要求抓取被橡皮筋固定的瓶盖,避免其低摩擦的身体。锤子呈现了不同的重心挑战:机器人在中心抓取均匀分布的锤子,但必须因其夹具扭矩限制而抓取质量较重的钢头锤。
我们使用iPhone 13 Pro上的Reality Composer创建物体的网格,并从网格中采样点云作为GraspNet和我们模型的输入。在模型的输入。在正常场景下,我们的模型接收物体名称作为简单的语言描述,而在具有挑战性的情况下,我们提供详细描述,概述了我们特定的抓取要求。实验假设已知准确的物体姿态,因为物体姿态估计不是本研究的重点。我们使用PyBullet进行运动规划,并指挥FANUC机器人LR Mate 200iD/7L在预测的抓取位置抓取物体。
图 6:现实世界实验。我们选择了三个具有不同物理属性的代表性物体。PhyGrasp准确地预测了与我们对这些测试场景预期相符的位置。1) 它有效地估计了由不同材料制成的锤子的重心,并规划抓取。2) 它认识到抓取药瓶的橡胶部分能提供更大的稳定性。3) 不同的语言提示会导致不同的抓取预测(即使3D形状相同,对于成熟香蕉的身体部分提示高脆弱性),这展示了PhyGrasp的有效性及其与人类自然互动的能力。
2) 结果:我们在每个场景中测试了五次试验的前5抓取成功率。我们的模型始终超过GraspNet。表IV总结了这些成功率。我们的模型在正常和具有挑战性的场景中均达到70%的成功率,而GraspNet在正常条件下达到50%,在具有挑战性的场景中达到20%。这突显了我们方法在现实世界抓取生成中的有效性和可靠性。
表 IV:在现实世界中评估GraspNet和我们模型的前5抓取成功率(%)。
图6展示了抓取姿势和可供性地图预测的结果。成功抓取香蕉和锤子进一步证明了我们的模型泛化到训练数据中未见过的物体的能力。
C. 失败案例和未来工作
图7展示了三个失败示例,每个示例代表了三种主要的失败案例类别。
图 7:主要失败案例的来源示例。这些失败案例揭示了机器人抓取中的长尾挑战,指向了如增强语言描述、改进部分分割和更广泛的物体种类等解决方案。
• 不常见形状的挑战:模型在独特形状物体上预测抓取点时遇到困难。即使有不错的可供性地图预测,嵌入分类器也会失败,因为抓取一个细长的、长颈的灯很困难。
• 过度泛化的部分分割:我们的数据集源自PartNet,存在过度简化的分割问题。例如,剪刀只被分割成两部分——手柄和螺丝——这阻碍了模型根据特定物理属性调整抓取。
• 抓取对不匹配:嵌入分类器有时将同一表面上的两个点错误地匹配为可抓取对。改进损失函数以在训练期间考虑点位置,并添加后处理步骤以移除同表面预测,可能会提高性能。
这些失败案例凸显了模型旨在解决的一些长尾问题。可能的解决方案包括更具体的语言描述、增强的部分分割以及增加数据集中物体类型的多样性。
VI. 结论
本研究深入探讨了将物理常识推理整合到机器人抓取中。我们介绍了PhyGrasp,这是一个大型多模态模型,它结合了两种模态的输入:自然语言和3D点云,通过一个桥接模块无缝连接。语言模态展示了对不同物理属性对抓取影响的强大推理能力,而3D模态理解物体的形状和部分。通过利用这两种能力,PhyGrasp能够准确地评估物体部分的物理属性,并确定最佳的抓取姿势。此外,其语言理解能力允许根据人类指令和常识偏好调整抓取。为了训练PhyGrasp,我们策划了我们的PhyPartNet数据集,包含195,000个具有不同物理属性的物体实例,以及这些属性和人类偏好的相应语言描述。我们期待我们的数据集和模型将成为社区的宝贵资源,特别是对于那些对推进物理推理和抓取感兴趣的人。