【发表时间】2024.03.23
【英文标题】SMART-LLM: Smart Multi-Agent Robot Task Planning using Large Language Models
【会议期刊】IROS 2024【CCF C 】
【原文链接】https://arxiv.org/pdf/2309.10062
【项目地址】https://sites.google.com/view/smart-llm/
【论文代码】https://github.com/SMARTlab-Purdue/SMART-LLM
【声明】本文是本人根据原论文进行翻译,有些地方加上了自己的理解,有些专有名词用了最常用的译法,时间匆忙,如有遗漏及错误,望各位包涵并指正。
摘要——在这项工作中,我们引入了 SMART - LLM,这是一个为具身多机器人任务规划而设计的创新框架。SMART - LLM:利用大语言模型(LLMs)的智能多智能体机器人任务规划,利用大语言模型的能力将作为输入提供的高级任务指令转换为多机器人任务计划。它通过执行一系列阶段来实现这一目标,包括任务分解、联盟形成和任务分配,所有这些都在少样本提示范式内由程序化的大语言模型提示引导。我们创建了一个基准数据集,用于验证多机器人任务规划问题,涵盖了在任务复杂性上有所不同的四类高级指令。我们的评估实验跨越了模拟和现实世界场景,表明所提出的模型在生成多机器人任务计划方面可以取得有前景的结果。这项工作的实验视频、代码和数据集可以在SMART-LLM网页找到。
一、引言
近年来,多机器人系统在从家务任务 [1] 到搜索和救援任务 [2] 以及仓库自动化 [3] 等各种应用中日益突出。这些由多个自主机器人组成的系统,可以在众多任务中大大提高效率、可扩展性和适应性。通常,这些机器人阵列在个体智能体的类型和技能水平方面表现出异构性。因此,整体系统复杂性增加,强调了在这些智能体之间巧妙分配任务的至关重要性。在多个智能体之间有效分配复杂任务涉及几个关键步骤,包括任务分解、将子任务分配给合适的智能体,以及确保正确的任务排序 [4]。这种能力需要获取关于任务的外部知识或特定领域信息。

