论文Blind Robotic Grasp Stability Estimation Based on Tactile Measurements and Natural Language Prom解读

Blind Robotic Grasp Stability Estimation Based on Tactile Measurements and Natural Language Prompts

基于触觉测量和自然语言提示的盲目机器抓取稳定性估计

更多内容关注公众号:AIRoobt

摘要:我们设计并训练了一种神经网络模块的组合,该组合根据触觉传感器测量值和标识物体的自然语言提示预测机器抓取成功率。我们使用配备了两个DIGIT传感器的Franka Emika Panda机械臂进行抓取,并使用chatGPT生成语言描述。我们的近期目标是利用这种方法提高抓取稳定性估计器的准确性。这项工作的长期目标是利用基于语言的上下文来增强触觉驱动的机器人控制,即可能无法从视觉中可靠推断出的与任务相关的信息。

注释:研究项目旨在通过结合触觉传感器的测量数据和自然语言提示来提高机器人抓取物体的成功率。下面是对这段话的详细解释:

1. **神经网络模块的设计与训练**:研究者们设计并训练了一系列神经网络模块。这些模块的目的是预测机器人抓取物体时的成功概率。它们通过分析触觉传感器的数据和自然语言提示来实现这一目标。

2. **触觉传感器和自然语言提示**:触觉传感器提供关于物体表面特性的信息,如质地、形状和重量,这些信息对于机器人精确抓取物体至关重要。自然语言提示则帮助机器人识别要抓取的物体,这些提示可以是用户通过语音或文本给出的指令。

3. **Franka Emika Panda 机器人手臂**:研究中使用的是 Franka Emika Panda 机器人手臂,这是一种灵活的机械臂,适合进行精细的操作。这个机械臂配备了两个 DIGIT 传感器,这些传感器能够提供触觉反馈,帮助机器人更好地理解抓取过程。

4. **chatGPT 生成的语言描述**:研究者们使用 chatGPT(一种基于 GPT-3 的对话生成模型)来生成描述物体的语言提示。这些描述可以作为自然语言输入,帮助机器人理解用户想要它抓取的物体。

5. **短期目标**:研究的短期目标是利用这种结合触觉和自然语言的方法来提高抓取稳定性估计器的准确性。这意味着通过这些信息,机器人可以更准确地判断抓取动作是否稳定,从而避免物体在抓取过程中滑落。

6. **长期目标**:研究的长期目标是增强基于触觉的机器人控制,并结合基于语言的上下文信息。这种上下文信息是与任务相关的,可能无法仅通过视觉系统稳健地推断出来。例如,某些物体可能在视觉上难以区分,但通过触觉和语言提示,机器人可以更好地理解任务需求,执行更精确的操作。

总的来说,这个项目旨在通过整合触觉传感器数据和自然语言处理技术,提高机器人在复杂环境中执行抓取任务的能力。这不仅能够提高抓取的准确性,还能让机器人更好地理解和适应人类用户的指令。

1 引言

多位研究人员已经提出了成功的方法来解决机器人抓取问题[13]。以前的工作主要集中在视觉[6]、触觉[12]或两者的结合[3]上。然而,在交互场景中,相关信息通常编码在第三种模态——语言中。由于自然语言命令通常隐含地包含上下文线索,它们可以成为一个宝贵的知识来源,特别是在其他传感器可能不可靠或不可用的情况下。得益于大型语言模型,自然语言在机器人操控和导航中的应用变得更加容易。各种项目[16, 1, 17]都集中在处理和实施高级自然语言命令[11, 19]上。与[1]或[17]等项目不同,我们的目标不是通过自然语言命令来构建我们的任务,而是寻求利用这类语言命令可能包含的上下文。其他项目主要依赖视觉作为机器人的感知手段。在光线不足、遮挡和自遮挡等因素妨碍视觉的情况下,这些模型仍然面临挑战。人类可以依靠触觉来应对这种情况,这种方法已经被几篇论文成功应用[9, 12, 18, 5, 7, 8]。在之前工作的基础上,我们探索了将自然语言作为用户提供的上下文信息来源,以及触觉作为机器人控制的稳健感知模态的结合。我们在抓取稳定性估计的示范任务上评估了我们的建模方法[2, 5]。

