一种面向动态任务的多机器人分布式任务分配形成方法与流程

文档序号:12721814阅读:1032来源:国知局
一种面向动态任务的多机器人分布式任务分配形成方法与流程

本发明涉及机器人智能拍卖算法技术领域,更具体地,涉及一种面向动态任务的多机器人分布式任务分配形成方法。



背景技术:

随着人们对人工智能和复杂系统认识的深入,机器人系统在建筑、军事、消防、工业生产等领域有了良好的应用前景。而当前多机器人系统中任务数量大,任务点包含信息复杂,参与的机器人众多,全局搜索算法的计算代价呈现指数增长,这使得全局搜索算法很难在规定的时间内寻找到任务分配问题的最优解。因此,全局搜索算法并不适用大规模多智能体动态任务分配问题的求解。在大规模系统中任务分配须满足实时性的要求,倾向于在规定的时间内得到“好”的解,而得到的解并不一定是最优解。因此对于时间约束的多机器人动态任务分配问题研究具有重要意义。

当前任务分配很多采用拍卖算法,传统的拍卖算法面向任务是静态的,采用的是一次拍卖算法。但在面对任务点数量多且动态变化情况下存在很大的缺陷,无法实行更多次调度,不能满足实时性的需要,更得不到理想的效果。



技术实现要素:

本发明提供一种克服上述问题或者至少部分地解决上述问题的面向动态任务的多机器人分布式任务分配形成方法,该方法基于改进的拍卖算法,以及结合A-star算法路径寻优,通过机器人之间协同合作解决环境中多个动态任务的问题。

为了达到上述目的,本发明提供一种面向动态任务的多机器人分布式任务分配形成方法,该方法包括:

S1:根据环境地图中信息,理清任务分配问题需要考虑的因素和难点;

S2:任务发生时,基于多阶段拍卖算法,生成任务分配方案,机器人根据所述任务分配方案执行任务。

进一步,所述步骤S1中,包括:

S11:给定一张目标环境地图,所述地图上分布有多个具有任务执行能力的机器人、属性随时间变化的任务点和若干个障碍物;

S12:根据任务点的状态变化,理清任务分配需要考虑的因素及难点

进一步,所述步骤S11中,所述的环境为机器人工作环境,对给定的环境地图建立直角坐标系,坐标系以x轴向右为正方向,y轴向上为正方向,并将该工作环境划分为多个栅格,环境地图在空间上分布有N(N∈Z+)个任务点、M(M∈Z+)个机器人以及B(B∈Z+)个障碍物,并分别确定机器人、任务和障碍物的坐标。

其中,任务用字母j表示,其中j=1,2,…,N,任务在地图上近似于一个点。机器人用字母i表示,其中i=1,2,…,M。障碍物用字母b表示,其中b=1,2,…,B。

任务点在地图上的坐标为其中j=1,2,…,N;机器人在地图上的坐标为其中i=1,2…M;障碍物在地图上的坐标为其中k=1,2,…,B。

任务点与机器人之间的距离公式为:

假定任务点j坐标与任务点j'坐标分别为则两者之间距离公式为:

进一步,所述步骤S12中,任务点状态量随时间呈现指数函数形式变化,任务点j(j=1,2,…,N)在(t+1)时刻的状态量用方程表示为:

式中:

Sj(t+1),Sj(t):任务j(j=1,2,…,N)分别在(t+1)和t阶段的任务点状态量;

αj:第j个任务点的状态变化率;

βi:机器人i的执行能力且βi>0;

Δt:t与(t+1)之间的时间差;

ε:任务量阈值,设定任务量阈值ε判断任务是否完成,当sj(t)<ε时,表示任务已完成。

这是一个任务状态分布式的动态任务分配问题。任务点的状态变化是连续的指数函数形式(式三)。其任务量为时间分布,它受到有多少个机器人在执行该任务(智能体的执行能力总和)的影响。

任务点j(j=1,2,…,N)的完成时间与作用于任务点j执行能力之和成反比。当t阶段执行目标任务j的m个机器人执行能力和时,表明该m个机器人无法完成该任务点,sj(t)呈现上升的趋势;当时,表明m个机器人可以完成该任务点,sj(t)呈现下降的趋势。

进一步,所述步骤S12中,系统任务分配需要考虑的因素包括任务点属性参数和机器人属性参数。

任务点j(j=1,2,…N)的属性参数包括:任务点的任务量(即状态值)Sj(t),表示t时刻任务点的任务量,其中j=1,2,…,N,当t=0时表示任务点的初始量Sj(0);任务点变化率αj;任务点j是空间分布的,任务点j在环境地图上所处的位置

机器人i(i=1,2,…,M)的属性参数包括:运动速度vi,表示机器人i在单位时间内所走的路径长;机器人能力值βi;机器人在环境地图上所处的位置