传统的多机器人任务规划在处理多样化任务和复杂环境时往往存在困难,依赖于固定算法。依赖固定算法使得在不大量修改代码的情况下从一个任务转换到另一个任务变得复杂。当任务用自然语言描述时,这些挑战会加剧,因为这样的描述可能缺乏精确性和完整性。例如,图 1 中的任务:“在昏暗的房间里关闭笔记本电脑并看电视”。值得注意的是,这个任务描述没有明确提到在看电视之前关灯。鉴于指令的不完整和模糊性,利用广泛的先验知识来解释任务并帮助进行高效的任务规划至关重要。
大语言模型(LLMs),如 GPT - 4 [5]、GPT - 3.5 [6] 和 Llama2 [7],在理解自然语言、逻辑推理和泛化方面表现出了非凡的能力。这为增强多机器人系统中的理解和规划提供了令人兴奋的机会。在本文中,我们介绍了 SMART - LLM,这是一种使用大语言模型向具身智能体分配任务的创新机制。SMART - LLM 为大语言模型提供了 Python 编程脚本,这些脚本封装了复杂的机器人技能和环境细节,包括对象信息。它还根据机器人的能力和环境提供了任务分解和分配的实际示例。利用编程语言结构,SMART - LLM 利用了大语言模型可用的大量互联网代码片段和文档数据集。如图 1 所示,当处理复杂任务时,SMART - LLM 将任务划分为子任务,每个子任务与特定的对象或动作相关。然后,这些子任务被组合并委托给具有执行它们所需技能的合适机器人。这项工作的主要贡献有三个方面:
- 多机器人任务规划框架,通过利用大语言模型整合任务分解、联盟形成和基于技能的任务分配。
- 基准数据集:一个用于评估多智能体任务规划系统的基准数据集,涵盖了从基本到复杂的各种任务,在 AI2 - THOR [8] 模拟平台中。
- 框架在模拟和现实世界环境中的实现和评估,在广泛的任务中进行了全面测
二、相关工作
2.1 多机器人任务规划
多机器人任务规划在机器人技术中很重要,需要机器人之间进行有效的协调。通常,多机器人任务规划过程包括四个不同的阶段:任务分解、联盟形成、任务分配和任务执行 [4]。任务分解需要将给定任务细分为可管理的子任务。分解方法可以是特定于任务的 [9],或者需要大量数据来生成策略 [10]。特定于任务的分解方法不能被推广,并且收集先验知识来分解各种任务可能会带来重大挑战。一种现代的、直观的策略是使用自然语言来描述任务,并利用预训练的语言模型(配备了各种领域知识)将它们分割为子任务,并随时间预测它们的顺序 [11,12]。类似地,在 SMART - LLM 中,我们使用大语言模型将任务解构为与机器人技能相匹配的动作,以便机器人能够无缝执行。
在联盟形成和任务分配中,有效地将分解后的任务分配给多个智能体对于给定任务的有效完成至关重要。为此,已经采用了许多方法,包括协商 [13]、拍卖 [14]、基于共识的策略 [15] 和强化学习 [16]。虽然这些方法表现出可靠性,但它们通常根据特定的最终目标和应用进行定制和优化。这在将它们扩展到不同应用并在不同约束下进行优化时需要额外的努力。在我们的方法中,我们利用了大语言模型固有的通用性。这使得任务能够无缝扩展,允许以不同配置分配团队,而无需对代码中的约束进行额外修改。
根据一个方法可以执行的任务规划步骤的数量,自动化程度已经被概念化 [4]。大多数方法主要属于第一或第二级自动化。第一级仅自动化任务执行 [17,18];同时,第二级自动化任务分配和执行 [19,20],或者联盟形成和执行 [21];第三级自动化包括联盟、分配和执行,但不涉及任务分解 [22,23];在迈向第四级自动化的开创性步骤中,一种方法能够使用自然语言提示和长短期记忆(LSTM)熟练管理任务规划的所有四个方面 [24]。文献中的现有方法通常存在缺点,例如没有涵盖所有任务规划步骤;需要大量特定于任务的演示数据进行模型训练 [24],当面对未见过的任务时往往缺乏通用性,或者仅限于特定任务。我们的方法通过有效地执行所有四个任务规划步骤并利用大语言模型通过少样本训练方法在各种任务中进行泛化而脱颖而出。
2.2 用于机器人技术的大语言模型
大语言模型在泛化、常识推理方面表现出色,并且越来越多地被寻求用于机器人系统中 [26,27]。它们在为机器人制定任务计划方面发挥着重要作用,利用少样本或零样本学习方法 [6]。已经出现了各种使用大语言模型生成这些机器人任务计划的技术,包括基于价值函数的方法 [27,28] 和上下文驱动的提示 [29 - 32]。此外,大语言模型在提供反馈和改进任务计划以提高机器人性能 [33 - 35] 方面也很有用。
虽然大语言模型擅长创建灵活的任务计划,但在应用于更大的多智能体团队时面临挑战。在多智能体系统领域,已经在使用大语言模型增强智能体合作方面取得了进展 [36 - 38]。这些方法涉及为单个智能体配备自己的大语言模型,以改善交互并提高它们的协作技能。然而,这些方法优先提高多智能体系统效率,但没有解决为多机器人团队创建任务计划的具体任务。这些计划涉及根据机器人的技能和环境条件为单个机器人分配和排序任务。我们的方法侧重于异构机器人团队中的任务分解和分配,考虑单个机器人的技能。我们实现了多机器人任务规划,而无需为每个机器人单独配备大语言模型。这简化了规划,并为多机器人任务协调提供了统一的解决方案。
三、问题表述
给定一个高级语言指令\(I\),这项工作的目标是理解指令,计算完成任务所需的步骤,并制定一个能够执行的任务计划。任务以最大化利用可用机器人的方式执行,在可行的情况下并行执行任务。这些任务在一个封装了众多实体和对象的环境\(E\)中执行。我们假设给定的指令\(I\)可以在环境\(E\)中成功执行。 为了执行任务,我们有一组\(N\)个异构的具身机器人智能体\(\mathbb{R}=\{R^{1},R^{2},\cdots,R^{N}\}\)。设\(\Delta\)是一个智能体可能能够执行的所有技能或动作的集合。在这项工作中,我们假设机器人技能\(\Delta\)要么预先在系统中实现,要么有可用的API调用可以执行这些技能。每个智能体都拥有一组不同的技能\(\mathbb{S}=\{S^{1},S^{2},\cdots,S^{N}\}\),它们可以执行,每个技能都受到特定约束。这里,\(S^{n}\)表示机器人\(R^{n}\)的技能列表,并且对于\(n = 1,2,\cdots,N\),\(S^{n}\subseteq\Delta\)。例如,对于机器人技能“捡起物体”,可能存在机器人可以捡起的最大质量的约束。
现在,指令\(I\)能够依据机器人技能\(\Delta\)和环境\(E\)分解为一个暂时有序的\(K\)个子任务集合\(\mathbb{T}=\{T_{t_{1}}^{1},T_{t_{2}}^{1},\cdots,T_{t_{i}}^{K}\}\),其中\(t_{j}\)表示子任务的时间顺序,并且\(j\leq K\)。值得注意的是,部分子任务可以并行执行,具有相同的时间优先级。设\(T_{S}^{k}\)为机器人完成子任务\(T_{t_{j}}^{k}\)所需的技能列表,其中\(T_{S}^{k}\subseteq\Delta\)且\(T_{t_{j}}^{k}\in\mathbb{T}\)。基于\(T_{S}^{k}\),若\(T_{S}^{k}\subseteq S\)(其中\(R\in\mathbb{R}\)且\(S\in\mathbb{S}\)),则子任务可以分配给具有技能\(S\)的机器人\(R\)。在没有单个机器人满足此约束的情况下,就需要两个或更多机器人组成的团队来执行子任务。此时,我们会形成一个由\(Q\)个机器人组成的团队\(\mathbb{A}=\{A^{1},A^{2},\cdots,A^{Q}\}\),每个机器人都拥有技能\(\mathbb{S}_{A}=\{S_{A}^{1},S_{A}^{2},\cdots,S_{A}^{Q}\}\),使得\(T_{S}^{k}\subseteq\cup\mathbb{S}_{A}\)。
四、方法
所提出的方法利用大语言模型在多机器人任务规划的背景下执行任务分解、联盟形成和任务分配。我们的方法采用 Python 式提示来引导大语言模型生成用于任务分解和分配的代码。我们选择 Python 式提示而非自然语言提示,是因为它们有助于直接从大语言模型生成可执行代码。此外,Python 式提示遵循结构化语法,增强了大语言模型对提示的理解。
我们提供简洁的提示样本,带有逐行注释和块注释,给出每个步骤的任务摘要,帮助大语言模型理解并有效地生成代码。提示被构造为模仿典型代码,带有注释以描述示例任务。关于机器人技能和对象属性的详细信息被编码为 Python 字典,提供了大语言模型可以容易理解的简洁表示,并且还有助于减少标记大小。注释被精心构造,包含关于任务执行和分配要求的详细说明,使大语言模型能够理解并为新任务复制该过程。
4.1 任务阶段
4.1.1 第一阶段:任务分解(见第四部分A节)

