本发明涉及网络信息处理技术领域,具体涉及一种多智能体自主协同任务分配方法。
背景技术:
随着电子和信息技术的发展,智能体的应用越来越为广泛,如智慧制造、智慧医疗、智慧家居服务等。多智能体可以通过网络实现彼此之间的复杂性连接,促进彼此之间的信息交换和状态识别,构成实时动态的多智能体网络以协同实现特定环境下的任务目标。
在特定应用环境中,每个智能体都有不同于其它智能体的特征表象。每个智能体都有其各自的任务目标、资源能力及任务偏好,而为了自我目标的达成,多智能体成员会向组织贡献不同程度的能力或资源,以满足特定任务的要求。因此,在多智能体环境下,机器人需要自主协调规划不同智能体之间的任务,以期形成多智能体既有资源可满足的,同时又可使其偏好最大化的共同目标。
由于信息技术的发展应用,多智能体环境下的每个机器人的任务目标、所具有的资源能力及偏好等信息的收集成为可能,其行为也可以通过综合这些特点而完全得到。不同机器人之间所拥有的更多微观层面上的动态交流沟通、信息及资源共享,刻画了多智能体环境下的机器人任务自主协同规划与传统任务规划的不同属性特征。因此,需要不同的规划技术以实现多智能体环境下任务规划的高度智能,满足不同应用环境下的智慧要求。
《智能环境下移动机器人任务规划与执行系统架构设计》(房芳,马旭东,钱堃,梁志伟,东南大学学报(自然科学版),2012年,第42卷,增刊(I),182-185):针对移动机器人传统的确定型任务规划和执行问题,依据智能水平将智能体(agent)划分为3个不同层次,最高层次的负责总体任务规划和分配及对其它智能体(agent)的控制和协调,分解后的子任务交由第二层次智能体(agent)分别执行,第三层次的交互智能体(interaction agent)表示和机器人有行为交互的服务对象人智能体,并通过与最高层智能体(agent)的交互和协商解决避免人机/阻塞和不友好问题,在此基础上构建了机器人任务规划与执行的系统架构,包括任务计划层、任务分配层、人机交互管理层、自主规划层和构建管理层等。
随着信息技术的发展,机器人的智能性得到了很大提升,多个智能体完全可以脱离人而互相协作以完成不同任务目标,但现有技术仍是基于人机联合的任务规划技术,且将固定任务目标交由一个中心管理机器人进行任务指派,本质上仍是基于单任务目标的机器人任务规划技术,未能考虑多智能体环境中不同机器人所具有的任务目标、资源能力及其偏好对任务规划的影响。
技术实现要素:
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种多智能体自主协同任务分配方法。
(二)技术方案
为实现以上目的,本发明通过以下技术方案予以实现:
本发明提供了一种多智能体自主协同任务分配方法,所述任务分配方法包括如下步骤:
步骤一、根据每个智能体对每个任务的感知状态,构造多智能体的任务感知矩阵,得到多智能体对每个任务的感知信息,进而得到多智能体对每个任务的感知状态识别信息;
步骤二、根据每个智能体实现每个任务所具备的资源,构造多智能体实现任务的资源矩阵,得到多智能体实现每个任务的总资源条件,进而得到多智能体实现每个任务的资源条件识别信息;
步骤三、根据所述感知状态识别信息和资源条件识别信息,对每个任务的可行性进行识别,得到可行性任务集合;
步骤四、根据每个智能体对每个可行性任务的偏好程度,构造多智能体的任务偏好矩阵;并结合每个智能体在多智能体中的重要程度,获得每个可行性任务的可行性度;
步骤五、按照可行性度从大到小的顺序,将可行性度所对应的可行性任务分配给多智能体执行,从而实现任务自主协同分配。
进一步的,步骤一的具体实现过程包括:
步骤11、构造多智能体的任务感知矩阵MAO:
其中,maoij为第i个智能体对第j个任务的感知状态;i=1,2,...,m;j=1,2,...,n;m和n分别为智能体和任务的个数;
步骤13、按照如下公式,得到多智能体对第j个任务的感知信息;
步骤14、按照如下公式,获得多智能体对第j个任务的感知状态识别信息:
其中,ΔMAOj为多智能体对第j个任务的感知状态识别信息;为多智能体对第j个任务的感知判断标准。
进一步的,当第i个智能体感知到第j个任务,则maoij=1;否则,maoij=0;的取值为1。
进一步的,步骤二的具体实现过程包括:
步骤21、构造多智能体实现任务的资源矩阵MAR:
其中,marij为第i个智能体实现第j个任务所具备的资源;i=1,2,...,m;j=1,2,...,n;m和n分别为智能体和任务的个数;
步骤22、按照如下公式,获得多智能体实现第j个任务的总资源条件:
步骤23、按照如下公式,获得多智能体实现第j个任务的资源条件识别信息;
其中,ΔMARj为多智能体实现第j个任务的资源条件识别信息;为多智能体实现第j个任务所应具备的最低资源条件。
进一步的,步骤三的具体实现过程包括:
判断感知状态识别信息是否等于0,且资源条件识别信息是否大于等于0,如是,则该感知状态识别信息或资源条件识别信息所对应的任务属于可行性任务集合F,其状态向量为S=[1,0,0,0];如否,则该感知状态识别信息或资源条件识别信息所对应的任务不属于可行性任务集合。
进一步的,步骤四的具体实现过程包括:
步骤41、构造多智能体的任务偏好矩阵MAP:
其中,mapij'为第i个智能体对第j'个可行性任务的偏好程度;j=1,2,...,n;n′为可行性任务集合F中可行性任务的个数;
步骤42、按照如下公式,获得第i个智能体在多智能体中的重要程度;
其中,和分别为第i个智能体对于可行性任务的信息贡献度和资源贡献度;
步骤43、按照如下公式,获得第j'个可行性任务的可行性度f(j');
(三)有益效果
本发明提供了一种多智能体自主协同任务分配方法。具备一下有益效果:
1、本发明不考虑人为因素对智能体的任务分配的影响,给出了多智能体环境下的任务自主协同分配的普适性方法;
2、本发明解决了传统单任务规划的局限性,从信息交互及资源共享等群体成员协同交互的角度,分析了多智能体环境下机器人的任务特点,并根据状态向量,将任务划分为可行性任务和不可行性任务,降低了运算量,提高了协同分配效率,从而给出了多任务分配的一般解决方法。
3、本发明以任务状态识别的方式,实现机器人多任务目标的自主协同规划,并将机器人任务偏好考虑在内,确保了满足多智能体偏好的最佳任务选择。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的多智能体自主协同任务分配流程示意图;
图2为本发明的任务的四种状态。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
根据智能体对任务的感知状态及所拥有的资源,给出任务的四种状态,如图2所示:
①可行性状态:智能体的任务清晰,同时具有足够的资源实现该任务;
②资源非可行性状态:智能体虽然任务清晰,但不具备实现该任务的资源条件;
③感知非可行性状态:虽然智能体具备实现某个任务的资源条件,但由于信息的非对称性,使智能体未能感知到该任务,使该任务处于感知非可行性状态;
④完全非可行性状态:智能体未能感知到某个任务,同时也不具备实现该任务的资源条件。
基于上述对智能体的任务状态分析,进行多智能体的任务协同分配。本发明的构思如下:
首先根据智能体对任务的感知状态及任务资源的拥有情况,将从任务集合中识别出可行性任务,然后结合智能体对不同可行性任务的偏好程度,得到各个可行性任务的可行性度;并按照可行性度从大到小的顺序,将可行性度所对应的可行性任务分配给多智能体执行,从而实现任务自主协同分配。
基于上述构思,本实施例给出了一种多智能体自主协同任务分配方法,如图1所示,该任务分配方法包括如下步骤:
步骤一、根据每个智能体对每个任务的感知状态,构造多智能体的任务感知矩阵,得到多智能体对每个任务的感知信息,进而得到多智能体对每个任务的感知状态识别信息。
本步骤的具体实现过程包括:
步骤11、构造多智能体的任务感知矩阵MAO:
其中,maoij为第i个智能体对第j个任务的感知状态;i=1,2,...,m;j=1,2,...,n;m和n分别为智能体和任务的个数;
步骤13、按照如下公式获得多智能体第j个任务的感知信息;
步骤14、按照如下公式,获得多智能体对第j个任务的感知状态识别信息:
其中,ΔMAOj为多智能体对第j个任务的感知状态识别信息;为多智能体对第j个任务的感知判断标准。
本实施例中,当第i个智能体感知到第j个任务,则maoij=1;否则maoij=1。的取值优选为1。
步骤二、根据每个智能体实现每个任务所具备的资源,构造多智能体实现任务的资源矩阵,得到多智能体实现每个任务的总资源条件,进而得到多智能体实现每个任务的资源条件识别信息。
本步骤的具体实现过程包括:
步骤21、构造多智能体实现任务的资源矩阵MAR:
其中,marij为第i个智能体实现第j个任务所具备的资源;
步骤22、按照如下公式,获得多智能体实现第j个任务的总资源条件:
步骤23、按照如下公式,获得多智能体实现第j个任务的资源条件识别信息;
其中,ΔMARj为多智能体实现第j个任务的资源条件识别信息;为多智能体实现第j个任务所应具备的最低资源条件。
步骤三、根据感知状态识别信息和资源条件识别信息,对每个任务的可行性进行识别,得到可行性任务集合。
具体实现过程包括:
判断感知状态识别信息是否等于0,且资源条件识别信息是否大于等于0,如是,则该感知状态识别信息或资源条件识别信息所对应的任务属于可行性任务集合F,其状态向量为S=[1,0,0,0];如否,则该感知状态识别信息或资源条件识别信息所对应的任务不属于可行性任务集合。
表1任务状态识别向量
步骤四、根据每个智能体对每个可行性任务的偏好程度,构造多智能体的任务偏好矩阵;并结合每个智能体在多智能体中的重要程度,获得每个可行性任务的可行性度。
本步骤的具体实现过程包括:
步骤41、构造多智能体的任务偏好矩阵MAP:
其中,mapij'为第i个智能体对第j'个可行性任务的偏好程度;j′=1,2,...,n′;n′为可行性任务集合F中可行性任务的个数,mapij'可预先设定,如将各个智能体对各个任务初始设定的执行编号的倒数作为各个智能体的执行偏好。
步骤42、按照如下公式,获得第i个智能体在多智能体中的重要程度;
其中,和分别为第i个智能体对于可行性任务的信息贡献度和资源贡献度;
步骤43、按照如下公式,获得第j'个可行性任务的可行性度f(j');
步骤五、按照可行性度从大到小的顺序,将可行性度所对应的可行性任务分配给多智能体执行,从而实现任务自主协同分配。
下面以具体的实施例来进行描述本发明的技术方案:
假设某智慧车间,存在M1、M2、M3、M4四个智能机器人,现需要完成3个订单的加工任务,在不影响订单交付日期的前提下,随机将其指派给不同的机器人以作为其各自的任务目标。完成每个订单所需要的工时作为完成不同任务的最低资源条件,表2给出了不同订单的分配情况及每个智能机器人所具有的工时能力。
表2任务感知及任务资源
针对不同任务,表3给出了不同智能机器人的初始执行顺序,本实施例将其对应执行编号的倒数作为不同智能机器人的执行偏好。
表3任务执行顺序
运用公式(2)、(4),可计算得出3个任务所处的状态,如表4所示。运用公式(6)、(7)分别计算智能机器人对可行性任务的感知贡献度和资源贡献度,据此可以综合得到多智能机器人的重要度向量w=[w1,w2,w3,w4]=[0.467,0.599,0.429,0.505]。运用公式(8)计算得出每个任务的最终可行性度,见表4。由表4可知,按照表4中的可行性度从大到小的顺序,即订单2、订单1和订单3的顺序,作为多智能机器人当下的执行任务的顺序。
表4任务状态向量及可执行性
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。