CN109426884A - 分配方案确定方法、装置及计算机可读存储介质 - Google Patents
分配方案确定方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109426884A CN109426884A CN201710748500.7A CN201710748500A CN109426884A CN 109426884 A CN109426884 A CN 109426884A CN 201710748500 A CN201710748500 A CN 201710748500A CN 109426884 A CN109426884 A CN 109426884A
- Authority
- CN
- China
- Prior art keywords
- task
- mobile robot
- grid
- channel
- cost value
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/043—Optimisation of two dimensional placement, e.g. cutting of clothes or wood
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Educational Administration (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
Abstract
本发明公开了一种分配方案确定方法、装置及计算机可读存储介质,属于大数据技术领域。该方法包括:获取目标区域内的多个任务;确定执行任务的多个移动机器人及该多个移动机器人中每个移动机器人的当前位置;根据该每个移动机器人的当前位置,计算该每个移动机器人分别执行每个任务的代价值;根据计算得到的多个代价值,确定多种任务分配方案中代价值总和最小的指定任务分配方案,该多种任务分配方案中的每种任务分配方案包括与该每个移动机器人唯一对应的一个任务。本发明在分配任务的过程中考虑到移动机器人的当前位置,避免由于移动机器人的当前位置影响到执行任务的效率。另外,能够减少任务总体的执行时间,提高任务总体的执行效率。
Description
技术领域
本发明涉及大数据技术领域,特别涉及一种分配方案确定方法、装置及计算机可读存储介质。
背景技术
目前,仓储机器人、扫地机器人、农业机器人、巡逻机器人等各种移动机器人纷纷诞生,可以代替用户执行相关任务,例如在仓库中搬运货物、在办公室中扫地、在草坪除草、在田地收割庄稼等,节省了人力成本和时间成本,提高了执行任务的效率,为人们的生活带来了极大便利。
以移动机器人为扫地机器人为例,多个扫地机器人需要执行打扫仓库的任务时,会根据仓库的总面积和每个扫地机器人的扫地能力,确定每个扫地机器人的扫地面积,扫地能力越强的扫地机器人所确定的扫地面积越大,从而确定了打扫仓库任务的分配方案,后续过程中每个扫地机器人按照确定的分配方案执行任务即可。
在实现本发明实施例的过程中,发明人发现相关技术至少存在以下问题:
上述分配方案确定方法未考虑到移动机器人的当前位置,考虑不够全面,可能会由于移动机器人的当前位置而影响到执行任务的效率。例如,当移动机器人的当前位置与任务的起始位置的移动距离较远时,移动机器人需要移动很长的时间,才能从当前位置移动至起始位置以开始执行任务,导致执行任务的效率很低。
发明内容
本发明实施例提供了一种分配方案确定方法、装置及计算机可读存储介质,能够解决相关技术中由于移动机器人的当前位置影响到执行任务的效率的问题。所述技术方案如下:
第一方面,提供了一种分配方案确定方法,所述方法包括:
获取目标区域内的多个任务;
确定执行任务的多个移动机器人及所述多个移动机器人中每个移动机器人的当前位置;
根据所述每个移动机器人的当前位置,计算所述每个移动机器人分别执行每个任务的代价值;
根据计算得到的多个代价值,确定多种任务分配方案中代价值总和最小的指定任务分配方案,所述多种任务分配方案中的每种任务分配方案包括与所述每个移动机器人唯一对应的一个任务。
在一种可能的实现方式中,所述获取目标区域内的多个任务,包括:
获取所述目标区域中的多个子区域,每个子区域包括至少一个通道,每个通道包括多个栅格;
获取每个通道的任务,得到所述多个任务,每个任务为从对应通道的起始栅格沿着所述通道移动至所述通道的终止栅格。
在另一种可能的实现方式中,所述根据所述每个移动机器人的当前位置,计算所述每个移动机器人分别执行每个任务的代价值,包括:
对于每个移动机器人和每个任务,计算所述移动机器人移动至所述任务对应的起始栅格时的移动路径,所述任务为从对应通道的起始栅格沿着所述通道移动至所述通道的终止栅格;
根据所述移动路径计算所述移动机器人执行所述任务时的代价值。
在另一种可能的实现方式中,所述根据所述移动路径计算所述移动机器人执行所述任务时的代价值,包括:
获取所述移动路径对应的移动距离,将所述移动距离作为所述移动机器人执行所述任务的代价值。
在另一种可能的实现方式中,所述根据所述移动路径计算所述移动机器人执行所述任务时的代价值,包括:
获取所述移动路径对应的移动距离;
获取所述任务的收益,所述收益与所述任务的优先级正相关;
计算所述移动距离与所述收益的差值,作为所述移动机器人执行所述任务的代价值。
在另一种可能的实现方式中,所述目标区域包括多个子区域,每个子区域包括至少一个通道,所述每个子区域中收益最高的通道的数量为至少一个,不同子区域的最高收益相等。
在另一种可能的实现方式中,所述每个子区域中的第一个通道的任务的收益最高,且所述每个子区域中任一通道的终止栅格与相邻通道的起始栅格相邻,且所述每个子区域中各个通道的任务的收益按照递减幅度依次递减。
在另一种可能的实现方式中,所述根据计算得到的多个代价值,确定多种任务分配方案中代价值总和最小的指定任务分配方案,包括:
将所述多个代价值组成代价值矩阵,所述代价值矩阵的第一维度为移动机器人,第二维度为任务,所述代价值矩阵中的元素为对应移动机器人执行对应任务时的代价值;
采用预设任务分配算法,获取所述代价值矩阵对应的匹配矩阵,所述匹配矩阵中的元素为对应移动机器人与对应任务之间的匹配系数;
将所述匹配矩阵中等于指定值的匹配系数对应的移动机器人和任务组成一个匹配组合,得到多个匹配组合,将所述多个匹配组合构成所述指定分配方案。
在另一种可能的实现方式中,所述根据计算得到的多个代价值,确定多种任务分配方案中代价值总和最小的指定任务分配方案,包括:
构建容量网络,所述容量网络包括源节点、汇节点、与所述每个移动机器人对应的机器人节点和与所述每个任务对应的任务节点,所述源节点和每个机器人节点分别通过第一类路径连接,所述每个机器人节点和所述每个任务节点分别通过第二类路径连接,所述每个任务节点和所述汇节点分别通过第三类路径连接;
配置所述容量网络中每条第一类路径和每条第三类路径的费用为0,并配置每条第二类路径的费用为连接的机器人节点对应的移动机器人执行连接的任务节点对应的任务时的代价值;
采用最小费用最大流算法,获取当所述容量网络的总费用最小且总流量最大时,从所述源节点出发到达所述汇节点会经过的多条第二类路径;
将所述多条第二类路径中的同一条第二类路径连接的机器人节点对应的移动机器人和连接的任务节点对应的任务组成一个匹配组合,得到多个匹配组合,将所述多个匹配组合构成所述指定分配方案。
在另一种可能的实现方式中,所述获取所述目标区域中的多个子区域,包括:
将所述目标区域划分为多个栅格,每个栅格的尺寸相同,其中包含障碍物的栅格为障碍栅格;
对所述目标区域中除了障碍栅格以外的栅格进行分区,得到多个子区域;
对于每个子区域,将所述子区域划分为至少一个长度等于所述子区域的长度且宽度等于一个栅格的通道。
在另一种可能的实现方式中,所述对所述目标区域中除了障碍栅格以外的栅格进行分区,得到多个子区域,包括:
在对所述目标区域进行一次扫描的过程中,当扫描到连通性发生变化的第一位置,之后扫描到连通性发生变化的第二位置时,将所述第一位置和所述第二位置之间的区域按照障碍栅格的位置进行分割,得到至少一个子区域,以使不同子区域之间通过障碍栅格分隔开;
其中,连通性发生变化是指障碍栅格的分布情况发生变化。
第二方面,提供了一种分配方案确定装置,所述装置包括:
获取模块,用于获取目标区域内的多个任务;
确定模块,用于确定执行任务的多个移动机器人及所述多个移动机器人中每个移动机器人的当前位置;
计算模块,用于根据所述每个移动机器人的当前位置,计算所述每个移动机器人分别执行每个任务的代价值;
所述确定模块,还用于根据计算得到的多个代价值,确定多种任务分配方案中代价值总和最小的指定任务分配方案,所述多种任务分配方案中的每种任务分配方案包括与所述每个移动机器人唯一对应的一个任务。
在一种可能的实现方式中,所述获取模块,还用于获取所述目标区域中的多个子区域,每个子区域包括至少一个通道,每个通道包括多个栅格;
所述获取模块,还用于获取每个通道的任务,得到所述多个任务,每个任务为从对应通道的起始栅格沿着所述通道移动至所述通道的终止栅格。
在另一种可能的实现方式中,所述计算模块,还用于对于每个移动机器人和每个任务,计算所述移动机器人移动至所述任务对应的起始栅格时的移动路径,所述任务为从对应通道的起始栅格沿着所述通道移动至所述通道的终止栅格;根据所述移动路径计算所述移动机器人执行所述任务时的代价值。
在另一种可能的实现方式中,所述计算模块,还用于获取所述移动路径对应的移动距离,将所述移动距离作为所述移动机器人执行所述任务的代价值。
在另一种可能的实现方式中,所述计算模块,还用于获取所述移动路径对应的移动距离;获取所述任务的收益,所述收益与所述任务的优先级正相关;计算所述移动距离与所述收益的差值,作为所述移动机器人执行所述任务的代价值。
在另一种可能的实现方式中,所述目标区域包括多个子区域,每个子区域包括至少一个通道,所述每个子区域中收益最高的通道的数量为至少一个,不同子区域的最高收益相等。
在另一种可能的实现方式中,所述每个子区域中的第一个通道的任务的收益最高,且所述每个子区域中任一通道的终止栅格与相邻通道的起始栅格相邻,且所述每个子区域中各个通道的任务的收益按照递减幅度依次递减。
在另一种可能的实现方式中,所述确定模块,包括:
组成子模块,用于将所述多个代价值组成代价值矩阵,所述代价值矩阵的第一维度为移动机器人,第二维度为任务,所述代价值矩阵中的元素为对应移动机器人执行对应任务时的代价值;
获取子模块,用于采用预设任务分配算法,获取所述代价值矩阵对应的匹配矩阵,所述匹配矩阵中的元素为对应移动机器人与对应任务之间的匹配系数;
所述组成子模块,还用于将所述匹配矩阵中等于指定值的匹配系数对应的移动机器人和任务组成一个匹配组合,得到多个匹配组合,将所述多个匹配组合构成所述指定分配方案。
在另一种可能的实现方式中,所述确定模块,包括:
构建子模块,用于构建容量网络,所述容量网络包括源节点、汇节点、与所述每个移动机器人对应的机器人节点和与所述每个任务对应的任务节点,所述源节点和每个机器人节点分别通过第一类路径连接,所述每个机器人节点和所述每个任务节点分别通过第二类路径连接,所述每个任务节点和所述汇节点分别通过第三类路径连接;
配置子模块,用于配置所述容量网络中每条第一类路径和每条第三类路径的费用为0,并配置每条第二类路径的费用为连接的机器人节点对应的移动机器人执行连接的任务节点对应的任务时的代价值;
获取子模块,用于采用最小费用最大流算法,获取当所述容量网络的总费用最小且总流量最大时,从所述源节点出发到达所述汇节点会经过的多条第二类路径;
组成子模块,用于将所述多条第二类路径中的同一条第二类路径连接的机器人节点对应的移动机器人和连接的任务节点对应的任务组成一个匹配组合,得到多个匹配组合,将所述多个匹配组合构成所述指定分配方案。
在另一种可能的实现方式中,所述获取模块,还包括:
划分子模块,用于将所述目标区域划分为多个栅格,每个栅格的尺寸相同,其中包含障碍物的栅格为障碍栅格;
分区子模块,用于对所述目标区域中除了障碍栅格以外的栅格进行分区,得到多个子区域;
所述划分子模块,用于对于每个子区域,将所述子区域划分为至少一个长度等于所述子区域的长度且宽度等于一个栅格的通道。
在另一种可能的实现方式中,所述划分子模块,用于在对所述目标区域进行一次扫描的过程中,当扫描到连通性发生变化的第一位置,之后扫描到连通性发生变化的第二位置时,将所述第一位置和所述第二位置之间的区域按照障碍栅格的位置进行分割,得到至少一个子区域,以使不同子区域之间通过障碍栅格分隔开;
其中,连通性发生变化是指障碍栅格的分布情况发生变化。
第三方面,提供了一种分配装置,所述分配装置包括处理器和存储器;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的计算机程序,实现第一方面所述的方法步骤。
第四方面,提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法步骤。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例提供的定方法、装置及计算机可读存储介质,根据每个移动机器人的当前位置,计算每个移动机器人分别执行每个任务的代价值,确定多种任务分配方案中代价值总和最小的指定任务分配方案,在分配任务的过程中考虑到移动机器人的当前位置,考虑更加全面,避免由于移动机器人的当前位置影响到执行任务的效率。另外,指定分配方案中的多个移动机器人执行任务的代价值总和尽量小,能够减少任务总体的执行时间,提高任务总体的执行效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种实施环境的示意图;
图2是本发明实施例提供的一种任务分配方法的流程图;
图3A是本发明实施例提供的一种任务分配方法的流程图;
图3B是本发明实施例提供的一种将目标区域划分为多个子区域的示意图;
图3C是本发明实施例提供的一种将子区域划分为至少一个通道的示意图;
图3D是本发明实施例提供的一种执行任务分配方法的流程图;
图3E是本发明实施例提供的一种容量网络的示意图;
图4是本发明实施例提供的一种任务分配装置的结构示意图;
图5是本发明实施例提供的一种终端的结构示意图;
图6是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的一种实施环境的示意图,该实施环境包括:分配装置101和多个移动机器人102,该分配装置101和该多个移动机器人102分别建立了连接,可以通过已建立的连接进行通信,该连接包括无线保真(Wireless Fidelity,WI-FI)连接、数据网络连接等。
当多个移动机器人102需要在目标区域中执行任务时,该分配装置101用于确定指定分配方案,该指定分配方案中确定了每个移动机器人102分配的任务,每个移动机器人102用于按照指定分配方案执行分配的任务。其中,该分配装置101可以为电脑、手机或服务器等,移动机器人102可以为仓储机器人、扫地机器人、农业机器人、巡逻机器人等多种类型的机器人。
图2是本发明实施例提供的一种分配方案确定方法的流程图。该发明实施例的执行主体为分配装置,参见图2,该方法包括:
201、获取目标区域内的多个任务。
202、确定执行任务的多个移动机器人及该多个移动机器人中每个移动机器人的当前位置。
203、根据该每个移动机器人的当前位置,计算该每个移动机器人分别执行每个任务的代价值。
204、根据计算得到的多个代价值,确定多种任务分配方案中代价值总和最小的指定任务分配方案,该多种任务分配方案中的每种任务分配方案包括与该每个移动机器人唯一对应的一个任务。
本发明实施例提供的方法,根据每个移动机器人的当前位置,计算每个移动机器人分别执行每个任务的代价值,确定多种任务分配方案中代价值总和最小的指定任务分配方案,在分配任务的过程中考虑到移动机器人的当前位置,考虑更加全面,避免由于移动机器人的当前位置影响到执行任务的效率。另外,指定分配方案中的多个移动机器人执行任务的代价值总和尽量小,能够减少任务总体的执行时间,提高任务总体的执行效率。
在一种可能的实现方式中,该获取目标区域内的多个任务,包括:
获取该目标区域中的多个子区域,每个子区域包括至少一个通道,每个通道包括多个栅格;
获取每个通道的任务,得到该多个任务,每个任务为从对应通道的起始栅格沿着该通道移动至该通道的终止栅格。
在另一种可能的实现方式中,该根据该每个移动机器人的当前位置,计算该每个移动机器人分别执行每个任务的代价值,包括:
对于每个移动机器人和每个任务,计算该移动机器人移动至该任务对应的起始栅格时的移动路径,该任务为从对应通道的起始栅格沿着该通道移动至该通道的终止栅格;
根据该移动路径计算该移动机器人执行该任务时的代价值。
在另一种可能的实现方式中,该根据该移动路径计算该移动机器人执行该任务时的代价值,包括:
获取该移动路径对应的移动距离,将该移动距离作为该移动机器人执行该任务的代价值。
在另一种可能的实现方式中,该根据该移动路径计算该移动机器人执行该任务时的代价值,包括:
获取该移动路径对应的移动距离;
获取该任务的收益,该收益与该任务的优先级正相关;
计算该移动距离与该收益的差值,作为该移动机器人执行该任务的代价值。
在另一种可能的实现方式中,该目标区域包括多个子区域,每个子区域包括至少一个通道,该每个子区域中收益最高的通道的数量为至少一个,不同子区域的最高收益相等。
在另一种可能的实现方式中,该每个子区域中的第一个通道的任务的收益最高,且该每个子区域中任一通道的终止栅格与相邻通道的起始栅格相邻,且该每个子区域中各个通道的任务的收益按照递减幅度依次递减。
在另一种可能的实现方式中,该根据计算得到的多个代价值,确定多种任务分配方案中代价值总和最小的指定任务分配方案,包括:
将该多个代价值组成代价值矩阵,该代价值矩阵的第一维度为移动机器人,第二维度为任务,该代价值矩阵中的元素为对应移动机器人执行对应任务时的代价值;
采用预设任务分配算法,获取该代价值矩阵对应的匹配矩阵,该匹配矩阵中的元素为对应移动机器人与对应任务之间的匹配系数;
将该匹配矩阵中等于指定值的匹配系数对应的移动机器人和任务组成一个匹配组合,得到多个匹配组合,将该多个匹配组合构成该指定分配方案。
在另一种可能的实现方式中,该根据计算得到的多个代价值,确定多种任务分配方案中代价值总和最小的指定任务分配方案,包括:
构建容量网络,该容量网络包括源节点、汇节点、与该每个移动机器人对应的机器人节点和与该每个任务对应的任务节点,该源节点和每个机器人节点分别通过第一类路径连接,该每个机器人节点和该每个任务节点分别通过第二类路径连接,该每个任务节点和该汇节点分别通过第三类路径连接;
配置该容量网络中每条第一类路径和每条第三类路径的费用为0,并配置每条第二类路径的费用为连接的机器人节点对应的移动机器人执行连接的任务节点对应的任务时的代价值;
采用最小费用最大流算法,获取当该容量网络的总费用最小且总流量最大时,从该源节点出发到达该汇节点会经过的多条第二类路径;
将该多条第二类路径中的同一条第二类路径连接的机器人节点对应的移动机器人和连接的任务节点对应的任务组成一个匹配组合,得到多个匹配组合,将该多个匹配组合构成该指定分配方案。
在另一种可能的实现方式中,该获取该目标区域中的多个子区域,每个子区域包括至少一个通道,包括:
将该目标区域划分为多个栅格,每个栅格的尺寸相同,其中包含障碍物的栅格为障碍栅格;
对该目标区域中除了障碍栅格以外的栅格进行分区,得到多个子区域;
对于每个子区域,将该子区域划分为至少一个长度等于该子区域的长度且宽度等于一个栅格的通道。
在另一种可能的实现方式中,该对该目标区域中除了障碍栅格以外的栅格进行分区,得到多个子区域,包括:
在对该目标区域进行一次扫描的过程中,当扫描到连通性发生变化的第一位置,之后扫描到连通性发生变化的第二位置时,将该第一位置和该第二位置之间的区域按照障碍栅格的位置进行分割,得到至少一个子区域,以使不同子区域之间通过障碍栅格分隔开;
其中,连通性发生变化是指障碍栅格的分布情况发生变化。
本发明实施例为移动机器人在目标区域执行任务的过程提供了一种分配方案,考虑到了各个移动机器人处理任务之前所在的当前位置,避免移动机器人由于当前位置影响到执行任务的效率,从而极大地提高了执行任务的效率。
本发明实施例可以应用于多种场景,目标区域和任务可以根据应用的实际场景确定,例如,当应用于仓库中寻找货架的场景,目标区域为仓库,任务为寻找目标物;当应用于在田地收割庄稼的场景,目标区域为田地,任务为收割庄稼;当应用于打扫大厦的场景,目标区域为大厦,任务为打扫。另外,还可应用于在草坪中除草、在建筑工地搬运货物等场景,在此不再赘述。
尤其是,本发明实施例可以应用于“全区域覆盖”的场景,该场景的任务为:移动遍历目标区域的每个位置,而本发明实施例会将目标区域划分为多个通道,通过控制各个移动机器人沿着对应的通道移动,最终实现遍历目标区域中各个位置的效果。
图3A是本发明实施例提供的一种分配方案确定方法的流程图,该方法可以应用于图1所示的实施环境中,交互主体包括分配装置和多个移动机器人,参见图3A,该方法包括:
301、分配装置对目标区域进行分区,得到多个子区域,将每个子区域划分为至少一个通道,获取每个通道对应的任务。
针对分配装置确定目标区域的过程,分配装置可以安装绘制应用,在运行该绘制应用的过程中,检测用户绘制目标区域的操作,从而获取到目标区域。或者,分配装置可以获取用户导入的地图数据,或者从服务器下载地图数据,从而从地图数据中选择目标区域。
为了让多个移动机器人进行分工以分担总体的任务量,本发明实施例对目标区域进行了细化和拆分:将目标区域划分为多个子区域,再进一步将每个子区域划分为至少一个通道,每个移动机器人每次只需负责一个通道的任务即可。
具体来讲,拆分目标区域的过程可以包括以下步骤3011-3013:
3011、将目标区域划分为多个栅格。
本发明实施例中栅格为目标区域划分的最小单位,或者说移动机器人移动的最小单位。每个栅格的尺寸相同,例如每个栅格的尺寸可以等于移动机器人的尺寸。进一步地,每个栅格的长度和宽度也可以相同,并且每个栅格的宽度可以等于移动机器人的宽度,每个栅格的长度可以等于移动机器人的长度。
对于目标区域中包含有障碍物的栅格,分配装置会将这类栅格设置为障碍栅格,后续划分子区域的过程会将障碍栅格排除在外,那么,划分得到的子区域以至进一步得到的通道均不会包含障碍栅格,后续移动机器人沿着通道执行任务时,不会经过障碍栅格,也就避开了障碍物,防止了移动机器人因碰到障碍物而出现摔倒或损坏的情况。
其中,分配装置可以检测对目标区域中任一栅格的选择操作,将用户选择的栅格作为障碍栅格。或者,分配装置可以对目标区域中的地图数据进行分析,确定地图数据中的障碍物,将障碍物所在的位置作为障碍栅格。
3012、对目标区域中除了障碍栅格以外的栅格进行分区,得到多个子区域。
针对除了障碍栅格以外的栅格,分配装置会按照障碍栅格的位置对这些栅格进行分区,得到多个矩形的子区域,不同子区域之间通过障碍栅格分隔开。
具体来讲,分配装置可以采用Boustrophedon分解法(牛耕分解法),沿着一定的扫描方向在目标区域中进行扫描,在一次扫描过程中,当扫描到连通性发生变化的第一位置,之后扫描到连通性发生变化的第二位置时,将该第一位置和该第二位置之间的区域按照障碍栅格的位置进行分割,得到至少一个子区域。其中,该扫描方向可以为目标区域的任一边缘所在的方向,比如水平方向或垂直方向,连通性发生变化是指障碍栅格的分布情况发生变化。
实际应用中,目标区域可以为二维区域,第一位置和第二位置可以分别采用目标区域中的第一直线和第二直线表示,以扫描方向称为第三方向为例,分配装置可以在目标区域中沿着第三方向进行扫描,当扫描到第一直线时连通性发生变化,之后当扫描到第二直线时连通性又发生变化时,可以将该第一直线与该第二直线之间的区域按照障碍栅格的位置进行分割,得到至少一个子区域。
其中,第一直线和第二直线指向与第三方向垂直的第四方向,连通性发生变化是指障碍栅格在第四方向上的分布情况发生变化。例如,第三方向为水平方向时,第一直线和第二直线指向垂直方向,可以为某两列栅格之间的临界线为目标区域中任一列栅格边缘连接形成的直线,则连通性发生变化是指当前扫描到的位置之前的一列栅格中障碍栅格的分布情况与之后的一列栅格中障碍栅格的分布情况不同。其中,障碍栅格的分布情况包括障碍栅格的位置、数量等。
在一个示例性场景中,参见图3B,其示出了一种将目标区域划分为多个子区域的示意图,其中包括X的栅格表示障碍栅格,由粗线条的边框围住且包括标号的区域为划分得到的子区域。
在划分子区域的过程中,会从左向右进行扫描,即从第一列栅格扫描到最后一列栅格,当扫描到第一直线的位置时,由于第四列的第四个栅格是障碍栅格,而第三列的第四个栅格不是障碍栅格,此时确定连通性发生变化。当继续向右扫描到第二直线的位置时,由于第六列的第四个栅格是障碍栅格,而第七列的第四个栅格不是障碍栅格,再次确定连通性发生变化,则会将第一直线和第二直线之间的多个栅格按照障碍栅格的位置进行分割,得到子区域2和子区域3。其他子区域的划分过程与此类似。
3013、对于每个子区域,将该子区域划分为至少一个长度等于该子区域的长度且宽度等于一个栅格的通道。
当将目标区域划分为多个子区域后,对于每个子区域,分配装置会将该子区域划分为至少一个通道,每个通道的长度等于对应子区域的长度,宽度等于一个栅格。例如,分配装置可以确定该子区域的第一方向和第二方向,对该子区域在第一方向每隔一个栅格划分一次,得到沿着第二方向的至少一个通道,每个通道在第一方向上包括一个栅格,第二方向上包括的栅格数目等于该子区域在第二方向上包括的栅格数目。其中第一方向为该子区域中长度较小的边缘所在的方向,或者说子区域宽度确定的方向,该第二方向为该子区域中长度较大的边缘所在的方向,或者说子区域长度确定的方向。
在一个示例性场景中,参见图3C,其示出了一种将子区域划分为至少一个通道的示意图,该示意图中每个箭头符号从起始栅格指向终止栅格,表示执行任务时在通道中的移动方向。以划分子区域1为例,子区域1长度等于8个栅格,宽度等于3个栅格,则可以将子区域1划分为3个通道,每个通道长度为8个栅格,宽度为1个栅格。
当通过上述步骤3011-3013,将目标区域划分为多个通道后,对于该多个通道中的每个通道,分配装置会确定该通道的起始栅格和终止栅格,将从该通道的起始栅格沿着该通道移动至该通道的终止栅格作为该通道对应的任务,从而获取到每个通道的任务。
在一种可能的实现方式中,分配装置可以将该目标区域划分为“牛耕式”通道,即每个子区域中,任一通道的终止栅格与相邻通道的起始栅格相邻,即保证任一通道的移动方向与相邻通道的移动方向相反,那么,移动机器人在任一通道从起始栅格移动至终止栅格,执行任务完成后,如果要执行相邻通道的任务,只需移动一个栅格即可。举例来说,参见图3C,通道11的起始栅格在最下一行,终止栅格在最上一行,移动方向为从下至上,而通道12的起始栅格在最上一行,终止栅格在最下一行,移动方向为从上到下,那么,移动机器人执行通道11的任务完成后,如果要执行通道12的任务,只需向右移动一个栅格即可。
进一步地,对于目标区域中任两个相邻的子区域,分配装置可以设置前一个子区域的最后一个通道的终止栅格与后一个子区域的第一个通道的起始栅格相邻,那么,移动机器人在前一个子区域执行任务完成后,如果要执行后一个子区域的任务,只需移动一个栅格即可。例如,参见图3C,子区域1中通道13的终止栅格和子区域2中通道21的起始栅格相邻,子区域3中通道33的终止栅格和子区域4中通道41的起始栅格相邻。
302、分配装置确定多个移动机器人,计算每个移动机器人分别执行每个任务的代价值。
对于任一移动机器人和任一任务,可以采用代价值这一指标来衡量移动机器人和任务的匹配程度,代价值越小表示移动机器人和任务匹配程度越高,移动机器人执行该任务时消耗的时间越少,效率越高。那么,通过上述步骤301,分配装置将目标区域进行划分并确定了多个任务后,该分配装置可以确定多个移动机器人,根据该多个移动机器人中每个移动机器人的当前位置,计算每个移动机器人分别执行每个任务的代价值。
可选地,在计算代价值的过程中,分配装置可以将多个移动机器人和多个任务组成多个组合,计算每个组合的代价值,以便根据组合的代价值衡量组合中的移动机器人和任务是否匹配。例如,分配装置可以分别从该多个移动机器人中选取任一移动机器人,并可以分别从多个任务中选取任一任务,构成多个组合,每个组合包括一个移动机器人和一个任务,不同组合可以移动机器人相同而任务不同,或者任务相同而移动机器人不同,或者移动机器人和任务均不同。其中,假设第一数量为J,第二数量为K,即任务共有J个,移动机器人共有K个,则组合共有J*K个。
在确定移动机器人执行任务的代价值时,考虑到移动机器人执行任务前通常需要沿着移动路径进行移动,该移动路径为移动机器人从当前位置移动至任务的起始栅格的路径。其中,移动路径中的移动距离、拐弯数量、障碍物分布、复杂程度等因素都会影响到移动机器人为执行任务的准备过程所需耗费的时间。结合该构思,对于某个移动机器人和某个任务,分配装置可以计算该移动机器人与该任务对应的移动路径,根据该移动路径计算该移动机器人执行该任务时的代价值。
在一种可能的实现方式中,可以根据移动路径中的拐弯数量、障碍物分布、复杂程度等参数计算代价值,例如拐弯数量越多,计算出的代价值越大,障碍物分布越多,计算出的代价值越大,移动路径越复杂,计算出的代价值越大。
在另一种可能的实现方式中,可以根据移动路径中的移动距离计算代价值,具体包括以下步骤3021或3022:
3021、获取移动路径对应的移动距离,将移动距离作为该移动机器人执行该任务的代价值。
在确定移动机器人执行任务的代价值时,考虑到移动机器人执行任务前通常需要移动一定的移动距离,移动机器人应当先执行移动距离较近的任务,再执行移动距离越远的任务。结合该构思,本步骤会获取移动机器人执行任务的移动路径所对应的移动距离,将该移动距离作为执行任务的代价值。其中,移动距离是指移动机器人从当前位置移动至任务对应的起始栅格时的距离,该移动距离可以用该移动机器人从当前位置移动至起始栅格会经过的栅格数量表示,例如,当移动机器人要向左移动3个栅格再向前移动4个栅格以到达起始栅格时,移动距离为7,则代价值也为7。
3022、获取该移动路径对应的移动距离和该任务的收益,计算该移动距离与该收益的差值,作为该移动机器人执行该任务的代价值。
考虑到不同任务的优先级不同,移动机器人应当先执行优先级较高的任务,再执行优先级较低的任务。结合该构思,本发明实施例设置了收益这一指标来表示优先级,收益与任务的优先级正相关,如果某任务的优先级较高,分配装置会认为该任务应当优先执行,因此会为该任务确定较大的收益。
具体来讲,分配装置会根据每个任务的优先级,获取每个任务的收益,对于确定的移动机器人,求取该移动机器人执行该任务所需的移动距离与收益的差值,作为该移动机器人执行该任务的代价值,那么,代价值会和移动距离正相关且和优先级负相关。例如,当移动机器人执行某个任务的移动距离为7,该任务的收益为1,则代价值为7-1=6。
进一步地,考虑到对于目标区域中的多个通道来说,在不考虑移动距离的情况下,移动机器人通常会优先移动至任务的收益最高的通道以执行该通道的任务。为了防止多个移动机器人纷纷移动至同一个子区域中执行某一个通道的任务,导致不同移动机器人相互干扰,分配装置可以设置每个子区域中任务的收益最高的通道的数量为至少一个,不同子区域的最高收益相等。那么,由于每个子区域中均具有任务的收益最高的通道,多个移动机器人会分散开来,分别移动至不同子区域中的通道以执行任务,而不会聚集在同一个子区域。
进一步地,结合上述步骤301中“牛耕式”通道的方案,为了让某个移动机器人执行某个任务完成时,只需移动一个栅格即可执行下一个任务,本发明实施例中,可以设置每个子区域中的第一个通道的任务的收益最高,且每个子区域中任一通道的终止栅格与相邻通道的起始栅格相邻,且每个子区域中各个通道的任务的收益按照递减幅度依次递减。那么从理论上讲,还未分配的多个任务中代价值最小的任务会正好是起始栅格与之前分配的任务的终止栅格相邻的任务。
在一种可能的实现方式中,以图3C为例,假设不同子区域的第一个通道的收益均设置为300,不同子区域收益的递减幅度均设置为100,子区域1包括通道11、通道12和通道13,则收益分别为300、200和100,子区域2包括通道21、通道22和通道23,则收益分别为300、200和100,其他子区域通道的收益以此类推。
假设共有10个移动机器人可以分配,采用上述收益进行计算后,指定分配方案中这10个移动机器人会分别分配到通道11、通道21、通道31至通道101。以分配通道21的移动机器人第一个执行任务完成为例,此时剩余的任务包括通道12、通道22至通道102,以及通道13、通道23至通道103等通道的任务,而这些通道中,移动机器人与通道22的移动距离为1,通道22的收益为200,则两者构成的组合代价值为-199,而该移动机器人和其他未分配的任务的移动距离均大于1,且收益均不大于200,因此该移动机器人会分配通道22对应的任务,该移动机器人只需移动一个栅格,即可移动至通道22执行任务。
303、分配装置根据计算得到的多个代价值,确定多种任务分配方案中代价值总和最小的指定任务分配方案。
其中,分配装置可以确定多种任务分配方案中的指定分配方案,该多种任务分配方案中的每种任务分配方案包括与每个移动机器人唯一对应的一个任务,而指定分配方案为这些任务分配方案中代价值总和最小的分配方案,则指定分配方案中的移动机器人和任务从全局来讲是最匹配的。
需要说明的是,上述多种分配方案中的每种分配方案可以包括多个组合,每个组合由一个移动机器人和一个任务组成,可以要求该多种任务分配方案满足以下预设条件:任务分配方案中的组合数量等于任务数量和移动机器人数量的最小值,每个移动机器人最多匹配一个任务,且每个任务最多匹配一个移动机器人。
这是由于,为了避免多个移动机器人执行相同任务时相互干扰,每个任务最多匹配一个移动机器人;而由于一个移动机器人要唯一对应一个任务,每个移动机器人最多匹配一个任务。在这种限制下,假设移动机器人多而任务少,则分配方案中组合的数量应当等于任务的数量,让部分移动机器人处于空闲状态,能够充分发挥每个移动机器人的性能,无需让不同移动机器人执行同一个任务,也避免了相互干扰的情况。假设移动机器人少而任务多,则分配方案中组合的数量应当等于移动机器人的数量,保证每个移动机器人都能分配到任务,即尽可能分配较多的任务。而且此时可以根据移动机器人的当前位置以及每个任务的优先级,优先分配距离移动机器人较近的或者优先级较高的任务。
304、分配装置按照指定分配方案,控制每个移动机器人执行分配的任务。
当得到指定分配方案后,对于每个移动机器人,分配装置会控制该移动机器人执行分配的任务。其中,控制过程实际为:控制移动机器人从当前位置移动至任务对应通道的起始栅格,再从起始栅格沿着通道移动至终止栅格。
具体来讲,分配装置可以根据任务对应的通道以及移动机器人的当前位置,确定移动机器人从当前位置移动至起始栅格的第一移动轨迹,以及从起始栅格沿着通道移动至终止栅格的第二移动轨迹,先向移动机器人发送指示第一移动轨迹的第一通知消息,当移动机器人按照第一通知消息移动到起始栅格并通知分配装置时,分配装置确定移动机器人要开始执行任务,则分配装置会向移动机器人发送要开始执行任务且指示第二移动轨迹且第二通知消息,则移动机器人按照第二通知消息开始执行任务并从起始栅格移动至终止栅格。
例如,分配装置可以先向移动机器人发送第一通知消息:“向左移动3个栅格,再向前移动10个栅格”,则移动机器人会向左移动3个栅格,再向前移动10个栅格,到达起始栅格并通知分配装置,分配装置向移动机器人发送第二通知消息:“进行打扫并向右移动8个栅格”,则移动机器人会开始打扫并向右移动,直到向右移动8个栅格时,通知分配装置任务已经执行完成。
当然,分配装置可以无需发送两次通知消息,而是直接向移动机器人发送指示第一移动轨迹、第二移动轨迹且开始沿着第二移动轨迹移动时要执行任务的第三通知消息,则移动机器人会按照第三通知消息,从当前位置移动至起始栅格,此时开始执行任务并从起始栅格移动至终止栅格
例如,分配装置可以向移动机器人发送第三通知消息:“向左移动3个栅格,再向前移动10个栅格,之后开始打扫,并向右移动8个栅格”,则移动机器人会向左移动3个栅格,再向前移动10个栅格,此时会到达起始栅格,开始打扫并向右移动,直到向右移动8个栅格时,通知分配装置任务已经执行完成。
需要说明的第一点是,在每个移动机器人沿着各自的通道执行任务的过程中,如果某个移动机器人在通道中遇到另一个移动机器人,产生被挡路的异常情况,被挡路的移动机器人会通知分配装置,分配装置会向挡路的移动机器人发送指示消息,让挡路的移动机器人移动以让路。例如,被挡路的移动机器人可以获取挡路的移动机器人的标识以及当前位置,向分配装置发送携带该标识和当前位置的通知消息,分配装置根据该标识确定挡路的移动机器人,并根据该当前位置确定挡路的移动机器人的让路移动轨迹,该让路移动轨迹可以包括挡路的移动机器人让路时应当移动的移动方向、移动距离等,则向该标识对应的挡路的移动机器人发送指示让路移动轨迹的指示消息,则挡路的移动机器人会按照该让路移动轨迹移动从而让路。
需要说明的第二点是,每当某个移动机器人在某一个栅格移动过,分配装置可以向目标区域中的该栅格添加覆盖标记,表示已经有移动机器人在该栅格移动过,或者说该栅格的任务已经处理完成,无需再次让移动机器人在该栅格上移动。那么,当目标区域的所有栅格均已添加覆盖标记时,则可以确定目标区域的任务已经处理完毕,则整体任务结束。另外,对于在目标区域寻找目标物的场景来说,当某个移动机器人找到目标物时,会向分配装置发送通知消息,分配装置接收到通知消息即可确定任务已经处理完毕,则其他移动机器人无需继续执行任务,整体任务结束。
实际应用中,分配装置执行分配方案确定方法的流程图可以如图3D所示,该流程图可以由分配装置的四个模块:任务生成模块、任务分配模块、通道规划模块、任务统计模块执行。
任务生成模块负责将目标区域划分为多个子区域、将每个子区域划分为至少一个通道,并得到每个通道的任务。任务分配模块负责计算每个移动机器人执行每个任务的代价值并确定指定分配方案,以确定哪些机器人休息,哪些机器人工作,且工作的机器人具体执行哪个任务。路径规划模块负责按照指定分配方案,引导机器人从当前位置移动到任务的起始栅格,并沿着通道移动到终止栅格,完成任务。任务统计模块管理目标区域,负责记录移动机器人的移动轨迹,将移动机器人移动过的栅格设置已覆盖标记,也负责统计任务完成情况,当任务完成后移动机器人空闲时,让移动机器人参与新的任务分配,循环执行,直到所有任务执行完则整体任务结束。
本发明实施例提供的方法,根据每个移动机器人的当前位置,计算每个移动机器人分别执行每个任务的代价值,确定多种任务分配方案中代价值总和最小的指定任务分配方案,在分配任务的过程中考虑到移动机器人的当前位置,考虑更加全面,避免由于移动机器人的当前位置影响到执行任务的效率。另外,指定分配方案中的多个移动机器人执行任务的代价值总和尽量小,能够减少任务总体的执行时间,提高任务总体的执行效率。
进一步地,在分配任务的过程中考虑到移动机器人执行任务前的移动问题,保证得到的指定分配方案中的多个移动机器人执行任务前移动距离的总和尽量小,实现了每个移动机器人就近处理任务的效果,能够减少任务总体的执行时间,提高任务总体的执行效率。
进一步地,在分配任务的过程中考虑到每个任务的优先级,保证得到的指定分配方案中分配给移动机器人的任务为目标区域中优先级较高的任务,实现了优先级越高的任务尽可能优先处理。
进一步地,将目标子区域划分为“牛耕式”通道,并通过设置每个子区域各个通道的初始代价值,不仅关注本次的分配方案还考虑到本次任务执行完成后的下一个任务的分配方案,保证每个移动机器人执行任务完成后,只需移动一个栅格即可执行下一个任务,减少了移动距离,提高了工作效率。
在上述图3A所示实施例的基础上,上述步骤303“根据计算得到的多个代价值,确定多种任务分配方案中代价值总和最小的指定任务分配方案”可以包括以下两种可能实现方式:
方式一:采用预设任务分配算法:
步骤S1、将多个代价值组成代价值矩阵,代价值矩阵的第一维度为移动机器人,第二维度为任务,代价值矩阵中的元素为对应移动机器人执行对应任务时的代价值。
维度可以包括行和列,第一维度为行、第二维度为列,或者第一维度为列、第二维度为行。以第一维度为行、第二维度为列为例,每行表示一个移动机器人,每列表示一个任务,代价值矩阵可以如下表1所示,代价值矩阵中的元素Rkij表示移动机器人k执行子区域i的任务j的代价值。
表1
R<sub>111</sub> | R<sub>112</sub> | R<sub>113</sub> | R<sub>121</sub> | …… | R<sub>1ij</sub> |
R<sub>211</sub> | R<sub>212</sub> | R<sub>213</sub> | R<sub>221</sub> | …… | R<sub>2ij</sub> |
R<sub>311</sub> | R<sub>312</sub> | R<sub>313</sub> | R<sub>321</sub> | …… | R<sub>3ij</sub> |
…… | …… | …… | …… | …… | …… |
R<sub>k11</sub> | R<sub>k12</sub> | R<sub>k13</sub> | R<sub>k21</sub> | …… | R<sub>kij</sub> |
步骤S2、采用预设任务分配算法,获取代价值矩阵对应的匹配矩阵。
该预设任务分配算法可以为匈牙利算法、市场拍卖算法等,其输入为代价值矩阵,其输出为匹配系数组成的匹配矩阵。匹配矩阵的匹配系数的取值为指定值或者0,其中,匹配系数等于指定值表示其所在行对应的移动机器人和其所在列对应的任务匹配,即该移动机器人和该任务可以组成一个匹配组合,该移动机器人可以执行该任务,而匹配系数等于0表示其所在行对应的移动机器人和其所在列对应的任务不匹配。其中,该指定值可以为1或其他非0的正整数。
需要说明的是,在一种可能的实现方式中,当要求最终得到的指定任务分配方案符合上述步骤303中的预设条件时,获取匹配矩阵的过程中可以按照以下3个约束条件进行计算:
①、匹配矩阵中等于指定值的匹配系数的个数为移动机器人数量和任务数量的最小值。
该约束条件与上述步骤303中预设条件“分配方案中的组合数量等于任务数量和智能机器人数量的最小值”相对应。在选取匹配组合时,为了尽可能多地分配任务,避免空闲移动机器人和空闲任务同时存在的情况,需要保证匹配组合的数量等于任务数量和移动机器人数量的最小值,也即是匹配矩阵中等于指定值的匹配系数的个数等于上述最小值。
②、同一移动机器人与多个任务中每个任务之间的匹配系数之和不大于指定值。
该约束条件与上述步骤303中预设条件“每个智能机器人最多匹配一个任务”相对应。为了保证每个移动机器人最多匹配一个任务,即每个移动机器人唯一对应一个任务,同一移动机器人与每个任务之间的匹配系数中只能有一个为指定值,而其他匹配系数均为0,也即是,同一移动机器人与每个任务之间的匹配系数之和要么为指定值,表示该移动机器人与一个任务匹配,要么为0,表示移动机器人与每个任务均不匹配,因此在同一移动机器人与每个任务之间的匹配系数之和不大于指定值的约束条件下,每个移动机器人会最多匹配一个任务。
其中,与表1对应,以指定值为1为例,本条约束条件可以用以下公式表示:
其中,k表示移动机器人的标识,i表示目标子区域的标识,I表示目标子区域的个数,i为不大于I的正整数,j表示任务的标识,Ji表示目标子区域i的任务数目,j为不大于Ji的正整数,akij为匹配系数,表示移动机器人k和目标子区域i的任务j是否匹配,akij为1表示移动机器人k和目标子区域i的任务j匹配,akij为0表示移动机器人k和目标子区域i的任务j不匹配。
③、同一任务与多个移动机器人中每个移动机器人之间的匹配系数之和不大于指定值。
该约束条件与上述步骤303中预设条件“每个任务最多匹配一个智能机器人”相对应。为了保证每个任务最多匹配一个移动机器人,同一任务与每个移动机器人之间的匹配系数中只能有一个为指定值,而其他匹配系数均为0,也即是,同一任务与每个移动机器人之间的匹配系数之和要么为指定值,表示该任务与一个移动机器人匹配,要么为0,表示任务与每个移动机器人均不匹配,因此在同一任务与每个移动机器人之间的匹配系数之和不大于指定值的约束条件下,每个任务会最多匹配一个移动机器人。
其中,与表1对应,以指定值为1为例,本条约束条件可以用以下公式表示:
其中,k表示移动机器人的标识,K表示移动机器人的数目,k为不大于K的正整数,i表示目标子区域的标识,j表示任务的标识,akij为匹配系数,表示移动机器人k和目标子区域i的任务j是否匹配,akij为1表示移动机器人k和目标子区域i的任务j匹配,akij为0表示移动机器人k和目标子区域i的任务j不匹配。
基于上述表1的举例,当采用预设任务分配算法并按照约束条件对代价值矩阵进行计算后,会得到如下表2所示的匹配矩阵。
表2
a<sub>111</sub> | a<sub>112</sub> | a<sub>113</sub> | a<sub>121</sub> | …… | a<sub>1ij</sub> |
a<sub>211</sub> | a<sub>212</sub> | a<sub>213</sub> | a<sub>221</sub> | …… | a<sub>2ij</sub> |
a<sub>311</sub> | a<sub>312</sub> | a<sub>313</sub> | a<sub>321</sub> | …… | a<sub>3ij</sub> |
…… | …… | …… | …… | …… | …… |
a<sub>k11</sub> | a<sub>k12</sub> | a<sub>k13</sub> | a<sub>k21</sub> | …… | a<sub>kij</sub> |
步骤S3、将匹配矩阵中等于指定值的匹配系数对应的移动机器人和任务组成一个匹配组合,得到多个匹配组合,将多个匹配组合构成指定分配方案。
对于得到的匹配矩阵,分配装置会确定匹配系数中等于指定值的每个匹配系数,获取每个匹配系数对应的移动机器人和任务,将同一匹配系数对应的移动机器人和任务组成一个匹配组合,最终得到的多个匹配组合即为指定分配方案。
方式二:采用最小费用最大流算法:
为了便于理解,先对容量网络和最小费用最大流算法进行以下介绍:
容量网络的起始节点为源节点,终止节点为汇节点,在源节点和汇节点之间可以包括多层的节点,任两个节点可以连接构成一条路径。该容量网络可以模拟一个目标从源节点出发,在每层中选择一个节点经过,并最终到达汇节点的场景。在此场景中,可选的路径很多,每条路径上可以产生不同大小的流量。
而最小费用最大流算法是一种在容量网络中选择路径的算法,其输入为已确定每条路径的容量和费用的容量网络,其输出为当容量网络的总费用最小且总流量最大时,从源节点出发到达汇节点需经过的多条路径以及每条路径上的流量。其中,每条路径的容量表示该路径的最大流量,费用表示要经过该路径时会产生的费用。且在选择路径时需要满足容量网络中的每个节点流量守恒,即每个节点流入的流量和流出的流量相等。
P1、构建容量网络。
容量网络可以如图3E所示,包括源节点(Source)、汇节点(Sink)、与每个移动机器人对应的机器人节点(Worker)和与每个任务对应的任务节点(Task),源节点和每个机器人节点分别通过第一类路径连接,每个机器人节点和每个任务节点分别通过第二类路径连接,每个任务节点和汇节点分别通过第三类路径连接。
P2、配置容量网络中每条路径的容量和代价值。
针对容量网络中每条路径的费用,由于流量从源节点流至机器人节点和流量从任务节点流至汇节点不具有实际意义,所以会配置每条第一类路径和每条第三类路径的费用为0,而流量从任一机器人节点流至任一任务节点象征着对应的移动机器人要执行对应的任务,并且会产生相应的代价值,因此会配置每条第二类路径的费用为连接的机器人节点对应的移动机器人执行连接的任务节点对应的任务时的代价值。例如,参见图3E,机器人节点k和任务节点ij连接的第二类路径的费用会配置为机器人Wk执行任务Tij的代价值Rkij。
P3、采用最小费用最大流算法,获取当容量网络的总费用最小且总流量最大时,从源节点出发到达汇节点会经过的多条第二类路径。
需要说明的是,在一种可能的实现方式中,当要求最终得到的指定任务分配方案符合上述步骤303中的预设条件时,配置容量网络的过程中,针对容量网络中每条路径的代价值,可以将容量网络中的每条路径的容量配置为1,表示路径上的流量只能为0或者为1,那么,第二类路径的流量为0表示路径所对应的移动机器人和任务不匹配,第二类路径的流量为1表示路径所对应的移动机器人和任务匹配。
本发明实施例中,最小费用最大流算法会保证每个节点的流量守恒,并且由于每条路径的容量已经配置为1,即流量只能为1或0,那么,对于每个机器人节点来说,最多只能选择一条第二类路径,即该机器人节点最多只能连接一个任务节点,保证了一个移动机器人最多只能匹配一个任务,即唯一对应一个任务。而对于每个任务节点来说,最多只能选择一条第二类路径,即该任务节点最多只能连接一个机器人节点,保证了一个任务最多只能匹配一个移动机器人。
并且,最小费用最大流算法在选择路径时会保证容量网络的流量最大,因此不会出现某一机器人节点和某一任务节点均未被选中的情况,因此可以保证选出的第二类路径的数量会等于任务数量和移动机器人数量的最小值。
P4、将多条第二类路径中的同一条第二类路径连接的机器人节点对应的移动机器人和连接的任务节点对应的任务组成一个匹配组合,得到多个匹配组合。
当采用最小费用最大流算法对容量网络进行计算后,会得到多条第二类路径,该多条第二类路径中同一条第二类路径连接的机器人节点对应的移动机器人和任务节点对应的任务匹配。也即是,得到的每条第二类路径可以确定一个匹配组合,例如参见图3E,若选取出机器人节点k和任务节点ij连接的第二类路径后,可以将移动机器人Wk和任务Tij组成一个匹配组合,从而为移动机器人Wk分配任务Tij。
图4是本发明实施例提供的一种分配方案确定装置的结构示意图。参见图4,该装置包括:获取模块401、确定模块402和计算模块403。
获取模块401,用于获取目标区域内的多个任务;
确定模块402,用于确定执行任务的多个移动机器人及该多个移动机器人中每个移动机器人的当前位置;
计算模块403,用于根据该每个移动机器人的当前位置,计算该每个移动机器人分别执行每个任务的代价值;
该确定模块402,还用于根据计算得到的多个代价值,确定多种任务分配方案中代价值总和最小的指定任务分配方案,该多种任务分配方案中的每种任务分配方案包括与该每个移动机器人唯一对应的一个任务。
本发明实施例提供的装置,根据每个移动机器人的当前位置,计算每个移动机器人分别执行每个任务的代价值,确定多种任务分配方案中代价值总和最小的指定任务分配方案,在分配任务的过程中考虑到移动机器人的当前位置,考虑更加全面,避免由于移动机器人的当前位置影响到执行任务的效率。另外,指定分配方案中的多个移动机器人执行任务的代价值总和尽量小,能够减少任务总体的执行时间,提高任务总体的执行效率。
在一种可能的实现方式中,该获取模块401,还用于获取该目标区域中的多个子区域,每个子区域包括至少一个通道,每个通道包括多个栅格;
该获取模块401,还用于获取每个通道的任务,得到该多个任务,每个任务为从对应通道的起始栅格沿着该通道移动至该通道的终止栅格。
在另一种可能的实现方式中,该计算子模块,还用于对于每个移动机器人和每个任务,计算该移动机器人移动至该任务对应的起始栅格时的移动路径,该任务为从对应通道的起始栅格沿着该通道移动至该通道的终止栅格;根据该移动路径计算该移动机器人执行该任务时的代价值。
在另一种可能的实现方式中,该计算子模块,还用于获取该移动路径对应的移动距离,将该移动距离作为该移动机器人执行该任务的代价值。
在另一种可能的实现方式中,该计算子模块,还用于获取该移动路径对应的移动距离;获取该任务的收益,该收益与该任务的优先级正相关;计算该移动距离与该收益的差值,作为该移动机器人执行该任务的代价值。
在另一种可能的实现方式中,该目标区域包括多个子区域,每个子区域包括至少一个通道,该每个子区域中收益最高的通道的数量为至少一个,不同子区域的最高收益相等。
在另一种可能的实现方式中,该每个子区域中的第一个通道的任务的收益最高,且该每个子区域中任一通道的终止栅格与相邻通道的起始栅格相邻,且该每个子区域中各个通道的任务的收益按照递减幅度依次递减。
在另一种可能的实现方式中,该确定子模块,包括:
组成子模块,用于将该多个代价值组成代价值矩阵,该代价值矩阵的第一维度为移动机器人,第二维度为任务,该代价值矩阵中的元素为对应移动机器人执行对应任务时的代价值;
获取子模块,用于采用预设任务分配算法,获取该代价值矩阵对应的匹配矩阵,该匹配矩阵中的元素为对应移动机器人与对应任务之间的匹配系数;
该组成子模块,还用于将该匹配矩阵中等于指定值的匹配系数对应的移动机器人和任务组成一个匹配组合,得到多个匹配组合,将该多个匹配组合构成该指定分配方案。
在另一种可能的实现方式中,该确定子模块,包括:
构建子模块,用于构建容量网络,该容量网络包括源节点、汇节点、与该每个移动机器人对应的机器人节点和与该每个任务对应的任务节点,该源节点和每个机器人节点分别通过第一类路径连接,该每个机器人节点和该每个任务节点分别通过第二类路径连接,该每个任务节点和该汇节点分别通过第三类路径连接;
配置子模块,用于配置该容量网络中每条第一类路径和每条第三类路径的费用为0,并配置每条第二类路径的费用为连接的机器人节点对应的移动机器人执行连接的任务节点对应的任务时的代价值;
获取子模块,用于采用最小费用最大流算法,获取当该容量网络的总费用最小且总流量最大时,从该源节点出发到达该汇节点会经过的多条第二类路径;
组成子模块,用于将该多条第二类路径中的同一条第二类路径连接的机器人节点对应的移动机器人和连接的任务节点对应的任务组成一个匹配组合,得到多个匹配组合,将该多个匹配组合构成该指定分配方案。
在另一种可能的实现方式中,该获取模块401,还包括:
划分子模块,用于将该目标区域划分为多个栅格,每个栅格的尺寸相同,其中包含障碍物的栅格为障碍栅格;
分区子模块,用于对该目标区域中除了障碍栅格以外的栅格进行分区,得到多个子区域;
该划分子模块,用于对于每个子区域,将该子区域划分为至少一个长度等于该子区域的长度且宽度等于一个栅格的通道。
在另一种可能的实现方式中,该划分子模块,用于在对该目标区域进行一次扫描的过程中,当扫描到连通性发生变化的第一位置,之后扫描到连通性发生变化的第二位置时,将该第一位置和该第二位置之间的区域按照障碍栅格的位置进行分割,得到至少一个子区域,以使不同子区域之间通过障碍栅格分隔开;
其中,连通性发生变化是指障碍栅格的分布情况发生变化。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的分配方案确定装置在确定分配方案时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将分配装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的分配方案确定装置与分配方案确定方法的实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5是本发明实施例提供的一种终端的结构示意图。该终端可以用于实施上述实施例所示出的分配方案确定方法中的分配装置所执行的功能。具体来讲:
终端500可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、传输模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图5中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他终端通信。该无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(CodeDivision Multiple Access,码分多址)、WCDMA(Wideband Code Division MultipleAccess,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。
存储器120可用于存储软件程序以及模块,如上述示例性实施例所示出的终端所对应的软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理,如实现基于视频的交互等。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端500的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入终端132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的链接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入终端132。具体地,其他输入终端132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端500的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图5中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
终端500还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端500移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端500还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端500之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端500的通信。
终端500通过传输模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线或有线的宽带互联网访问。虽然图5示出了传输模块170,但是可以理解的是,其并不属于终端500的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端500的控制中心,利用各种接口和线路链接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端500的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端500还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端500还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端500的显示单元是触摸屏显示器,终端500还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行上述一个或者一个以上程序包含用于实施上述实施例中分配装置所执行操作的指令。
图6是本发明实施例提供的一种服务器的结构示意图,该服务器600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)622(例如,一个或一个以上处理器)和存储器632,一个或一个以上存储应用程序642或数据644的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器632和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器622可以设置为与存储介质630通信,在服务器600上执行存储介质630中的一系列指令操作。
服务器600还可以包括一个或一个以上电源626,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口658,一个或一个以上键盘656,和/或,一个或一个以上操作系统641,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
该服务器600可以用于执行上述实施例提供的分配方案确定方法中分配装置所执行的步骤。
在示例性实施例中,还提供了一种存储有计算机程序的计算机可读存储介质,例如存储有计算机程序的存储器,上述计算机程序被处理器执行时实现上述实施例中的分配方案确定方法。例如,所述计算机可读存储介质可以是只读内存(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-OnlyMemory,CD-ROM)、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (24)
1.一种分配方案确定方法,其特征在于,所述方法包括:
获取目标区域内的多个任务;
确定执行任务的多个移动机器人及所述多个移动机器人中每个移动机器人的当前位置;
根据所述每个移动机器人的当前位置,计算所述每个移动机器人分别执行每个任务的代价值;
根据计算得到的多个代价值,确定多种任务分配方案中代价值总和最小的指定任务分配方案,所述多种任务分配方案中的每种任务分配方案包括与所述每个移动机器人唯一对应的一个任务。
2.根据权利要求1所述的方法,其特征在于,所述获取目标区域内的多个任务,包括:
获取所述目标区域中的多个子区域,每个子区域包括至少一个通道,每个通道包括多个栅格;
获取每个通道的任务,得到所述多个任务,每个任务为从对应通道的起始栅格沿着所述通道移动至所述通道的终止栅格。
3.根据权利要求1所述的方法,其特征在于,所述根据所述每个移动机器人的当前位置,计算所述每个移动机器人分别执行每个任务的代价值,包括:
对于每个移动机器人和每个任务,计算所述移动机器人移动至所述任务对应的起始栅格时的移动路径,所述任务为从对应通道的起始栅格沿着所述通道移动至所述通道的终止栅格;
根据所述移动路径计算所述移动机器人执行所述任务时的代价值。
4.根据权利要求3所述的方法,其特征在于,所述根据所述移动路径计算所述移动机器人执行所述任务时的代价值,包括:
获取所述移动路径对应的移动距离,将所述移动距离作为所述移动机器人执行所述任务的代价值。
5.根据权利要求3所述的方法,其特征在于,所述根据所述移动路径计算所述移动机器人执行所述任务时的代价值,包括:
获取所述移动路径对应的移动距离;
获取所述任务的收益,所述收益与所述任务的优先级正相关;
计算所述移动距离与所述收益的差值,作为所述移动机器人执行所述任务的代价值。
6.根据权利要求5所述的方法,其特征在于,所述目标区域包括多个子区域,每个子区域包括至少一个通道,所述每个子区域中任务的收益最高的通道的数量为至少一个,不同子区域的最高收益相等。
7.根据权利要求6所述的方法,其特征在于,所述每个子区域中的第一个通道的任务的收益最高,且所述每个子区域中任一通道的终止栅格与相邻通道的起始栅格相邻,且所述每个子区域中各个通道的任务的收益按照递减幅度依次递减。
8.根据权利要求1所述的方法,其特征在于,所述根据计算得到的多个代价值,确定多种任务分配方案中代价值总和最小的指定任务分配方案,包括:
将所述多个代价值组成代价值矩阵,所述代价值矩阵的第一维度为移动机器人,第二维度为任务,所述代价值矩阵中的元素为对应移动机器人执行对应任务时的代价值;
采用预设任务分配算法,获取所述代价值矩阵对应的匹配矩阵,所述匹配矩阵中的元素为对应移动机器人与对应任务之间的匹配系数;
将所述匹配矩阵中等于指定值的匹配系数对应的移动机器人和任务组成一个匹配组合,得到多个匹配组合,将所述多个匹配组合构成所述指定分配方案。
9.根据权利要求1所述的方法,其特征在于,所述根据计算得到的多个代价值,确定多种任务分配方案中代价值总和最小的指定任务分配方案,包括:
构建容量网络,所述容量网络包括源节点、汇节点、与所述每个移动机器人对应的机器人节点和与所述每个任务对应的任务节点,所述源节点和每个机器人节点分别通过第一类路径连接,所述每个机器人节点和所述每个任务节点分别通过第二类路径连接,所述每个任务节点和所述汇节点分别通过第三类路径连接;
配置所述容量网络中每条第一类路径和每条第三类路径的费用为0,并配置每条第二类路径的费用为连接的机器人节点对应的移动机器人执行连接的任务节点对应的任务时的代价值;
采用最小费用最大流算法,获取当所述容量网络的总费用最小且总流量最大时,从所述源节点出发到达所述汇节点会经过的多条第二类路径;
将所述多条第二类路径中的同一条第二类路径连接的机器人节点对应的移动机器人和连接的任务节点对应的任务组成一个匹配组合,得到多个匹配组合,将所述多个匹配组合构成所述指定分配方案。
10.根据权利要求2所述的方法,其特征在于,所述获取所述目标区域中的多个子区域,包括:
将所述目标区域划分为多个栅格,每个栅格的尺寸相同,其中包含障碍物的栅格为障碍栅格;
对所述目标区域中除了障碍栅格以外的栅格进行分区,得到多个子区域;
对于每个子区域,将所述子区域划分为至少一个长度等于所述子区域的长度且宽度等于一个栅格的通道。
11.根据权利要求10所述的方法,其特征在于,所述对所述目标区域中除了障碍栅格以外的栅格进行分区,得到多个子区域,包括:
在对所述目标区域进行一次扫描的过程中,当扫描到连通性发生变化的第一位置,之后扫描到连通性发生变化的第二位置时,将所述第一位置和所述第二位置之间的区域按照障碍栅格的位置进行分割,得到至少一个子区域,以使不同子区域之间通过障碍栅格分隔开;
其中,连通性发生变化是指障碍栅格的分布情况发生变化。
12.一种分配方案确定装置,其特征在于,所述装置包括:
获取模块,用于获取目标区域内的多个任务;
确定模块,用于确定执行任务的多个移动机器人及所述多个移动机器人中每个移动机器人的当前位置;
计算模块,用于根据所述每个移动机器人的当前位置,计算所述每个移动机器人分别执行每个任务的代价值;
所述确定模块,还用于根据计算得到的多个代价值,确定多种任务分配方案中代价值总和最小的指定任务分配方案,所述多种任务分配方案中的每种任务分配方案包括与所述每个移动机器人唯一对应的一个任务。
13.根据权利要求12所述的装置,其特征在于,所述获取模块,还用于获取所述目标区域中的多个子区域,每个子区域包括至少一个通道,每个通道包括多个栅格;
所述获取模块,还用于获取每个通道的任务,得到所述多个任务,每个任务为从对应通道的起始栅格沿着所述通道移动至所述通道的终止栅格。
14.根据权利要求12所述的装置,其特征在于,所述计算模块,还用于对于每个移动机器人和每个任务,计算所述移动机器人移动至所述任务对应的起始栅格时的移动路径,所述任务为从对应通道的起始栅格沿着所述通道移动至所述通道的终止栅格;根据所述移动路径计算所述移动机器人执行所述任务时的代价值。
15.根据权利要求14所述的装置,其特征在于,所述计算模块,还用于获取所述移动路径对应的移动距离,将所述移动距离作为所述移动机器人执行所述任务的代价值。
16.根据权利要求14所述的装置,其特征在于,所述计算模块,还用于获取所述移动路径对应的移动距离;获取所述任务的收益,所述收益与所述任务的优先级正相关;计算所述移动距离与所述收益的差值,作为所述移动机器人执行所述任务的代价值。
17.根据权利要求16所述的装置,其特征在于,所述目标区域包括多个子区域,每个子区域包括至少一个通道,所述每个子区域中收益最高的通道的数量为至少一个,不同子区域的最高收益相等。
18.根据权利要求17所述的装置,其特征在于,所述每个子区域中的第一个通道的任务的收益最高,且所述每个子区域中任一通道的终止栅格与相邻通道的起始栅格相邻,且所述每个子区域中各个通道的任务的收益按照递减幅度依次递减。
19.根据权利要求12所述的装置,其特征在于,所述确定模块,包括:
组成子模块,用于将所述多个代价值组成代价值矩阵,所述代价值矩阵的第一维度为移动机器人,第二维度为任务,所述代价值矩阵中的元素为对应移动机器人执行对应任务时的代价值;
获取子模块,用于采用预设任务分配算法,获取所述代价值矩阵对应的匹配矩阵,所述匹配矩阵中的元素为对应移动机器人与对应任务之间的匹配系数;
所述组成子模块,还用于将所述匹配矩阵中等于指定值的匹配系数对应的移动机器人和任务组成一个匹配组合,得到多个匹配组合,将所述多个匹配组合构成所述指定分配方案。
20.根据权利要求12所述的装置,其特征在于,所述确定模块,包括:
构建子模块,用于构建容量网络,所述容量网络包括源节点、汇节点、与所述每个移动机器人对应的机器人节点和与所述每个任务对应的任务节点,所述源节点和每个机器人节点分别通过第一类路径连接,所述每个机器人节点和所述每个任务节点分别通过第二类路径连接,所述每个任务节点和所述汇节点分别通过第三类路径连接;
配置子模块,用于配置所述容量网络中每条第一类路径和每条第三类路径的费用为0,并配置每条第二类路径的费用为连接的机器人节点对应的移动机器人执行连接的任务节点对应的任务时的代价值;
获取子模块,用于采用最小费用最大流算法,获取当所述容量网络的总费用最小且总流量最大时,从所述源节点出发到达所述汇节点会经过的多条第二类路径;
组成子模块,用于将所述多条第二类路径中的同一条第二类路径连接的机器人节点对应的移动机器人和连接的任务节点对应的任务组成一个匹配组合,得到多个匹配组合,将所述多个匹配组合构成所述指定分配方案。
21.根据权利要求13所述的装置,其特征在于,所述获取模块,还包括:
划分子模块,用于将所述目标区域划分为多个栅格,每个栅格的尺寸相同,其中包含障碍物的栅格为障碍栅格;
分区子模块,用于对所述目标区域中除了障碍栅格以外的栅格进行分区,得到多个子区域;
所述划分子模块,用于对于每个子区域,将所述子区域划分为至少一个长度等于所述子区域的长度且宽度等于一个栅格的通道。
22.根据权利要求21所述的装置,其特征在于,所述划分子模块,用于在对所述目标区域进行一次扫描的过程中,当扫描到连通性发生变化的第一位置,之后扫描到连通性发生变化的第二位置时,将所述第一位置和所述第二位置之间的区域按照障碍栅格的位置进行分割,得到至少一个子区域,以使不同子区域之间通过障碍栅格分隔开;
其中,连通性发生变化是指障碍栅格的分布情况发生变化。
23.一种分配装置,其特征在于,所述分配装置包括处理器和存储器;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的计算机程序,实现权利要求1-11任一项所述的方法步骤。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-11任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710748500.7A CN109426884B (zh) | 2017-08-28 | 2017-08-28 | 分配方案确定方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710748500.7A CN109426884B (zh) | 2017-08-28 | 2017-08-28 | 分配方案确定方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109426884A true CN109426884A (zh) | 2019-03-05 |
CN109426884B CN109426884B (zh) | 2022-02-11 |
Family
ID=65502409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710748500.7A Active CN109426884B (zh) | 2017-08-28 | 2017-08-28 | 分配方案确定方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109426884B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109866225A (zh) * | 2019-03-26 | 2019-06-11 | 上海钛米机器人科技有限公司 | 机器人任务处理方法、服务器、机器人及机器人系统 |
CN109940621A (zh) * | 2019-04-18 | 2019-06-28 | 深圳市三宝创新智能有限公司 | 一种酒店机器人的服务方法和系统及其装置 |
CN110516940A (zh) * | 2019-08-15 | 2019-11-29 | 腾讯科技(深圳)有限公司 | 任务分配方法及装置 |
CN110889599A (zh) * | 2019-11-12 | 2020-03-17 | 北京旷视机器人技术有限公司 | 订单处理方法及装置、仓储系统、计算机设备和存储介质 |
CN111506872A (zh) * | 2020-03-03 | 2020-08-07 | 平安科技(深圳)有限公司 | 基于负载矩阵分析的任务分配方法及装置 |
CN111798143A (zh) * | 2020-07-08 | 2020-10-20 | 中国恩菲工程技术有限公司 | 任务的分配方法、装置、电子设备及计算机可读介质 |
CN112001590A (zh) * | 2020-07-20 | 2020-11-27 | 浙江大华技术股份有限公司 | Agv休息任务分配方法、装置、计算机设备和存储介质 |
CN112904854A (zh) * | 2021-03-31 | 2021-06-04 | 江苏智库智能科技有限公司 | 多机器人多目标实时动态避障方法、系统及存储介质 |
CN113627703A (zh) * | 2020-05-08 | 2021-11-09 | 北京京东乾石科技有限公司 | 移动装置的调度方法和设备、计算机系统和存储介质 |
CN113935662A (zh) * | 2021-12-15 | 2022-01-14 | 南京天朗防务科技有限公司 | 一种移动驱鸟策略生成方法和系统 |
CN114137955A (zh) * | 2021-10-26 | 2022-03-04 | 中国人民解放军军事科学院国防科技创新研究院 | 基于改进市场法的多机器人快速协同建图方法 |
CN115578157A (zh) * | 2022-11-13 | 2023-01-06 | 南京数族信息科技有限公司 | 一种基于供需价值矩阵组合路由策略的助贷平台动态路由工具 |
WO2024021809A1 (zh) * | 2022-07-27 | 2024-02-01 | 北京极智嘉科技股份有限公司 | 容器搬运任务的分配方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6477515B1 (en) * | 1999-08-11 | 2002-11-05 | The United States Of America As Represented By The Secretary Of The Navy | Efficient computation of least cost paths with hard constraints |
US6928333B1 (en) * | 1999-08-31 | 2005-08-09 | Advance Micro Devices, Inc. | Scheduling method for automated work-cell transfer system |
US20090149990A1 (en) * | 2007-12-11 | 2009-06-11 | Samsung Electronics Co., Ltd. | Method, medium, and apparatus for performing path planning of mobile robot |
US20090182464A1 (en) * | 2008-01-11 | 2009-07-16 | Samsung Electronics Co., Ltd. | Method and apparatus for planning path of mobile robot |
CN101945492A (zh) * | 2010-08-09 | 2011-01-12 | 哈尔滨工程大学 | 基于分簇的多机器人任务分配方法 |
CN104615138A (zh) * | 2015-01-14 | 2015-05-13 | 上海物景智能科技有限公司 | 一种划分移动机器人室内区域动态覆盖方法及其装置 |
CN104714551A (zh) * | 2015-03-23 | 2015-06-17 | 中国科学技术大学 | 一种适用于车式移动机器人的室内区域覆盖方法 |
CN106875090A (zh) * | 2017-01-09 | 2017-06-20 | 中南大学 | 一种面向动态任务的多机器人分布式任务分配形成方法 |
CN106982139A (zh) * | 2017-03-21 | 2017-07-25 | 深圳先进技术研究院 | 一种基于多机器人多任务的指派问题的方法及装置、用户设备 |
CN106979785A (zh) * | 2017-03-24 | 2017-07-25 | 北京大学深圳研究生院 | 一种面向多机器人系统的完全遍历路径规划方法 |
-
2017
- 2017-08-28 CN CN201710748500.7A patent/CN109426884B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6477515B1 (en) * | 1999-08-11 | 2002-11-05 | The United States Of America As Represented By The Secretary Of The Navy | Efficient computation of least cost paths with hard constraints |
US6928333B1 (en) * | 1999-08-31 | 2005-08-09 | Advance Micro Devices, Inc. | Scheduling method for automated work-cell transfer system |
US20090149990A1 (en) * | 2007-12-11 | 2009-06-11 | Samsung Electronics Co., Ltd. | Method, medium, and apparatus for performing path planning of mobile robot |
US20090182464A1 (en) * | 2008-01-11 | 2009-07-16 | Samsung Electronics Co., Ltd. | Method and apparatus for planning path of mobile robot |
CN101945492A (zh) * | 2010-08-09 | 2011-01-12 | 哈尔滨工程大学 | 基于分簇的多机器人任务分配方法 |
CN104615138A (zh) * | 2015-01-14 | 2015-05-13 | 上海物景智能科技有限公司 | 一种划分移动机器人室内区域动态覆盖方法及其装置 |
CN104714551A (zh) * | 2015-03-23 | 2015-06-17 | 中国科学技术大学 | 一种适用于车式移动机器人的室内区域覆盖方法 |
CN106875090A (zh) * | 2017-01-09 | 2017-06-20 | 中南大学 | 一种面向动态任务的多机器人分布式任务分配形成方法 |
CN106982139A (zh) * | 2017-03-21 | 2017-07-25 | 深圳先进技术研究院 | 一种基于多机器人多任务的指派问题的方法及装置、用户设备 |
CN106979785A (zh) * | 2017-03-24 | 2017-07-25 | 北京大学深圳研究生院 | 一种面向多机器人系统的完全遍历路径规划方法 |
Non-Patent Citations (4)
Title |
---|
张喜妹: "基于Kiva系统的拣选作业优化与算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
张国有 等: "基于黄蜂群算法的群机器人全区域覆盖算法", 《模式识别与人工智能》 * |
陈泽涛 等: "改进生成树算法的多机器人在线地图覆盖", 《计算机工程与科学》 * |
高梓豪: "仓储中多机器人作业的规划与仿真", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109866225B (zh) * | 2019-03-26 | 2021-07-13 | 上海钛米机器人股份有限公司 | 机器人任务处理方法、服务器、机器人及机器人系统 |
CN109866225A (zh) * | 2019-03-26 | 2019-06-11 | 上海钛米机器人科技有限公司 | 机器人任务处理方法、服务器、机器人及机器人系统 |
CN109940621A (zh) * | 2019-04-18 | 2019-06-28 | 深圳市三宝创新智能有限公司 | 一种酒店机器人的服务方法和系统及其装置 |
CN110516940A (zh) * | 2019-08-15 | 2019-11-29 | 腾讯科技(深圳)有限公司 | 任务分配方法及装置 |
CN110889599A (zh) * | 2019-11-12 | 2020-03-17 | 北京旷视机器人技术有限公司 | 订单处理方法及装置、仓储系统、计算机设备和存储介质 |
CN110889599B (zh) * | 2019-11-12 | 2023-05-02 | 北京旷视机器人技术有限公司 | 订单处理方法及装置、仓储系统、计算机设备和存储介质 |
CN111506872A (zh) * | 2020-03-03 | 2020-08-07 | 平安科技(深圳)有限公司 | 基于负载矩阵分析的任务分配方法及装置 |
CN111506872B (zh) * | 2020-03-03 | 2023-11-07 | 平安科技(深圳)有限公司 | 基于负载矩阵分析的任务分配方法及装置 |
CN113627703A (zh) * | 2020-05-08 | 2021-11-09 | 北京京东乾石科技有限公司 | 移动装置的调度方法和设备、计算机系统和存储介质 |
CN111798143A (zh) * | 2020-07-08 | 2020-10-20 | 中国恩菲工程技术有限公司 | 任务的分配方法、装置、电子设备及计算机可读介质 |
CN112001590A (zh) * | 2020-07-20 | 2020-11-27 | 浙江大华技术股份有限公司 | Agv休息任务分配方法、装置、计算机设备和存储介质 |
CN112001590B (zh) * | 2020-07-20 | 2024-05-10 | 浙江华睿科技股份有限公司 | Agv休息任务分配方法、装置、计算机设备和存储介质 |
CN112904854A (zh) * | 2021-03-31 | 2021-06-04 | 江苏智库智能科技有限公司 | 多机器人多目标实时动态避障方法、系统及存储介质 |
CN114137955A (zh) * | 2021-10-26 | 2022-03-04 | 中国人民解放军军事科学院国防科技创新研究院 | 基于改进市场法的多机器人快速协同建图方法 |
CN113935662A (zh) * | 2021-12-15 | 2022-01-14 | 南京天朗防务科技有限公司 | 一种移动驱鸟策略生成方法和系统 |
WO2024021809A1 (zh) * | 2022-07-27 | 2024-02-01 | 北京极智嘉科技股份有限公司 | 容器搬运任务的分配方法及装置 |
CN115578157A (zh) * | 2022-11-13 | 2023-01-06 | 南京数族信息科技有限公司 | 一种基于供需价值矩阵组合路由策略的助贷平台动态路由工具 |
CN115578157B (zh) * | 2022-11-13 | 2023-10-24 | 南京数族信息科技有限公司 | 一种基于路由策略的助贷平台动态路由方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109426884B (zh) | 2022-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109426884A (zh) | 分配方案确定方法、装置及计算机可读存储介质 | |
CN109426560A (zh) | 任务分配方法、装置及计算机可读存储介质 | |
CN106778585A (zh) | 一种人脸关键点跟踪方法和装置 | |
Khan et al. | A new patient monitoring framework and Energy-aware Peering Routing Protocol (EPR) for Body Area Network communication | |
CN103402190B (zh) | 网络选择方法、装置和终端 | |
CN112842149B (zh) | 一种智能清洁设备的控制方法及智能清洁设备 | |
Zarifzadeh et al. | Energy-efficient topology control in wireless ad hoc networks with selfish nodes | |
CN107493211A (zh) | 智能家居设备的控制方法及装置 | |
Jurdak et al. | Octopus: monitoring, visualization, and control of sensor networks | |
CN106919918A (zh) | 一种人脸跟踪方法和装置 | |
CN103198234A (zh) | 一种寻路方法和装置 | |
CN109392005A (zh) | 一种信号强度测量的方法、相关装置以及系统 | |
CN104363988B (zh) | 一种多核处理器的管理方法及装置 | |
CN109934512A (zh) | 一种预测模型的训练方法及系统 | |
CN104881844B (zh) | 一种图片组合的方法、装置以及终端设备 | |
CN104424211B (zh) | 一种基于微博的业务数据的发布方法、装置和系统 | |
CN105898839B (zh) | 通信网络接入方法和装置 | |
CN110234152A (zh) | 信道扫描方法、装置、存储介质及电子设备 | |
WO2017024920A1 (zh) | 一种获取社交关系链的方法、终端及计算机可读介质 | |
CN108255141A (zh) | 一种装配调度信息生成方法及系统 | |
CN109460170A (zh) | 屏幕扩展及交互方法、终端及计算机可读存储介质 | |
CN109062680A (zh) | 一种数据加载方法、装置和存储介质 | |
CN106095266A (zh) | 一种控件展示方法及设备 | |
CN108287706A (zh) | 数据处理方法及装置 | |
Pasha et al. | Bug2 algorithm-based data fusion using mobile element for IoT-enabled wireless sensor networks |
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 | ||
CP03 | Change of name, title or address |
Address after: 310051 room 304, B / F, building 2, 399 Danfeng Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: Hangzhou Hikvision Robot Co.,Ltd. Address before: 310051 5th floor, building 1, building 2, no.700 Dongliu Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee before: HANGZHOU HIKROBOT TECHNOLOGY Co.,Ltd. |
|
CP03 | Change of name, title or address |