随着目标任务点和机器人数量的增加,任务分配问题的难度快速增加,各目标任务点的重要程度、状态变化率以及各个智能体执行任务时的代价、执行能力等都是需要考虑的因素。

假定正在前往第j个任务点的机器人在下一阶段方案生成前不去其他任务点,对于给定的M(M∈Z+)个机器人、N(N∈Z+)个任务点,对任务点进行多次拍卖共有种分配方案,其复杂度为

所述步骤S2中,进一步包括:

S21:检测到任务时,选择距离任务点最近的机器人作为代理机器人;若距离数个任务点最近的机器人为同一个机器人i(i=1,2,…,M),系统会选择数个任务点中选择距离直角坐标系原点最近的任务点的机器人i为其代理机器人;

S22:代理机器人发布拍卖信息给通讯半径内的竞拍机器人,等待反馈;

S23:接收到拍卖信息的竞拍机器人根据自身收益函数选择收益最高的任务点进行投标;

S24:代理机器人收集投标信息,以预定规则选择中标的机器人,并通知中标的机器人执行任务;

S25:未中标的竞拍机器人和处在通讯盲区的机器人选择执行最近的任务点。

进一步,所述步骤S2中,当检测到已完成任务点和无目标的空闲机器人时,会对空闲机器人进行重新拍卖,使得空闲机器人重新获得新的任务点,从而得出新的分配方案,直至环境中所有的任务点被执行完后,停止拍卖。

本发明面向目标任务是随时间动态变化的,任务点在被完成的时间点上也是分布的,即任务点在被执行完的时间上是不一致的。

若沿用传统的拍卖算法流程,在生成分配方案后,一直按照该方案执行动态目标任务,则很难适应目标任务的动态变化和实时性要求。

改进后的拍卖算法会实时跟踪任务点的状态变化,一旦存在已完成任务点,会存在无目标的机器人,算法会对它们进行重新分配,从而得出新的分配方案,通过多次拍卖的实现,以时间最优为导向,最大程度的利用机器人的资源,实现分阶段设计分配方案的目标,以适应动态任务的变化。

进一步,所述步骤S22中,代理机器人负责发布拍卖信息给通信半径内的竞拍机器人,等待反馈;每个任务点j(j=1,2,…,N)的代理机器人掌握该任务点j的相关拍卖信息,所述消息包括:任务点j位置、任务点j的变化率、任务点j状态量和任务点j所需要的合适机器人数量s。任务点的状态量随时间呈现指数函数形式变化。

任务点j所需要的合适机器人数sj定义为:假定存在w个机器人使得且任务点j所需要机器人最佳数目s取值为:

w≤sj≤w+2 (式四)

机器人i(i=1,2,…,M)都有对应的通讯半径ri(机器人的通讯半径可以设为不同值),代理机器人负责发布拍卖信息给通信半径内的竞拍机器人。

进一步,所述步骤S23中,接受到z(0≤z≤N)个代理机器人发布拍卖信息的竞拍机器人对这些信息进行权衡,权衡标准为:竞拍机器人对这z个代理机器人发布拍卖信息进行分析,本发明对传统的拍卖算法进行了改进,引进了动态经济效益函数,机器人i计算执行完某个任务点j后的收益值Eij(Eij为实数),并选择收益最高的任务点进行投标。所用的动态收益函数其为:

Eij=g(k1,Sj(t),αji,n)-h(k2,dij) (式五)

式中:

g:机器人i执行任务点j结束后获得利益,为指数函数;

h:机器人i执行任务点j消耗的成本;

k1,k2:可变权重参数,在不同坏境下可以设为其相应的值;

dij:机器人i与任务点j之间的路径长;

上式中,k1与Sj(t)的乘积为指数函数的比例系数,αji,n三者之间关系式构成指数函数中的指数,n代表正在执行任务点j的机器人数量(在t=0时,任务点无机器人执行,此时n为0);

h是dij函数,给定参数k2,则h的值由dij决定。

对于给定的环境地图每个机器人都有对应的执行能力值βi(i=1,2,…,M),该机器人i的能力值为常数,机器人之间的执行能力值可以设为不同。

进一步,所述步骤S24中,代理机器人收到竞拍机器人的投标信息后,分析其信息,根据整体效益最大的目标,选择中标的竞拍机器人,并通知所有投标的竞拍机器人结果。

进一步,所述步骤S25中,地图中通讯盲区的机器人(环境地图中由于通讯半径的限制可能存在接收不到代理机器人发布拍卖信息的机器人)和未中标的竞拍机器人自行去执行距离其最近的任务点。

进一步,所述步骤S24中,代理机器人会根据预定规则选择中标的竞拍机器人,具体内容为:

