CN115284288B - 多机器人在线任务分配和执行方法、装置及存储介质 - Google Patents

多机器人在线任务分配和执行方法、装置及存储介质 Download PDF

Info

Publication number
CN115284288B
CN115284288B CN202210958761.2A CN202210958761A CN115284288B CN 115284288 B CN115284288 B CN 115284288B CN 202210958761 A CN202210958761 A CN 202210958761A CN 115284288 B CN115284288 B CN 115284288B
Authority
CN
China
Prior art keywords
robot
task
model
sub
scene
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210958761.2A
Other languages
English (en)
Other versions
CN115284288A (zh
Inventor
刘华平
刘馨竹
李兴航
郭迪
张新钰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN202210958761.2A priority Critical patent/CN115284288B/zh
Publication of CN115284288A publication Critical patent/CN115284288A/zh
Application granted granted Critical
Publication of CN115284288B publication Critical patent/CN115284288B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

本公开提供的多机器人在线任务分配和执行方法、装置及存储介质,包括:预训练阶段,构建场景编码模型,将其与分类模型连接,训练场景编码模型以将场景内的语义图进行编码,并在编码中保留位置和语义信息;训练阶段,构建多机器人任务分配和执行模型,对其训练,使之根据任务语言指令和多机器人的视觉观测图像进行动态任务分解和分配,使多机器人协作完成指定任务;测试阶段,给定任务语言指令,多机器人任务分配和执行模型根据该指令和机器人的视觉观测图像在每一步对任务进行动态分解和分配,并为各机器人生成下一步导航的子目标,使多机器人协同完成任务。本公开可推理出语言指令中隐含的信息,对指定任务进行动态分配,并由多机器人协作完成。

Description

多机器人在线任务分配和执行方法、装置及存储介质
技术领域
本公开实施例属于多智能体协同感知领域,特别涉及多机器人在线任务分配和执行方法、装置及存储介质。
背景技术
多机器人任务规划是一项非常重要的任务,在多机器人任务规划过程中,一个复杂的任务需要被分解成若干具有一定时序关系的子任务,分解得到的子任务被分配给多个不同的机器人,再由多个机器人协同执行各个子任务进而完成给定的复杂任务。多机器人任务规划包含任务分解、任务分配和任务调度过程。目前,已有研究者通过预训练的自然语言模型来解决基于自然语言指令的任务分解问题,提出基于博弈论的协商算法或者最优化方法来解决任务分配问题,使用集群算法来解决任务调度问题。现有的相关研究大多单独解决任务分解、任务分配和任务调度问题,没有考虑综合解决上述问题,现有方法并不能直接应用于复杂的基于语言指令和视觉感知的多机器人任务规划问题。
多机器人任务规划任务是很重要的任务,在多机器人任务规划在智能服务、工业制造、军事等领域都具有很重要的应用价值。同时,在实际场景中的多机器人任务规划问题还存在着很多挑战。首先,信息不完整的语言指令使得机器人难以直接完成对应的任务。在多机器人执行动作之前需要根据外部知识和现有视觉感知信息推理语言指令中隐含的目标物体才能继续完成任务,例如,对于指令“把书和报纸收起来”,需要根据已有常识和机器人现有的视觉感知信息将其补全为“把书和报纸收到书架上”,机器人才能正常执行任务。第二,在任务执行过程中需要进行动态的任务分解。由于多个机器人能够获取的视觉感知信息是有限的,初始的推理和任务分解结果可能是不正确的,当经过多个机器人对环境的探索后发现当前场景中不存在之前推理出的物体时,此时需要对指令中隐含的物体进行重新推理并对任务进行重新分解。第三,在任务执行过程中需要进行动态的任务分配。由于多个机器人初始时的视觉感知信息有限,其最初的任务分配结果可能是不正确的,机器人执行若干步动作后根据新获得的视觉感知信息发现其距离其他子任务中的目标物体更近,此时重新分配各个机器人执行的子任务以提升多机器人完成任务的效率。
发明内容
本公开旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本公开第一方面实施例提供的多机器人在线任务分配和执行方法,可实现多个机器人协作完成由语言指令给出的指定任务,根据各个机器人的实时视觉感知信息对指定任务进行动态任务分解和分配,使得多个机器人能够彼此协作并且用尽量短的时间完成指定任务。本公开第一方面实施例提供的多机器人在线任务分配和执行方法,包括:
预训练阶段:获取预训练数据,每条所述预训练数据包含位置、问题和正确回答;构建场景编码模型,所述场景编码模型以机器人的视觉感知信息作为输入,以编码后的语义图向量作为输出;构建分类模型,所述分类模型以所述编码后的语义图向量和对应所述预训练数据的问题作为输入,以所述问题的预测回答作为输出,将所述场景编码模型与所述分类模型连接,使用所述预训练数据训练所述场景编码模型以对场景内的语义图进行编码,并且在编码中保留相应的位置和语义信息,得到预训练完毕的场景编码模型;
训练阶段:生成训练数据,每条所述训练数据包含场景编号、任务语言指令和场景内所有机器人的初始化位置,所述任务语言指令根据场景内存在的物体类型、物体可被执行的动作类型和对应的被操作物体生成,所述所有机器人的初始化位置根据所述任务语言指令中包含的物体位置生成;针对每条所述训练数据,分别生成专家示范结果,每个所述专家示范结果包含任务分解结果、任务分配结果和各机器人在每一时刻执行的动作;构建含有所述预训练完毕的场景编码模型的多机器人任务分配和执行模型,所述多机器人任务分配和执行模型以所述任务语言指令和各机器人当前的视觉感知信息作为输入,以各机器人下一步执行动作的子目标作为输出;使用所述训练数据和所述专家示范结果对所述多机器人任务分配和执行模型进行训练,训练其进行任务分解和分配以及动作子目标生成的能力,得到训练完毕的多机器人任务分配和执行模型;
测试阶段,所述训练完毕的多机器人任务分配和执行模型根据待测试任务语言指令和各机器人的视觉感知信息在每一步对操作任务进行动态分解和分配,并且为每个机器人生成下一步动作的子目标,使多个机器人协同完成操作任务。
本公开第一方面实施例提供的多机器人在线任务分配和执行方法,具有以下特点及有益效果:
1、本公开第一方面实施例提供的多机器人在线任务分配和执行方法,实现了动态的任务规划,根据多个机器人在运动过程中的视觉感知信息对任务进行动态的分解和分配,使得任务分配结果更为合理,多个机器人能够以更快的速度完成指定任务。
2、本公开第一方面实施例提供的多机器人在线任务分配和执行方法,实现了多个机器人协作感知环境和完成任务,与单机器人相比显著提升了完成任务的效率和成功率。
3、本公开第一方面实施例提供的多机器人在线任务分配和执行方法,在多机器人执行任务的过程中使用语义信息进行环境感知,引入子目标预测模型进行导航规划,更好得弥合了仿真环境和真实环境中的差异,使得模型能够更好的迁移至真实环境中,更具有实际意义。
4、本公开第一方面实施例提供的多机器人在线任务分配和执行方法可以应用于机器人领域,例如多个智能服务机器人根据人给出的自然语言指令自动完成任务分配,并且相互协作快速完成指定任务。
在一些实施例中,预训练阶段,所述问题的形式为“某一个子区域内是否存在某类物体”,根据场景中已知的物体分布获取所述问题的正确回答,为“是”或者“不是”,其中,所述子区域是所述场景内的任意一个空间区域。
在一些实施例中,预训练阶段,所述场景编码模型包括语义分割网络和由若干卷积层构成的编码网络,所述分类模型由一个全连接层构成,按照以下步骤对所述场景编码模型和所述分类模型进行预训练:
对于获取的所述预训练数据中的每一个位置,从场景中获取该位置下所有机器人的视觉感知信息,使用所述语义分割网络对所述视觉感知信息进行语义分割并且生成对应的语义点云数据,对所述语义点云数据进行体素化,得到一个维度为C×M×M的自顶向下的语义图表示,其中,C为整个环境中包含的物体种类的总数量,M为体素化后语义图表示的边长;将所述语义图表示输入所述编码网络,得到S维的语义图向量,记第j个预训练数据得到的编码后的语义图向量为V(j),j∈[1,P],P为所述预训练数据的总条数;将所述编码后的语义图向量V(j)输入所述分类模型,得到对第j个预训练数据中问题的预测回答Pre(j)
设置第一损失函数Loss1来约束所述场景编码模型的预训练过程,公式如下:
Loss1=BiCrossEntroy(Gt,Pre)
式中,Gt代表所有预训练数据的正确回答,Pre=[Pre(1),...,Pre(j),...,Pre(P)]代表对所有预训练数据中问题的预测回答,BiCrossEntroy代表二分类交叉熵损失函数;
使用自适应动量优化方法更新所述场景编码模型和所述分类模型的参数,迭代训练若干次直至达到设定上限次数后停止,得到预训练完毕的所述场景编码模型和所述分类模型,在后续阶段仅保留所述场景编码模型,用于生成所述编码后的语义图向量。
在一些实施例中,训练阶段,生成所述任务语言指令时,针对每一类执行的动作,分别指定目标物体和容器,在每个场景中,根据场景内存在的物体类型、物体可被执行的动作类型和对应的容器类型,生成三类任务语言指令,每类任务语言指令均隐含一个容器类型,其中,第一类任务语言指令中包含一个动作和一个目标物体,需要推理出执行任务的容器;第二类任务语言指令包含一个动作和两个目标物体,这两个目标物体在执行该动作时的容器相同,需要推理出执行任务的共同容器;第三类任务语言指令包含两个动作和两个目标物体并且两个动作需要按顺序执行,需要推理出执行第一个动作的容器;
对于每个场景中生成的每一条任务语言指令,生成所述所有机器人可行的初始化位置,规定每两个机器人之间的距离,以及不同机器人与同一个目标物体的距离差均大于第一设定值。
在一些实施例中,训练阶段,所述多机器人任务分配和执行模型包括场景编码子模型、任务规划子模型、通信子模型和动作执行子模型;
所述场景编码子模型采用预训练完毕的所述场景编码模型,所述场景编码子模型以机器人的当前视觉感知信息作为输入,以编码后的当前融合语义图向量作为输出;
所述任务规划子模型,包括任务分解网络和任务分配网络,用于从所述任务语言指令中分解出待执行的子任务,并且将所述子任务分配给各个机器人,所述任务规划子模型以任务语言指令作为输入,以各机器人的任务分配结果作为输出;所述任务分解网络根据所述任务语言指令和各个机器人的所述当前融合语义图向量推理所述任务语言指令中隐含的容器类型,并根据所述任务语言指令的类型将任务分解为多个需要执行的子任务;所述任务分配网络根据各个机器人的所述当前融合语义图向量计算各个机器人与目标物体的预测距离,根据不同机器人与目标物体之间的预测距离将需要执行的子任务以子任务编码的形式分配给各个机器人;
所述通信子模型,包括注意力机制网络、长短时记忆网络和多头注意力网络,用于处理多个机器人之间共享的信息;所述注意力机制网络和所述长短时记忆网络用于根据各个机器人的当前融合语义图向量、机器人执行的子任务编码和机器人上一步的动作编码生成各个机器人的当前状态编码,所述多头注意力网络用于根据各个机器人的当前状态编码和正在执行的子任务编码生成机器人间的通信信息;
所述动作执行子模型,包括子目标预测网络和底层动作执行器,用于生成机器人每一步需要执行的动作,所述动作执行子模型以机器人当前的状态编码、正在执行的子任务编码、当前通信信息以及上一步执行的动作编码作为输入,以下一步执行的动作作为输出;所述子目标预测网络用于生成下一步导航的子目标;所述底层动作执行器根据所述下一步导航的子目标并利用最短路径或启发式搜索算法生成机器人由当前位置到达该子目标的动作序列。
在一些实施例中,训练阶段,使用所述训练数据和所述专家示范结果对所述多机器人任务分配和执行模型进行迭代训练,训练过程中,首先固定所述场景编码子模型的参数不变,训练所述任务规划子模型,然后固定所述场景编码子模型和所述任务规划子模型的参数不变,训练所述通信子模型和所述动作执行子模型,最终得到训练完毕的所述多机器人任务分配和执行模型;其中,
设置第二损失函数Loss2来约束所述任务规划子模型的训练过程,并使用自适应动量优化方法更新所述任务分解网络和所述任务分配网络的参数,所述第二损失函数Loss2公式如下:
Loss2=αLossrec+βLossdis
Lossrec=CrossEntroy(Gtrec,Rec)
Lossdis=Lossseen+γLossunseen
式中,Lossrec代表所述任务分解网络的损失函数,Gtrec代表各所述任务语言指令中隐含容器的正确类型,CrossEntroy代表交叉熵损失函数;Lossdis代表所述任务分配网络的损失函数,Lossseen代表各机器人和场景中能见到物体之间的预测距离与实际距离的均方损失函数,Lossunseen代表各机器人和场景中未见到物体之间的预测距离与实际距离的均方损失函数;α、β和γ为超参数,用于控制训练过程中的收敛速度;
使用模仿学习的方法来联合训练所述通信子模型和各个机器人的所述动作执行子模型,各个机器人的所述动作执行子模型共享参数;设置第三损失函数Loss3约束所述通信子模型以及所述动作执行子模型中所述子目标预测网络的训练过程,并使用自适应动量优化方法更新所述通信子模型及所述子目标预测网络的参数,所述第三损失函数Loss3公式如下:
Loss3=Lossx+Lossy+Lossrot+Lossstop
式中,Lossx代表所述动作执行子模型预测的机器人下一个子目标沿语义图x轴方向移动的网格数量与专家示范结果中该方向上移动数量的交叉熵损失函数,Lossy代表预测的下一个子目标沿语义图y轴方向移动的网格数量与专家示范结果中该方向上移动数量的交叉熵损失函数,Lossrot代表预测的下一个子目标朝向角度与转下示范结果中朝向角度的交叉熵损失函数,Lossstop代表动作执行子模型预测机器人下一步是否执行停止操作与专家示范结果中下一步是否执行停止操作的二分类交叉熵损失函数。
在一些实施例中,测试阶段,包括:
(3-1)在各个测试场景内获取与所述训练数据中所述任务语言指令类型相同的待测试任务语言指令以及满足位置约束条件的所有机器人的初始化位置;
(3-2)获取测试场景中各个机器人的当前视觉感知信息,利用所述场景编码子模型中的语义分割网络得到机器人当前视野范围内自顶向下的语义图表示,其中,对于任务执行的初始时刻,得到的所述语义图表示即为各个机器人的当前语义图,在任务执行的其他时刻,根据机器人的当前位姿信息将得到的语义图与前一时刻的语义图进行融合,得到各个机器人的当前融合语义图;
(3-3)将各机器人的当前融合语义图输入所述场景编码子模型中的所述编码网络中,生成各机器人的当前融合语义图向量;
(3-4)将各机器人的当前融合语义图向量和待测试任务语言指令输入所述任务规划子模型的所述任务分解网络中,得到预测的容器类型,根据所述待测试任务语言指令和所述预测的容器类型得到分解后的各待执行子任务,所述待执行子任务中包含待执行动作及目标物体;
(3-5)将各机器人的当前融合语义图向量和从各所述待执行子任务中得到的所述目标物体输入所述任务规划子模型的所述任务分配网络中,得到各机器人和各目标物体之间距离的预测结果,根据该预测结果,将各个待执行子任务分配给各个机器人,使得多个机器人到达所有目标物体距离之和最短,并规定每个子任务至少分配给一个机器人且每个机器人均分配到至少一个子任务;
(3-6)对各机器人正在执行的子任务和上一时刻的动作进行编码,将各个机器人的当前融合语义图向量、正在执行的子任务编码和上一时刻的动作编码分别通过注意力机制和长短时记忆网络得到各个机器人的当前状态编码,将各个机器人的当前状态编码和其正在执行的子任务编码通信子模型中,生成各个机器人的当前通信信息,将各机器人的当前状态编码、正在执行的子任务编码、当前通信信息以及其上一时刻的动作编码输入动作执行子模型中的子目标预测网络,得到各机器人的下一步导航子目标;
(3-7)将各机器人的下一步导航子目标输入所述动作执行子模型的所述底层动作执行器中,生成从当前位置到达下一步导航子目标的底层动作序列,各机器人执行对应的底层动作到达子目标位置;
(3-8)根据各机器人达到子目标位置后的新位置,返回步骤(3-2)继续执行,根据各机器人新得到的融合后的语义图进行动态的任务分解和分配,根据动态的任务分解和分配结果进行下一步子目标规划并执行相应的动作,重复上述步骤,直至多个机器人完成待测试任务语言指令中所有要求的动作,多机器人任务分配和执行过程结束。
在一些实施例中,步骤(3-5)中,使用二分图匹配方法将各个待执行子任务分配给各个机器人。
本公开第二方面实施例提供的多机器人在线任务分配和执行装置,包括:
预训练模块,用于获取预训练数据,每条所述预训练数据包含位置、问题和正确回答;构建场景编码模型,所述场景编码模型以机器人的视觉感知信息作为输入,以编码后的语义图向量作为输出;构建分类模型,所述分类模型以所述编码后的语义图向量和对应所述预训练数据的问题作为输入,以所述问题的预测回答作为输出,将所述场景编码模型与所述分类模型连接,使用所述预训练数据训练所述场景编码模型以对场景内的语义图进行编码,并且在编码中保留相应的位置和语义信息,得到预训练完毕的场景编码模型;
训练模块,用于生成训练数据,每条所述训练数据包含场景编号、任务语言指令和场景内所有机器人的初始化位置,所述任务语言指令根据场景内存在的物体类型、物体可被执行的动作类型和对应的被操作物体生成,所述所有机器人的初始化位置根据所述任务语言指令中包含的物体位置生成;针对每条所述训练数据,分别生成专家示范结果,每个所述专家示范结果包含任务分解结果、任务分配结果和各机器人在每一时刻执行的动作;构建含有所述预训练完毕的场景编码模型的多机器人任务分配和执行模型,所述多机器人任务分配和执行模型以所述任务语言指令和各机器人当前的视觉感知信息作为输入,以各机器人下一步执行动作的子目标作为输出;使用所述训练数据和所述专家示范结果对所述多机器人任务分配和执行模型进行训练,训练其进行任务分解和分配以及动作子目标生成的能力,得到训练完毕的多机器人任务分配和执行模型;
测试模块,用于使所述训练完毕的多机器人任务分配和执行模型根据待测试任务语言指令和各机器人的视觉感知信息在每一步对操作任务进行动态分解和分配,并且为每个机器人生成下一步动作的子目标,使多个机器人协同完成操作任务。
本公开第三方面实施例提供的计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行根据本公开第一方面任一实施例所述的多机器人在线任务分配和执行方法。
附图说明
图1为本公开第一方面实施例提供的多机器人在线任务分配和执行方法的整体流程图。
图2为本公开第一方面实施例提供的多机器人在线任务分配和执行方法的具体流程图。
图3为本公开第三方面实施例提供的电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细描述。应当理解,此处所描述的具体实施例仅用于解释本申请,并不用于限定本申请。
相反,本申请涵盖任何由权利要求定义的在本申请精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本申请有更好的了解,在下文对本申请的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本申请。
参见图1,本公开第一方面实施例提供的多机器人在线任务分配和执行方法,包括:
预训练阶段:获取预训练数据,每个预训练数据包含位置、问题和正确回答;构建场景编码模型,场景编码模型以机器人的视觉感知信息(该视觉感知信息包括视觉观测图像和深度图像)作为输入,以编码后的语义图向量作为输出;构建分类模型,分类模型以编码后的语义图向量和对应预训练数据的问题作为输入,以问题的预测回答作为输出,将场景编码模型与分类模型连接,使用预训练数据训练场景编码模型以对场景内的语义图进行编码,并且在编码中保留相应的位置和语义信息,得到预训练完毕的场景编码模型;
训练阶段:生成训练数据,每条训练数据包含场景编号、任务语言指令和场景内所有机器人的初始化位置,任务语言指令根据场景内存在的物体类型、物体可被执行的动作类型和对应的被操作物体生成,所有机器人的初始化位置根据任务语言指令中包含的物体位置生成;针对每条训练数据,分别生成专家示范结果,每个专家示范结果包含任务分解结果、任务分配结果和各机器人在每一时刻执行的动作;构建含有预训练完毕的场景编码模型的多机器人任务分配和执行模型,多机器人任务分配和执行模型以任务语言指令和各机器人当前的视觉感知信息作为输入,以各机器人下一步执行动作的子目标作为输出;使用训练数据和专家示范结果对多机器人任务分配和执行模型进行训练,训练其进行任务分解和分配以及动作子目标生成的能力,得到训练完毕的多机器人任务分配和执行模型;
测试阶段,多机器人任务分配和执行模型根据给定的待测试语言指令(即给定的操作任务的语言指令)和各机器人的视觉感知信息在每一步对操作任务进行动态分解和分配,并且为每个机器人生成下一步动作的子目标,使多个机器人协同完成操作任务。
在一些实施例中,参见图2,预训练阶段包括以下步骤:
(1-1)获取预训练数据
在仿真环境的各个场景中,获取P条预训练数据,每条预训练数据包含一个位置、一个问题和一个正确回答;问题形式为“某一个子区域L内是否存在某类物体O”,根据场景中已知的物体分布可以从仿真环境中获取该问题的正确回答,为“是”或者“不是”。其中,子区域L是场景内的任意一个空间区域。
在一个实施例中,使用的仿真环境为AI2-THOR环境,共包含厨房、卧室、客厅和洗手间4类共120个室内场景。
(1-2)构建场景编码模型
构建场景编码模型,所述场景编码模型包括一个语义分割网络和一个由若干卷积层构成的编码网络;所述场景编码模型以机器人的视觉观测图像和深度观测图像作为输入,以编码后的语义图向量为输出。
在一个实施例中,使用的语义分割网络为Swin Transformer网络,该网络在ImageNet数据集(为一公开数据集,获取网址:https://image-net.org/)上完成预训练。
(1-3)构建分类模型
构建一个由一个全连接层组成的分类模型;所述分类模型以编码后的语义图向量和对应预训练数据的问题作为输入,以问题的回答作为输出。将分类模型与步骤(1-2)构建的场景编码模型连接,用于后续完成对场景编码模型的预训练。
(1-4)对构建的场景编码模型进行预训练,具体步骤如下:
(1-4-1)对于步骤(1-1)获取的预训练数据中的每一个位置,从仿真场景中获取该位置下所有机器人的视觉观测图像和深度观测图像,使用语义分割网络对视觉观测图像和深度观测图像进行语义分割并且生成对应的语义点云数据,使用边长为d的体素块对语义点云数据进行体素化,得到一个维度为C×M×M的自顶向下的语义图表示,其中C为整个仿真环境中包含的物体种类的总数量,M为体素化后语义图表示的边长;将该语义图表示输入编码网络,得到S维的语义图向量,记第j个预训练数据得到的编码后的语义图向量为V(j),j∈[1,P];将编码后的语义图向量V(j)输入分类模型,得到对第j个预训练数据中问题的预测回答Pre(j)
在一个实施例中,设置机器人局部语义图(即单个机器人的语义图)对应仿真环境中的大小为该机器人周围8×8米的正方形区域,即以单个机器人为中心,分别向前、后、左、右方向延伸4米得到的正方形区域,体素化时的体素块边长为d=0.125米,体素化后语义图表示的边长M=8/0.125=64,语义图表示中物体种类的数量为C=150,则局部语义图表示的维度(即大小)为150×64×64,编码后的语义图向量维数为S=2048。
(1-4-2)设置第一损失函数Loss1来约束场景编码模型的预训练过程,公式如下:
Loss1=BiCrossEntroy(Gt,Pre)
其中,Gt代表所有预训练数据的正确回答,Pre=[Pre(1),...,Pre(j),...,Pre(P)]代表对所有预训练数据中问题的预测回答,BiCrossEntroy代表二分类交叉熵损失函数。
(1-4-3)使用自适应动量优化方法更新场景编码模型和分类模型的参数,迭代训练若干次直至达到设定上限次数后停止,得到预训练完毕的场景编码模型和分类模型;在后续阶段仅保留场景编码模型,用于生成编码后的语义图向量。
在一些实施例中,参见图2,训练阶段包括以下步骤:
(2-1)离散化仿真环境
将机器人每次执行移动动作移动的距离设置为l米,将每次执行旋转动作的旋转角度设置为90度,将机器人所处的仿真环境以边长l米的正方形网格进行离散化;离散化后,各个机器人所处的位置坐标均为整数。
在一个实施例中,每次移动距离和网格化边长均为l=0.25米,即智能体在网格化后的仿真环境中每次移动一格。
(2-2)生成训练数据
在离散化后的仿真环境的各个场景中,生成T个用于多机器人任务分配和执行的训练数据,每个训练数据包含一个场景编号、一条任务语言指令和场景内所有机器人的初始化位置,具体步骤如下:
(2-2-1)根据仿真环境特点(指仿真环境支持机器人移动、旋转和拿起物体操作的特点),得到机器人可以执行的动作类型;执行每一类动作时都需要指定两个被操作物体,分别为目标物体和容器;在每个场景中,根据场景内存在的物体类型、物体可被执行的动作类型和对应的容器类型,生成三类任务语言指令,每类任务语言指令都隐含着一个容器类型,需要根据常识推理得到;其中,第一类任务语言指令中包含一个动作和一个目标物体,需要推理出执行任务的容器;第二类任务语言指令包含一个动作和两个目标物体,这两个目标物体在执行该动作时的容器相同,需要推理出执行任务的共同容器;第三类任务语言指令包含两个动作和两个目标物体并且两个动作需要按顺序执行,需要推理出执行第一个动作的容器。
在一个实施例中,在仿真环境AI2-THOR中可以执行的动作类型包括“加热”、“冷却”、“清理”、“放置”和“丢弃”,每一类动作执行时需要指定的两个被操作物体分别为目标物体和容器,例如动作“加热”执行时,需要指定被加热的物体“面包”和加热物体所用的容器“微波炉”。对于生成的三类任务语言指令,第一类任务语言指令中包含一个动作和一个目标物体,例如“加热面包”,需要推理出执行“加热”动作的容器为“微波炉”;第二类任务语言指令包含一个动作和两个目标物体,这两个目标物体在执行该动作时的容器相同,例如“加热土豆和面包”,需要推理出执行动作的共同容器为“微波炉”;第三类任务语言指令包含两个动作和两个目标物体并且两个动作需要按顺序执行,例如“加热面包并把它放到餐桌上”,需要推理出执行第一个动作的容器为“微波炉”。
(2-2-2)对于每个场景中生成的每一条任务语言指令,生成所有机器人可行的初始化位置,生成初始化位置时要求每两个机器人之间的距离都大于1米,并且不同机器人与同一个目标物体的距离差距大于1米,以保证后续可以生成合理的任务分配结果;共生成T个训练数据。
在一个实施例中,训练场景共有80个(其余的40个室内场景作为测试场景,训练场景和测试场景均为离散化后的场景),共生成T=4025个训练数据。
(2-3)生成专家示范结果
对于每一个训练数据生成对应的专家示范结果,每个专家示范结果包含任务分解结果、任务分配结果和各个智能体在每一时刻执行的动作。
在一个实施例中,对于每一个训练数据,为其生成多个符合条件的专家示范结果来模仿不同的动作策略,共生成75260个专家示范结果。
(2-4)构建多机器人任务分配和执行模型,该多机器人任务分配和执行模型由场景编码子模型、任务规划子模型、通信子模型和动作执行子模型组成,场景编码子模型采用步骤(1-4-3)得到的预训练完毕的场景编码模型,多机器人任务分配和执行模型以任务语言指令和机器人当前的视觉观测图像及深度观测图像作为输入,以各个机器人下一步执行的动作作为输出,具体步骤如下:
(2-4-1)构建一个场景编码子模型,用于将当前语义图编码为当前融合语义图向量;所述场景编码子模型包括一个语义分割网络和一个编码网络;所述场景编码子模型以机器人当前视觉观测图像和当前深度观测图像作为输入,以编码后的当前融合语义图向量作为输出;所述场景编码子模型根据机器人的当前视觉观测图像和当前深度观测图像使用语义分割网络得到当前视角下的语义图,并与已有语义图进行融合,使用编码网络对融合后的语义图进行编码得到机器人的当前融合语义图向量;所述任务场景编码子模型的参数为步骤(1-4)中经过预训练得到的场景编码模型的参数。
(2-4-2)构建一个任务规划子模型,由任务分解网络和任务分配网络两部分组成,用于从任务语言指令中分解出待执行的子任务,并且将子任务分配给各个机器人;所述任务规划子模型以任务语言指令作为输入,以各机器人的任务分配结果作为输出;任务分解网络根据任务语言指令和各个机器人的当前融合语义图向量推理任务语言指令中隐含的容器类型,并根据任务语言指令的类型将任务分解为多个需要执行的子任务;任务分配网络根据各个机器人当前融合语义图向量预测各个机器人距离目标物体的距离,根据不同机器人与目标物体之间的预测距离将需要执行的子任务以子任务编码的形式分配给各个机器人。
(2-4-3)构建一个通信子模型,用于处理多个机器人之间共享的信息;所述通信子模型由注意力机制网络、长短时记忆网络和多头注意力网络构成,其中,注意力机制网络和长短时记忆网络用于根据各个机器人的当前融合语义图向量、机器人执行的子任务编码和机器人上一步的动作编码生成各个机器人的当前状态编码,多头注意力网络用于根据各个机器人的当前状态编码和正在执行的子任务编码生成机器人间的通信信息。
(2-4-4)构建一个动作执行子模型,由子目标预测网络和底层动作执行器两部分组成,用于生成机器人每一步需要执行的动作;所述动作执行子模型以机器人当前的状态编码、正在执行的子任务编码、当前的通信信息以及上一步执行的动作编码作为输入,以下一步执行的动作作为输出;其中,子目标预测网络生成下一步导航的子目标,即分别给出机器人沿语义图x轴和y轴方向移动的距离;底层动作执行器根据下一步导航的子目标并利用最短路径或启发式搜索算法生成机器人由当前位置到达该子目标的动作序列,最短路径算法可采用Dijkstra算法、Bellman-Ford算法、Floyd算法或SPFA算法。
(2-5)对多机器人任务分配和执行模型进行迭代训练,具体步骤如下:
(2-5-1)对任务规划子模型进行迭代训练,具体步骤如下:
(2-5-1-1)根据步骤(2-2)生成的各训练数据中的场景编号和各个机器人的初始位置在仿真环境中获取各个机器人在该位置的视觉观测图像和深度观测图像,分别将各个机器人的视觉观测图像和深度观测图像输入步骤(2-4-1)构建的场景编码子模型,得到各个机器人的当前融合语义图向量。
(2-5-1-2)将各个机器人的当前融合语义图向量和步骤(2-2)生成的训练数据中的任务语言指令输入步骤(2-4-2)构建的任务规划子模型中的任务分解网络,得到任务分解网络对各任务语言指令中隐含的容器类型预测结果Rec,根据任务语言指令的类型和隐含的容器类型预测结果Rec将任务语言指令分解为多个需要执行的子任务。
(2-5-1-3)将各个机器人的当前融合语义图向量输入步骤(2-4-2)构建的任务规划子模型中的任务分配网络,得到各个机器人与每个物体之间的预测距离,物体包括在该场景中能见到的物体和在该场景中未见到的物体两类。
(2-5-1-4)设置第二损失函数Loss2来约束任务规划子模型的训练过程,公式如下:
Loss2=αLossrec+βLossdis
Lossrec=CrossEntroy(Gtrec,Rec)
Lossdis=Lossseen+γLossunseen
其中,Lossrec代表任务分解网络的损失函数,Gtrec代表各任务语言指令中隐含容器的正确类型,CrossEntroy代表交叉熵损失函数;Lossdis代表任务分配网络的损失函数,Lossseen代表各机器人和场景中能见到物体之间的预测距离与实际距离的均方损失函数,Lossunseen代表各机器人和场景中未见到物体之间的预测距离与实际距离的均方损失函数;α、β和γ为超参数,用于控制训练过程中的收敛速度。
在一个实施例中,α=1,β=1,γ=0.1。
(2-5-1-5)固定场景编码子模型的参数,使用步骤(2-2)生成的训练数据和自适应动量优化方法更新任务分解网络和任务分配网络的参数,得到训练完成的任务规划子模型;
(2-5-2)对通信子模型和动作执行子模型进行迭代训练,具体步骤如下:
(2-5-2-1)对于步骤(2-2)中的各训练数据,根据其专家示范结果中的任务分解和分配结果,得到各个机器人需要执行的子任务编码;在每一步,将各个机器人的当前融合语义图向量、机器人正在执行的子任务编码和机器人上一步的动作编码分别通过注意力机制和长短时记忆(LSTM)网络得到各个机器人的当前状态编码。
(2-5-2-2)将各个机器人的当前状态编码和其正在执行的子任务编码输入步骤(2-4-3)构建的通信子模型中,生成各个机器人的当前通信信息;将各机器人的当前状态编码、正在执行的子任务编码、当前通信信息以及其上一步执行动作编码输入步骤(2-4-4)构建的动作执行子模型中的子目标预测网络,得到机器人的下一个子目标,子目标包含机器人沿未使用场景编码模块编码之前的自顶向下的语义图的x轴方向移动的网格数量、沿y轴方向移动的网格数量和子目标朝向角度,其中生成的子目标与当前位置之间有最大距离限制。
在一个实施例中,对预测的子目标位置与当前位置的距离进行约束,在x轴和y轴方向上分别距离不超过1米,即预测的子目标在网格化后的环境中与当前位置的距离最多是在x轴方向上距离4个网格和y轴方向上距离4个网格。
(2-5-2-3)使用模仿学习的方法来联合训练各个机器人的通信子模型和动作执行子模型,各个机器人的动作执行子模型共享参数;设置第三损失函数Loss3约束通信子模型和动作执行子模型中的子目标预测网络的训练过程,公式如下:
Loss3=Lossx+Lossy+Lossrot+Lossstop
其中,Lossx代表动作执行子模型预测的机器人下一个子目标沿语义图x轴方向移动的网格数量与专家示范结果中该方向上移动数量的交叉熵损失函数,Lossy代表预测的下一个子目标沿语义图y轴方向移动的网格数量与专家示范结果中该方向上移动数量的交叉熵损失函数,Lossrot代表预测的下一个子目标朝向角度与转下示范结果中朝向角度的交叉熵损失函数,Lossstop代表动作执行子模型预测机器人下一步是否执行停止操作与专家示范结果中下一步是否执行停止操作的二分类交叉熵损失函数。
(2-5-2-4)固定场景编码子模型和任务规划子模型的参数,使用自适应动量优化方法更新通信子模型和动作执行子模型的参数,得到训练完成的通信子模型和子目标预测网络;底层动作执行器采用最短路径或者启发式搜索的方法生成从当前位置到子目标的动作序列,子目标预测网络训练完成后,得到训练完成的动作执行子模型。
在一个实施例中,设置机器人在所处场景内的可导航区域已知,底层动作执行器直接使用最短路径算法生成从当前位置到子目标的动作序列。
在一些实施例中,参见图2,测试阶段包括以下步骤:
(3-1)在仿真环境的各个测试场景内获取与训练数据中任务语言指令类型相同的待测试任务语言指令以及满足位置约束条件的所有机器人的初始化位置,以此作为测试数据。
在一个实施例中,有20个测试场景,共926条测试数据,每条测试数据包括一个测试场景编号、一个与训练数据中任务语言指令类型相同的待测试任务语言指令以及满足位置约束条件的所有机器人的初始化位置。
(3-2)在仿真环境中获取各个机器人的当前视觉观测图像和当前深度观测图像;使用场景编码子模型中的语义分割网络对当前视觉观测图像进行语义分割并根据当前深度观测图像生成对应的语义点云数据,将语义点云数据体素化后,得到机器人当前视野范围内自顶向下的语义图表示;在任务执行的初始时刻,得到的语义图表示即为各个机器人的当前语义图;在任务执行的其他时刻,根据机器人当前位姿信息将得到的语义图与前一时刻的语义图进行融合,得到各个机器人的当前融合语义图。
在一个实施例中,各个机器人在每一时刻可以得到机器人当前视野范围内的局部语义图,根据机器人当前位置和前一步位置以及朝向的关系,将该语义图与该机器人前一时刻得到的语义图通过旋转、最大池化等操作进行对齐,得到当前位置下的融合语义图。
(3-3)将各个机器人的当前融合语义图输入场景编码子模型中的编码网络生成当前融合语义图向量。
(3-4)将各个机器人当前融合语义图向量和待测试任务语言指令输入任务规划子模型中的任务分解网络,得到预测的容器类型,根据待测试任务语言指令和预测的容器类型可以得到分解后的各待执行子任务,待执行子任务中包含待执行动作及目标物体。
(3-5)将各个机器人当前融合语义图向量和从各待执行子任务中得到的目标物体输入任务规划子模型中的任务分配网络,得到各机器人和各目标物体之间距离的预测结果;根据各机器人与各目标物体之间距离的预测结果,使用二分图匹配方法将各个待执行子任务分配给各个机器人,使得多个机器人到达所有目标物体距离之和最短,要求每个子任务至少分配给一个机器人且每个机器人都分配到至少一个子任务。
在一个实施例中,在子任务分配时需要考虑各个待执行子任务之间的时序关系,例如“加热面包并把它放到餐桌上”,执行任务时需要机器人先把面包放到微波炉里加热,之后再把加热完成的面包拿出来放到餐桌上,子任务“把面包放到桌子上”必须在子任务“在微波炉里加热面包”完成后才能执行,这两个具有时序关系的子任务需要分配给同一个智能体按先后顺序执行。
(3-6)对各个机器人正在执行的子任务和上一时刻的动作进行编码,将各个机器人的当前融合语义图向量、正在执行的子任务编码和上一时刻的动作编码分别通过注意力机制和长短时记忆网络得到各个机器人的当前状态编码,将各个机器人的当前状态编码和其正在执行的子任务编码通信子模型中,生成各个机器人的当前通信信息,将各机器人的当前状态编码、正在执行的子任务编码、当前通信信息以及其上一时刻的动作编码输入动作执行子模型中的子目标预测网络,得到各机器人的下一步导航子目标。
(3-7)将各个机器人的下一步导航子目标输入动作执行子模型中的底层动作执行器,基于最短路径或启发式搜索算法生成从当前位置到达下一个子目标的底层动作序列,在仿真环境中执行对应的底层动作到达子目标位置。
(3-8)根据各个机器人达到子目标后的新位置,返回步骤(3-2)继续执行,根据各机器人新得到的融合后的语义图进行动态的任务分解和分配,根据动态的任务分解和分配结果进行下一步子目标规划并执行相应的动作,重复上述步骤,直至多个机器人完成待测试任务语言指令中所有要求的动作,多机器人任务分配和执行过程结束。
本公开第二方面实施例提供的多机器人在线任务分配和执行装置,包括:
预训练模块,用于获取预训练数据,每条所述预训练数据包含位置、问题和正确回答;构建场景编码模型,所述场景编码模型以机器人的视觉感知信息作为输入,以编码后的语义图向量作为输出;构建分类模型,所述分类模型以所述编码后的语义图向量和对应所述预训练数据的问题作为输入,以所述问题的预测回答作为输出,将所述场景编码模型与所述分类模型连接,使用所述预训练数据训练所述场景编码模型以对场景内的语义图进行编码,并且在编码中保留相应的位置和语义信息,得到预训练完毕的场景编码模型;
训练模块,用于生成训练数据,每条所述训练数据包含场景编号、任务语言指令和场景内所有机器人的初始化位置,所述任务语言指令根据场景内存在的物体类型、物体可被执行的动作类型和对应的被操作物体生成,所述所有机器人的初始化位置根据所述任务语言指令中包含的物体位置生成;针对每条所述训练数据,分别生成专家示范结果,每个所述专家示范结果包含任务分解结果、任务分配结果和各机器人在每一时刻执行的动作;构建含有所述预训练完毕的场景编码模型的多机器人任务分配和执行模型,所述多机器人任务分配和执行模型以所述任务语言指令和各机器人当前的视觉感知信息作为输入,以各机器人下一步执行动作的子目标作为输出;使用所述训练数据和所述专家示范结果对所述多机器人任务分配和执行模型进行训练,训练其进行任务分解和分配以及动作子目标生成的能力,得到训练完毕的多机器人任务分配和执行模型;和
测试模块,用于使所述训练完毕的多机器人任务分配和执行模型根据待测试任务语言指令和各机器人的视觉感知信息在每一步对操作任务进行动态分解和分配,并且为每个机器人生成下一步动作的子目标,使多个机器人协同完成操作任务。
为了实现上述实施例,本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,用于执行本公开第一方面实施例提供的多机器人在线任务分配和执行方法。
下面参考图3,其示出了适于用来实现本公开第三方面实施例提供的电子设备的结构示意图。其中,本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机、服务器等等的固定终端。图3示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图3所示,电子设备可以包括处理装置(例如中央处理器、图形处理器等)101,其可以根据存储在只读存储器(ROM)102中的程序或者从存储装置108加载到随机访问存储器(RAM)103中的程序而执行各种适当的动作和处理。在RAM 103中,还存储有电子设备操作所需的各种程序和数据。处理装置101、ROM 102以及RAM 103通过总线104彼此相连。输入/输出(I/O)接口105也连接至总线104。
通常,以下装置可以连接至I/O接口105:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风等的输入装置106;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置107;包括例如磁带、硬盘等的存储装置108;以及通信装置109。通信装置109可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图3示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图中所示方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置109从网络上被下载和安装,或者从存储装置108被安装,或者从ROM 102被安装。在该计算机程序被处理装置101执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
在预训练阶段:获取预训练数据,每条所述预训练数据包含位置、问题和正确回答;构建场景编码模型,所述场景编码模型以机器人的视觉感知信息作为输入,以编码后的语义图向量作为输出;构建分类模型,所述分类模型以所述编码后的语义图向量和对应所述预训练数据的问题作为输入,以所述问题的预测回答作为输出,将所述场景编码模型与所述分类模型连接,使用所述预训练数据训练所述场景编码模型以对场景内的语义图进行编码,并且在编码中保留相应的位置和语义信息,得到预训练完毕的场景编码模型;
在训练阶段:生成训练数据,每条所述训练数据包含场景编号、任务语言指令和场景内所有机器人的初始化位置,所述任务语言指令根据场景内存在的物体类型、物体可被执行的动作类型和对应的被操作物体生成,所述所有机器人的初始化位置根据所述任务语言指令中包含的物体位置生成;针对每条所述训练数据,分别生成专家示范结果,每个所述专家示范结果包含任务分解结果、任务分配结果和各机器人在每一时刻执行的动作;构建含有所述预训练完毕的场景编码模型的多机器人任务分配和执行模型,所述多机器人任务分配和执行模型以所述任务语言指令和各机器人当前的视觉感知信息作为输入,以各机器人下一步执行动作的子目标作为输出;使用所述训练数据和所述专家示范结果对所述多机器人任务分配和执行模型进行训练,训练其进行任务分解和分配以及动作子目标生成的能力,得到训练完毕的多机器人任务分配和执行模型;
在测试阶段,所述训练完毕的多机器人任务分配和执行模型根据待测试任务语言指令和各机器人的视觉感知信息在每一步对操作任务进行动态分解和分配,并且为每个机器人生成下一步动作的子目标,使多个机器人协同完成操作任务。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++、python,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤,可以通过程序来指令相关的硬件完成,所开发的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种多机器人在线任务分配和执行方法,其特征在于,包括:
预训练阶段:获取预训练数据,每条所述预训练数据包含位置、问题和正确回答;构建场景编码模型,所述场景编码模型以机器人的视觉感知信息作为输入,以编码后的语义图向量作为输出;构建分类模型,所述分类模型以所述编码后的语义图向量和对应所述预训练数据的问题作为输入,以所述问题的预测回答作为输出,将所述场景编码模型与所述分类模型连接,使用所述预训练数据训练所述场景编码模型以对场景内的语义图进行编码,并且在编码中保留相应的位置和语义信息,得到预训练完毕的场景编码模型;
训练阶段:生成训练数据,每条所述训练数据包含场景编号、任务语言指令和场景内所有机器人的初始化位置,所述任务语言指令根据场景内存在的物体类型、物体可被执行的动作类型和对应的被操作物体生成,所述所有机器人的初始化位置根据所述任务语言指令中包含的物体位置生成;针对每条所述训练数据,分别生成专家示范结果,每个所述专家示范结果包含任务分解结果、任务分配结果和各机器人在每一时刻执行的动作;构建含有所述预训练完毕的场景编码模型的多机器人任务分配和执行模型,所述多机器人任务分配和执行模型以所述任务语言指令和各机器人当前的视觉感知信息作为输入,以各机器人下一步执行动作的子目标作为输出;使用所述训练数据和所述专家示范结果对所述多机器人任务分配和执行模型进行训练,训练其进行任务分解和分配以及动作子目标生成的能力,得到训练完毕的多机器人任务分配和执行模型;
测试阶段,所述训练完毕的多机器人任务分配和执行模型根据待测试任务语言指令和各机器人的视觉感知信息在每一步对操作任务进行动态分解和分配,并且为每个机器人生成下一步动作的子目标,使多个机器人协同完成操作任务。
2.根据权利要求1所述的多机器人在线任务分配和执行方法,其特征在于,预训练阶段,所述问题的形式为“某一个子区域内是否存在某类物体”,根据场景中已知的物体分布获取所述问题的正确回答,为“是”或者“不是”,其中,所述子区域是所述场景内的任意一个空间区域。
3.根据权利要求1所述的多机器人在线任务分配和执行方法,其特征在于,预训练阶段,所述场景编码模型包括语义分割网络和由若干卷积层构成的编码网络,所述分类模型由一个全连接层构成,按照以下步骤对所述场景编码模型和所述分类模型进行预训练:
对于获取的所述预训练数据中的每一个位置,从场景中获取该位置下所有机器人的视觉感知信息,使用所述语义分割网络对所述视觉感知信息进行语义分割并且生成对应的语义点云数据,对所述语义点云数据进行体素化,得到一个维度为C×M×M的自顶向下的语义图表示,其中,C为整个环境中包含的物体种类的总数量,M为体素化后语义图表示的边长;将所述语义图表示输入所述编码网络,得到S维的语义图向量,记第j个预训练数据得到的编码后的语义图向量为V(j),j∈[1,P],P为所述预训练数据的总条数;将所述编码后的语义图向量V(j)输入所述分类模型,得到对第j个预训练数据中问题的预测回答Pre(j)
设置第一损失函数Loss1来约束所述场景编码模型的预训练过程,公式如下:
Loss1=BiCrossEntroy(Gt,Pre)
式中,Gt代表所有预训练数据的正确回答,Pre=[Pre(1),...,Pre(j),...,Pre(P)]代表对所有预训练数据中问题的预测回答,BiCrossEntroy代表二分类交叉熵损失函数;
使用自适应动量优化方法更新所述场景编码模型和所述分类模型的参数,迭代训练若干次直至达到设定上限次数后停止,得到预训练完毕的所述场景编码模型和所述分类模型,在后续阶段仅保留所述场景编码模型,用于生成所述编码后的语义图向量。
4.根据权利要求1所述的多机器人在线任务分配和执行方法,其特征在于,训练阶段,生成所述任务语言指令时,针对每一类执行的动作,分别指定目标物体和容器,在每个场景中,根据场景内存在的物体类型、物体可被执行的动作类型和对应的容器类型,生成三类任务语言指令,每类任务语言指令均隐含一个容器类型,其中,第一类任务语言指令中包含一个动作和一个目标物体,需要推理出执行任务的容器;第二类任务语言指令包含一个动作和两个目标物体,这两个目标物体在执行该动作时的容器相同,需要推理出执行任务的共同容器;第三类任务语言指令包含两个动作和两个目标物体并且两个动作需要按顺序执行,需要推理出执行第一个动作的容器;
对于每个场景中生成的每一条任务语言指令,生成所述所有机器人可行的初始化位置,规定每两个机器人之间的距离,以及不同机器人与同一个目标物体的距离差均大于第一设定值。
5.根据权利要求4所述的多机器人在线任务分配和执行方法,其特征在于,训练阶段,所述多机器人任务分配和执行模型包括场景编码子模型、任务规划子模型、通信子模型和动作执行子模型;
所述场景编码子模型采用预训练完毕的所述场景编码模型,所述场景编码子模型以机器人的当前视觉感知信息作为输入,以编码后的当前融合语义图向量作为输出;
所述任务规划子模型,包括任务分解网络和任务分配网络,用于从所述任务语言指令中分解出待执行的子任务,并且将所述子任务分配给各个机器人,所述任务规划子模型以任务语言指令作为输入,以各机器人的任务分配结果作为输出;所述任务分解网络根据所述任务语言指令和各个机器人的所述当前融合语义图向量推理所述任务语言指令中隐含的容器类型,并根据所述任务语言指令的类型将任务分解为多个需要执行的子任务;所述任务分配网络根据各个机器人的所述当前融合语义图向量计算各个机器人与目标物体的预测距离,根据不同机器人与目标物体之间的预测距离将需要执行的子任务以子任务编码的形式分配给各个机器人;
所述通信子模型,包括注意力机制网络、长短时记忆网络和多头注意力网络,用于处理多个机器人之间共享的信息;所述注意力机制网络和所述长短时记忆网络用于根据各个机器人的当前融合语义图向量、机器人执行的子任务编码和机器人上一步的动作编码生成各个机器人的当前状态编码,所述多头注意力网络用于根据各个机器人的当前状态编码和正在执行的子任务编码生成机器人间的通信信息;
所述动作执行子模型,包括子目标预测网络和底层动作执行器,用于生成机器人每一步需要执行的动作,所述动作执行子模型以机器人当前的状态编码、正在执行的子任务编码、当前通信信息以及上一步执行的动作编码作为输入,以下一步执行的动作作为输出;所述子目标预测网络用于生成下一步导航的子目标;所述底层动作执行器根据所述下一步导航的子目标并利用最短路径或启发式搜索算法生成机器人由当前位置到达该子目标的动作序列。
6.根据权利要求5所述的多机器人在线任务分配和执行方法,其特征在于,训练阶段,使用所述训练数据和所述专家示范结果对所述多机器人任务分配和执行模型进行迭代训练,训练过程中,首先固定所述场景编码子模型的参数不变,训练所述任务规划子模型,然后固定所述场景编码子模型和所述任务规划子模型的参数不变,训练所述通信子模型和所述动作执行子模型,最终得到训练完毕的所述多机器人任务分配和执行模型;其中,
设置第二损失函数Loss2来约束所述任务规划子模型的训练过程,并使用自适应动量优化方法更新所述任务分解网络和所述任务分配网络的参数,所述第二损失函数Loss2公式如下:
Loss2=αLossrec+βLossdis
Lossrec=CrossEntroy(Gtrec,Rec)
Lossdis=Lossseen+γLossunseen
式中,Lossrec代表所述任务分解网络的损失函数,Gtrec代表各所述任务语言指令中隐含容器的正确类型,Rec代表所述任务分解网络对各任务语言指令中隐含的容器类型预测结果,CrossEntroy代表交叉熵损失函数;Lossdis代表所述任务分配网络的损失函数,Lossseen代表各机器人和场景中能见到物体之间的预测距离与实际距离的均方损失函数,Lossunseen代表各机器人和场景中未见到物体之间的预测距离与实际距离的均方损失函数;α、β和γ为超参数,用于控制训练过程中的收敛速度;
使用模仿学习的方法来联合训练各个机器人的所述通信子模型和所述动作执行子模型,各个机器人的所述动作执行子模型共享参数;设置第三损失函数Loss3约束所述通信子模型以及所述动作执行子模型中所述子目标预测网络的训练过程,并使用自适应动量优化方法更新所述通信子模型及所述子目标预测网络的参数,所述第三损失函数Loss3公式如下:
Loss3=Lossx+Lossy+Lossrot+Lossstop
式中,Lossx代表所述动作执行子模型预测的机器人下一个子目标沿语义图x轴方向移动的网格数量与专家示范结果中该方向上移动数量的交叉熵损失函数,Lossy代表预测的下一个子目标沿语义图y轴方向移动的网格数量与专家示范结果中该方向上移动数量的交叉熵损失函数,Lossrot代表预测的下一个子目标朝向角度与转下示范结果中朝向角度的交叉熵损失函数,Lossstop代表动作执行子模型预测机器人下一步是否执行停止操作与专家示范结果中下一步是否执行停止操作的二分类交叉熵损失函数。
7.根据权利要求5所述的多机器人在线任务分配和执行方法,其特征在于,测试阶段,包括:
(3-1)在各个测试场景内获取与所述训练数据中所述任务语言指令类型相同的待测试任务语言指令以及满足位置约束条件的所有机器人的初始化位置;
(3-2)获取测试场景中各个机器人的当前视觉感知信息,利用所述场景编码子模型中的语义分割网络得到机器人当前视野范围内自顶向下的语义图表示,其中,对于任务执行的初始时刻,得到的所述语义图表示即为各个机器人的当前语义图,在任务执行的其他时刻,根据机器人的当前位姿信息将得到的语义图与前一时刻的语义图进行融合,得到各个机器人的当前融合语义图;
(3-3)将各机器人的当前融合语义图输入所述场景编码子模型中的所述编码网络中,生成各机器人的当前融合语义图向量;
(3-4)将各机器人的当前融合语义图向量和待测试任务语言指令输入所述任务规划子模型的所述任务分解网络中,得到预测的容器类型,根据所述待测试任务语言指令和所述预测的容器类型得到分解后的各待执行子任务,所述待执行子任务中包含待执行动作及目标物体;
(3-5)将各机器人的当前融合语义图向量和从各所述待执行子任务中得到的所述目标物体输入所述任务规划子模型的所述任务分配网络中,得到各机器人和各目标物体之间距离的预测结果,根据该预测结果,将各个待执行子任务分配给各个机器人,使得多个机器人到达所有目标物体距离之和最短,并规定每个子任务至少分配给一个机器人且每个机器人均分配到至少一个子任务;
(3-6)对各机器人正在执行的子任务和上一时刻的动作进行编码,将各个机器人的当前融合语义图向量、正在执行的子任务编码和上一时刻的动作编码分别通过注意力机制和长短时记忆网络得到各个机器人的当前状态编码,将各个机器人的当前状态编码和其正在执行的子任务编码通信子模型中,生成各个机器人的当前通信信息,将各机器人的当前状态编码、正在执行的子任务编码、当前通信信息以及其上一时刻的动作编码输入动作执行子模型中的子目标预测网络,得到各机器人的下一步导航子目标;
(3-7)将各机器人的下一步导航子目标输入所述动作执行子模型的所述底层动作执行器中,生成从当前位置到达下一步导航子目标的底层动作序列,各机器人执行对应的底层动作到达子目标位置;
(3-8)根据各机器人达到子目标位置后的新位置,返回步骤(3-2)继续执行,根据各机器人新得到的融合后的语义图进行动态的任务分解和分配,根据动态的任务分解和分配结果进行下一步子目标规划并执行相应的动作,重复上述步骤,直至多个机器人完成待测试任务语言指令中所有要求的动作,多机器人任务分配和执行过程结束。
8.根据权利要求7所述的多机器人在线任务分配和执行方法,其特征在于,步骤(3-5)中,使用二分图匹配方法将各个待执行子任务分配给各个机器人。
9.一种多机器人在线任务分配和执行装置,其特征在于,包括:
预训练模块,用于获取预训练数据,每条所述预训练数据包含位置、问题和正确回答;构建场景编码模型,所述场景编码模型以机器人的视觉感知信息作为输入,以编码后的语义图向量作为输出;构建分类模型,所述分类模型以所述编码后的语义图向量和对应所述预训练数据的问题作为输入,以所述问题的预测回答作为输出,将所述场景编码模型与所述分类模型连接,使用所述预训练数据训练所述场景编码模型以对场景内的语义图进行编码,并且在编码中保留相应的位置和语义信息,得到预训练完毕的场景编码模型;
训练模块,用于生成训练数据,每条所述训练数据包含场景编号、任务语言指令和场景内所有机器人的初始化位置,所述任务语言指令根据场景内存在的物体类型、物体可被执行的动作类型和对应的被操作物体生成,所述所有机器人的初始化位置根据所述任务语言指令中包含的物体位置生成;针对每条所述训练数据,分别生成专家示范结果,每个所述专家示范结果包含任务分解结果、任务分配结果和各机器人在每一时刻执行的动作;构建含有所述预训练完毕的场景编码模型的多机器人任务分配和执行模型,所述多机器人任务分配和执行模型以所述任务语言指令和各机器人当前的视觉感知信息作为输入,以各机器人下一步执行动作的子目标作为输出;使用所述训练数据和所述专家示范结果对所述多机器人任务分配和执行模型进行训练,训练其进行任务分解和分配以及动作子目标生成的能力,得到训练完毕的多机器人任务分配和执行模型;
测试模块,用于使所述训练完毕的多机器人任务分配和执行模型根据待测试任务语言指令和各机器人的视觉感知信息在每一步对操作任务进行动态分解和分配,并且为每个机器人生成下一步动作的子目标,使多个机器人协同完成操作任务。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1~8中任一项所述的多机器人在线任务分配和执行方法。
CN202210958761.2A 2022-08-09 2022-08-09 多机器人在线任务分配和执行方法、装置及存储介质 Active CN115284288B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210958761.2A CN115284288B (zh) 2022-08-09 2022-08-09 多机器人在线任务分配和执行方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210958761.2A CN115284288B (zh) 2022-08-09 2022-08-09 多机器人在线任务分配和执行方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN115284288A CN115284288A (zh) 2022-11-04
CN115284288B true CN115284288B (zh) 2024-04-12

Family

ID=83827629

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210958761.2A Active CN115284288B (zh) 2022-08-09 2022-08-09 多机器人在线任务分配和执行方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN115284288B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117540828B (zh) * 2024-01-10 2024-06-04 中国电子科技集团公司第十五研究所 作训科目推荐模型训练方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732450A (zh) * 2021-01-22 2021-04-30 清华大学 端-边-云协同框架下的机器人知识图谱生成系统及方法
CN113189983A (zh) * 2021-04-13 2021-07-30 中国人民解放军国防科技大学 一种面向开放场景的多机器人协同多目标采样方法
CN113642243A (zh) * 2021-08-23 2021-11-12 香港中文大学(深圳) 多机器人的深度强化学习系统、训练方法、设备及介质
WO2022016826A1 (zh) * 2020-07-23 2022-01-27 谈斯聪 多模式综合信息识别移动式双臂机器人装置、系统及方法
CN114706389A (zh) * 2022-03-28 2022-07-05 清华大学 一种基于社交平台的多机器人动态环境搜索系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200259891A1 (en) * 2019-02-07 2020-08-13 Microsoft Technology Licensing, Llc Facilitating Interaction with Plural BOTs Using a Master BOT Framework

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022016826A1 (zh) * 2020-07-23 2022-01-27 谈斯聪 多模式综合信息识别移动式双臂机器人装置、系统及方法
CN112732450A (zh) * 2021-01-22 2021-04-30 清华大学 端-边-云协同框架下的机器人知识图谱生成系统及方法
CN113189983A (zh) * 2021-04-13 2021-07-30 中国人民解放军国防科技大学 一种面向开放场景的多机器人协同多目标采样方法
CN113642243A (zh) * 2021-08-23 2021-11-12 香港中文大学(深圳) 多机器人的深度强化学习系统、训练方法、设备及介质
CN114706389A (zh) * 2022-03-28 2022-07-05 清华大学 一种基于社交平台的多机器人动态环境搜索系统及方法

Also Published As

Publication number Publication date
CN115284288A (zh) 2022-11-04

Similar Documents

Publication Publication Date Title
Zhang et al. Reinforcement learning for robot research: A comprehensive review and open issues
Marcucci et al. Motion planning around obstacles with convex optimization
Zhao et al. A heuristic distributed task allocation method for multivehicle multitask problems and its application to search and rescue scenario
Little et al. An algorithm for the traveling salesman problem
Quattrini Li et al. A semantically-informed multirobot system for exploration of relevant areas in search and rescue settings
Liu et al. An iterative two-phase optimization method based on divide and conquer framework for integrated scheduling of multiple UAVs
Emel’yanov et al. Multilayer cognitive architecture for UAV control
CN115284288B (zh) 多机器人在线任务分配和执行方法、装置及存储介质
Öztürk et al. Optimal bid valuation using path finding for multi-robot task allocation
Tan et al. Multi-agent embodied question answering in interactive environments
US20230237342A1 (en) Adaptive lookahead for planning and learning
CN115408813A (zh) 基于深度强化学习的涂装轨迹智能规划方法
Goodman A machine learning approach to artificial floorplan generation
US20240202381A1 (en) Customizable reinforcement learning of column placement in structural design
Graule et al. Gg-llm: Geometrically grounding large language models for zero-shot human activity forecasting in human-aware task planning
Liang et al. Sponet: solve spatial optimization problem using deep reinforcement learning for urban spatial decision analysis
Chand et al. A two-tiered global path planning strategy for limited memory mobile robots
Ou et al. Hybrid path planning based on adaptive visibility graph initialization and edge computing for mobile robots
US11308422B2 (en) Method of and system for determining physical transfer interchange nodes
Shriyam et al. Task assignment and scheduling for mobile robot teams
Li Three-dimensional path planning of robots in virtual situations based on an improved fruit fly optimization algorithm
Zhang et al. Integrating multi-agent reinforcement learning and 3D A* search for facility layout problem considering connector-assembly
Panov Simultaneous learning and planning in a hierarchical control system for a cognitive agent
Fisher et al. A locally adaptive Bayesian cubature method
Williams Human-centric functional modeling and the metaverse

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant