Instruct2Act: Mapping Multi-modality Instructions to Robotic Actions with Large Language Model

发表时间:18 May 2023

作者单位:Shanghai Jiaotong University

Motivation:受llm和多模态基础模型结合的巨大潜力的启发,我们的目标是开发一般的机器人操作系统。我们能否构建一个类似 ChatGPT 的机器人系统,robotic manipulation, visual goal-reaching, and visual reasoning。

解决方法:本文介绍了 Instruct2Act,这是一个框架,它利用大型语言模型将多模态指令映射到机器人操作任务的顺序动作。具体来说,Instruct2Act 使用 LLM 模型为机器人任务生成构成全面感知、规划和动作循环的 Python 程序。在感知部分,预定义的 API 用于访问多个基础模型,其中 Segment Anything Model (SAM) 准确定位候选对象,CLIP 对它们进行分类。(预定义的API是什么? 可以是任意的视觉模型,比如SAM,clip)。通过这种方式,该框架利用基础模型的专业知识和机器人能力将复杂的高级指令转换为精确的策略代码。

The contributions of our papers can be summarized as follows:

General-purpose robotic system:Instruct2Act,它利用llm的上下文学习能力和多模态指令从自然语言和视觉指令中生成中级决策动作。(middle-level decision-making actions,应该指的就是生成的可以直接调用API的code,不是hilg-level的规划,也不是直接生成low-level的动作。)

Flexible modality inputs: This paper investigates unified modality instruction inputs on robotic tasks, such as manipulation and reasoning,并提出了一种灵活的检索架构来处理不同的指令类型

Strong zero-shot performance with minimal code overhead:The proposed Instrcut2Act has shown superior performance in comparison to state-of-theart learning-based policies, even without fine-tuning。此外,与从头开始训练方法相比,使用基础模型的适应效果相对较小。

实现方式:Instruct2Act allows a robot to execute a sequence of actions based on an instruction from the user and an observation image captured by a top-view camera. 任务相关变量,包括任务指令中使用的image crops和图像到图像的转换,存储在可以通过API访问的环境缓存C中。基于这些信息,该系统在可用的低级控制器的帮助下生成机器人执行的可执行动作代码。为了指导LLM的输出,我们将API定义和上下文示例提供给LLM。从任务指令开始,该框架利用LLM生成可执行代码,该代码调用带有api的视觉基础模型来识别环境。通过识别的对象语义信息,我们生成可信的动作,这些动作被发送到低级控制器来执行任务。

LLM 的输出是一个字符串格式的 Python 函数,可以由 Python 解释器执行以驱动机器人的动作。(输出是代码,直接调用对应的API去完成操作,没有小脑。)

细节:对SAM的输入图像使用预处理(为了减轻阴影的影响(机械臂也有阴影),我们应用了一个灰度阈值滤波器和一个形态闭合操作,在将图像发送到SAM之前填充小孔),输出使用后处理(在 SAM 的分割操作之后,我们执行形态学打开操作以消除过小的孔或未连接的间隙;我们还过滤掉大小不合理的掩码,并使用非最大抑制 (NMS) 减少冗余掩码输出)。

根据视觉和语言的相似性定位被操作的对象物体。给定指令,LLM 确定占位符字符串(Put <dragged obj> into <base obj>)以完成查询,该查询用于从缓存 C 中获取相应的对象image crop I。某些任务需要场景级别的理解,如 Rearrange 到这个<scene> 的任务所证明的那样。为了满足这一指令,我们首先在目标场景图像中获取每个可能的对象及其对应的特征向量。为了满足这一指令,我们首先在目标场景图像中获取每个可能的对象及其对应的特征向量。然后,我们使用匈牙利算法(也是基于相似度计算的)来确定目标场景图像与当前观察到的图像之间的对应关系.

实验:VIMABench [15] (17 tasks in total), on an NVIDIA 3090Ti GPU。

结论:使用LLM作为机器人驱动程序有几个优点:

  1. 首先,LLM API 生成的机器人策略非常灵活,因为可以调整上下文示例以指导 LLM 的行为并适应新的任务。

  2. 其次,通过直接利用视觉基础模型,不需要收集训练数据或进行训练过程,基础模型的任何改进都可以提高动作的准确性,而不会带来额外的成本。

  3. 最后,简单的 API 命名和可读的 Python 代码使生成的策略代码具有高度可解释性。

此外,由于视觉模型是通过 API 访问的,因此它们可以很容易地替换为其他视觉基础模型。然而,这种探索目前不是我们的主要关注点,留待未来的工作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ming_Chens

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值