我们的初步实验是在六个家用物品的小数据集上进行的。我们训练一个神经网络模型来预测基于触觉传感器测量值和基本自然语言提示的抓取稳定性。到目前为止,我们首先在模拟中生成一个数据集,其中包含来自六个家用物品上大约53,000次抓取尝试的触觉传感器读数。然后,我们使用chatGPT生成了总共420个短物体描述,即每个物体的多个描述。在训练和测试过程中,对于每个触觉传感器测量值,我们从特定于物体的集合中随机选择一个适当的描述。

我们的评估结果显示,使用随机选择的自然语言上下文的性能与仅使用触觉测量值的基线模型类似。这个结果意味着不是所有的语言描述都是有用的,并且触觉数据已经包含了相当多的物体信息。我们计划扩展我们的数据集,使其包含更多的物体,这些物体在重量、表面摩擦力和刚度方面有所不同,从而使我们能够捕捉到此前被忽略的与任务相关的特征。我们的长期目标是实现更有效和更灵活的机器人控制,同时使用触觉和语言信息。

数据

我们的数据集由六个家用物体生成的两个组成部分组成:1)机器人抓取数据集Dg和2)由chatGPT生成的每个物体的相应语言描述数据集Dl。我们使用PyBullet [4]模拟环境为六个不同的家用物体生成抓取数据集。为了记录我们的触觉传感器读数,我们选择了Tacto模拟接口[20]来模拟两个DIGIT[10]传感器。这些传感器安装在Franka机器人模型的手指上,该模型来自[14]。

注释:描述一个研究项目中使用的数据集,这个数据集是为了帮助机器人更好地理解和抓取家用物体。

1. **数据集的组成**:我们的数据集有两个主要部分。第一部分是机器人抓取数据集(Dg),它包含了机器人抓取物体时收集的数据。第二部分是语言描述数据集(Dl),它包含了每个物体的描述,这些描述是由一个名为 chatGPT 的程序生成的。

2. **模拟环境**:为了生成这些数据,我们使用了一个名为 PyBullet 的模拟环境。在这个环境中,我们可以模拟六个不同的家用物体,让机器人尝试去抓取它们。

3. **触觉传感器**:为了让机器人能够感受到物体的触觉信息,我们选择了一个叫做 Tacto 的模拟接口。这个接口可以模拟两个 DIGIT 传感器的工作,这些传感器通常安装在真实机器人的手指上,用来感受触摸和压力。

4. **机器人模型**:在模拟中,我们使用的是一个名为 Franka 的机器人模型。这个模型的手指上安装了 DIGIT 传感器,这样机器人就可以通过这些传感器来模拟抓取物体时的感觉。

这个数据集是为了帮助研究者们开发出更好的机器人抓取技术,通过结合机器人的视觉和触觉信息,以及自然语言描述,让机器人能够更准确地理解和操作家用物体。

机器人抓取数据集Dg={Dg1, Dg2, Dg3, Dg4, Dg5, Dg6 }包含六个数据子集Dgi:i∈{1,...,6},每个子集都包含与单个物体的互动。每个数据子集都是一个数据点的集合Dgi={(xgi1, ygi1 ), ... ,(xgin , ygin )}:i∈{1,...,6},其中n≈8900。单个数据点包含两个触觉图像xgij:i∈{1,...,6}, j∈{1,...,n}和一个相应的二元分类标签ygij:i∈{1,...,6}, j∈{1,...,n},描述抓取是否成功ygij = 1或不成功ygij = 0。我们不包括任何相对于物体的手部姿势信息,因为假设物体的姿势和整体几何形状是未知的。