任务分解阶段旨在将给定的指令\(I\)分解为一组独立的子任务\(T\),以及执行每个子任务的一系列动作。为了实现这一分解,我们会向系统提供关于环境\(E\)(涵盖环境中存在的对象和其他实体)的信息,以及机器人能够执行的基本技能列表\(\Delta\)。利用这些关于环境和机器人技能的信息,我们可以将任务分解为能够在该环境中利用机器人现有技能执行的子任务。 在进行初始的少样本大语言模型提示后,我们会向大语言模型提供多种信息,包括机器人技能的详细情况、环境信息、若干示例任务以及相应的基于Python代码的分解计划。大语言模型会综合这些信息以及需要分解的输入任务\(I\),进而生成子任务\(T\)。在图2的第一阶段块(对应任务分解部分)中,紫色框对应机器人技能列表\(\Delta\);蓝色框对应环境\(E\)的详细信息;绿色框对应作为提示一部分给出的分解任务样本;红色框对应给定的指令\(I\)。而图2第二阶段块中的红色框则是大语言模型的输出,其对应于子任务\(T\)。
输入:
- 提供了关于环境和任务的描述,例如 “Put Juice and Tomato in the Fridge”(将果汁和番茄放入冰箱)。
- 还包括一些代码示例和环境描述。
处理过程:
- LLM 接收这些输入,并进行任务分解。
- 图中显示了 LLM 处理过程中的一些代码片段,例如定义函数和识别子任务。
输出:
- 生成了任务分解的结果,包括子任务的定义和执行顺序,例如 “Put Juice in Fridge” 和 “Put Tomato in Fridge”。
4.1.2 第二阶段:联盟形成(见第四部分B节)
联盟形成用于构建机器人团队,以执行通过任务分解所计算出的每个子任务。在任务分解过程中,主要任务依据常识和环境\(E\)中存在的各类实体被分解为子任务\(T\)。然而,这种初始分解并未考虑单个机器人的特定技能\(S^{n}\)或它们执行每个子任务的能力。因此,在本阶段,我们会提示大语言模型分析执行每个子任务所需的技能列表\(T_{S}^{k}\)以及单个机器人的技能\(S^{n}\),从而确定每个子任务的合适机器人(们)。为达成此目的,我们向大语言模型提供分解任务的样本以及相应的联盟形成策略,这些策略描述了如何将可用机器人分配给子任务。 联盟策略包含关于机器人是否具备执行子任务所需的所有技能的陈述,以及当单个机器人执行子任务的能力存在技能差距时,如何通过引入额外的机器人来解决。我们所纳入的样本涵盖了多种情况:
1. 在某些场景中,单个机器人拥有执行子任务所需的所有技能,从而导致机器人与任务的一对一分配。
2. 在另一些情况下,没有单个机器人拥有执行子任务所需的所有技能,这就导致多个机器人需要在同一任务上协作。
3. 还有一种情况是机器人拥有子任务所需的技能,但受到某些限制(例如,对于拾取任务具有最大重量限制的机器人)。在这种情形下,就需要使用额外的机器人来克服这些限制。
通过将这些样本与分解任务\(T\)、可用机器人\(R\)及其技能\(S\)一同呈现给大语言模型,大语言模型会生成一个新的联盟形成策略,该策略概述了如何分配给定的机器人来执行输入任务。在图2的第二阶段块(对应联盟形成部分)中,绿色框表示作为提示一部分给出的样本分解任务;蓝色框展示了可用机器人\(R\)及其技能\(S\)以及环境\(E\)的详细信息;橙色框描述了联盟策略的一般总结,而在实验中我们实际使用的是样本分解任务的具体联盟策略;红色框则是需要为其生成联盟策略的分解任务。图2第三阶段块中的红色框是大语言模型的输出,其对应于子任务\(T\)和指令\(I\)的联盟形成策略。
输入:
- 包括任务分解的结果、环境中的对象列表和机器人的技能列表。
- 还提供了一些联盟形成的示例和策略。
处理过程:
- LLM 根据输入生成联盟形成策略。
- 图中展示了 LLM 处理过程中的代码,例如根据技能匹配机器人和任务。
输出:
- 生成了联盟形成策略,确定了哪些机器人执行哪些子任务。
4.1.3 第三阶段:任务分配(见第四部分C节)
任务分配涉及依据前一阶段所建立的联盟形成策略,将特定机器人或机器人团队精确地分配到各个子任务。与前几个阶段类似,我们会构建一个由分解任务样本、联盟形成策略和这些任务的分配计划组成的提示。通过结合分解后的子任务\(T\)以及为给定输入任务\(I\)先前生成的联盟形成策略,我们指示大语言模型根据联盟将机器人分配到每个子任务并生成可执行代码。根据联盟策略,一个子任务可能被分配给单个机器人或一组机器人。 图2的第三阶段块展示了样本分解计划(绿色框)、可用机器人及其技能列表(蓝色框)、它们的联盟策略(橙色框)和它们的分配计划(紫色框)作为提示的一部分,以及输入任务的联盟策略(红色框),以此在第四阶段块中生成最终的可执行代码(红色框)。
输入:
- 包括联盟形成策略、任务分解结果和一些任务分配示例。
处理过程:
- LLM 根据输入生成任务分配计划。
- 图中显示了 LLM 处理过程中的代码,例如根据联盟策略分配任务。
输出:
- 生成了任务分配计划,明确了每个机器人的具体任务。
4.1.4 第四阶段:任务执行(见第四部分D节)
大语言模型通过任务分配为多机器人团队生成任务计划,随后由解释器使用虚拟或物理机器人团队执行这些计划。这些计划通过对机器人的低级技能进行API调用得以执行,从而确保任务的有效执行。如图2的第四阶段所示,对于示例任务\(I = \)“关闭桌子和地板灯并看电视”的分配任务计划(红色框)由三个机器人组成的团队按照特定的时间顺序执行。在这个阶段,图中还展示了机器人执行任务时的视图序列以及指示正在进行的任务步骤的标题。绿色标记的标题对应于机器人完成的特定动作。
输入:
- 基于任务分配计划,生成可执行代码。
处理过程:
- 图中展示了任务执行的环境和机器人操作的快照。
- 显示了机器人执行任务的过程,例如打开冰箱和放入物品。
输出:
- 最终的可执行代码被执行,完成任务。

