机器人的任务分配方法及装置与流程

文档序号:18234177发布日期:2019-07-24 08:35阅读:500来源:国知局
机器人的任务分配方法及装置与流程

本发明涉及通信技术领域,尤其涉及一种机器人的任务分配方法及装置。



背景技术:

随着科技的发展与进步,智能机器人的应用越来越广泛。多机器人系统可以更好地实现信息和资源共享,具有更高的并行性和鲁棒性,可以完成更加复杂的任务,已经被应用到智能生产、未知环境探测、搬运清理、服务行业、搜索搜救、远程通信等多个领域中,具备很好的实用价值。对于多机器人如何进行任务分配调度成为大家关注的焦点。

传统的任务分配算法大多是基于行为机制、奖赏机制、市场机制以及群体智能等方式。上述算法仅适用于静态或者任务信息事先已知的场景,而在多机器人的应用领域,往往需要机器人之间协作执行任务,或是“顺路”执行任务,传统的任务分配算法存在较大的局限。



技术实现要素:

本发明实施例提供一种机器人的任务分配方法及装置,能够提升对机器人的任务分配效率,并实现不同机器人之间的协同作业。

一种机器人的任务分配方法,包括:

基于预设激励模型计算待处理任务对目标机器人的激励值;

根据所述激励值的大小为目标机器人分配相应的待处理任务,并更改所述待处理任务与目标机器人的状态信息;

当所述待处理任务需要协助处理时,根据预设协助策略将所述待处理任务分配给至少两个目标机器人协助处理。

可选的,在其中一个实施例中,所述基于预设激励模型计算待处理任务对目标机器人的激励值,包括:

获取所述待处理任务对目标机器人的第一激励值;

所述第一激励值与目标机器人的能力值、路径匹配度呈正相关,与目标机器人和待处理任务所在地之间的距离呈负相关。

可选的,在其中一个实施例中,所述目标机器人包括处于等待状态的第一机器人和处于空闲状态的第二机器人;所述基于预设激励模型计算待处理任务对目标机器人的激励值,还包括:

获取所述第一机器人对第二机器人的第二激励值;

所述第二激励值与第一机器人的能力值和第二机器人的能力值呈正相关,与第一机器人和第二机器人之间的距离呈负相关。

可选的,在其中一个实施例中,所述基于预设激励模型计算待处理任务对目标机器人的激励值,还包括:

获取所述待处理任务对目标机器人的第三激励值;

所述第三激励值与所述第一激励值和所述第二激励值的求和值呈正相关。

可选的,在其中一个实施例中,所述待处理任务的状态信息包括待分配状态、待协助状态、已分配状态、执行状态和完成状态。

可选的,在其中一个实施例中,所述目标机器人的状态信息与所述待处理任务的状态信息相对应,所述目标机器人的状态信息包括空闲状态、被激励状态、等待状态和工作状态。

可选的,在其中一个实施例中,所述当所述待处理任务需要协助处理时,根据预设协助策略将所述待处理任务分配给至少两个目标机器人协助处理,包括:

当所述待处理任务需要协助处理时,将所述目标机器人的状态信息更改为等待状态,将所述待处理任务的状态信息更改为待协助状态,并优先处理处于待协助状态的待处理任务;

将所述处于待协助状态的待处理任务发送至处于空闲状态的目标机器人。

一种机器人的任务分配装置,包括:

激励值计算模块,用于基于预设激励模型计算待处理任务对目标机器人的激励值;

任务分配模块,用于根据所述激励值的大小为目标机器人分配相应的待处理任务,并更改所述待处理任务与目标机器人的状态信息;

任务处理模块,用于当所述待处理任务需要协助处理时,根据预设协助策略将所述待处理任务分配给至少两个目标机器人协助处理。

一种终端,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述的方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。

实施本发明实施例,将具有如下有益效果:

上述机器人的任务分配方法及装置,通过基于预设激励模型计算待处理任务对目标机器人的激励值,根据所述激励值的大小为目标机器人分配相应的待处理任务,并更改所述待处理任务与目标机器人的状态信息,当所述待处理任务需要协助处理时,根据预设协助策略将所述待处理任务分配给至少两个目标机器人协助处理。通过上述方法,可以及时触发任务的分配,提高对机器人的任务分配效率,并实现不同机器人之间的协同作业,改善系统的运行效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

其中:

图1为一个实施例中机器人的任务分配方法的流程图;

图2为另一个实施例中机器人的任务分配方法的流程图;

图3为另一个实施例中机器人的任务分配方法的流程图;

图4为另一个实施例中机器人的任务分配方法的流程图;

图5为一个实施例中待处理任务的状态转移图;

图6为一个实施例中目标机器人的状态转移图;

图7为另一个实施例中机器人的任务分配方法的流程图;

图8为一个实施例中机器人系统的工作流程示意图;

图9为一个实施例中机器人的任务分配装置的结构框图;

图10为一个实施例中终端的内部结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本申请。可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一应用程序称为第二应用程序,且类似地,可将第二进应用程序为第一应用程序。第一应用程序和第二应用程序两者都是应用程序,但其不是同一应用程序。

图1为一个实施例中机器人的任务分配方法的流程图。本实施例中的机器人的任务分配方法,可以应用于物流、仓储行业,实现机器人独自或协同作业以完成对货物的搬运。具体的,机器人可以是自动导引运输车/无人搬运车(Automated Guided Vehicle,AGV),自动导引运输车指的是装备有电磁或光学等自动导引装置,能够沿规定的导引路径行驶,具有安全保护以及各种移载功能的运输车。可选的,机器人的数量可以是一个或多个,机器人的类型可以是相同类型或不同类型。本实施例提供的机器人的任务分配方法,能够提升对机器人的任务分配效率,并实现不同机器人之间的协同作业。如图1所示,机器人的任务分配方法包括以下步骤102~步骤106:

步骤102:基于预设激励模型计算待处理任务对目标机器人的激励值。

其中,待处理任务指的是系统中等待机器人处理的任务,例如仓库中等待搬运的货物;目标机器人可以理解为系统中可执行任务的机器人。本实施例将多机器人系统与免疫系统进行类比,构建预设激励模型,以实现一个或多个机器人的任务分配与协同作业。

具体的,待处理任务可以类比为抗原,目标机器人可以类比为抗体,机器人通信网络可以类比为免疫网络,待处理任务与目标机器人之间的激励可以类比为抗原对抗体的激励,机器人与机器人之间的激励可以类比为抗体间的激励。通过待处理任务对目标机器人的激励可以引起系统发生机器人通信网络应答,进而目标机器人可以接收到待处理任务;通过机器人与机器人之间的激励可以引发多个机器人之间协同作业,以提升系统的运行效率。

进一步的,基于预设激励模型计算待处理任务对目标机器人的激励值,具体可以包括待处理任务对目标机器人的激励值、机器人与机器人之间的激励值、综合激励值等。

步骤104:根据所述激励值的大小为目标机器人分配相应的待处理任务,并更改所述待处理任务与目标机器人的状态信息。

本实施例中系统会根据所述激励值的大小为目标机器人分配相应的待处理任务。具体的,在初始时刻,机器人间的任务分配主要根据待处理任务对目标机器人的激励进行选择,若某个任务对目标机器人的激励值越高,则目标机器人获得该任务的概率就越大。当机器人执行任务需要其他机器人协助时,则根据机器人与机器人之间的激励值进行协同作业,如果任务处于待协助状态,等待在这个任务的机器人越多,则该任务被优先选择的概率越大,系统效率越高。

进一步的,当待处理任务分配至对应的目标机器人时,待处理任务与目标机器人的状态信息会同步进行更改,以便进行下一步操作。具体的,待处理任务的状态信息可以表示为从待分配状态更改为已分配状态,目标机器人的状态信息可以表示为从空闲状态更改为被激励状态。

步骤106:当所述待处理任务需要协助处理时,根据预设协助策略将所述待处理任务分配给至少两个目标机器人协助处理。

在将待处理任务分配给目标机器人后,判断目标机器人能否独自完成该任务;若否,则该待处理任务需要协助处理,此时更改所述待处理任务与目标机器人的状态信息,将待处理任务的状态信息更改为待协助状态,将目标机器人的状态信息更改为等待状态。进一步的,根据预设协助策略将所述待处理任务分配给至少两个目标机器人协助处理。

具体的,系统根据需要协助处理的待处理任务添加动态任务,并且采取事件驱动的机制进行动态任务的匹配、分配。当动态添加了任务时,系统会优先对动态任务进行分配处理,也即优先处理处于待协助状态的待处理任务。当动态任务触发后,系统执行步骤102所述的操作,以将动态任务分配给相应的目标机器人,实现至少两个目标机器人协同作业。