注释:描述一个关于机器人抓取物体的数据集的结构和内容。

1. **数据集的组成**:我们有一个名为 Dg 的机器人抓取数据集,它由六个小的数据子集组成,每个子集 Dgi 都与一个特定的物体有关。这些子集的编号从 1 到 6,每个子集都包含了大约 8900 个数据点。

2. **数据点**:每个数据点实际上是一对信息,包括一个触觉图像(xgij)和一个与之对应的二元分类标签(ygij)。触觉图像是机器人手指上的传感器捕捉到的关于物体表面的信息,而分类标签则告诉我们这次抓取是成功(ygij = 1)还是失败(ygij = 0)。

3. **触觉图像和分类标签**:触觉图像就像是机器人的“触觉照片”,记录了它在抓取过程中感受到的物体表面的细节。分类标签则像是给这张照片打上的一个标记,告诉我们这次抓取的结果。

4. **物体和手部姿势信息**:在这个数据集中,我们没有包括任何关于物体相对于手部姿势的信息。这是因为我们假设在实际情况中,物体的位置和整体形状可能是未知的,机器人需要能够在不知道这些信息的情况下进行抓取。

这个数据集是为了帮助研究者们训练机器人,让它能够在不知道物体具体位置和形状的情况下,通过触觉信息来判断抓取是否成功。这对于提高机器人在现实世界中的自主性和适应性非常重要。

我们使用Pybullet [4]作为我们的模拟环境,与Meta提供的Tacto[20]模拟接口结合使用,以模拟其DIGIT[10]传感器。我们使用来自[14]的Franka机器人模型,并采用自定义的手指设计来记录与瓶子、橡皮鸭、发干机、汽水罐、麦克风和数码相机的抓取互动,生成六个数据子集{Dg1, Dg2, Dg3, Dg4, Dg5, Dg6 }。数据收集设置和一些触觉传感器读数的示例图像可以在此处找到:<https://anonymous.4open.science/r/Additional-Resources-B8ED/README.md>

注释:这段话在描述一个机器人抓取物体的模拟实验设置:

1. **模拟环境**:我们使用了一个名为 Pybullet 的软件来创建一个虚拟的实验环境。这个环境允许我们在计算机上模拟机器人的动作,而不需要实际的机器人。

2. **触觉模拟接口**:我们还用了一个叫做 Tacto 的接口,这是由 Meta(原 Facebook)提供的。这个接口可以模拟 DIGIT 传感器的工作,DIGIT 传感器是一种可以安装在机器人手指上,用来感受触摸的设备。

3. **机器人模型**:在模拟中,我们使用的是一个名为 Franka 的机器人模型。我们对这个模型的手指进行了定制设计,以便更好地记录抓取物体时的互动。

4. **抓取物体**:我们让这个虚拟的机器人尝试抓取六种不同的家用物体:瓶子、橡皮鸭、吹风机、苏打罐、麦克风和数码相机。每次抓取都记录了数据,这些数据被分成了六个小的数据集,分别标记为 Dg1 到 Dg6。

5. **数据收集**:我们收集了一些关于数据收集设置的示例图片,以及触觉传感器的读数。这些信息可以帮助我们了解机器人是如何感知和抓取物体的。

每次抓取都是从上到下进行的,方法是移动到预抓取位置(位于所需抓取点上方),然后沿全局z轴向下移动。抓取点在物体的边界框内均匀采样。夹持器绕全局z轴的旋转r也是均匀采样的,其中r∈(0◦, 180◦)。

为了生成真值数据,我们在抓取后保存触觉配置文件xgij,并通过尝试提起物体来评估抓取是否成功。我们通过比较抓取物体提起前后的位置来做到这一点。如果沿全局z轴的位置差足够接近提起距离ygij = 1,否则ygij = 0。在每次完整的抓取互动后,重置物体和机器人的姿势。