5 实验
5.1 基准数据集
为了评估 SMART-LLM 的性能,并与其他基线方法进行定量比较,我们创建了一个基准数据集,用于评估多机器人场景中基于自然语言的任务规划。该数据集源自 AI2-THOR [8] 中的环境和动作,AI2-THOR 是一个用于典型家庭活动的确定性模拟平台。数据集包含 36 条高级指令,用于描述任务以及相应的 AI2-THOR 平面图,为任务执行提供空间上下文。考虑到数据集的多机器人层面,我们纳入了执行任务所需的机器人数量信息,以及它们各自技能的完整列表。每个任务可用的机器人数量从 1 到 4 不等,且各自具备不同的技能,以便评估任务规划方法的可扩展性。
在数据集中,我们还包括任务的最终真实状态,记录任务完成后环境中相关对象及其条件的确定状态。该真实状态描述了实现任务成功所需的一组符号目标条件,包括对象在环境中的位置,以及任务正确执行后对象的状态,如加热、烹饪、切片或清洗等。除了最终真实状态,我们还提供任务执行期间机器人使用转换次数的数据。当一组机器人完成其子任务,允许另一组机器人接管时,就会发生转换。这量化了多机器人系统的利用率。如果在实验中任务没有适当并行化,且机器人未得到充分利用,子任务可能会顺序执行,而不是并发执行,从而导致机器人使用转换次数多于真实利用率。
为了评估我们提出的方法在不同任务复杂性下的性能,我们的数据集包含四个任务类别:
- 基本任务:专为单个机器人设计。在这些场景中,假设单个机器人具备所有必要的技能和能力,无需与多个机器人协调。
- 简单任务:涉及多个对象,可以分解为顺序或并行子任务,但不能同时进行。同样,所有机器人都具备所有必要的技能。
- 复合任务:类似于简单任务,执行策略具有灵活性(顺序、并行或混合)。然而,机器人是异构的,具有专门的技能和属性,允许单个机器人处理与其技能和属性匹配的子任务。
- 复杂任务:适用于异构机器人团队,在任务分解、多机器人参与和多个对象存在等特征上类似于复合任务。与复合任务不同的是,由于单个机器人在技能或属性方面的限制,无法独立执行子任务,需要进行战略团队分配,以利用它们的综合能力有效完成任务。
数据集包括 6 个被归类为基本任务的任务、8 个简单任务、14 个复合任务和 8 个复杂任务。
5.2 模拟实验
我们的方法在 AI2-THOR 模拟环境中进行验证,使用我们的基准数据集对其进行严格评估,并与基线方法进行比较分析。我们的实验设置包括各种示例提示,包括 5 个用于任务分解的 Python 计划示例、3 个用于联盟形成的示例和 4 个用于任务分配的示例。这些示例提示涵盖了可以使用线程并行化的任务、只能顺序执行的任务,以及涉及并行和顺序执行的任务。这种多样化的示例范围是为了反映多机器人任务规划不同阶段中存在的固有复杂性而精心设计的。
值得注意的是,示例提示与数据集中的任务不同,并且基于数据集中未包含的不同 AI2-THOR 平面图。因此,数据集中的所有任务在测试期间都被视为未见过的任务。我们使用各种语言模型作为 SMART-LLM 的骨干来评估它。我们采用 GPT-4 [5]、GPT-3.5 [6]、Llama-2-70B [7] 和 Claude-3-Opus [41] 来评估 SMART-LLM 在不同任务和各种语言模型上的性能。我们还将我们的方法与两个替代基线进行比较。在第一个基线中,我们使用我们的任务分解方法和提示,并将子任务随机分配给可用的机器人。第二个基线使用我们的任务分解方法以及基于 [40] 实现的基于规则的任务分配方法。两个基线方法都使用 GPT-4 来执行任务分解。
5.3 真实机器人实验
在我们的移动机器人真实实验中,我们评估了 SMART-LLM 在处理诸如解决可见性覆盖挑战 [42] 和拍摄对象图像等任务方面的功效。这些任务涵盖了需要可见性覆盖的不同大小区域以及需要拍摄图像的对象。我们使用具有独特技能集和可见性能力的空中和地面机器人来执行任务。SMART-LLM 用于根据这些特定要求生成任务计划。实现完全可见性覆盖所需的机器人数量取决于区域的大小和所涉及机器人的能力。我们假设我们的机器人具备基本的低级技能,包括 GoToLocation、ClickPicture 和 Patrol,这些技能对于熟练执行任务至关重要。为了在此框架内制定任务计划,我们依赖于在模拟实验中使用的相同提示样本,这些样本基于 AI2-THOR 模拟器。
5.4 评估指标
我们采用五个评估指标:成功率(SR)、任务完成率(TCR)、目标条件召回率(GCR)、机器人利用率(RU)和可执行性(Exe),遵循 [29] 中的方法。我们的评估基于数据集的最终真实状态,将其与执行后的实际状态进行比较,以评估任务成功与否。
- Exe 是任务计划中可执行动作的比例,无论其对任务完成的影响如何。
- RU 通过比较实验中的转换计数与数据集的真实转换计数来评估机器人团队的效率。当它们匹配时,RU 等于 1.0;当转换次数等于子任务数量时,RU 等于 0;否则,RU 介于 0 和 1 之间。
- GCR 通过计算真实最终状态条件与实际达到的最终状态之间的集合差,并除以数据集中特定任务目标的总数来量化。
- TCR 表示任务完成情况,与机器人利用率无关。如果 GCR = 1,则 TCR = 1,否则为 0。
- SR 是成功率,当 GCR 和 RU 都为 1 时,SR 为 1,否则为 0。当任务以适当的机器人利用率完成时,被视为成功。
6 结果与讨论
6.1 模拟实验
表 1 总结了我们的方法在使用不同的大语言模型(LLM)作为骨干以及基线方法在数据集未见过的任务上每个类别中的平均结果。总体而言,无论使用何种 LLM 骨干,SMART-LLM 始终能取得较好的结果。在基本任务中,SMART-LLM 能够熟练地分解给定任务并相应地分配机器人,但使用 GPT - 3.5 骨干时除外,它在分解某些任务时遇到了挑战。然而,当提供准确的任务分解时,随机分配的基线方法能够成功执行,因为所有机器人都具备所有必要的技能。