任务点j的代理机器人接受到nj个竞拍机器人投标消息,若nj>sj,则按照收益大小排序,选择排名靠前的(sj-1)个竞拍机器人作为中标机器人,并通知所有投标的竞拍机器人,若nj<sj,则nj个竞拍机器人全部为中标机器人。

进一步,所述步骤S24中,机器人在行进过程中,通过A-star算法对路径进行寻优,可以合理的与其他机器人避碰及与障碍物进行避撞,并搜索出机器人到达相应任务点的最优无碰路径。

生成任务分配方案,机器人按照分配的方案开始执行目标任务点,机器人在前往目标任务行程中会实时的显示自己所在的位置,同时通过A-star算法进行最优无碰路径的搜索。

在A-star算法的搜索过程中,采用通过一个代价函数来搜索扩展空间节点的方法,代价函数的一般形式为:

f(i)=g(i)+h(i) (式六)

式中:

f(i):节点i从初始节点到目标节点的估价函数;

g(i):在状态空间中从初始节点到节点i的实际代价;

h(i):从节点i到目标节点最佳路径的估计代价。

通过A-star算法进行最优无碰路径的搜素,机器人遇到障碍物会合理的避开以及机器人在行进过程中不会遇到,A-star是一种求解最短路径的有效方法,提高了路径规划的实时、环境适应性的效率。

机器人在整个执行过程中遵守以下的规则:

a)任务点j所需要的最佳机器人数为sj

b)正在前往第j个任务点的机器人在下阶段方案生成前不去其他任务点;

c)机器人不会去已经被执行完的任务点;

d)代理机器人会根据事先制定的规则选择中标的竞拍机器人;

e)未中标的竞拍机器人或通讯盲区的机器人(通讯半径内接收不到代理机器人发出的拍卖信息的机器人)会执行自身最近的任务点;

f)代理机器人执行自身代理的任务点。

通过上述技术方案,本发明最后生成一套完整的执行方案,并得到所有任务点被完成所需要的时间。完成所有任务点所需的时间为最后一个被执行完任务点的时间。

基于上述技术方案,本发明提出了一种面向动态任务的多阶段拍卖算法,解决了环境中动态任务分配问题,传统的拍卖算法采用的一次分配来解决给定的任务,在面对动态任务存在很大局限性,达不到预期的效果。通过多次拍卖的实现,以时间最优为目的,最大程度的利用机器人的资源,将上述方法在VC++和Csharp平台上进行仿真,通过大量的实验仿真测试结果表明,改进的拍卖算法较传统的拍卖算法更能够很好的解决环境中的动态任务,通过多次分配来满足实时性的需求,并能够给出接近的最优解。

附图说明

图1为根据本发明实施例的环境模型图。

图2为根据本发明实施例的多阶段拍卖算法流程图。

图3为根据本发明实施例的代理机器人工作流程图。

图4为根据本发明实施例的竞拍机器人工作流程图。

图5为根据本发明实施例的传统拍卖算法(单阶段拍卖算法)仿真图。

图6为根据本发明实施例的改进拍卖算法(多阶段拍卖算法)仿真图。

图7为根据本发明实施例的多阶段拍卖算法与单阶段拍卖算法消耗时间对比图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

本发明提供一种基于改进的拍卖算法,以及结合A-star算法路径寻优,通过机器人之间协同合作解决环境中多个动态任务的问题。

多阶段拍卖算法是在传统拍卖算法的基础上进行改进,增加相应的规则和动态收益函数。传统的拍卖算法适用于解决静态目标任务的分配问题,并通过效益和代价参数分别衡量目标任务价值和机器人执行代价,设计目标任务对各机器人的拍卖算法,生成分配方案,整个系统只进行一次拍卖。

机器人协同合作体现为:机器人检测到任务点发生时,代理机器人通过发布拍卖信息给竞拍机器人,竞拍机器人根据接收到信息进行权衡,进行投标;代理机器人根据反馈的信息以事先制定的规则选择分配方案,机器人在执行任务的进程中会将了解的信息发送给自身的通讯半径内机器人,实现资源共享,一旦有任务点完成后,空闲的机器人会通过重新拍卖获得目标任务点,去协助其它机器人执行任务点,直到所有任务点完成。

根据本申请的一个实施例中,如图1所示,本发明环境模型图,包括以下步骤:

首先,对目标地图建立直角坐标系,并将目标地图分成多个等尺寸的地图块,每个地图块长宽相等。

其次,在本发明实施例中,给定的目标地图长宽都为300个单位,则地图中含有地图块数89401个。

给定的环境地图中可以特定设置M(M∈Z+)个机器人、N(N∈Z+)个任务点、以及B(B∈Z+)个障碍物。