上述机器人的任务分配方法,通过基于预设激励模型计算待处理任务对目标机器人的激励值,根据所述激励值的大小为目标机器人分配相应的待处理任务,并更改所述待处理任务与目标机器人的状态信息,当所述待处理任务需要协助处理时,根据预设协助策略将所述待处理任务分配给至少两个目标机器人协助处理。通过上述方法,可以及时触发任务的分配,提高对机器人的任务分配效率,并实现不同机器人之间的协同作业,改善系统的运行效率。

如图2所示,在一个实施例中,所述基于预设激励模型计算待处理任务对目标机器人的激励值,也即步骤102还包括以下步骤202~步骤204:

步骤202:获取所述待处理任务对目标机器人的第一激励值。

第一激励值可以理解为初始时刻待处理任务对目标机器人的激励。

步骤204:所述第一激励值与目标机器人的能力值、路径匹配度呈正相关,与目标机器人和待处理任务所在地之间的距离呈负相关。

具体的,设系统中存在m个目标机器人AGVi(i=1,2,3…m)和n个待处理任务Tj(j=1,2,3…n),AGVi具有相应的能力值fi,每个任务具有对能力的约束、完成时间的约束以及是否需要协作的约束。

举例来说,设第j个任务对第i个AGV的激励为gij,将该激励定义为:

其中,γ1、γ2、γ3为调整参数,R为常数,fi为AGV的能力值,δij为AGV当前路径与待处理任务路径的匹配度,dij为AGV与待处理任务所在地之间的距离。具体的,δij可以通过执行任务时车辆规划路径中与AGV即将运行路径相同的个数计算得到。

如图3所示,在一个实施例中,目标机器人包括处于等待状态的第一机器人和处于空闲状态的第二机器人;所述基于预设激励模型计算待处理任务对目标机器人的激励值,也即步骤102还包括以下步骤302~步骤304:

步骤302:获取所述第一机器人对第二机器人的第二激励值。

第二激励值可以理解为当待处理任务需要协助处理时,处于等待状态的机器人对处于空闲状态的机器人发出的激励。

步骤304:所述第二激励值与第一机器人的能力值和第二机器人的能力值呈正相关,与第一机器人和第二机器人之间的距离呈负相关。

具体的,当AGV执行任务需要其他AGV协助时需要激励合适的AGV协助执行任务,等待在某处的机器人对空闲机器人的激励越大其前往协作的可能性就越大。

举例来说,设AGVj对AGVi的激励为mij,将该激励定义为:

其中,γ4、γ5、γ6为调整参数,fi为AGVi的能力值,fj为AGVj的能力值,dij为AGVi与AGVj之间的欧式距离。

如图4所示,在一个实施例中,所述基于预设激励模型计算待处理任务对目标机器人的激励值,还包括以下步骤402~步骤406:

步骤402:获取所述待处理任务对目标机器人的第三激励值。

第三激励值可以理解为待处理任务对目标机器人的综合激励。

步骤406:所述第三激励值与所述第一激励值和所述第二激励值的求和值呈正相关。

举例来说,设Aij为第j个任务对第i个AGV的综合激励,将其定义为:

其中,α、β为调整参数,N为在等待任务Tj的AGV,mik为第k个机器人对第i个机器人的激励值,gij为第j个任务对第i个机器人的激励值。由该公式可知,如果任务处于待协作状态,等待在这个任务的AGV越多,则该任务被优先选择的概率越大,系统效率越高。

在一个实施例中,如图5所示,为一个实施例中待处理任务的状态转移图,待处理任务的状态信息包括待分配状态、待协助状态、已分配状态、执行状态和完成状态,待处理任务的状态信息和目标机器人的状态信息相互对应。具体的,待分配状态的任务激励空闲状态的机器人后转变为已分配状态,如果此机器人可以自行完成任务,则该任务从已分配状态转变为执行状态;若此机器人不能自行完成任务,则该任务从已分配状态转变为待协助状态,处于待协助状态的任务获得协助后转变为已分配状态,若等待协助的机器人由于长时间没有得到协助而放弃该任务,则该任务由待协助状态重新回到待分配状态。

在一个实施例中,如图6所示,为一个实施例中目标机器人的状态转移图,目标机器人的状态信息与所述待处理任务的状态信息相对应,所述目标机器人的状态信息包括空闲状态、被激励状态、等待状态和工作状态。具体的,初始时刻,所有任务处于待分配状态,机器人处于空闲状态,每个机器人按照激励值匹配相应的任务,若每个机器人匹配的任务不重复,则直接获得相应任务,且该机器人由空闲状态转变为被激励状态;如果出现冲突,则冲突的机器人中次优任务激励低者获得最优任务,次优任务激励相同时,随机分配最优任务,其余机器人重新选择任务。可选的,任务分配时,每个机器人同一时刻只能得到一个任务,且当机器人处于空闲状态时才能被任务所激励,任务处于待分配状态和待协助状态时才可以对机器人产生激励作用。