语言数据集Dl包含每个物体大约70个描述。这些描述通常是一两个单词的名称和物体的同义词,包括精心设计的描述(如“拍照设备”)以及简短的术语(如“cam”)。我们在训练和测试过程中通过为每个抓取样本从特定于物体的语言描述子集中随机选择一个描述,来结合语言和触觉模态。

注释:这段话在描述一个包含语言描述的数据集,这个数据集与机器人抓取物体的模拟实验相关。我来用一个更通俗的方式来解释:

1. **语言数据集 Dl**:这个数据集包含了六种不同物体的大约 70 个描述。每个物体都有一系列的文字描述,这些描述可能是一个词或两个词的名字,也可能是这个物体的同义词。

2. **描述的内容**:对于每个物体,描述可能包括详细的描述(比如“拍照设备”)和简短的词汇(比如“相机”或“cam”)。这样的描述可以帮助人们(或机器人)理解物体的用途和特性。

3. **结合语言和触觉模态**:在训练和测试机器人抓取模型时,我们会从每种物体的语言描述子集中随机选择一个描述。这意味着每次抓取尝试时,我们都会为机器人提供一个关于它试图抓取的物体的文字描述。

4. **随机选择描述**:在每次抓取样本中,我们会随机选择一个描述,这样机器人在训练和测试时就不会总是遇到相同的描述。这有助于机器人学习如何根据不同的描述来识别和抓取物体。

总的来说,这个语言数据集 Dl 为机器人提供了关于它需要抓取的物体的文字信息。在模拟实验中,这些描述被用来帮助机器人更好地理解物体,并通过随机选择描述来增加训练的多样性和复杂性。这种方法可以帮助机器人在实际应用中更好地理解和响应人类的语言指令。

由于大多数抓取尝试都失败了,因为或者完全错过了物体,或者在建立抓取之前与其碰撞,或者在提起过程中从物体上滑落,因此通过此过程得到的数据集是不平衡的。混合数据集中所有抓取尝试中只有约5%是成功的,成功率在对象特定的子数据集中为7.8%的Ds4(汽水罐)和2.5%的Ds3(发干机)之间。

3 模型

我们比较了一个基线模型和一个自然语言处理(NLP)支持的模型。基线模型完全基于触觉数据来分类抓取是否成功,而 NLP 支持的模型除了触觉数据外,还会接收一个自然语言提示。两个模型都有相同的特征提取网络,将 DIGIT 的触觉图像编码成一个特征向量(见图 1 的 (c) 部分)。

a)抓取成功分类器使用从触觉图像中提取的特征向量和从自然语言提示中提取的特征向量来分类抓取是否会成功。基线模型具有相同的结构,尽管没有提供自然语言嵌入。

(b) 自然语言分类器将自然语言提示映射到一个 6D 特征向量上,代表六种可能的物体类别。这是通过从预训练模型 CLIP 中提取自然语言嵌入,并通过三个全连接层传递,然后应用 softmax 函数来完成的。

(c) 触觉 CNN 从 DIGIT [10] 传感器生成的两个触觉 RGB 图像中提取触觉特征。每个图像的 RGB 通道被附加在一起,形成一个 6 通道的输入图像。在图像被三个 2D 卷积层处理之前,首先进行初始平均池化以降低每个图像的维度。在每个卷积层之后,我们应用最大池化。最后,使用自适应平均池化将特征向量映射到一个通用大小,以便输入到抓取成功分类器中。

我们使用 ReLU 作为非线性激活函数,并采用批量归一化进行正则化。这个模型生成的展平特征向量随后被输入到抓取成功分类器中,如图 1 的 (a) 部分所示。

基线分类器仅使用这个特征向量进行工作,而我们的 NLP 基础分类器则附加了一个六维的自然语言特征向量。为了生成这个向量,我们使用了 CLIP [15],特别是 "ViT-L/14" 模型,作为一个预训练的 NLP 单元来提取我们最初的提示嵌入。

