Decision-Making in Robotic Grasping with Large Language Models
使用大型语言模型进行机器人抓取的决策制定
公众号:AIRoobt
摘要:最近在大型语言模型方面的进步突显了它们编码大量语义知识以支持长期自主决策的潜力,这使它们成为未来家庭助理机器人认知能力的有前景的解决方案。然而,尽管大型语言模型可以提供高层次的决策,但目前还没有统一的范式将它们与机器人的感知和低级动作整合起来。在本文中,我们提出了一个以大型语言模型为中心的框架,与视觉感知和运动规划模块集成,以研究机器人抓取任务。与传统方法不同,后者只关注生成稳定的抓取,我们提出的方法可以处理个性化的用户指令,并在家庭场景中更有效地执行任务。我们的方法以简单有效的方式集成了现有的最先进模型,无需任何微调,这使得它成本低且易于部署。在物理机器人系统上的实验证明了我们方法的可行性。
1 引言
能够执行各种日常任务的家庭助理机器人是机器人研究的长期目标[1-3]。在本文中,我们研究了家庭助理机器人操纵的基本任务:在场景中抓取符合用户需求的物体(图 1)。执行此任务面临两个主要挑战:(1)非结构化的家居环境为机器人的感知和控制引入了不确定性,例如,目标物体的形状和随机姿态各不相同,这可能导致操纵失败;(2)自然语言可能含糊不清,这对机器人理解用户的意图提出了挑战,例如,“我口渴了”这句话可能指的是水杯或汽水罐。
图 1. 机器人需要通过视觉观察和语言模型决策,在非结构化环境中抓取与用户意图对齐的物体。
早期的机器人抓取方法假设对物体有完整的 3D 先验知识,使用分析方法找到夹持器配置[4-6],然后基于规划算法生成轨迹[7,8]。这种范式无法处理上述两个挑战。随着深度学习的快速发展,许多研究人员专注于构建大规模数据集[9-11],并应用监督学习直接从视觉观察(如 RGBD 图像[12]或点云[13,14])输出抓取姿态。数据驱动范式在抓取未见过的杂乱物体方面表现出色,甚至在非结构化环境中展示了几乎人类水平的抓取能力[14]。然而,这些方法与任务无关,这意味着它们不关心被抓取物体的目的。
自然语言可以提供一个直观的接口来指定目标,并在任务之间隐式传递概念。最近,研究人员研究了使用模仿学习和强化学习为机器人生成语言条件策略的问题[15-17]。语言模型[18-20]被应用于提供执行复杂语言指令所需的高级知识。这些方法结合了广泛的语义理解和精确的空间动作,使机器人能够遵循丰富多样的语言指令。然而,它们仍然需要精确的语言指令,例如“把蓝色积木放进绿色碗里”[17],并且无法处理自然语言的含糊和歧义。
最近在大型语言模型(LLMs)[21]方面的进步展示了在提示基础上生成复杂且可靠文本的惊人潜力,这可以应用于各种下游机器人任务。谷歌和 Every Robots 提出了一个名为 SayCan 的框架[22],该框架从 LLMs 中提取并利用高级知识进行物理接地任务。Lin 等人[23]提出了一个基于语言的规划框架,使机器人能够解决需要长期推理的顺序操纵任务。然而,这些方法需要通过强化学习进行额外的微调,以使 LLMs 的输出与现实世界中的可行动作对齐。微软的研究人员描述了一系列设计原则,可以指导语言模型解决机器人任务[24]。这一新范式旨在为 ChatGPT 创建一个简单的高级功能库来处理,然后将其链接到后端选择的平台的实际 API,以便以零样本的方式解决与机器人相关的任务。
(注释: 最后一句话的意思是,为了使ChatGPT能够处理与机器人相关的任务,需要开发一个功能库。这个功能库应该是简单的,但同时也要足够高级,以便能够处理复杂的任务。开发完成后,这个功能库需要与后端选择的平台的API进行链接。这里的“后端选择的平台”可能指的是某种服务器或云服务,它提供了API(应用程序编程接口)供其他程序调用。
“零样本”(zero-shot)的意思是,这个功能库应该能够在没有特定训练样本的情况下解决任务。也就是说,它应该能够理解并执行那些在训练过程中没有直接遇到过的任务。这通常需要功能库具有一定的通用性和适应性,能够通过理解任务的上下文和目标来推断如何执行。)
受 ChatGPT for Robotics 的启发,我们提出了一个新的机器人抓取框架,该框架将大型语言模型与视觉感知和运动规划模块集成。我们的方法基于使用自然语言提示为机器人提供高级指导的想法,同时利用视觉信息在非结构化环境中实现对物体的准确和高效抓取。感知模块处理场景中的视觉观察,提取语义信息,这些信息作为提示与用户指令一起输入到大型语言模型中。然后,大型语言模型根据输入产生决策,这些决策被感知模块用来计算机器人末端执行器的抓取姿态。运动规划模块生成轨迹以完成相应的动作,使机器人能够抓取目标物体。我们提出框架的一个关键优势是其能够理解不精确的语言命令,使其能够在任务环境中抓取物体,而无需微调或示范。这种方法显著降低了框架的部署成本,使其非常适合实际应用。我们通过一系列现实世界的机器人实验评估了我们提出框架的有效性。
2 方法
我们利用大型语言模型使机器人能够理解用户的意图并在开放世界中做出自主决策。下面,我们将描述如何将大型语言模型与视觉感知和操纵集成,并在图 2 中的现实世界机器人抓取系统上部署该方法。
2.1 问题表述
给定一个随机的自然语言指令 lt,比如“我想吃点东西,但我在节食”,以及作为视觉观察的 RGBD 图像 ot,我们的目标是使用大型语言模型作为最优策略 π(a|s),以输出最符合用户意图的动作。
2.2 视觉感知
开放世界中的对象检测。为了使机器人能够在开放环境中执行检测任务,将场景中的视觉信息转换为语义信息至关重要。传统的对象检测方法在封闭集数据集上训练,并且需要针对特定任务进行微调。为了缓解这个限制,我们利用 CLIP 模型[20]执行视觉-语义匹配。首先,我们使用预训练的 Mask2former 模型[25]进行对象检测,将 ts 置信度阈值设置为零,以输出一系列可能包含对象的 N 张图像裁剪。我们并行维护一个 M 常见对象类别的列表,并将每个名称填充到提示模板“一张 xxx 的照片”中。使用 CLIP 模型[20],我们在嵌入空间中联合编码图像裁剪和文本提示,以确定它们的余弦相似度(见公式 1),这表示图像裁剪和文本提示之间的匹配程度。我们使用 softmax 函数将相似度矩阵转换为概率矩阵。通过在每行中寻找最大值,我们确定图像裁剪所表示对象的索引。此外,我们可以设置一个概率阈值来过滤掉不正确包含对象的图像裁剪。
(注释:
想象一下,你有一个机器人,它需要在一个没有限制的环境中(比如一个真实的房间或者户外环境)找到并识别不同的物体。为了让机器人能够做到这一点,我们需要让它理解它通过摄像头看到的东西。
通常,机器人学习识别物体的方式是在一些有限的、预先定义好的物体集合上进行训练。但这种方法有个问题,就是机器人可能只能在它训练过的环境中工作得很好,一旦遇到新的物体,它就可能不知所措了。
为了解决这个问题,我们使用了一种叫做CLIP的智能模型。CLIP模型可以帮助机器人理解它看到的图像和一些描述物体的文字之间的关系。我们首先用一个叫做Mask2former的模型来找出图像中可能存在物体的部分,然后我们创建一个列表,列出我们想要机器人能够识别的常见物体。
接下来,我们用CLIP模型来比较图像中的一部分(我们认为是物体的部分)和我们列表中的文字描述。CLIP模型会告诉我们,图像中的这部分和文字描述有多相似。我们用一个特殊的数学方法(叫做余弦相似度)来衡量这种相似度,然后我们用另一个方法(叫做softmax)把这些相似度转换成概率,这样我们就可以知道每个物体的可能性有多大。
最后,我们找出概率最高的物体,这就是我们认为图像中的那个物体。如果我们觉得某个物体的可能性不够高,我们还可以设置一个标准,只有当物体的可能性超过这个标准时,我们才认为机器人真的找到了正确的物体。
通过这种方法,我们的机器人就可以在没有事先训练过的环境中,识别出各种各样的物体了。)
余弦相似度 = Vectext · Vecimg / (||Vectext|| ||Vecimg||) (1)
杂乱环境中的抓取检测。在非结构化环境中操作的家庭助理机器人需要感知物体的可操作性,即机器人抓取任务的 6-DOF 末端执行器姿态。在本文中,我们使用 GraspNet[10] 的基线模型,该模型可以基于点云输入在杂乱场景中密集生成 6-DOF 抓取姿态。然而,这种方法是实例不可知的,这意味着我们不知道每个抓取姿态对应哪个对象。
(注释:这里的“实例”指的是场景中的每一个单独的物体。所谓的“实例不可知”意味着,当我们使用GraspNet模型生成抓取姿态时,我们无法知道这些姿态具体是针对场景中的哪一个物体。换句话说,模型可以告诉我们很多可能的抓取方式,但它不会告诉我们这些方式是用来抓取哪个具体物体的。这就像是,模型给了我们一张抓取动作的清单,但没有告诉我们这些动作是用来抓取清单上的哪一个物体。这在实际应用中可能会导致问题,因为我们可能需要知道每个抓取姿态对应的具体物体,以便进行精确的抓取操作。)
鉴于此,我们优化了流程以实现实例级别的抓取(见图 3)。首先,我们将带有分割掩模的 RGBD 图像转换为 3D 点云(见公式 2),这些点云被输入到 GraspNet[10] 中以生成 6-DOF 抓取姿态。对象点云,作为场景点云的子集,可以使用分割掩模索引获得。然后,我们根据预定义的规则(见公式 3)将抓取姿态与最近邻对象点云匹配。值得注意的是,我们可以通过使用 GraspNet[10] 输出的置信度分数作为几何可行性,进一步增强大型语言模型的决策结果的鲁棒性。
(注释:
1. **转换图像为点云**:首先,我们有一些带有特殊标记(叫做分割掩模)的彩色深度图像。这些图像不仅告诉我们物体的颜色(RGB),还告诉我们物体的深度信息(D)。我们用这些信息把图像转换成一种叫做3D点云的数据。3D点云就像是一堆小点,每个点都代表了现实世界中的一个物体表面的位置。
2. **生成抓取姿态**:接下来,我们把这些3D点云数据输入到一个叫做GraspNet的智能系统里。GraspNet会帮助我们计算出如何用机器人的手臂和手去抓取这些物体。它会告诉我们一个6自由度(6-DOF)的抓取姿态,这意味着它可以从六个不同的角度去抓取物体。
3. **匹配抓取姿态**:然后,我们需要找出哪些点云代表我们想要抓取的物体。我们用分割掩模来帮助我们找到这些点云。分割掩模就像是一张地图,告诉我们哪些点属于我们想要的物体。
4. **优化决策**:最后,我们用一些规则(可能是基于距离或其他因素)来决定哪个抓取姿态最适合抓取最近的物体。我们还可以用GraspNet给出的置信度分数来判断这个抓取姿态是否靠谱。这个分数就像是GraspNet对我们选择的抓取姿态的“信任度”。如果分数高,我们就更有信心这个姿态是正确的。这样,我们就可以确保机器人的抓取动作既准确又可靠。
简单来说,这个过程就像是我们告诉机器人:“看,这里有一些物体,我们想要你抓取这个。”然后机器人会计算出最好的抓取方式,并确保它能够稳稳地抓住物体。)
(注释:公式(3)是一个二元函数,它根据物体抓取点与物体之间的距离来决定是否成功抓取物体。如果物体抓取点与最近的物体之间的距离小于一个阈值disthreshold,则认为抓取成功,返回1;否则,返回0。这里的函数定义如下:
图2. 我们的框架包含三个组件:(a) 一个感知模块,从视觉观测中定位场景中的潜在目标物体,并生成抓取姿态,同时评估执行的可行性;(b) 一个大型语言模型决策模块,将物体提示和用户指令结合,以选择最适宜且可行的目标物体;(c) 一个运动规划模块,根据决策结果生成机器臂的运动轨迹。
(注释:图片中描述了一个由三个主要组件组成的框架,这个框架用于处理机器人在视觉环境中的任务,如识别物体、做出决策和规划运动。下面是对这个框架的结构原理的解释:
1. **感知模块(Perception Module)**:
- 这个模块负责从视觉观察中定位潜在的目标物体。
- 它生成抓取姿势(grasp poses),这些姿势是机器人手臂和手部可能采取的动作,以便抓取物体。
- 同时,这个模块评估执行这些抓取姿势的可行性,确保机器人能够实际执行这些动作。
2. **大型语言模型(LLM)决策模块(LLM Decision-Making Module)**:
- 这个模块结合了物体的提示(prompts)和用户的指令来选择最合适和可行的目标物体。
- 它可能使用自然语言处理技术来理解用户的意图,并根据场景中可用的物体来做出决策。
- 例如,如果用户想要喝含苏打水的饮料,而场景中只有可乐可用,这个模块会选择可乐作为最佳选项。
3. **运动规划模块(Motion Planning Module)**:
- 一旦决策模块确定了目标物体,运动规划模块就会根据决策结果生成机器人手臂的运动轨迹。
- 这个模块负责计算机器人手臂从当前位置移动到抓取位置的路径,确保动作的平滑和效率。
整个框架的工作流程可能是这样的:首先,感知模块通过视觉系统识别场景中的物体,并生成可能的抓取姿势。然后,决策模块根据用户的指令和场景中的物体信息,选择一个最合适的物体作为抓取目标。最后,运动规划模块计算出机器人手臂到达该物体并执行抓取动作的路径。这个框架结合了视觉处理、自然语言理解和运动规划,使得机器人能够在复杂环境中执行任务。)
图 3. 我们优化了我们的流程,以便简单地生成实例级别的抓取姿势。左侧图表示由GraspNet [10]直接输出的姿势,而我们在右侧生成的匹配姿势则以相应的颜色显示,指示相关联的物体。
2.3 使用大型语言模型(LLMs)进行决策
通过利用大型语言模型中包含的丰富语义知识,机器人在面对复杂且微妙的情况时,可以做出明智且符合上下文的决策,从而最终提高它们的决策能力。由LLMs生成的文本的质量和鲁棒性在很大程度上取决于提示工程。因此,有效的提示设计,使得LLMs的决策能够适应特定的机器人任务场景,应该是机器人研究者的主要关注点。在本文中,我们设计了一个简单而有效的提示链,它生成了几个中间步骤,最终导致我们问题的最终解决方案。最初,用户的自然语言指令和从感知模块提取的语义信息被呈现给大型语言模型(LLM),它隐式地结合了任务目标和约束。随后,我们使用提示引导机器人通过一个包含三个步骤的决策过程:理解用户的意图,识别相关物体,以及选择最优解决方案。更多细节在图4中有所展示。
图 4. 我们提出了一种提示工程方法,它增强了机器人决策的鲁棒性,与单步直接输出结果相比。此外,当最优选项在几何上不可行时,这种方法通过使用替代方案来避免失败。
2.4 运动规划
与优先考虑时间或能量优化以提高生产效率的工业机器人不同,家庭助手机器人必须优先考虑平滑、无碰撞的轨迹,以增强操作安全性。一旦感知和决策模块完成了它们的任务,我们可以直接获得与自然语言指令相对应的物体的6自由度(6-DoF)抓取姿势。在这项工作中,我们简单地采用了来自OMPL库[26]的知情RRT*算法[8],以满足机器人抓取任务的性能要求。
3 真实世界实验
为了在实际的机器人系统中实现我们的方法,我们使用了一款7自由度的Kinova Gen3机械臂和一个双指Robotiq-85夹具,该夹具还配备了两个RealSense RGBD摄像头。坐标系之间的转换是通过手眼和手到手校准获得的。此外,我们配置了一个音频转文本设备,以直接获取用户指令。我们随机选择了四种适合Robotiq-85夹具的实验室物体,包括鼠标、可乐罐、茶杯和苹果,并将它们以随机姿势放置在桌子上。
图 5. 运动规划的一个示例。
在实验过程中,我们使用RealSense摄像头获得的RGBD图像来检测物体并生成抓取姿势。然后,我们根据我们提出的提示格式,将语言指令和场景的语义信息输入到GPT-3 API [19]中,等待它输出决策结果。在获得目标物体后,我们使用ROS系统将相应的6自由度抓取姿势发送到运动规划节点,该节点生成轨迹并控制机器人手臂完成动作。我们进行了多次实验以验证这个框架的有效性。实验过程和实验结果的可视化展示在图6和图7中。此外,为了更好地理解大型语言模型的决策过程,我们在图8中提供了一个使用ChatGPT [24]网页的机器人决策示例(为了更好的可视化)。
图 6. 我们框架决策过程的可视化。
图 7. 遵循用户个性化语言指令成功完成任务的实验结果。这些实验验证了我们方法在实际部署中的可行性。
图 8. 使用ChatGPT的一个决策示例。
4 结论
我们提出了一个机器人抓取框架,它利用人类的自然语言指令,结合大型语言模型,并整合视觉感知和运动规划模块,使家庭助手机器人能够在杂乱环境中自主决策并抓取目标物体。我们的框架具有无需微调、成本低、易于部署的优势,并且其有效性已在实际世界实验中得到证明。我们的工作展示了结合大型语言模型和机器人的潜力,尽管我们也承认存在一些局限性。
首先,由于实际世界实验的时间成本、复杂性和安全考虑,我们的实验主要集中在可行性验证上,并没有建立评估基准。其次,我们仅关注了抓取这一简单动作,这本质上是一个短期操纵任务。未来的工作可以研究:(1)整合更先进的视觉模块和运动规划模块以提高整个系统的性能;(2)在模拟环境中建立评估基准;以及(3)扩展机器人技能库并考虑长期操纵。