在简单任务中,结果取决于 LLM 将给定任务分解为适当执行顺序的能力。值得注意的是,使用 Claude - 3 作为骨干的 SMART-LLM 取得了更好的结果,尽管其他 LLM 也表现出了值得称赞的性能。GPT - 4 和 Claude - 3 达到了完美的 TCR 分数 1.0,但由于两个机器人顺序执行而不是并行执行,SR 较低,分别为 0.62 和 0.87,从而影响了 RU。随机任务分配经常失败,而基于规则的分配在 LLM 的任务分解遵循逻辑顺序时成功,产生与使用 LLM 进行分配相同的结果。
在复合和复杂任务中,我们的方法在所有 LLM 骨干上始终取得较好的结果,成功率达到 70%。我们观察到 SMART-LLM 在任务排序和机器人团队分配方面偶尔会遇到困难,这可以通过包含更多的提示样本来缓解。然而,某些 LLM 的令牌限制阻碍了这种优化。特别是,GPT - 3.5 与其他 LLM 模型相比表现不佳,可能是由于其逻辑推理能力的不足。有趣的是,只有 70B 参数的 Llama 2 与其他具有数万亿参数的模型相比表现同样出色。这一成功可归因于 SMART-LLM 的提示结构,使其即使在较小和较简单的模型上也能高效执行。因此,SMART-LLM 也可以部署在本地机器上。我们的分解方法采用随机分配,由于无法考虑环境状态和机器人技能,在基于技能的任务分配中通常会失败。基于规则的分配在需要识别具有适当技能的机器人的复合任务中表现令人满意。然而,在涉及对象属性的复合任务和团队形成依赖于特殊约束的复杂任务中,它会失败。虽然可以通过在代码中纳入更多约束来缓解这些缺点,但这种方法需要不断修改或添加以适应新场景。这种做法损害了方法的可扩展性和易适应性。这突出了 SMART-LLM 的可扩展性,因为它无需对新任务进行任何修改,使该方法具有高度可扩展性。所有实验的视频可通过https://youtu.be/TnyCKwgTm3U访问。