计算并存储任务点之间距离(式二)以及任务点与机器人之间距离(式一)。

最后分析本发明的研究目标:针对多个具有一定任务执行能力的机器人,给定多个属性随时间变化的任务,建立多机器人的动态任务分配策略,优化所有任务的完成时间,可以用最后一个任务的完成时间来衡量。

当m(0≤m≤M)个机器人作用于任务点j(j=1,2,…,N)时,在(t+1)(t≥0)时刻任务点j的任务状态量公式为:

如图2所示,本发明采用的多阶段拍卖算法流程图,详述如下:

在S201中,检测任务发生时先确定每个任务点的代理机器人,任务点j选择原则为距离任务点j最近的机器人作为代理机器人。

代理机器人的工作流程参考图3所示,详述如下:

当接受监测系统的消息后,距离任务点j(j=1,2,…,N)最近的机器人i(i=1,2,…,M)为该任务点的代理机器人。机器人i首先了解任务点j的任务具体信息并对其进行整理:主要是计算完成任务j所需要的机器人最佳数目s、获取任务点变化率αj、任务点的任务状态量、任务点所处的地理位置等。然后向通讯半径内的竞拍机器人发送拍卖信息,等待反馈。接收到拍卖信息的竞拍机器人根据自身收益函数选择收益最高的任务点进行投标,代理机器人以整体效益最高为目标选择中标的竞拍机器人,并通知所有投标的竞拍机器人。若中标机器人的数量n达到n>s的条件,则选择收益排名靠前的s个机器人,未中标机器人会重新选择距离最近的任务点。

在S203中,竞拍机器人工作流程参考图4,详述如下:

没有被选为代理机器人则自动转换为竞拍机器人,首先代理机器人i发布拍卖信息给通信半径内的竞拍机器人,等待反馈。接收到拍卖信息的竞拍机器人根据自身收益函数选择收益最高的任务点进行投标,代理机器人收集投标信息,并以系统整体效益最高为目标选择中标的竞拍机器人。如果竞拍机器人成功中标,则开始执行任务,若未能成功中标的机器人选择去执行最近的任务点。若有任务点被完成,则根据当前情况重新分配空闲机器人,直至任务完成。

生成分配方案,开始执行任务,机器人在行进中通过A-Star算法对路径进行寻优,可以合理的与其他机器人避碰以及与障碍物进行避撞,并搜索出机器人到达相应任务点的最佳无碰路径。

一旦存在已完成任务点,会存在无目标的空闲机器人,系统会对它们进行重新拍卖,从而得出新的分配方案,直至环境中所有的任务点完成。

机器人协作执行任务测试。

上面提到的改进的拍卖算法(多阶段拍卖算法)的方法,有M个机器人、N个任务点以及B个障碍物。在(m是执行任务点j的机器人数量)的约束条件下。为了测试使用的拍卖算法在执行动态任务的改善,使用长宽为300个栅格的地图进行测试,对比单阶段拍卖算法和多阶段拍卖算法的效果。

图5和图6都为测试例,其中粗黑色小圆圈为代理机器人,机器人3为通讯盲区的机器人,具体如下:

图5为某个测试单阶段拍卖算法仿真图,机器人2,4和5分别是任务点2,3和1的代理机器人,代理机器人发布对应任务点的拍卖信息给通讯半径内的竞拍机器人;经过首轮拍卖,竞拍机器人1,6和7成功中标,分别执行任务点2,3和1。机器人3为通讯盲区的机器人(不在代理机器人通讯半径范围内,无法接受代理机器人发布的拍卖信息)选择执行距离最近的任务点1,生成任务分配方案后机器人开始执行目标任务点,执行过程中不再进行拍卖,一旦有任务点被执行完,空闲的机器人不协助其他机器人去执行未完成的任务点。

图6为相同的某个测试多阶段拍卖算法仿真图,其初次分配的方法和单阶段拍卖算法分配方法相同,多阶段拍卖算法特点在于一旦存在已完成任务点,会存在无目标的机器人,算法会对它们进行重新分配,图中任务点1先被执行完,算法对机器人3,5和7重新分配,不浪费空闲的机器人,通过多次拍卖,最大程度的利用机器人的资源,实现分阶段设计分配方案的目标。

为了验证该改进拍卖算法的效率,选取了8组测试数据,通讯半径设定为200个单位,k1=1,k2=0.0025;统计结果如表1所示。

表1为测试时间统计表

将上面的仿真结果绘制成折线图,如图7所示,进行对比结果,面向动态任务引入相应的规则和动态收益函数后,机器人执行动态任务的整体效果有了很大的提升,通过仿真测试,证明了面向动态任务机器人采用改进的多阶段拍卖算法有效性。

最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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