在一个实施例中,如图7所示,所述当所述待处理任务需要协助处理时,根据预设协助策略将所述待处理任务分配给至少两个目标机器人协助处理,包括以下步骤702~步骤704:

步骤702:当所述待处理任务需要协助处理时,将所述目标机器人的状态信息更改为等待状态,将所述待处理任务的状态信息更改为待协助状态,并优先处理处于待协助状态的待处理任务。

当动态添加了任务时,需要系统能够尽快对任务进行分配处理,此时引入事件机制,具体的,当机器人处于下列情况时,可以优先分配任务:机器人由等待状态变空闲状态时,机器人由工作状态变空闲状态时,机器人由被激励状态变等待状态时,机器人出现故障时;当触发上述事件时,对处于空闲状态的机器人进行任务分配。

步骤704:将所述处于待协助状态的待处理任务发送至处于空闲状态的目标机器人。

举例说明,如图8所示,为一个实施例中机器人系统的工作流程示意图,该系统的工作流程包括以下步骤:

步骤801:初始化任务信息、AGV信息;

步骤802:计算空闲AGV与待分配任务和待协助任务的综合激励;

步骤803:根据综合激励大小为空闲AGV选择合适的任务进行执行;

步骤804:判断接到任务的AGV是否能够完成任务,若是则执行步骤806,若否则执行步骤805;

步骤805:更改AGV的状态信息,触发事件后执行步骤802,等待合适的AGV协助执行该任务;

步骤806:AGV独自或协同作业执行任务。

步骤807:判断系统是否终止,若是则执行步骤808,若否则执行步骤805;

步骤808:完成任务,结束。

上述机器人的任务分配方法,可以及时触发任务的分配,提高对机器人的任务分配效率,并实现不同机器人之间的协同作业,改善系统的运行效率。

应该理解的是,虽然上述附图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,附图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

如图9所示,在一个实施例中,提供了一种机器人的任务分配装置,该装置包括激励值计算模块910、任务分配模块920、任务处理模块930。

激励值计算模块910用于基于预设激励模型计算待处理任务对目标机器人的激励值。

任务分配模块920用于根据所述激励值的大小为目标机器人分配相应的待处理任务,并更改所述待处理任务与目标机器人的状态信息。

任务处理模块930用于当所述待处理任务需要协助处理时,根据预设协助策略将所述待处理任务分配给至少两个目标机器人协助处理。

上述机器人的任务分配装置,通过基于预设激励模型计算待处理任务对目标机器人的激励值,根据所述激励值的大小为目标机器人分配相应的待处理任务,并更改所述待处理任务与目标机器人的状态信息,当所述待处理任务需要协助处理时,根据预设协助策略将所述待处理任务分配给至少两个目标机器人协助处理。通过上述装置,可以及时触发任务的分配,提高对机器人的任务分配效率,并实现不同机器人之间的协同作业,改善系统的运行效率。

关于机器人的任务分配装置的具体限定可以参见上文中对于机器人的任务分配方法的限定,在此不再赘述。上述机器人的任务分配装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

本申请实施例中提供的机器人的任务分配装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在终端或服务器的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述的机器人的任务分配方法的步骤。

图10为一个实施例中终端的内部结构示意图。如图2所示,该终端包括通过系统总线连接的处理器、存储器和通信模块。其中,该处理器用于提供计算和控制能力,支撑整个终端的运行。存储器用于存储数据、程序等,存储器上存储至少一个计算机程序,该计算机程序可被处理器执行,以实现本申请实施例中提供的适用于终端的机器人的任务分配方法。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以下各个实施例所提供的一种机器人的任务分配方法。内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环境。通信模块可以是4G通信模块、WiFi通信模块或者COFDM通信模块等,用于与外部的通信传输平台进行通信。该终端可以是自动导引运输车。

本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行如上述各实施例中所描述的机器人的任务分配方法。

本申请实施例还提供了一种计算机程序产品。一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各实施例中所描述的机器人的任务分配方法。

在上述实施例中,可以全部或部分的通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或半导体介质(例如固态硬盘Solid State Disk(SSD))等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1