- 不可行场景:除了表 1 中呈现的结果外,我们还对更复杂的任务进行了评估,这些任务中没有一个机器人具备所需的技能。这种特殊场景未包含在表 1 中,因为无法为要测量的指标生成可行的代码。值得注意的是,我们使用 GPT - 4 和 Claude - 3 骨干的方法能够识别这种情况,并避免生成任何任务分配计划。相比之下,我们使用 GPT - 3.5 和 Llama 2 的方法生成了涉及不适合指定任务的机器人的任务分配计划。这种差异强调了 GPT - 4 和 Claude - 3 在识别和应对此类场景方面更强的逻辑推理能力。
- 性能可变性:LLM 固有的非确定性特征导致其结果存在一定程度的可变性 [43]。为了评估这种可变性,我们对数据集中每个类别中的随机选择的任务进行了 5 次独立运行。表 2 提供了我们使用 GPT - 4 作为骨干的方法在这些试验中观察到的结果的平均值和标准差。对于基本、简单和复杂任务,我们的方法始终产生可比的结果。然而,在复杂场景中,我们遇到了不一致性,导致机器人任务分配偶尔失败。
- 消融研究:我们利用一个基准数据集来评估我们方法的不同变体,考察 Python 提示中注释(逐行注释和任务总结注释)的影响。我们用不含此类注释的提示对我们的方法进行了验证。此外,我们通过移除联盟形成阶段,并基于任务分解结果直接分配任务,研究了联盟形成阶段的影响。表3 总结了以 GPT-4 作为基础模型时我们方法的各项消融情况。移除注释通常会降低成功率,这凸显了带有代码的自然语言指令的价值。值得注意的是,在移除注释后,简单任务和基本任务中的任务分解及分配表现相似,但在复合任务和复杂任务中表现欠佳,这表明注释有助于理解推理和逻辑结构。移除联盟形成环节导致成功率下降。这种下降主要归因于缺少针对任务分配的详细合理推理。没有联盟形成环节时,基本任务受到的影响最大,成功率从 1.0 降至 0.66,因为所有任务分配示例都涉及需要机器人组队的场景,从而导致对基本任务进行了不必要的多机器人分配。

6.2 真实机器人实验
在真实机器人实验中,我们首先针对具有不同面积区域和不同可见区域机器人的覆盖可见性任务测试了我们的方法。在对各种任务进行测试时,我们的方法正确生成了任务计划并分配了适当数量的机器人。尽管此任务完全未见过,并且没有涉及可见性等属性的示例提示,但我们的方法使用真实机器人无缝执行了该任务,弥合了模拟与现实世界应用之间的差距。在图 3 中,对于 “巡逻区域” 的指令,一个或多个机器人根据其可见性被分配到区域,并在这些区域巡逻。此外,我们在涉及导航和拍摄预定对象图像的任务中评估了我们的方法。尽管这些技能完全未见过,但 SMART-LLM 成功地按正确顺序生成了计划并拍摄了指定对象的图像。

