CN114169748A - 多机器人任务分配方法、系统、设备及可读存储介质 - Google Patents

多机器人任务分配方法、系统、设备及可读存储介质 Download PDF

Info

Publication number
CN114169748A
CN114169748A CN202111476825.7A CN202111476825A CN114169748A CN 114169748 A CN114169748 A CN 114169748A CN 202111476825 A CN202111476825 A CN 202111476825A CN 114169748 A CN114169748 A CN 114169748A
Authority
CN
China
Prior art keywords
task
robot
time
constraint
information
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.)
Pending
Application number
CN202111476825.7A
Other languages
English (en)
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.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong 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 Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CN202111476825.7A priority Critical patent/CN114169748A/zh
Publication of CN114169748A publication Critical patent/CN114169748A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Educational Administration (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

本发明属于人工智能和机器人协同领域,公开了一种多机器人任务分配方法、系统、设备及可读存储介质,包括获取输入信息;所述输入信息包括机器人数量、各机器人位置信息、任务数量、各任务位置信息、任务时间约束信息、任务优先级约束信息及各机器人在任意两任务间的移动时间;将输入信息输入预设的带时间窗和优先级约束的任务分配模型并求解,得到各机器人的任务分配信息、各任务的开始时刻信息以及各任务的完成时刻信息。能够对任务分配给多个机器人进行精确求解,提高了该问题的求解精度,提高了作业的效率和质量。可同时对任务的时间和优先级关系进行约束,合理分配任务执行顺序、执行时间及执行机器人,切合实际应用场景,符合实际需求。

Description

多机器人任务分配方法、系统、设备及可读存储介质
技术领域
本发明属于人工智能和机器人协同领域,涉及一种多机器人任务分配方法、系统、设备及可读存储介质。
背景技术
在工业4.0时代,利用信息化技术促进产业变革,对日益复杂问题的技术解决方案的需求正在迅速增长。在机器人领域,这一需求的表现之一就是要求机器人执行任务的种类和难度在迅速增加。比如,在清洁工作中,任务具有时间约束,要求必须在某一时间窗之内完成;任务间具有优先级约束,要求必须依赖于某种任务完成。在执行任务时,不考虑这些约束会可能会导致任务的失败;同时,采取单个机器人也很难满足约束的要求。
为解决上述的多机器人任务分配问题,该领域学者、专家提出了诸多方法,这些方法主要包括两大类:集中式方法和非集中式方法。其中,集中式方法包括:混合整型规划、约束规划、启发式、元启发和蒙特卡洛树搜索;非集中式方法包括:分布式约束优化和基于拍卖式的方法。但是,通过调研发现,这些方法大多仅处理带有时间窗或者仅处理带有优先级的多机器人任务分配问题。如混合整型规划、约束规划方法、带有时间窗的顺序单项拍卖方法等仅能处理带有时间约束的多机器人任务分配问题;带有优先级约束的迭代拍卖式仅处理带有优先级约束的多机器人任务分配问题。另外,一种基于拍卖式的算法同时处理了这两种约束,但在求解精度上有所欠缺,分配结果不能满足预想需求。
发明内容
本发明的目的在于克服上述现有技术的缺点,提供一种。
为达到上述目的,本发明采用以下技术方案予以实现:
本发明第一方面,一种多机器人任务分配方法,包括以下步骤:
获取输入信息;所述输入信息包括机器人数量、各机器人位置信息、任务数量、各任务位置信息、任务时间约束信息、任务优先级约束信息及各机器人在任意两任务间的移动时间;
将输入信息输入预设的带时间窗和优先级约束的任务分配模型并求解,得到各机器人的任务分配信息、各任务的开始时刻信息以及各任务的完成时刻信息。
可选的,所述预设的带时间窗和优先级约束的任务分配模型以最终任务完成时间最小,任务分配数量最多为优化目标,以变量取值范围约束、单机器人任务约束、唯一前继约束、唯一后继约束、路程时间约束、任务时间约束、任务优先级约束以及最终任务完成时间约束为约束条件进行构建得到。
可选的,所述带时间窗和优先级约束的任务分配模型的优化目标为:
Figure BDA0003393787680000021
其中,Z表示最终任务完成时间,rk表示第k个机器人,ti表示第i个任务,
Figure BDA0003393787680000026
表示机器人集合,
Figure BDA0003393787680000027
表示任务集合,Aik∈{0,1},任务ti被分配给机器人rk则Aik=1,否则Aik=0。
可选的,所述变量取值范围约束为:
Figure BDA0003393787680000022
Figure BDA0003393787680000023
Figure BDA0003393787680000024
Figure BDA0003393787680000025
Figure BDA0003393787680000031
Figure BDA0003393787680000032
其中,nr表示机器人数量,nt表示任务数量;Yik∈{0,1},任务ti是分配给机器人rk的最后一个任务则Yik=1,否则Yik=0;Xik∈{0,1},机器人rk在完成任务ti之后接着执行tj则Xi,j,k=1,否则Xi,j,k=0;
Figure BDA0003393787680000033
表示任务ti在时刻Si开始;
Figure BDA0003393787680000034
表示任务ti在时刻Fi完成;
单机器人任务约束为:
Figure BDA0003393787680000035
Figure BDA0003393787680000036
Figure BDA0003393787680000037
Figure BDA0003393787680000038
其中,
Figure BDA0003393787680000039
表示虚拟任务集合;
唯一前继约束为:
Figure BDA00033937876800000310
其中,Xik∈{0,1},机器人rk在完成任务ti之后接着执行tj则Xi,j,k=1,否则Xi,j,k=0;Ajk∈{0,1},任务tj被分配给机器人rk则Ajk=1,否则Ajk=0;
唯一后继约束为:
Figure BDA00033937876800000311
路程时间约束为:
Figure BDA0003393787680000041
其中,
Figure BDA0003393787680000042
表示任务tj在时刻Sj开始;M表示给定的常数;Ti,j,k表示机器人rk从任务ti到任务tj的时间耗费;
任务时间约束为:
Figure BDA0003393787680000043
Figure BDA0003393787680000044
Figure BDA0003393787680000045
其中,est(ti)表示任务ti的最早开始时刻约束,twl(ti)表示任务ti的时间窗约束,dur(ti)表示任务ti的持续时间约束;
任务优先级约束为:
Figure BDA0003393787680000046
Figure BDA0003393787680000047
其中,
Figure BDA0003393787680000048
表示清洁任务优先级约束集合,Pi,j∈{0,1}表示任务ti和任务tj之间的优先级关系,当任务ti优先级高于任务tj时,Pi,j=1,否则,Pi,j=0;
最终任务完成时间约束为:
Figure BDA0003393787680000049
可选的,当所有机器人均为同构机器人时:
Ti,j,k=dij,dij∈D,D={di,j|i∈{1,2,…,nt},j∈{1,2,…,nt}}
dij表示任务ti和任务tj之间的距离。
可选的,所述任务ti和任务tj之间的距离通过如下方式得到:
获取任务ti和任务tj的位置信息以及所有任务区域的地图;
根据任务ti和任务tj的位置信息以及所有任务区域的地图,通过Astar算法得到任务ti和任务tj之间的距离。
可选的,所述将输入信息输入预设的带时间窗和优先级约束的任务分配模型并求解时,采用Gurobi求解器或Cplex求解器进行求解。
本发明第二方面,一种多机器人任务分配系统,包括:
获取模块,用于获取输入信息;所述输入信息包括机器人数量、各机器人位置信息、任务数量、各任务位置信息、任务时间约束信息、任务优先级约束信息及各机器人在任意两任务间的移动时间;
模型求解模块,用于将输入信息输入预设的带时间窗和优先级约束的任务分配模型并求解,得到各机器人的任务分配信息、各任务的开始时刻信息以及各任务的完成时刻信息。
本发明第三方面,一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述多机器人任务分配方法的步骤。
本发明第四方面,一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述多机器人任务分配方法的步骤。
与现有技术相比,本发明具有以下有益效果:
本发明多机器人任务分配方法,通过获取机器人数量、各机器人位置信息、任务数量、各任务位置信息、任务时间约束信息、任务优先级约束信息及各机器人在任意两任务间的移动时间作为输入信息,基于预设的带时间窗和优先级约束的任务分配模型,得到各机器人的任务分配信息、各任务的开始时刻信息以及各任务的完成时刻信息,能够对任务分配给多个机器人进行精确求解,提高了该问题的求解精度,提高了作业的效率和质量。并且,可同时对任务的时间和优先级关系进行约束,合理分配任务执行顺序、执行时间、执行机器人,更加切合实际应用场景,符合实际需求。将多机器人任务分配问题进行了抽象化,不仅适用于作业,还适用于多机器人协同领域的其他实际问题,易于部署,应用场景广泛,具有高度的可拓展性和广阔的应用前景。
附图说明
图1为本发明的多机器人任务分配方法流程图;
图2为本发明实施例的某区域平面布局图以及标注好的清洁位置示意图;
图3为本发明实施例的清洁任务分配的结果示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面结合附图对本发明做进一步详细描述:
参见图1,本发明一实施例中,提供一种多机器人任务分配方法,是一种精确的、针对多任务的,可同时处理时间和优先级约束的多机器人任务分配算法,该方法基于对任务和机器人属性进行建模并抽象化约束条件,进而构建得到的多目标带时间窗和优先级约束的任务分配模型,将任务集分配给各机器人。
具体的,该多机器人任务分配方法包括以下步骤:
S1:获取输入信息;所述输入信息包括机器人数量、各机器人位置信息、任务数量、各任务位置信息、任务时间约束信息、任务优先级约束信息及各机器人在任意两任务间的移动时间。
具体的,获取机器人以及任务的资料信息,继而确定可用机器人总数nr,任务总数nt;然后建立机器人集合
Figure BDA0003393787680000071
其中rk表示第k个机器人;建立任务机器人集合
Figure BDA0003393787680000072
其中ti表示第i个任务;建立虚拟任务集合
Figure BDA0003393787680000073
Figure BDA0003393787680000074
参数信息与
Figure BDA0003393787680000075
一致。其中,虚拟任务在这里用于表征各机器人的初始任务,执行虚拟任务消耗的时间为0。
然后建立任务时间约束集合
Figure BDA0003393787680000076
一个任务具有3个时间约束,其中est(t)表示任务t的最早开刻时间约束,twl(t)表示任务t的时间窗约束,dur(t)表示任务t的持续时间(完成任务耗时)约束,并且
Figure BDA0003393787680000077
Figure BDA0003393787680000078
然后建立任务优先级约束集合
Figure BDA0003393787680000079
其中Pi,j表示任务ti和任务tj之间的优先级关系,并且Pi,j∈{0,1},当Pi,j=1时,ti<tj,即任务ti优先级高于任务tj,任务ti必须先于任务tj完成。
然后建立机器人在任务间移动时间集合。根据区域形状、任务位置坐标、机器人位置和移动速度以及其他实际影响因素,建立机器人在任务间移动时间集合T={Ti,j,k|i∈{1,2,…,nt},j∈{1,2,…,nt},k∈{1,2,…,nr}},其中Ti,j,k表示机器人rk从任务ti到任务tj的时间耗费,并且
Figure BDA0003393787680000081
至此,得到机器人数量、各机器人位置信息、任务数量、各任务位置信息、任务时间约束信息、任务优先级约束信息及各机器人在任意两任务间的移动时间,并将这些信息组合作为输入信息。
S2:将输入信息输入预设的带时间窗和优先级约束的任务分配模型并求解,得到各机器人的任务分配信息、各任务的开始时刻信息以及各任务的完成时刻信息。
具体的,该步骤的实现依赖于预设的带时间窗和优先级约束的任务分配模型,本实施例中,预设的带时间窗和优先级约束的任务分配模型以最终任务完成时间最小,任务分配数量最多为优化目标,以变量取值范围约束、单机器人任务约束、唯一前继约束、唯一后继约束、路程时间约束、任务时间约束、任务优先级约束以及最终任务完成时间约束为约束条件进行构建得到。
具体的,本实施例中,提供如下的带时间窗和优先级约束的任务分配模型建立过程:
建立带时间窗和优先级约束的任务分配模型的决策变量集合:任务分配矩阵A={Aik|i∈{1,2,…,nt},k∈{1,2,…,nr}},其中Aik∈{0,1},任务ti被分配给机器人rk则Aik=1,否则Aik=0;最终任务分配矩阵Y={Yik|i∈{1,2,…,nt},k∈{1,2,…,nr}},其中Yik∈{0,1},任务ti是分配给机器人rk的最后一个任务则Yik=1,否则Yik=0;任务执行顺序矩阵X={Xi,j,k|i∈{1,2,…,nt},j∈{1,2,…,nt},k∈{1,2,…,nr}},其中Xik∈{0,1},机器人rk在完成任务ti之后接着执行tj则Xi,j,k=1,否则Xi,j,k=0;任务开始时刻向量S={Si|i∈{1,2,…,nt}},其中
Figure BDA0003393787680000091
表示任务ti在时刻Si完成;任务完成时刻向量F={Fi|i∈{1,2,…,nt}},其中
Figure BDA0003393787680000092
表示任务ti在时刻Fi完成;最大任务完成时间Z,
Figure BDA0003393787680000093
表示所有任务的最大完成时刻。
建立带时间窗和优先级约束的任务分配模型的优化目标向量,以最终任务完成时间最小,任务分配数量最多为优化目标,建立如下优化目标向量:
Figure BDA0003393787680000094
然后建立变量取值范围约束、单机器人任务约束、唯一前继约束、唯一后继约束、路程时间约束、任务时间约束、任务优先级约束及最终任务完成时间约束。
其中,决策变量的取值范围约束:
Figure BDA0003393787680000095
Figure BDA0003393787680000096
Figure BDA0003393787680000097
Figure BDA0003393787680000098
Figure BDA0003393787680000099
Figure BDA00033937876800000910
单机器人任务约束,具体包括:任务只能由一个机器人完成、一个机器人只能完成一个虚拟任务以及一个机器人只能有一个最终完成任务。
Figure BDA0003393787680000101
Figure BDA0003393787680000102
Figure BDA0003393787680000103
Figure BDA0003393787680000104
唯一前继约束,即如果任务被分配,则存在唯一的任务在该任务之前被完成:
Figure BDA0003393787680000105
唯一后继约束,即如果任务被分配,则存在唯一的任务在该任务之后被完成,或该任务是最后一个被完成的任务:
Figure BDA0003393787680000106
路程时间约束,即机器人必须能够在开始执行任务前到达任务位置:
Figure BDA0003393787680000107
其中,M表示一个给定的极大常数。具体的,在线性规划问题的约束条件中加人工变量后,要求在目标函数中相应地添加人为的M或一M为系数的项。在极大化问题中,对人工变量赋于一M作为其系数;在极小化问题中,对人工变量赋于一个M作为其系数,M为一任意大(而非无穷大)的正数。把M看作一个代数符号参与运算,用单纯形法求解,故称此方法为大M法。
任务时间约束,包括3个约束,分别表示:1、任务开始和结束时刻差必须满足任务完成时间;2、任务必须在最早可开始执行时刻后被执行;3、当任务被分配时,任务的结束时刻必须满足时间窗:
Figure BDA0003393787680000111
Figure BDA0003393787680000112
Figure BDA0003393787680000113
任务优先级约束,包括2个约束,分别表示:1、如果任务间存在优先级约束,低优先级任务的开始时刻必须晚于高优先级任务的结束时刻;2、如果任务间存在优先级约束,低优先级任务只有在高优先级任务被分配后才能被分配:
Figure BDA0003393787680000114
Figure BDA0003393787680000115
最终任务完成时间约束,即最终任务完成时间大于所有任务的结束时刻:
Figure BDA0003393787680000116
然后将优化变量、优化目标和约束条件组合在一起,得到带时间窗和优先级约束的任务分配模型,该带时间窗和优先级约束的任务分配模型为一种混合整型规划模型。
在建立好带时间窗和优先级约束的任务分配模型之后,将S1中获取的输入信息输入带时间窗和优先级约束的任务分配模型中,通过求解带时间窗和优先级约束的任务分配模型,得到决策变量A,S,F的具体数据,即得到各机器人的任务分配信息、各任务的开始时刻信息以及各任务的完成时刻信息,并根据这些数据完成任务分配和调度。
可选的,在求解带时间窗和优先级约束的任务分配模型时,可以采用Gurobi求解器或Cplex求解器进行求解。
可选的,当所有机器人均为同构机器人,速度设置为1个路程单位/一个时间单位时:
Ti,j,k=dij,dij∈D,D={di,j|i∈{1,2,…,nt},j∈{1,2,…,nt}}
dij表示任务ti和任务tj之间的距离。以尽可能降低模型的求解难度。
其中,所述任务ti和任务tj之间的距离通过如下方式得到:获取任务ti和任务tj的位置信息以及所有任务区域的地图;根据任务ti和任务tj的位置信息以及所有任务区域的地图,通过Astar算法得到任务ti和任务tj之间的距离。
综上所述,本发明多机器人任务分配方法,通过获取机器人数量、各机器人位置信息、任务数量、各任务位置信息、任务时间约束信息、任务优先级约束信息及各机器人在任意两任务间的移动时间作为输入信息,基于预设的带时间窗和优先级约束的任务分配模型,得到各机器人的任务分配信息、各任务的开始时刻信息以及各任务的完成时刻信息,能够对任务分配给多个机器人进行精确求解,提高了该问题的求解精度,提高了作业的效率和质量。并且,可同时对任务的时间和优先级关系进行约束,合理分配任务执行顺序、执行时间、执行机器人,更加切合实际应用场景,符合实际需求。将多机器人任务分配问题进行了抽象化,不仅适用于作业,还适用于多机器人协同领域的其他实际问题,易于部署,应用场景广泛,具有高度的可拓展性和广阔的应用前景。
下面以清洁任务的分配为例,说明本发明多机器人任务分配方法。
清洁机器人集群任务分配问题:有某区域平面布局图以及标注好的清洁位置,需要对所有清洁位置进行一种或多种不同的清洁,不同清洁任务间有不同的先后关系,如应该先扫地,后拖地;清洁机器人集群有三个同构机器人,需要对清洁机器人进行清洁任务分配以使整体清洁任务的完成率最高,耗时最短。参见图2,某区域平面布局图以及标注好的清洁位置,是一个100m*100m大小的清洁区域,图2中使用空心圆圈表示清洁位置,空心圆圈填充色表示优先级约束规律,优先级约束规律为按照颜色由深到浅的渐变规律优先级从高到低。各清洁任务位置信息和时间约束如表1所示,清洁机器人初始位置和速度信息如表2所示。
表1清洁任务信息表
任务序号 1 2 3 4 5 6 7 8 9
X坐标(m) 20 83 76 37 65 24 65 84 38
Y坐标(m) 93 97 70 33 78 80 78 55 14
最早开始时刻(s) 238 238 140 237 354 327 276 190 222
时间窗长度(s) 696 696 1117 155 715 1291 905 1174 1509
任务持续时间(s) 33 33 30 28 35 23 31 39 37
表2清洁机器人信息表
机器人序号 1 2 3
X坐标(m) 13 89 91
Y坐标(m) 28 91 3
行驶速度(m/s) 1 1 1
执行步骤A1:得到可用机器人总数nr=3,清洁任务总数nt=9。
执行步骤A2:建立清洁机器人集合
Figure BDA0003393787680000131
其中rk表示第k个清洁机器人;建立清洁任务机器人集合
Figure BDA0003393787680000132
其中ti表示第i个清洁任务;建立虚拟清洁人物集合
Figure BDA0003393787680000133
Figure BDA0003393787680000134
参数信息与
Figure BDA0003393787680000135
一致。
执行步骤A3:建立清洁任务时间约束集合
Figure BDA0003393787680000136
一个任务具有3个时间约束,其中est(t)表示任务t的最早开始时刻约束,twl(t)表示任务t的时间窗约束,dur(t)表示任务t的持续时间(完成任务耗时)约束,对应任务约束如表1所示。
执行步骤A4:建立清洁任务优先级约束集合
Figure BDA0003393787680000141
Figure BDA0003393787680000142
根据本例中的清洁任务,设定P14=1,P28=1,P39=1,P56=1,P58=1,P61=1,其余组合为0。
执行步骤A5:建立清洁机器人在清洁任务间移动时间集合。根据清洁区域形状、清洁任务位置坐标、机器人位置和移动速度以及其他实际影响因素,建立机器人在清洁任务间移动时间集合T={Ti,j,k|i∈{1,2,…,9},j∈{1,2,…,9},k∈{1,2,…,9}},其中Ti,j,k表示清洁机器人rk从清洁任务ti到清洁任务tj的时间耗费,并且
Figure BDA0003393787680000143
样例中的机器人为同构机器人,所以该集合与机器人无关,同时因为机器人速度为1m/s,故Ti,j,k=dij,dij∈D,D={di,j|i∈{1,2,…,9},j∈{1,2,…,9}}。采用A*算法求解从任务ti到任务tj的距离得到清洁机器人在清洁任务间移动时间集合如表3所示,单位:m。
执行步骤A6:求解带时间窗和优先级约束的任务分配模型。将清洁机器人数目和位置、清洁任务数目和位置、清洁任务时间约束、清洁任务优先级约束作为输入,进行最优化求解。求解得到的结果为:
各机器人的任务分配信息,即任务分配矩阵:
r1:t3→t7→t6
r2:t9→t5→t8
r3:t2→t1
t4因约束冲突或机器人数量不足未分配。
根据各任务的开始时刻信息以及各任务的完成时刻信息,得到任务执行区间:
t1:(412,447),t2:(238,271),t3:(140,170)
t4:(447,475),t5:(354,389),t6:(389,412)
t7:(276,307),t8:(412,451),t9:(222,259)
执行步骤A7:根据最优化结果将清洁任务分配给机器人。利用求解得到的任务分配矩阵及任务执行区间,将清洁任务分配给机器人并按照指定时间区间进行调度。
表3清洁任务间移动时间集合表
Figure BDA0003393787680000151
最终,清洁工作耗时451秒,任务完成率8/9,并同时满足时间和优先级约束,符合预期设计,且各机器人承担工作量较为平衡,提现了规划的优秀属性。清洁机器人具体执行路径如图3所示。
下述为本发明的装置实施例,可以用于执行本发明方法实施例。对于装置实施例中未披露的细节,请参照本发明方法实施例。
本发明再一实施例中,提供一种多机器人任务分配系统,能够用于实现上述的多机器人任务分配方法,具体的,该多机器人任务分配系统包括获取模块以及模型求解模块。
其中,获取模块用于获取输入信息;所述输入信息包括机器人数量、各机器人位置信息、任务数量、各任务位置信息、任务时间约束信息、任务优先级约束信息及各机器人在任意两任务间的移动时间;模型求解模块用于将输入信息输入预设的带时间窗和优先级约束的任务分配模型并求解,得到各机器人的任务分配信息、各任务的开始时刻信息以及各任务的完成时刻信息。
前述的多机器人任务分配方法的实施例涉及的各步骤的所有相关内容均可以援引到本发明施例中的多机器人任务分配系统所对应的功能模块的功能描述,在此不再赘述。
本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本发明各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
本发明再一个实施例中,提供了一种计算机设备,该计算机设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor、DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行计算机存储介质内一条或一条以上指令从而实现相应方法流程或相应功能;本发明实施例所述的处理器可以用于多机器人任务分配方法的操作。
本发明再一个实施例中,本发明还提供了一种存储介质,具体为计算机可读存储介质(Memory),所述计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中有关多机器人任务分配方法的相应步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

Claims (10)

1.一种多机器人任务分配方法,其特征在于,包括以下步骤:
获取输入信息;所述输入信息包括机器人数量、各机器人位置信息、任务数量、各任务位置信息、任务时间约束信息、任务优先级约束信息及各机器人在任意两任务间的移动时间;
将输入信息输入预设的带时间窗和优先级约束的任务分配模型并求解,得到各机器人的任务分配信息、各任务的开始时刻信息以及各任务的完成时刻信息。
2.根据权利要求1所述的多机器人任务分配方法,其特征在于,所述预设的带时间窗和优先级约束的任务分配模型以最终任务完成时间最小,任务分配数量最多为优化目标,以变量取值范围约束、单机器人任务约束、唯一前继约束、唯一后继约束、路程时间约束、任务时间约束、任务优先级约束以及最终任务完成时间约束为约束条件进行构建得到。
3.根据权利要求2所述的多机器人任务分配方法,其特征在于,所述带时间窗和优先级约束的任务分配模型的优化目标为:
Figure FDA0003393787670000011
其中,Z表示最终任务完成时间,rk表示第k个机器人,ti表示第i个任务,
Figure FDA0003393787670000012
表示机器人集合,
Figure FDA0003393787670000013
表示任务集合,Aik∈{0,1},任务ti被分配给机器人rk则Aik=1,否则Aik=0。
4.根据权利要求3所述的多机器人任务分配方法,其特征在于,所述变量取值范围约束为:
Figure FDA0003393787670000014
Figure FDA0003393787670000015
Figure FDA0003393787670000016
Figure FDA0003393787670000021
Figure FDA0003393787670000022
Figure FDA0003393787670000023
其中,nr表示机器人数量,nt表示任务数量;Yik∈{0,1},任务ti是分配给机器人rk的最后一个任务则Yik=1,否则Yik=0;Xik∈{0,1},机器人rk在完成任务ti之后接着执行tj则Xi,j,k=1,否则Xi,j,k=0;
Figure FDA0003393787670000024
表示任务ti在时刻Si开始;
Figure FDA0003393787670000025
表示任务ti在时刻Fi完成;
单机器人任务约束为:
Figure FDA0003393787670000026
Figure FDA0003393787670000027
Figure FDA0003393787670000028
Figure FDA0003393787670000029
其中,
Figure FDA00033937876700000210
表示虚拟任务集合;
唯一前继约束为:
Figure FDA00033937876700000211
其中,Xik∈{0,1},机器人rk在完成任务ti之后接着执行tj则Xi,j,k=1,否则Xi,j,k=0;Ajk∈{0,1},任务tj被分配给机器人rk则Ajk=1,否则Ajk=0;
唯一后继约束为:
Figure FDA00033937876700000212
路程时间约束为:
Figure FDA0003393787670000031
其中,
Figure FDA0003393787670000032
表示任务tj在时刻Sj开始;M表示给定的常数;Ti,j,k表示机器人rk从任务ti到任务tj的时间耗费;
任务时间约束为:
Figure FDA0003393787670000033
Figure FDA0003393787670000034
Figure FDA0003393787670000035
其中,est(ti)表示任务ti的最早开始时刻约束,twl(ti)表示任务ti的时间窗约束,dur(ti)表示任务ti的持续时间约束;
任务优先级约束为:
Figure FDA0003393787670000036
Figure FDA0003393787670000037
其中,
Figure FDA0003393787670000038
表示清洁任务优先级约束集合,Pi,j∈{0,1}表示任务ti和任务tj之间的优先级关系,当任务ti优先级高于任务tj时,Pi,j=1,否则,Pi,j=0;
最终任务完成时间约束为:
Figure FDA0003393787670000039
5.根据权利要求4所述的多机器人任务分配方法,其特征在于,当所有机器人均为同构机器人时:
Ti,j,k=dij,dij∈D,D={di,j|i∈{1,2,...,nt},j∈{1,2,...,nt}}
dij表示任务ti和任务tj之间的距离。
6.根据权利要求5所述的多机器人任务分配方法,其特征在于,所述任务ti和任务tj之间的距离通过如下方式得到:
获取任务ti和任务tj的位置信息以及所有任务区域的地图;
根据任务ti和任务tj的位置信息以及所有任务区域的地图,通过Astar算法得到任务ti和任务tj之间的距离。
7.根据权利要求1所述的多机器人任务分配方法,其特征在于,所述将输入信息输入预设的带时间窗和优先级约束的任务分配模型并求解时,采用Gurobi求解器或Cplex求解器进行求解。
8.一种多机器人任务分配系统,其特征在于,包括:
获取模块,用于获取输入信息;所述输入信息包括机器人数量、各机器人位置信息、任务数量、各任务位置信息、任务时间约束信息、任务优先级约束信息及各机器人在任意两任务间的移动时间;
模型求解模块,用于将输入信息输入预设的带时间窗和优先级约束的任务分配模型并求解,得到各机器人的任务分配信息、各任务的开始时刻信息以及各任务的完成时刻信息。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述多机器人任务分配方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述多机器人任务分配方法的步骤。
CN202111476825.7A 2021-12-02 2021-12-02 多机器人任务分配方法、系统、设备及可读存储介质 Pending CN114169748A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111476825.7A CN114169748A (zh) 2021-12-02 2021-12-02 多机器人任务分配方法、系统、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111476825.7A CN114169748A (zh) 2021-12-02 2021-12-02 多机器人任务分配方法、系统、设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN114169748A true CN114169748A (zh) 2022-03-11

Family

ID=80483284

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111476825.7A Pending CN114169748A (zh) 2021-12-02 2021-12-02 多机器人任务分配方法、系统、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN114169748A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114971423A (zh) * 2022-07-27 2022-08-30 北京航空航天大学 多ucav的协同任务分配方法、装置、电子设备及介质
CN115358685A (zh) * 2022-10-24 2022-11-18 齐鲁云商数字科技股份有限公司 一种矿山运输管理系统及管理方法
CN115860366A (zh) * 2022-11-17 2023-03-28 桂林电子科技大学 一种社区机器人智慧协调管控方法、系统和可读存储介质
CN116862208A (zh) * 2023-09-05 2023-10-10 中煤科工机器人科技有限公司 一种煤矿机器人集群管理系统
CN117610899A (zh) * 2024-01-24 2024-02-27 纳博特南京科技有限公司 一种基于优先度的多机器人的任务分配方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114971423A (zh) * 2022-07-27 2022-08-30 北京航空航天大学 多ucav的协同任务分配方法、装置、电子设备及介质
CN114971423B (zh) * 2022-07-27 2022-10-04 北京航空航天大学 多ucav的协同任务分配方法、装置、电子设备及介质
CN115358685A (zh) * 2022-10-24 2022-11-18 齐鲁云商数字科技股份有限公司 一种矿山运输管理系统及管理方法
CN115860366A (zh) * 2022-11-17 2023-03-28 桂林电子科技大学 一种社区机器人智慧协调管控方法、系统和可读存储介质
CN115860366B (zh) * 2022-11-17 2024-05-14 桂林电子科技大学 一种社区机器人智慧协调管控方法、系统和可读存储介质
CN116862208A (zh) * 2023-09-05 2023-10-10 中煤科工机器人科技有限公司 一种煤矿机器人集群管理系统
CN117610899A (zh) * 2024-01-24 2024-02-27 纳博特南京科技有限公司 一种基于优先度的多机器人的任务分配方法

Similar Documents

Publication Publication Date Title
CN114169748A (zh) 多机器人任务分配方法、系统、设备及可读存储介质
CN107895225B (zh) 一种多Agent无冲突的合作型任务分配方法
Turner et al. Distributed task rescheduling with time constraints for the optimization of total task allocations in a multirobot system
Yu et al. Optimizing task scheduling in human-robot collaboration with deep multi-agent reinforcement learning
Jiang et al. Distributed dynamic scheduling for cyber-physical production systems based on a multi-agent system
CN104915251B (zh) 任务调度方法及装置
CN114193447A (zh) 多机器人控制方法、电子设备及存储介质
CN110456633B (zh) 机载多平台分布式任务分配方法
CN109615188A (zh) 一种预分配结合匈牙利算法的多机器人任务分配方法
CN103729246A (zh) 一种任务调度方法和装置
CN110866687A (zh) 任务分配方法及装置
CN112230677B (zh) 无人机族群任务规划方法及终端设备
CN113256125B (zh) 异构机器人集群任务分配方法、系统、设备及存储介质
Ojstersek et al. Use of simulation software environments for the purpose of production optimization
CN111798097B (zh) 一种基于市场机制的自主移动机器人任务分配处理方法
Arvind et al. Architecture for industry 4.0-based manufacturing systems
CN108769105A (zh) 一种云环境下的知识服务多任务调度优化方法及其构建的调度系统
Shah et al. Colored Petri net model for significant reduction of invariants in flexible manufacturing systems
CN113960969A (zh) 一种基于大数据的物流仓储的调度方法及系统
Zaidi et al. Task allocation based on shared resource constraint for multi-robot systems in manufacturing industry
CN113568747A (zh) 基于任务分类与时序预测的云机器人资源调度方法及系统
CN110245809B (zh) 一种用于多机器人多任务协作工作的智能优化方法和系统
CN117611029A (zh) 一种仓储物流系统的进程式仿真方法及系统
Ananth et al. Cooperative game theoretic approach for job scheduling in cloud computing
CN116755397A (zh) 一种基于图卷积策略梯度的多机协同任务调度方法

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