我们选择 CLIP 是因为这个网络是在视觉和语言数据上训练的,因此可能能够在语言嵌入中捕捉到一些几何上下文。CLIP 生成的嵌入随后由图 1 的 (b) 部分所示的自然语言分类器处理。结果是一个六维向量,每个维度对应于六种物体中的一个。我们选择进一步处理 CLIP 嵌入,以确保自然语言分类器能够编码当前正在被抓取的物体。

NLP 基础模型和我们的基线模型都使用一个全连接网络来根据它们各自的特征向量输入分类抓取是否成功。这个网络的结构可以在图 1 的 (a) 部分看到。请注意,图中所示的 "NLP 分类器" 模块在我们的基线模型中是缺失的。

3.1 训练

基线方法和基于 NLP 的抓取分类器都是使用加权负对数似然和随机梯度下降进行训练的。初始学习率设为 0.002,每个时代我们应用指数衰减,衰减系数为 γ = 0.9。模型训练了 50 个epoch。我们使用了一个预训练的自然语言分类器。在训练基于 NLP 的模型时,我们冻结了属于底层 CLIP 特征提取器的权重,但训练了模型的其余部分。

对于我们的基于 NLP 的模型,我们预先训练了自然语言分类器,以便根据输入提示识别物体类别。这个预训练是使用交叉熵损失和随机梯度下降作为优化器进行的。学习率初始设为 0.0002,并在每个时代指数衰减,衰减系数为 0.99。训练在完整的提示数据集上进行,总共训练了 200 个epoch。在训练过程中,我们通过在前两个线性层应用 Dropout 来正则化模型。

图 2:在完整模拟数据集上进行的实验的混淆矩阵。左边是我们基线模型的混淆矩阵,而右边的混淆矩阵是由我们的 NLP 支持分类器生成的。混淆矩阵是通过对我们交叉验证方案的所有五个折的平均计算得出的。我们可以看到,基线模型在正向预测上略微偏向于 NLP 支持分类器,但这些差异是最小的。

4 结果和结论

我们根据模型的 f1 分数来评估和比较它们,以抵消数据集高度不平衡的问题。模型是在 5 折交叉验证方案中训练的。所呈现的结果是通过计算所有五个交叉验证折的平均性能得出的。

在混合数据集上的性能:由于我们的目标是探索将自然语言上下文整合到触觉抓取模型中是否有益以及如何有益,我们首先测试了我们的 NLP 支持分类器与基线模型的表现。我们发现后者在 f1 分数上达到约 0.745 的峰值,而前者仅在这一结果上略有提高,f1 分数约为 0.747。

在单一物体数据集上的性能:除了双模态输入外,我们还在数据子集 {Ds1, Ds2, Ds3, Ds4, Ds5, Ds6} 上训练和评估了我们的基线模型。然后我们平均了这六个模型的性能,并将这些模型的平均性能与混合数据集 Ds 上基线模型的性能进行了比较。实验表明,这六个单一物体模型的平均 f1 分数达到 0.746 的峰值,这与基线相比并没有显著提高。这意味着基线已经和每个只适应一种物体形状的模型集合一样好。结果表明,触觉信息已经捕捉到了大量物体信息,而语言并没有提供更多有用的上下文。识别在触觉观察方面有相似抓取但抓取结果不同的物体可能是有用的,例如,抓取一个小球与抓取鼓棒的球形尖端。

总之,NLP 支持的模型目前在模拟数据集上并没有显著优于我们的基线。我们相信,使用重量、表面摩擦和/或刚度变化更真实的物体将给我们机会在我们的数据集的语言组件中编码更相关的特征。如果我们将手头的任务从简单地预测抓取稳定性转变为生成完整的抓取解决方案,我们目前编码的特征也可能变得更相关。

  • 17
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值