7 结论与未来工作
在我们的研究中,我们深入探讨了大语言模型(LLMs)在为异构机器人团队生成任务计划方面的潜力。我们的方法引入了提示技术,旨在提高多机器人任务规划四个关键阶段的效率。每个提示都考虑了环境属性和单个机器人的能力,以生成任务计划。
我们的实验验证了所提出的方法能够处理不同复杂程度的任务指令。值得注意的是,我们的方法具有出色的适应性,使其能够无缝推广到新的和未探索的环境、机器人类型和任务场景。这种方法简化了从模拟到现实世界机器人应用的过渡,使模拟中的任务计划样本能够用于为真实机器人系统生成任务计划。在未来,我们旨在通过在机器人之间实现动态任务分配,并探索用于任务规划的多智能体 LLM 框架来改进我们的工作。
参考文献
[1] P. Benavidez, M. Kumar, S. Agaian, and M. Jamshidi, “为老年人和残疾人设计家庭多机器人系统”,发表于 2015 年第 10 届系统工程会议(SoSE)。
[2] J. P. Queralta, J. Taipalmaa, B. C. Pullinen, V. K. Sarker, T. N. Gia, H. Tenhunen, M. Gabbouj, J. Raitoharju, and T. Westerlund, “协作多机器人搜索与救援:规划、协调、感知与主动视觉”,《IEEE Access》,2020 年。
[3] Z. Chen, J. Alonso-Mora, X. Bai, D. D. Harabor, and P. J. Stuckey, “容量受限多智能体取货与送货的集成任务分配和路径规划”,《IEEE 机器人与自动化快报》,2021 年。
[4] Y. Rizk, M. Awad, and E. W. Tunstel, “协作异构多机器人系统综述”,《ACM 计算调查》(CSUR),2019 年。
[5] OpenAI, “GPT - 4 技术报告”,2023 年。
[6] T. Brown, B. Mann, N. Ryder, M. Subbiah, J. D. Kaplan, P. Dhariwal, A. Neelakantan, P. Shyam, G. Sastry, A. Askell, 等,“语言模型是少样本学习者”,《神经信息处理系统进展》,2020 年。
[7] H. Touvron, L. Martin, K. Stone, P. Albert, A. Almahairi, Y. Babaei, N. Bashlykov, S. Batra, P. Bhargava, S. Bhosale, 等,“Llama 2:开放基础和微调聊天模型”,arXiv 预印本 arXiv:2307.09288,2023 年。
[8] E. Kolve, R. Mottaghi, W. Han, E. VanderBilt, L. Weihs, A. Herrasti, M. Deitke, K. Ehsani, D. Gordon, Y. Zhu, 等,“AI2THOR:一个用于视觉人工智能的交互式 3D 环境”,arXiv 预印本 arXiv:1712.05474,2017 年。
[9] J. Motes, R. Sandström, H. Lee, S. Thomas, and N. M. Amato, “具有子任务依赖关系的多机器人任务和运动规划”,《IEEE 机器人与自动化快报》,2020 年。
[10] K. Shiarlis, M. Wulfmeier, S. Salter, S. Whiteson, and I. Posner, “TACO:通过时间对齐学习任务分解以进行控制”,发表于国际机器学习会议,2018 年。
[11] P. A. Jansen, “无视觉的视觉接地规划:语言模型从高级指令推断详细计划”,arXiv 预印本 arXiv:2009.14259,2020 年。
[12] K. Sakaguchi, C. Bhagavatula, R. L. Bras, N. Tandon, P. Clark, and Y. Choi, “prosScript:通过预训练语言模型生成部分有序脚本”,arXiv 预印本 arXiv:2104.08251,2021 年。
[13] Y. Kong, M. Zhang, and D. Ye, “一种基于协商的开放网格环境中带时间约束的任务分配方法”,《并发与计算:实践与经验》,2015 年。
[14] M. Braquet and E. Bakolas, “用于多智能体系统的贪婪分散式拍卖任务分配”,《IFAC - PapersOnLine》,2021 年。
[15] F. Zitouni, S. Harous, and R. Maamri, “一种使用基于共识的捆绑算法和蚁群系统解决多机器人任务分配问题的分布式方法”,《IEEE Access》,2020 年。
[16] W. Qin, Y. -N. Sun, Z. -L. Zhuang, Z. -Y. Lu, and Y. -M. Zhou, “基于多智能体强化学习的城市交通系统中车辆动态任务分配”,《国际生产经济学杂志》,2021 年。
[17] S. Barrett and P. Stone, “在复杂领域中与未知队友合作:机器人足球中临时团队合作的案例研究”,发表于《AAAI 人工智能会议论文集》,2015 年。
[18] P. Stegagno, M. Cognetti, L. Rosa, P. Peliti, and G. Oriolo, “异构多机器人系统中的相对定位和识别”,发表于《IEEE 国际机器人与自动化会议》,2013 年。
[19] G. P. Das, T. M. McGinnity, S. A. Coleman, and L. Behera, “一种用于医疗保健设施中多机器人系统的分布式任务分配算法”,《智能与机器人系统杂志》,2015 年。
[20] T. Mina, S. S. Kannan, W. Jo, and B. -C. Min, “多人类多机器人团队独立同构任务的自适应工作量分配”,《IEEE Access》,2020 年。
[21] Z. Liu, X. -g. Gao, and X. -w. Fu, “具有通信约束的多异构无人机协同搜索与追踪的联盟形成”,发表于《中国控制与决策会议》(CCDC),2016 年。
[22] E. G. Jones, B. Browning, M. B. Dias, B. Argall, M. Veloso, and A. Stentz, “动态形成的异构机器人团队执行紧密协调任务”,发表于《IEEE 国际机器人与自动化会议》,2006 年。
[23] M. Padmanabhan and G. Suresh, “多个自主机器人的联盟形成和任务分配”,发表于 2015 年第 3 届信号处理、通信与网络国际会议(ICSCN)。
[24] X. Liu, X. Li, D. Guo, S. Tan, H. Liu, and F. Sun, “从模糊指令进行具身多智能体任务规划”,《机器人科学与系统》,2022 年。
[25] A. Madaan, S. Zhou, U. Alon, Y. Yang, and G. Neubig, “代码语言模型是少样本常识学习者”,arXiv 预印本 arXiv:2210.07128,2022 年。
[26] W. Huang, P. Abbeel, D. Pathak, and I. Mordatch, “语言模型作为零样本规划器:为具身智能体提取可操作知识”,发表于国际机器学习会议,2022 年。
[27] M. Ahn, A. Brohan, N. Brown, Y. Chebotar, O. Cortes, B. David, C. Finn, C. Fu, K. Gopalakrishnan, K. Hausman, 等,“按我所能,而非按我所说:将语言基于机器人的可操作性”,arXiv 预印本 arXiv:2204.01691,2022 年。
[28] K. Lin, C. Agia, T. Migimatsu, M. Pavone, and J. Bohg, “Text2Motion:从自然语言指令到可行计划”,arXiv 预印本 arXiv:2303.12153,2023 年。
[29] I. Singh, V. Blukis, A. Mousavian, A. Goyal, D. Xu, J. Tremblay, D. Fox, J. Thomason, and A. Garg, “ProgPrompt:使用大语言模型生成情境机器人任务计划”,发表于 2023 年《IEEE 国际机器人与自动化会议》。
[30] B. Chen, F. Xia, B. Ichter, K. Rao, K. Gopalakrishnan, M. S. Ryoo, A. Stone, and D. Kappler, “用于现实世界规划的开放词汇可查询场景表示”,发表于 2023 年《IEEE 国际机器人与自动化会议》。
[31] J. Wu, R. Antonova, A. Kan, M. Lepert, A. Zeng, S. Song, J. Bohg, S. Rusinkiewicz, and T. Funkhouser, “TidyBot:使用大语言模型的个性化机器人辅助”,《自主机器人》,2023 年。
[32] S. Huang, Z. Jiang, H. Dong, Y. Qiao, P. Gao, and H. Li, “Instruct2Act:使用大语言模型将多模态指令映射到机器人动作”,arXiv 预印本 arXiv:2305.11176,2023 年。
[33] S. Vemprala, R. Bonatti, A. Bucker, and A. Kapoor, “ChatGPT 用于机器人技术:设计原则和模型能力”,《微软自动系统机器人研究》,2023 年。
[34] W. Huang, F. Xia, T. Xiao, H. Chan, J. Liang, P. Florence, A. Zeng, J. Tompson, I. Mordatch, Y. Chebotar, 等,“内心独白:通过使用语言模型规划进行具身推理”,arXiv 预印本 arXiv:2207.05608,2022 年。
[35] S. Yao, J. Zhao, D. Yu, N. Du, I. Shafran, K. Narasimhan, and Y. Cao, “React:在语言模型中协同推理和行动”,arXiv 预印本 arXiv:2210.03629,2022 年。
[36] Y. Talebirad and A. Nadiri, “多智能体协作:利用智能 LLM 智能体的力量”,arXiv 预印本 arXiv:2306.03314,2023 年。
[37] Z. Liu, W. Yao, J. Zhang, L. Xue, S. Heinecke, R. Murthy, Y. Feng, Z. Chen, J. C. Niebles, D. Arpit, 等,“BOLAA:基准测试和编排 LLM 增强的自主智能体”,arXiv 预印本 arXiv:2308.05960,2023 年。
[38] S. Hong, X. Zheng, J. Chen, Y. Cheng, C. Zhang, Z. Wang, S. K. S. Yau, Z. Lin, L. Zhou, C. Ran, 等,“MetaGPT:用于多智能体协作框架的元编程”,arXiv 预印本 arXiv:2308.00352,2023 年。
[39] Z. Wu, L. Qiu, A. Ross, E. Akyürek, B. Chen, B. Wang, N. Kim, J. Andreas, and Y. Kim, “推理还是背诵?通过反事实任务探索语言模型的能力和局限性”,arXiv 预印本 arXiv:2307.02477,2023 年。
[40] T. Gunn and J. Anderson, “机器人城市搜索与救援的动态异构团队形成”,《计算机与系统科学杂志》,2015 年。
[41] “Anthropic Claude 3”。[在线]。可访问:https://www.anthropic.com/news/claude - 3 - family。
[42] T. Alam, M. M. Rahman, P. Carrillo, L. Bobadilla, and B. Rapp, “有限可见性下的随机多机器人巡逻”,《智能与机器人系统杂志》,2020 年。
[43] S. Ouyang, J. M. Zhang, M. Harman, and M. Wang, “LLM 就像一盒巧克力:ChatGPT 在代码生成中的非确定性”,arXiv 预印本 arXiv:2308.02828,2023 年。