CN111798097B - 一种基于市场机制的自主移动机器人任务分配处理方法 - Google Patents
一种基于市场机制的自主移动机器人任务分配处理方法 Download PDFInfo
- Publication number
- CN111798097B CN111798097B CN202010508805.2A CN202010508805A CN111798097B CN 111798097 B CN111798097 B CN 111798097B CN 202010508805 A CN202010508805 A CN 202010508805A CN 111798097 B CN111798097 B CN 111798097B
- Authority
- CN
- China
- Prior art keywords
- task
- robot
- autonomous mobile
- robots
- allocation
- 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
Links
- 230000007246 mechanism Effects 0.000 title claims abstract description 25
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 54
- 238000000034 method Methods 0.000 claims abstract description 36
- 238000004364 calculation method Methods 0.000 claims abstract description 19
- 230000008901 benefit Effects 0.000 claims description 25
- 238000009826 distribution Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 9
- 238000003780 insertion Methods 0.000 claims description 4
- 230000037431 insertion Effects 0.000 claims description 4
- 108700041286 delta Proteins 0.000 claims description 3
- 230000003993 interaction Effects 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 5
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
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/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
-
- 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
- G06Q10/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
-
- 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/08—Auctions
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- Development Economics (AREA)
- Theoretical Computer Science (AREA)
- Marketing (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明公开了一种基于市场机制的自主移动机器人任务分配处理方法,将传统的集中式自主移动机器人调度系统分布式化,部署在每台自主移动机器人中,大大提升了多机器人拓扑网络的可扩展性和鲁棒性,同时减少每台机器人的计算负载。采用的竞拍算法去中心化,不使用共享储存中心,使得整个系统不需要额外配置存储器,有利于自主移动机器人调度系统的整体稳定性。面向动态机器人任务分配问题,通过竞拍算法保证每一个阶段过程的最优性,虚拟市场达到平衡状态;采用多机器人协调策略和移动机器人自协调策略,进一步提高调度系统动态自主移动机器人任务分配能力,改善竞拍算法的全局分配不足性。
Description
技术领域
本发明涉及一种基于市场机制的自主移动机器人任务分配处理方法,属于机器人调度优化任务分配领域。
背景技术
随着工业4.0被提出,智能制造行业蓬勃发展,各种类型的机器人越来越多地渗透到人们的生产和生活当中,包括机械臂、移动机器人、探测机器人等。近年来,多机器人系统也越来越多的应用到军事、未知环境探索和灾害救援等领域。民用方面,在大型仓储车间、制造业,机器代替人力已成为一种趋势,越来越多企业使用自主移动机器人搬运物品。
自主移动机器人根据不同的生产环境和使用要求,采取不同的技术设备和专业化的软件系统。在使用自主无人机器人作为运输车辆的工作区域当中,调度中心会接收新任务,然后这些新任务会被合理地分配给各个机器人,机器人在接收到任务后采取一定的多机或单机任务协调策略决定任务的执行顺序。
完整的自主移动机器人系统分为上位机调度系统与下位机运动控制器。以往的集中式系统中,上位机调度系统通常需要单独主机接收任务,并且进行计算得到所有机器人的任务分配结果。所有分配结果被发送到每一个机器人中,由运动控制器根据任务的具体情况控制机器人运行。然而这种传统的集中式系统对于上位机主机的计算性能要求很高,而且一旦在实际运行当中总是会出现交通堵塞情况,需要频繁地在上位机端更改运行线路。而在分布式系统中,上位机调度系统和下位机运动控制器都被集中在每一台自主移动机器人中,每一个机器人中都存在着完整的环境地图,在机器人接收到新任务发布后会自主地在多机间进行任务分配。任务分配完成后,本机的运动控制器接管这些任务,并且主动规划路径、执行任务。目前亟需高效、稳定的机器人调度优化任务分配方法。
发明内容
为了克服传统集中式系统的不足,本发明提出了一种基于市场机制的自主移动机器人任务分配处理方法,旨在组建上述的分布式自主移动机器人调度系统,高效率地实现动态任务在多机器人中的分配。
本发明的目的是通过以下技术方案来实现的:
一方面,本申请提出一种基于市场机制的自主移动机器人任务分配处理方法,该方法使用分布式自主移动机器人调度系统,实现动态机器人任务分配处理;该方法包括以下步骤:
步骤1、获取环境地图信息,并初始化重要参数,包括自主移动机器人位置参数(xr,yr)、任务发布点位置参数、自主移动机器人个数、每个机器人的任务执行队列;
步骤2、自主移动机器人接收任务发布点发布的任务信息,每个任务包括任务起点和任务终点(xtask,ytask),每个机器人按一定时间长度Ta生成该机器人对应的任务待分配列表;
步骤3、设定动态任务分配问题总目标,即给定所有机器人任务的分配方案,使总收益最大;
步骤4、根据基于市场机制的竞拍算法分配步骤3中时间长度Ta内的任务,并将机器人任务分配给目标机器人;每个机器人将分配得到的任务从任务待分配列表中取出置于机器人任务执行队列末尾,将任务待分配列表中没有分配的任务返回任务发布点,参与下一次竞拍分配;在每个机器人上执行单个机器人的竞拍算法;
步骤5、实施多个移动机器人之间的任务协调策略,将机器人任务执行队列中的任务与其他机器人进行协调,使得多机器人的任务执行效率最大化,且不影响当前机器人正在执行的任务;
步骤6、实施单个移动机器人内部的任务自协调策略,将该机器人所有未执行的任务自协调,合理安排机器人任务执行队列中的任务执行顺序,使得机器人执行任务收益最大化。
进一步地,所述步骤3中,分布式自主移动机器人调度总目标为:
xijl∈{0,1}
其中,xijl表示第i个机器人是否分配了第j个任务发布点发布的第l个任务,取0为未分配,取1为分配了任务;aijl表示第i个机器执行第j个任务发布点发布的第l个任务获得的收益;约束(1)表示每一个机器人任务有且仅有一个机器人执行;约束(2)表示机器人i最大可执行的任务总量为Ni。
进一步地,所述步骤3中,任务对应收益aijl的计算公式如下:
其中,dijl为机器人i与发布该任务l的任务发布点j的距离;(xtaskStart,ytaskStart)为任务l的起点坐标,(xtaskEnd,ytaskEnd)为任务l的终点坐标。
进一步地,所述步骤4中,单个机器人竞拍算法如下:
(4.1)每个机器人更新其任务待分配列表中所有任务价格和对应的最高价竞拍者;
其中,i为机器人编号,q为任务待分配列表中的任务编号,piq(t+1)为机器人i对任务q下一时刻的出价,piq(t)为机器人i对任务q此时的出价,pkq(t)为其他机器人k对任务q此时的出价,Ni(t)为其他机器人列表,biq(t+1)为机器人i在下一时刻获取的对任务q的竞拍者信息,bkq(t)为其他机器人的竞拍者信息,z为其他机器人编号;
(4.2)记当前机器人i所竞拍的任务为αi(t),如果且那么机器人i重新竞拍,选择一个利润最大的任务αi(t+1),同时机器人i更新价格和竞拍者列表:
其中,为当前机器人i对任务αi(t)的出价,/>为下一时刻机器人i对任务αi(t)的出价,/>为下一时刻机器人对任务αi(t)的竞拍者信息;为下一时刻机器人i对任务αi(t+1)的出价,γ为价格增量;
如果那么/>
进一步地,所述步骤4中,所述单个机器人竞拍算法的迭代停止条件为:持续Δ-1次价格更新,任务价格不发生变化,其中Δ为单个机器人拓扑结构直径;
所述竞拍算法的最大迭代次数为:
其中,m为机器人数目,aijl为任务价值,∈为松弛变量参数。
进一步地,所述步骤5中,实施多个移动机器人之间的任务协调策略,策略面向同构机器人群,对于某一段时间长度Ta内,某两个机器人至多只会进行一次多机器人任务协调,具体步骤如下:
(5.1)某个机器人ri和机器人rs通过任务分配竞拍算法分别获得任务ti和ts;
(5.2)机器人ri多机器人协调策略等待执行,当满足以下条件转入步骤(5.3);
其中,(xri,yri)和(xrs,yrs)分别为机器人ri和机器人rs的位置坐标,D0为可通信范围;
(5.3)机器人ri和机器人rs分别计算对应的原始任务执行队列价值OriginTaskExecutionQueueValue,机器人ri的任务执行队列为TaskExecutionQueue:{ti0,ti1,ti2,…ti},原始任务执行队列价值计算方法如下:
其中,(xti0Start,yti0Start),(xtiStart,ytiStart)分别表示任务ti0和ti的起点位置坐标,(xti0End,yti0End),(xtiEnd,ytiEnd)分别表示任务ti0和ti的终点位置坐标;
(5.4)机器人ri和机器人rs分别计算对应的交换任务执行队列价值SwapTaskExecutionQueueValue,机器人ri和机器人rs将自己当前分配的任务进行交换,交换后机器人ri的任务执行队列为TaskExecutionQueue:{ti0,ti1,ti2,…ts},交换任务执行队列价值计算方法如下:
(5.5)判断任务协调前后机器人ri和机器人rs的原始任务执队列价值和交换任务执行队列价值是否变化,如满足下式则进行任务协调:
riOriginTaskExecutionQueueValue+rsOriginTaskExecutionQueueValue
<riSwapTaskExecutionQueueValue+rsSwapTaskExecutionQueueValue
进一步地,所述步骤6中,实施单个移动机器人内部的任务自协调策略,自协调方法采用最优执行位置价值函数,具体为:对于新任务,计算机器人的任务执行队列中不同位置的最短任务完成距离;计算插入新任务前后的差异,选择距离增加最小的任务插入点上的执行收益作为新任务的执行价值;
其中,Lnew是机器人加入新任务后完成任务执行队列所需要经过的总路程,Lold是不加新任务的完成任务执行队列所需要经过的总路程;若机器人ri所投标的任务为tk,tk的执行位置插在最后,机器人ri的任务执行队列为TaskExecutionQueue:{tk0,tk1,tk2,…,tks-1,tk},s为未加入新任务时的任务执行队列长度;
Lnew和Lold计算方法如下:
其中,(xri,yri)为机器人ri位置坐标, 分别表示任务tk0、tks-1和tk的起点位置坐标,/> 分别表示任务tk0、tks-1和tk的终点位置坐标;
最优执行位置价值函数自协调算法步骤如下:
(6.1)机器人ri获取任务待分配列表TaskList={t0,t1,t2,…,tk-1};
(6.2)机器人ri根据自身任务执行队列和最优执行位置价值函数计算TaskLust中每个新投标任务的最优执行位置价值;
(6.3)机器人ri记录每个新投标任务的最优执行位置和对应的最优执行位置价值;
(6.4)进入任务分配竞拍算法并完成任务分配。
另一方面,本申请提出一种分布式自主移动机器人调度系统,该系统基于上述自主移动机器人任务分配处理方法实现,每个自主移动机器人包括通信模块、任务执行队列、竞拍算法模块、多机器人任务协调策略模块、移动机器人自协调策略模块和运动控制器,并通过通信模块与其他机器人进行信息交互。
本申请还提出一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本发明采用的以上技术方案与现有技术相比,有益效果如下:
1.使用完全分布式的自主移动机器人调度系统,实现动态自主移动机器人任务分配处理。每一台自主移动机器人单独搭载基于市场机制的任务分配处理方法,大大提升了多机器人拓扑网络的可扩展性和鲁棒性,同时减少单个机器人的计算负载。
2.采用的竞拍算法去中心化,不使用共享储存中心,使得整个系统不需要额外配置存储器,有利于自主移动机器人调度系统的整体稳定性。
3.采用多机器人协调策略和移动机器人自协调策略,进一步提高调度系统动态自主移动机器人任务分配能力,改善竞拍算法的全局分配不足性。
附图说明
图1为本发明实施例提供的基于市场机制的动态自主移动机器人任务分配方法流程图;
图2为本发明实施例中的线性拓扑结构图;
图3为本发明实施例中采取的单机器人任务自协调策略图;
图4为本发明实施例提供的分布式自主移动机器人调度系统结构图。
具体实施方式
下面结合本发明实施例附图对本发明的技术方案做进一步的详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚,需要说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明发明实施例的目的。
本申请提出一种基于市场机制的自主移动机器人任务分配处理方法,该方法使用完全分布式的自主移动机器人调度系统,实现动态机器人任务分配处理;每一台自主移动机器人单独搭载基于市场机制的任务分配处理方法,大大提升了多机器人拓扑网络的可扩展性和鲁棒性,同时减少单个机器人的计算负载;所采用的竞拍算法去中心化,不使用共享储存中心,使得整个系统不需要额外配置存储器,有利于自主移动机器人调度系统的整体稳定性;采用多机器人协调策略和移动机器人自协调策略,进一步提高调度系统动态机器人任务分配能力,改善竞拍算法的全局分配不足性。
本发明方法的具体实现步骤如下:
步骤1、获取环境地图信息,并初始化重要参数,包括自主移动机器人位置参数(xr,yr)、任务发布点位置参数、自主移动机器人个数、每个机器人的任务执行队列等。
步骤2、自主移动机器人接收任务发布点发布的任务信息,每个任务发布点可发布若干任务,每个任务包括任务起点和任务终点(xtask,ytask)(平面位置),每个机器人按一定时间长度Ta生成该机器人对应的任务待分配列表,将复杂的动态任务分配问题分解为若干个静态任务分配问题。
步骤3、动态任务分配问题总目标设定。动态任务分配问题可以有许多目标,包括移动机器人任务最大完成工时、机器人执行任务最大收益、机器人执行任务最小消耗等。对于自主移动机器人调度系统来说,一般需要的总体目标就是使得自主移动机器人的工作效率最高。关于工作效率,可以有多种表示,如最短时间表示,最短距离表示,最大收益表示等。单一机器人执行任务最大完成工时通常用于描述机器人的执行能力,这项指标往往使得所有的机器人的运行时长趋于相同,达到负载均衡状态,但这一指标不能直接用于描述自主移动机器人调度系统执行任务的最优性。
本发明采用的基于市场机制的任务分配方法,吸取博弈论纳什平衡思想,在每一竞拍局中构建虚拟市场,每一台机器人都是虚拟市场参与者。每一台机器人在相同的时间T内都接收相同的任务,记机器人集合R={r1,r2,…,rm},任务发布点集合P={p1,p2,…,pn},这些任务发布点每隔一定时间发布一次任务,记为tjl。
在本发明中,使用最大收益表示系统的最优目标,系统的总目标就是给定所有机器人任务的分配方案,使总收益最大,将机器人ri执行任务tjl获得的收益记为aijl,其中i表示机器人编号,j表示任务发布点编号,l表示某个任务发布点上发布的任务序号。
进一步地,对于工作区域自主移动机器人调度系统而言,整个分布式自主移动机器人调度总目标为:
xijl∈{0,1}
其中,xijl表示第i个机器人是否分配了任务发布点j发布的任务l,取0为未分配,取1为分配了任务;约束(1)表示每一个机器人任务有且仅有一个机器人执行;约束(2)表示机器人i最大可执行的任务总量为Ni;
本发明采用的收益公式如下:
其中,dijl为机器人i距离发布该任务l的任务发布点j的距离,aijl为任务对应收益;
其中,(xtaskStart,ytaskstart)为任务l的起点坐标,(xtaskEnd,ytaskEnd)为任务l的终点坐标。
步骤4、根据基于市场机制的竞拍算法分配步骤3中时间长度Ta内的任务,并将机器人任务分配给目标自主移动机器人。每个机器人将分配得到的任务从任务待分配列表中取出置于机器人任务执行队列末尾,将任务待分配列表中没有分配的任务返回任务发布点(即每个机器人不再存储未分配的任务),参与下一次竞拍分配。
在本发明中,实现了自主移动机器人任务分配方法的完全分布式,即每一台机器人都运行各自的任务分配算法,在虚拟市场中相互独立,相互作用,所有机器人完全自私,只为自己的利益进行竞拍,选择任务。最终虚拟市场会趋于稳态,并且市场整体创造的价值达到最高,实现局部最优分配。
本发明实现的基于市场机制的自主移动机器人任务分配处理方法在每一台机器人上都需要部署,这样的优点是可以将一台机器人上的复杂计算分摊至所有机器人中,传统集中式系统中的任务分配业务不再需要在某一台机器人或单独服务器进行大量计算。同时,任务分配算法的完全分布式特性可以大大增强自主移动机器人系统的扩展性和鲁棒性,机器人进入和退出不会对整体分布式系统的任务分配造成太大影响。
在每个自主移动机器人上搭载并执行单个机器人基于市场机制的竞拍算法,由于算法的独立性,算法的停止条件不依赖外部输入,完全凭借自身的迭代停止条件,同时算法存在最大迭代次数。
图1所示,单个机器人的竞拍算法大致流程如下:
(4.1)每个机器人更新其任务待分配列表中所有任务价格和对应的最高价竞拍者(有可能为该机器人,也有可能为该调度系统中的其他机器人);
其中,i为机器人编号,q为任务待分配列表中的任务编号,piq(t+1)为机器人i对任务q下一时刻的出价,piq(t)为机器人i对任务q此时的出价,pkq(t)为其他机器人k对任务q此时的出价,Ni(t)为其他机器人列表,biq(t+1)为机器人i在下一时刻获取的对任务q的竞拍者信息,bkq(t)为其他机器人的竞拍者信息,z为其他机器人编号。
(4.2)记当前机器人i所竞拍的任务为αi(t),如果且那么机器人i重新竞拍,选择一个利润最大的任务αi(t+1),同时机器人i更新价格和竞拍者列表:
其中,为当前机器人i对任务αi(t)的出价,/>为下一时刻机器人i对任务αi(t)的出价,/>为下一时刻机器人对任务αi(t)的竞拍者信息;/>为下一时刻机器人i对任务αi(t+1)的出价,γ为价格增量;
如果那么/>
基于市场机制的竞拍算法可以有两种表述:带共享存储中心和不带共享存储中心。带共享存储中心的竞拍算法设计上更为简练,同时只需要更少自主移动机器人通信代价,不过缺点是需要一个单独的存储介质。不带共享存储中心的竞拍算法在算法设计上较复杂,尤其是多机器人通信层需要区别各个主移动机器人传递的市场价格是否一致,以及其他机器人的竞拍信息是否可靠。同时竞拍算法松弛变量参数∈的选择也需要更多改进。
有关松弛变量参数∈:加入松弛变量参数∈后,分布式竞拍算法分配结果不一定为最优,但一定在最优分配总价值的n∈以内。
有关迭代停止条件和最大迭代次数:本发明采用的基于市场机制的自主移动机器人任务分配处理方法在每一竞拍局中都会产生许多次竞拍;定义一个多机器人调度系统拓扑结构直径为Δ,拓扑结构直径表示最远端的两个机器人相互通信需要跨越的中间机器人个数。
对于每一个机器人来说,自身都有一个特定的迭代停止条件,用于控制机器人的计算,同时产生分配结果,其基本条件为持续Δ-1次价格更新,任务价格不发生变化。
竞拍算法的最大迭代次数存在上限:
其中,Δ为单个机器人拓扑结构直径,如图2,线性拓扑结构的直径Δ=6。m为机器人数目,aijl为任务价值,∈为松弛变量参数。
步骤5、实施多个移动机器人之间的任务协调策略,将机器人任务执行队列中的任务与其他机器人进行协调,使得多机器人的任务执行效率最大化,且不影响当前机器人正在执行的任务。
多机器人任务协调策略面向同构机器人群,群内所有机器人都被指派一类相同类型的任务,在多机协调时间长度内交换一定数量任务,使多机器人的任务执行收益最大化。
以下给出多移动机器人之间的任务协调策略的一种实现方式,但不限于此:
将机器人任务执行队列中的任务与其他机器人进行协调,使得多机器人的任务执行效率最大化,且不影响当前机器人正在执行的任务。
多机器人任务协调策略面向同构机器人群,即群内所有机器人都被指派一类相同类型的任务,通过进行多机器人任务协调策略后可使任务执行收益最大化。
常规的任务分配竞拍算法只能将时间长度Ta内的任务根据当前机器人的状态进行分配,分配会满足多机器人调度系统最优分配的原则,但分配不会考虑单个机器人原先任务执行队列中的任务情况,即分配过程只考虑当前被分配任务与机器人的价值。
在时间长度Ta内完成一次任务分配后,分配任务的机器人在可通信范围内(D0),可根据多机器人任务协调算法判断是否进行一次两两任务交换。对于某一段时间长度Ta内,某两个机器人至多只会进行一次多机器人任务协调,若机器人数目为m,某机器人的多机器人协调策略执行次数最大为m-1。
多机器人任务协调策略算法如下:
(5.1)某个机器人ri和机器人rs通过任务分配竞拍算法分别获得任务ti和ts;
(5.2)机器人ri多机器人协调策略等待执行,当满足以下条件转入步骤(5.3);
其中,(xri,yri)和(xrs,yrs)分别为机器人ri和机器人rs的位置坐标,D0为可通信范围;
(5.3)机器人ri和机器人rs分别计算对应的原始任务执行队列价值OriginTaskExecutionQueueValue,机器人ri的任务执行队列为TaskExecutionQueue:{ti0,ti1,ti2,…ti},原始任务执行队列价值计算方法如下:
其中,(xti0Start,yti0Start),(xtiStart,ytiStart)分别表示任务ti0和ti的起点位置坐标,(xti0End,yti0End),(xtiEnd,ytiEnd)分别表示任务ti0和ti的终点位置坐标。
(5.4)机器人ri和机器人rs分别计算对应的交换任务执行队列价值SwapTaskExecutionQueueValue,机器人ri和机器人rs将自己当前分配的任务进行交换,交换后机器人ri的任务执行队列为TaskExecutionQueue:{ti0,ti1,ti2,…ts},交换任务执行队列价值计算方法如下:
(5.5)判断任务协调前后机器人ri和机器人rs的原始任务执队列价值和交换任务执行队列价值是否变化,当满足下式,则进行任务协调。
riOriginTaskExecutionQueueValue+rsOriginTaskExecutionQueueValue
<riSwapTaskExecutionQueueValue+rsSwapTaskExecutionQueueValue
步骤6、实施单个移动机器人内部的任务自协调策略,将该机器人所有未执行的任务自协调,合理安排机器人任务执行队列中的任务执行顺序,使机器人执行任务收益最大化。
以下给出单个移动机器人内部的任务自协调策略的一种实现方式,但不限于此:
将所有自主移动机器人未执行的任务自协调,合理安排机器人任务执行队列中的执行顺序,使机器人执行任务收益最大化。如图3所示,单个任务自协调策略通过在自身的任务执行队列中合理改变任务执行顺序,让单个机器人的任务执行收益最大化。本发明的自协调方法包括最优执行位置价值函数等。
以下方法为最优执行位置价值函数方法,此法可直接用于任务分配竞拍算法的核心算法当中,替换原先旧价值函数计算,以此提高单个机器人的任务执行收益。对于新的投标任务,计算机器人的任务执行队列中不同位置的最短任务完成距离(假设任务在分配后没有立即执行)。计算插入新任务前后的差异,选择距离增加最小的任务插入点上的执行收益,作为新任务的执行价值。
其中,Lnew是机器人加入新任务后完成任务执行队列所需要经过的总路程,Lold是不加新任务的完成任务执行队列所需要经过的总路程;若机器人ri所投标的任务为tk,tk的执行位置插在最后,机器人ri的任务执行队列为TaskExecutionQueue:{tk0,tk1,tk2,…,tks-1,tk},s为未加入新任务时的任务执行队列长度;
Lnew和Lold计算方法如下:
其中,(xri,yri)为机器人ri位置坐标, 分别表示任务tk0、tks-1和tk的起点位置坐标,/> 分别表示任务tk0、tks-1和tk的终点位置坐标;
最优执行位置价值函数自协调算法步骤如下:
(6.1)机器人ri获取任务待分配列表TaskList={t0,t1,t2,…,tk-1};
(6.2)机器人ri根据自身任务执行队列和最优执行位置价值函数计算TaskList中每个新投标任务的最优执行位置价值;
(6.3)机器人ri记录每个新投标任务的最优执行位置和对应的最优执行位置价值;
(6.4)进入任务分配竞拍算法并完成任务分配。
基于上述自主移动机器人任务分配处理方法,本申请构建了一种分布式自主移动机器人调度系统,系统总体结构如图4所示。每台自主移动机器人包括通信模块、任务执行队列、竞拍算法模块、多机器人任务协调策略模块、移动机器人自协调策略模块和运动控制器。
每台自主移动机器人单独搭载基于市场机制的任务分配处理方法,大大提高自主移动机器人调度系统整体可扩展性和鲁棒性,同时减少每一台机器人的计算负载,不需要单独配置计算中心和储存中心。分布式自主移动机器人调度系统任务分配过程由基于市场机制的自主移动机器人任务分配算法实现,主要由竞拍算法模块、多机器人任务协调策略模块、移动机器人自协调策略模块等组成,并通过机器人通信模块进行信息交互。本发明面向动态机器人任务分配问题,通过竞拍算法保证每一个阶段过程的最优性,虚拟市场达到平衡状态。利用协调算法提高动态过程的分配质量,与其他机器人交互信息并达成任务交换,同时合理安排自身任务执行队列顺序,使任务分配收益最大化。
本申请还提出一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
以上所述仅是本发明的优选实施方式,虽然本发明已以较佳实施例披露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何的简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
Claims (9)
1.一种基于市场机制的自主移动机器人任务分配处理方法,其特征在于,该方法使用分布式自主移动机器人调度系统,实现动态机器人任务分配处理;该方法包括以下步骤:
步骤1、获取环境地图信息,并初始化重要参数,包括自主移动机器人位置参数(xr,yr)、任务发布点位置参数、自主移动机器人个数、每个机器人的任务执行队列;
步骤2、自主移动机器人接收任务发布点发布的任务信息,每个任务包括任务起点和任务终点(xtadk,ytask),每个机器人按一定时间长度Ta生成该机器人对应的任务待分配列表;
步骤3、设定动态任务分配问题总目标,即给定所有机器人任务的分配方案,使总收益最大;
步骤4、根据基于市场机制的竞拍算法分配步骤3中时间长度Ta内的任务,并将机器人任务分配给目标机器人;每个机器人将分配得到的任务从任务待分配列表中取出置于机器人任务执行队列末尾,将任务待分配列表中没有分配的任务返回任务发布点,参与下一次竞拍分配;在每个机器人上执行单个机器人的竞拍算法;
步骤5、实施多个移动机器人之间的任务协调策略,将机器人任务执行队列中的任务与其他机器人进行协调,使得多机器人的任务执行效率最大化,且不影响当前机器人正在执行的任务;具体为:实施多个移动机器人之间的任务协调策略,策略面向同构机器人群,对于某一段时间长度Ta内,某两个机器人至多只会进行一次多机器人任务协调,具体步骤如下:
(5.1)某个机器人ri和机器人rs通过任务分配竞拍算法分别获得任务ti和ts;
(5.2)机器人ri多机器人协调策略等待执行,当满足以下条件转入步骤(5.3);
其中,(xri,yri)和(xrs,yrs)分别为机器人ri和机器人rs的位置坐标,D0为可通信范围;
(5.3)机器人ri和机器人rs分别计算对应的原始任务执行队列价值OriginTaskExecutionQueueValue,机器人ri的任务执行队列为TaskExecutionQueue:{ti0,ti1,ti2,…ti},原始任务执行队列价值计算方法如下:
其中,(xti0Start,yti0Start),(xtiStart,ytiStart)分别表示任务ti0和ti的起点位置坐标,(xti0End,yti0End),(xtiEnd,ytiEnd)分别表示任务ti0和ti的终点位置坐标;
(5.4)机器人ri和机器人rs分别计算对应的交换任务执行队列价值SwapTaskExecutionQueueValue,机器人ri和机器人rs将自己当前分配的任务进行交换,交换后机器人ri的任务执行队列为TaskExecutionQueue:{ti0,ti1,ti2,…ts},交换任务执行队列价值计算方法如下:
(5.5)判断任务协调前后机器人ri和机器人rs的原始任务执队列价值和交换任务执行队列价值是否变化,如满足下式则进行任务协调:
riOriginTaskExecutionQueueValue+rsOriginTaskExecutionQueueValue<riSwapTaskExecutionQueueValue+rsSwapTaskExecutionQueueValue
步骤6、实施单个移动机器人内部的任务自协调策略,将该机器人所有未执行的任务自协调,合理安排机器人任务执行队列中的任务执行顺序,使得机器人执行任务收益最大化。
2.根据权利要求1所述的基于市场机制的自主移动机器人任务分配处理方法,其特征在于,所述步骤3中,分布式自主移动机器人调度总目标为:
xijl∈{0,1}
其中,xijl表示第i个机器人是否分配了第j个任务发布点发布的第l个任务,取0为未分配,取1为分配了任务;aijl表示第i个机器执行第j个任务发布点发布的第l个任务获得的收益;约束(1)表示每一个机器人任务有且仅有一个机器人执行;约束(2)表示机器人i最大可执行的任务总量为Ni。
3.根据权利要求2所述的基于市场机制的自主移动机器人任务分配处理方法,其特征在于,所述步骤3中,任务对应收益aijl的计算公式如下:
其中,dijl为机器人i与发布该任务l的任务发布点j的距离;(xtaskStart,ytaskStart)为任务l的起点坐标,(xtaskEnd,ytaskEnd)为任务l的终点坐标。
4.根据权利要求1所述的基于市场机制的自主移动机器人任务分配处理方法,其特征在于,所述步骤4中,单个机器人竞拍算法如下:
(4.1)每个机器人更新其任务待分配列表中所有任务价格和对应的最高价竞拍者;
其中,i为机器人编号,q为任务待分配列表中的任务编号,piq(t+1)为机器人i对任务q下一时刻的出价,piq(t)为机器人i对任务q此时的出价,pkq(t)为其他机器人k对任务q此时的出价,Ni(t)为其他机器人列表,biq(t+1)为机器人i在下一时刻获取的对任务q的竞拍者信息,bkq(t)为其他机器人的竞拍者信息,z为其他机器人编号;
(4.2)记当前机器人i所竞拍的任务为αi(t),如果且那么机器人i重新竞拍,选择一个利润最大的任务αi(t+1),同时机器人i更新价格和竞拍者列表:
其中,为当前机器人i对任务αi(t)的出价,/>为下一时刻机器人i对任务αi(t)的出价,/>为下一时刻机器人对任务αi(t)的竞拍者信息;/>为下一时刻机器人i对任务αi(t+1)的出价,γ为价格增量;
如果那么/>
5.根据权利要求1所述的基于市场机制的自主移动机器人任务分配处理方法,其特征在于,所述步骤4中,所述单个机器人竞拍算法的迭代停止条件为:持续Δ-1次价格更新,任务价格不发生变化,其中Δ为单个机器人拓扑结构直径;
所述竞拍算法的最大迭代次数为:
其中,m为机器人数目,aijl为任务价值,∈为松弛变量参数。
6.根据权利要求1所述的基于市场机制的自主移动机器人任务分配处理方法,其特征在于,所述步骤6中,实施单个移动机器人内部的任务自协调策略,自协调方法采用最优执行位置价值函数,具体为:对于新任务,计算机器人的任务执行队列中不同位置的最短任务完成距离;计算插入新任务前后的差异,选择距离增加最小的任务插入点上的执行收益作为新任务的执行价值;
其中,Lnew是机器人加入新任务后完成任务执行队列所需要经过的总路程,Lold是不加新任务的完成任务执行队列所需要经过的总路程;若机器人ri所投标的任务为tk,tk的执行位置插在最后,机器人ri的任务执行队列为TaskExectionQueue:{tk0,tk1,tk2,…,tks-1,tk},s为未加入新任务时的任务执行队列长度;
Lnew和Lold计算方法如下:
其中,(xri,yri)为机器人ri位置坐标, 分别表示任务tk0、tks-1和tk的起点位置坐标,/> 分别表示任务tk0、tks-1和tk的终点位置坐标;
最优执行位置价值函数自协调算法步骤如下:
(6.1)机器人ri获取任务待分配列表TaskList={t0,t1,t2,…,tk-1};
(6.2)机器人ri根据自身任务执行队列和最优执行位置价值函数计算TaskList中每个新投标任务的最优执行位置价值;
(6.3)机器人ri记录每个新投标任务的最优执行位置和对应的最优执行位置价值;
(6.4)进入任务分配竞拍算法并完成任务分配。
7.一种分布式自主移动机器人调度系统,其特征在于,该系统基于权利要求1-6任一项所述自主移动机器人任务分配处理方法实现,每个自主移动机器人包括通信模块、任务执行队列、竞拍算法模块、多机器人任务协调策略模块、移动机器人自协调策略模块和运动控制器,并通过通信模块与其他机器人进行信息交互。
8.一种计算机设备,其特征在于,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010508805.2A CN111798097B (zh) | 2020-06-06 | 2020-06-06 | 一种基于市场机制的自主移动机器人任务分配处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010508805.2A CN111798097B (zh) | 2020-06-06 | 2020-06-06 | 一种基于市场机制的自主移动机器人任务分配处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111798097A CN111798097A (zh) | 2020-10-20 |
CN111798097B true CN111798097B (zh) | 2024-04-09 |
Family
ID=72803448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010508805.2A Active CN111798097B (zh) | 2020-06-06 | 2020-06-06 | 一种基于市场机制的自主移动机器人任务分配处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111798097B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112862251B (zh) * | 2021-01-12 | 2024-02-09 | 西北工业大学 | 一种基于改进pi算法的分布式多auv任务分配方法 |
CN114924513B (zh) * | 2022-06-07 | 2023-06-06 | 中迪机器人(盐城)有限公司 | 一种多机器人协同控制系统及方法 |
CN116638528B (zh) * | 2023-07-26 | 2023-09-22 | 深圳墨影科技有限公司 | 一种机器人移动协作系统的混合调度方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106875090A (zh) * | 2017-01-09 | 2017-06-20 | 中南大学 | 一种面向动态任务的多机器人分布式任务分配形成方法 |
CN110308740A (zh) * | 2019-06-28 | 2019-10-08 | 天津大学 | 一种面向移动目标追踪的无人机群动态任务分配方法 |
-
2020
- 2020-06-06 CN CN202010508805.2A patent/CN111798097B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106875090A (zh) * | 2017-01-09 | 2017-06-20 | 中南大学 | 一种面向动态任务的多机器人分布式任务分配形成方法 |
CN110308740A (zh) * | 2019-06-28 | 2019-10-08 | 天津大学 | 一种面向移动目标追踪的无人机群动态任务分配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111798097A (zh) | 2020-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111798097B (zh) | 一种基于市场机制的自主移动机器人任务分配处理方法 | |
CN106875090B (zh) | 一种面向动态任务的多机器人分布式任务分配形成方法 | |
Giordani et al. | A distributed multi-agent production planning and scheduling framework for mobile robots | |
Alitappeh et al. | Multi-robot exploration in task allocation problem | |
CN107036618A (zh) | 一种基于最短路径深度优化算法的agv路径规划方法 | |
CN112508369B (zh) | 基于改进蚁群算法的多无人机任务分配方法 | |
CN109919431B (zh) | 基于拍卖算法的异构多机器人任务分配方法 | |
CN109839933B (zh) | 一种基于vdsom算法的多机器人任务分配方法 | |
Zhou et al. | A balanced heuristic mechanism for multirobot task allocation of intelligent warehouses | |
CN110456633B (zh) | 机载多平台分布式任务分配方法 | |
CN111885550A (zh) | 一种分布式自主移动机器人调度系统 | |
CN114169748A (zh) | 多机器人任务分配方法、系统、设备及可读存储介质 | |
CN108415760A (zh) | 一种基于移动机会网络的群智计算在线任务分配方法 | |
CN110717684A (zh) | 一种基于任务分配协调策略与粒子群算法的任务分配方法 | |
CN107423810B (zh) | 基于骆驼群算法的作业车间调度排产方法及系统 | |
CN111680836B (zh) | 面向st-sr问题的分布式多机器人系统任务分配方法 | |
CN109886574B (zh) | 一种基于改进阈值法的多机器人任务分配方法 | |
Ebufegha et al. | Multi-agent system model for dynamic scheduling in flexibile job shops | |
Tian et al. | Joint scheduling of AGVs and parallel machines in an automated electrode foil production factory | |
CN112508478B (zh) | 一种基于自组织自动导引车的柔性物流配送任务分配方法 | |
CN113587931A (zh) | 一种路径规划方法、装置、设备及存储介质 | |
Li et al. | Dynamic task allocation based on auction in robotic mobile fulfilment system. | |
Basile et al. | An auction-based approach for the coordination of vehicles in automated warehouse systems | |
Mei et al. | A Multi-robot Task Allocation and Path Planning Method for Warehouse System | |
CN113467405B (zh) | 工业4.0需求驱动的分布式动态边缘云智能制造方法及系统 |
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 | ||
CB02 | Change of applicant information |
Address after: 310053 1st floor, building 3, No.1 Weiye Road, Puyan street, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: ZHEJIANG COTEK ROBOT CO.,LTD. Applicant after: Zhejiang Zhongli Machinery Co.,Ltd. Address before: 310053 1st floor, building 3, No.1 Weiye Road, Puyan street, Binjiang District, Hangzhou City, Zhejiang Province Applicant before: ZHEJIANG COTEK ROBOT CO.,LTD. Applicant before: Zhejiang EP Equipment Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |