CN115827203A - 一种异构多无人***分布式动态任务分配方法 - Google Patents
一种异构多无人***分布式动态任务分配方法 Download PDFInfo
- Publication number
- CN115827203A CN115827203A CN202211634542.5A CN202211634542A CN115827203A CN 115827203 A CN115827203 A CN 115827203A CN 202211634542 A CN202211634542 A CN 202211634542A CN 115827203 A CN115827203 A CN 115827203A
- Authority
- CN
- China
- Prior art keywords
- task
- unmanned system
- unmanned
- record table
- tasks
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 230000008569 process Effects 0.000 claims abstract description 24
- 238000004891 communication Methods 0.000 claims abstract description 16
- 230000008859 change Effects 0.000 claims abstract description 14
- 238000004364 calculation method Methods 0.000 claims description 20
- 238000009877 rendering Methods 0.000 claims description 6
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000005265 energy consumption Methods 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 230000009467 reduction Effects 0.000 claims description 3
- 230000010485 coping Effects 0.000 abstract description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 241000135164 Timea Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000006317 isomerization reaction Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种异构多无人***分布式动态任务分配方法,在基于一致性包算法(CBBA)和性能影响算法(PI)的基础上,在任务移除阶段出现死锁现象时,提出新增一种任务移除方式,在少量增加无人***通信的情况下消除了任务陷入添加和移除的循环导致任务分配无法收敛的死锁现象;同时,针对任务分配执行过程中任务和无人***的状态变化问题,提出在动态信息更新时刻更新无人***当前位置和可用时间,使动态任务重分配可采用与初始分配相同的方法进行,无需面向重分配设计新的分配方法,保证本发明提出的分布式方法具备较强的应对动态任务分配问题的能力。
Description
技术领域
本发明涉及多无人***任务分配领域,尤其涉及一种异构多无人***分布式动态任务分配方法。
背景技术
随着近年来航空航天等领域自动化水平的提升,依靠无人***完成复杂大型任务的需求日益增长。当前,大型任务的***性也不断增强,任务复杂度不断提升,为完成某项***任务,存在一类将***任务分解为一系列子任务,并根据各子任务的时序性要求、完成时间要求、复杂关联度要求以及完成方式要求对系列任务进行分配执行的问题,不同的分配方式对***任务的总体收益具有较强的影响,由于系列任务的复杂性与动态性,有人参与的任务和单无人***执行的分配问题暴露了分配效率低、总体收益不足、完成任务代价高等问题。因此,依靠多无人***自主并行完成复杂的系列任务分配问题值得关注和研究。
然而,传统的任务分配方法主要存在以下几方面的问题:第一:一些场景涉及的任务分配问题采用集中式分配方法,或虽然采用分布式方式执行,但仍需获得一些总体信息,依靠某个中心节点完成任务分配。集中式算法存在计算资源消耗高、通信任务范围受限、单点失效等问题;第二,一些场景涉及的任务分配问题没有涉及无人***资源限制的问题,该问题要求多无人***具备较强的自主性,根据自身资源容量进行任务选择,并能够在通信和计算资源受限的情况下具备长期持续进行系列任务分配的能力;第三,一些场景涉及的任务分配问题和采用的分布式任务分配方法没有考虑在完成任务分配时无人***和任务的动态性问题,该问题要求多无人***能够及时根据任务状态、无人***状态和通信状态的变化对各无人***待执行任务进行调整,完成任务动态重分配。
发明内容
本发明的目的在于提供一种异构多无人***分布式动态任务分配方法,消除了任务陷入添加和移除的循环导致任务分配无法收敛的死锁现象,无需面向重分配问题设计新的分配方法,具备较强的应对动态任务分配问题的能力。
为了达到上述目的,本发明提供一种异构多无人***分布式动态任务分配方法,包含以下步骤:
步骤S1、定义任务分配场景,设置任务分配问题的空间和时间限度信息;
步骤S2、定义一个由n个异构无人***组成的集合U=[u1,u2,…,ui,…,un],一个由m个待完成任务组成的集合T=[t1,t2,…,tk,…tm];
其中,各无人***:拥有不同的初始位置Ωi;拥有不同的平均行进速度vi;拥有不同的能耗限制,简化为不同的执行任务数量上限Li;拥有不同的无人***类型,简化为一种类型的无人***对应能完成一种或几种类型的任务,而其他类型的任务无法完成;拥有不同的可用时间ζi,表示为无人***没有正在执行任务或其他不可用情况,可以开始执行任务的时间;
各任务:拥有不同的任务位置Θk,拥有不同的任务开始时间tk,start,持续时间tk,duration和截止时间tk,end;拥有不同的任务完成成本ck,简化为某无人***从初始位置出发,到达该任务位置并开始执行任务所需要耗费的时间成本;拥有不同的任务类型,简化为一种类型的任务需要由一种或几种类型的无人***完成,而其他类型的无人***无法完成;
同时定义布尔矩阵H,反映无人***类型与任务类型的适配性,当无人***类型与任务类型适配时h=1,h∈H,否则h=0;
步骤S3、各无人***在任务分配时维护任务列表ai,其基数|ai|表示无人***ui分配得到的待执行任务的数量,同时维护任务列表对应的成本列表ci,各已分配任务的成本可表示为ci,k(ai),其意义是任务tk分配到无人***ui的任务列表ai中,其由无人***ui到达任务位置所需要的时间成本;
除了任务列表ai和对应的成本列表ci外,各无人***还维护已完成任务记录表pi,执行任务的实际成本列表ωi和分配过程记录表Ai;各无人***还维护移除任务性能影响RPI记录表γi=[w1,w2,…,wk,…,wm],添加任务性能影响IPI记录表任务待执行者记录表Bi=[β1,β2,…,βk,…,βm]和与其他无人***最新协商时间记录表Si=[s1,s2,…,sj,…,sn];
其中,b表示tk在列表ai中所处的位置;
任务待执行者记录表Bi=[β1,β2,…,βk,…,βm]表示无人***ui记录的已分配任务tk的待执行者集合;
最新协商时间记录表Si=[s1,s2,…,sj,…,sn]表示无人***ui记录的其最新一次与无人***uj协商的时间集合;
步骤S4、共识协商;
各无人***在通信拓扑的范围内向其他无人***发送其移除任务性能影响记录表γi,任务待执行者记录表Bi,并在通信后即时更新最新协商时间记录表Si;
各无人***根据接收到的其他无人***发送的信息对本地的移除任务性能影响记录表γi,任务待执行者记录表Bi进行更新维护;
步骤S5、任务移除;
各无人***根据协商结果,将列表中协商后不由当前无人***执行的任务组成临时待移除任务记录表Di=[d1,d2,…],逐个移除记录表Di中的任务;
步骤S6、任务添加;
各无人***根据任务状态、任务适配性条件遍历所有可执行任务及任务列表ai中的所有可添加位置,根据式(6)计算添加任务性能影响记录表γi *并确定各可行任务添加到任务列表的可行位置l;
步骤S7、判断任务分配问题是否满足问题收敛条件,并且各无人***已经达成共识,各任务列表ai共同组成无冲突的任务分配方案,若不满足,重复步骤S4-步骤S7,直到任务分配问题满足收敛条件为止,形成最终的任务分配方案;
步骤S8、动态任务分配;
若场景中存在动态更新的信息,定义场景中信息更新的时刻ψ,定义几类更新信息,包括任务删除,任务更改,任务新增,无人***退出,无人***新增,并更新无人***集合U和任务集合T,明确各任务的类型、状态与位置,各无人***更新其分配过程记录表Ai,确定其剩余可执行任务数量上限,确定信息更新时刻ψ无人***的位置Ωi和可用时间
所述步骤S5包含:
步骤S5.1、对记录表Di中的任务逐个移除,进行如下计算:
当某一任务从无人***的列表中移除多次,且与其他与该任务相关的无人***协商仍无法从达成共识时,则认为进入死锁状态;
当死锁现象出现时,跳过步骤S5.1~步骤S5.3,直接执行步骤S5.4~步骤S5.5;
步骤S5.4、无人***不再逐个从临时待移除任务记录表Di中按照式(7)和移除判定条件逐个移除任务,而是将所有经协商后非当前无人***执行的任务全部从任务列表中移除,执行操作,根据式(5)更新移除任务性能影响记录表γi;
步骤S5.5、各无人***此时进行一次即时信息更新协商,各无人***在通信拓扑的范围内向其他无人***发送其移除任务性能影响记录表γi,任务待执行者记录表Bi;
各无人***根据接收到的其他无人***发送的信息对本地的移除任务性能影响记录表γi,任务待执行者记录表Bi中的信息进行更新维护。
更新维护移除任务性能影响记录表γi和任务待执行者记录表Bi的方法包含:
根据记录的最新协商时间和各任务在不同无人***列表中的移除性能影响差异,采用CBBA算法的一致性协商规则,根据不同的判断条件,将移除任务性能影响记录表γi,任务待执行者记录表Bi中的信息执行更新、保留或者重置操作;
更新:wi,k=wj,k,βi,k=βj,k,即无人***ui在本地将任务tk的移除性能影响设置与无人***uj发送的对应值,并将执行者设置为无人***uj;
保留:wi,k=wi,k,βi,k=βi,k,即无人***ui在本地对任务tk的性能影响和执行者信息不做更改;
重置:无人***ui在本地将任务tk的性能影响wi,k和执行者βi,k设置为初始默认值。
所述步骤S6包含:
步骤S6.3、任务添加阶段结束后,更新移除任务性能影响记录表γi。
所述步骤S8包含:
各无人***根据场景信息更新时刻ψ和其任务列表ai中的任务信息,确定其中已经完成的任务、待完成的任务和到达任务位置但实际未执行的任务,并更新实际成本列表ωi,计算各已完成任务和待完成任务的实际成本ωi,k;
当任务tk位于列表首位时,其实际成本与估计成本相等,即ωi,k=ci,k(ai),否则,其中,pi,r为已完成任务记录表pi中确定任务是否完的布尔变量,在更新实际成本列表ωi时,如果任务信息发生变化,pi,r=0,而当所有任务的实际成本计算完成后,如果ωi,k>ψ,即任务实际没有开始执行时,pi,r=0;
若场景信息更新时刻ψ发生在列表中最后一个任务tk的实际成本时间之后,即ωi,k<ψ,无人***当前位置为任务tk的位置,即Ωi=Θk,最后一个任务tk对应的pi,k=1,即该任务已经完成时,可用时间否则当pi,k=0时,可用时间
若场景信息更新时刻ψ发生在列表首个任务tk的实际成本时间之前,代表无人***正在前往任务位置Θk的途中或在任务位置等待任务开始,此时,无人***的行进时间τ表示为τ=ψ,而从无人***初始位置Ωi,pre到达任务位置的总时间τ*表示为τ*=Eυ(Θk,Ωi,pre)/vi,其中,Eυ(·)表示两点的欧氏距离,则无人***当前位置Ωi=Ωi,pre+min(1,τ/τ*)·(Θk-Ωi,pre),无人***即时可用,可用时间
若场景信息更新时刻ψ发生在其他情形,其中,如果此时无人***到达前一个任务tk-1位置的任务tk-1对应的pi,k-1=0,代表其任务状态发生变化,无人***正在前往任务位置Θk的途中或在任务位置等待任务开始,此时,无人***的行进时间τ=ψ-ωi,k-1,而从无人***从前一个任务tk-1位置Θk-1到达任务tk位置Θk的总时间τ*表示为τ*=Eυ(Θk,Θk-1)/vi,无人***当前位置Ωi=Θk-1+min(1,τ/τ*)·(Θk-Θk-1),无人***即时可用,可用时间
若前一个任务tk-1对应的pi,k-1=1,则如果场景信息更新时刻ψ无人***正在执行该任务,则其无人***位置与当前执行任务位置相同,即Ωi=Θk,而无人***非即时可用,当完成该任务后可用,可用时间若场景信息更新时刻ψ无人***已经完成了任务tk-1,代表无人***正在前往任务位置Θk的途中或在任务位置等待任务开始,此时,无人***的行进时间τ=ψ-(ωi,k-1+tk-1,duration),而从无人***从前一个任务tk-1位置Θk-1到达任务tk位置Θk的总时间τ*表示为τ*=Eυ(Θk,Θk-1)/vi,无人***当前位置Ωi=Θk-1+min(1,τ/τ*)·(Θk-Θk-1),无人***即时可用,可用时间
各无人***确定了当前位置Ωi和可用时间并更新分配过程记录表Ai后,即可重复步骤S4-步骤S7进行任务重分配;当在任务分配和执行过程中存在多次信息更新时,即场景信息更新时刻表示为ψ=[ψ1,ψ2,…],对于ψ中每一个信息更新时刻,重复步骤S4-步骤S8可多次进行任务重分配,实现任务动态分配。
本发明在基于一致性包算法(CBBA)和性能影响算法(PI)的基础上,在任务移除阶段出现死锁现象时,提出新增一种任务移除方式,在少量增加无人***通信的情况下消除了任务陷入添加和移除的循环导致任务分配无法收敛的死锁现象;同时,针对任务分配执行过程中任务和无人***的状态变化问题,提出在动态信息更新时刻更新无人***当前位置和可用时间,使动态任务重分配可采用与初始分配相同的方法进行,无需面向重分配设计新的分配方法,保证本发明提出的分布式方法具备较强的应对动态任务分配问题的能力。
附图说明
图1本发明提供的一种异构多无人***分布式动态任务分配方法的流程图。
图2是动态任务分配场景信息更新时无人***当前位置和可用时间示意图。
具体实施方式
以下根据图1和图2,具体说明本发明的较佳实施例。
本发明提供一种异构多无人***分布式动态任务分配方法,以当前主流的分布式任务分配方法基于一致性包算法(CBBA)和性能影响算法(PI),将系列任务高效、合理地动态分配给各无人***。
其内涵在于:根据不同无人***的种类和能力,采用多异构无人***分布式方式,对预设定的任务进行分配,以及在无人***和任务信息发生变化等动态条件下对任务进行及时的重分配,在满足动态任务分配要求,确保较高系列任务完成度的同时,实现***平均任务成本最小化。
本发明涉及的术语及其相关解释:
异构:各无人***的种类、能力各不相同,针对不同类型的任务,需要不同类型的无人***完成,即任务和无人***之间存在适配性关系。
分布式:除任务发布的初始信息和更新信息外,任务分配过程中不依赖任务中心节点(限定本发明涉及任务分配的任务状态信息对每个无人***都是已知的)。
动态:任务分配完成后进入执行阶段,但此过程中会出现任务状态改变、无人***状态改变等动态情况,需要在无人***获知更新信息后,及时响应并完成任务动态重分配。本发明限定任务更新代表着最初任务信息的不准确性,不考虑任务信息在无人***执行过程中发生变化的情况。同时,本发明为说明任务分配的动态性问题,忽略任务执行过程中的规划问题动态性和其他不确定性干扰动态性对任务分配问题的影响。
优化目标:本发明重点关注任务分配的成本问题,将优化目标定义为最小化分配任务的平均成本,分配任务的数量不在优化目标的考量范围中。但需说明的是,除存在无法同时执行的任务冲突或因为资源限制导致任务无法执行外,在一般情况下,分配任务的数量应当在满足各项约束的前提下,尽可能接近待分配任务总数量。
本发明重点关注任务分配方法问题,因此对分配问题模型做出如下假设:
(1)假设某任务一旦开始执行则应当执行完毕,忽略执行任务过程中的其他意外情况;
(2)假设一个任务同一时间仅由一个无人***执行,一个无人***在同一时间也只能执行一个任务;
(3)假设无人***的通信应当确保始终处于稳定的连通状态,即不存在通过中继无法在通信拓扑改变之前交换信息的两个无人***,但允许信息的交换不发生在分配计算过程的单次迭代中。
如图1所示,本发明提供一种异构多无人***分布式动态任务分配方法,包含以下步骤:
步骤S1、定义任务分配场景,设置任务分配问题的空间和时间限度信息。
步骤S2、定义一个由n个异构无人***组成的集合U=[u1,u2,…,ui,…,un],一个由m个待完成任务组成的集合T=[t1,t2,…,tk,…tm]。
其中,各无人***:拥有不同的初始位置Ωi;拥有不同的平均行进速度vi;拥有不同的能耗限制,简化为不同的执行任务数量上限Li;拥有不同的无人***类型,简化为一种类型的无人***对应能完成一种或几种类型的任务,而其他类型的任务无法完成;拥有不同的可用时间表示为无人***没有正在执行任务或其他不可用情况,可以开始执行任务的时间。
各任务:拥有不同的任务位置Θk,拥有不同的任务开始时间tk,start,持续时间tk,duration和截止时间tk,end;拥有不同的任务完成成本ck,简化为某无人***从初始位置出发,到达该任务位置并开始执行任务所需要耗费的时间成本;拥有不同的任务类型,简化为一种类型的任务需要由一种或几种类型的无人***完成,而其他类型的无人***无法完成。
同时定义布尔矩阵H,反映无人***类型与任务类型的适配性,当无人***类型与任务类型适配时h=1,h∈H,否则h=0。
步骤S3、各无人***在任务分配时维护任务列表ai,其基数|ai|表示无人***ui分配得到的待执行任务的数量,同时维护任务列表对应的成本列表ci,各已分配任务的成本可表示为ci,k(ai),其意义是任务tk分配到无人***ui的任务列表ai中,其由无人***ui到达任务位置所需要的时间成本。
定义本发明关注的任务分配问题的总目标为:各无人***任务列表ai共同组成一个满足各类约束的任务分配方案,使得各无人***对所执行的任务达成无冲突的共识,并最小化执行任务的平均成本(式(1))
其中,约束主要包括:无人***任务列表中的任务数量不能超过其任务上限(式(2)),每个分配给无人***的任务均应当在其截止时间前开始执行(式(3)),各任务不存在无人***归属冲突问题(式(4))。
除了任务列表ai和对应的成本列表ci外,各无人***还维护已完成任务记录表pi,执行任务的实际成本列表ωi和分配过程记录表Ai。
为了实现本发明方法,参考基于一致性的包算法(CBBA)和性能影响算法(PI),各无人***还维护移除任务性能影响(RPI)记录表γi=[w1,w2,…,wk,…,wm],添加任务性能影响(IPI)记录表任务待执行者记录表Bi=[β1,β2,…,βk,…,βm]和与其他无人***最新协商时间记录表Si=[s1,s2,…,sj,…,sn]。
其中,b表示tk在列表ai中所处的位置。
任务待执行者记录表Bi=[β1,β2,…,βk,…,βm]表示无人***ui记录的已分配任务tk的待执行者(无人***)集合。
最新协商时间记录表Si=[s1,s2,…,sj,…,sn]表示无人***ui记录的其最新一次与无人***uj协商的时间集合。
步骤S4、共识协商。各无人***在通信拓扑的范围内向其他无人***发送其移除任务性能影响记录表γi,任务待执行者记录表Bi,并在通信后即时更新最新协商时间记录表Si。各无人***根据接收到的其他无人***发送的信息对本地的移除任务性能影响记录表γi,任务待执行者记录表Bi进行更新维护,其方法是根据记录的最新协商时间和各任务在不同无人***列表中的移除性能影响差异,采用CBBA算法的一致性协商规则,根据不同的判断条件,将移除任务性能影响记录表γi,任务待执行者记录表Bi中的信息执行更新、保留或者重置操作。具体操作根据任务分配优化目标作适当调整,表示为:(1)更新:wi,k=wj,k,βi,k=βj,k,即无人***ui在本地将任务tk的移除性能影响设置与无人***uj发送的对应值,并将执行者设置为无人***uj;(2)保留:wi,k=wi,k,βi,k=βi,k,即无人***ui在本地对任务tk的性能影响和执行者信息不做更改;(3)重置:无人***ui在本地将任务tk的性能影响wi,k和执行者βi,k设置为初始默认值。
步骤S5、任务移除。各无人***根据协商结果,将列表中协商后不由当前无人***执行的任务组成临时待移除任务记录表Di=[d1,d2,…]。
步骤S5.1、对记录表Di中的任务逐个移除,进行如下计算:
以上任务移除过程可能产生死锁现象,即移除的任务可能因为移除任务性能影响信息更新的非即时性在后面重新加入到任务列表中并陷入循环,导致任务分配始终无法收敛。为防止死锁现象产生,本发明在任务移除阶段增加一个过程:当某一任务从无人***的列表中移除多次,且与其他与该任务相关的无人***协商仍无法从达成共识时,则认为进入死锁状态,此时,无人***广播该状态并与其他无人***协商解决死锁问题,其具体过程表述为:
当死锁现象出现时,跳过步骤S5.1-步骤S5.3,直接执行:
步骤S5.4、无人***不再逐个从临时待移除任务记录表Di中按照式(7)和移除判定条件逐个移除任务,而是将所有经协商后非当前无人***执行的任务(即记录表Di)全部从任务列表中移除,执行操作,根据式(5)更新移除任务性能影响记录表γi;
步骤S5.5、各无人***此时进行一次即时信息更新协商,各无人***在通信拓扑的范围内向其他无人***发送其移除任务性能影响记录表γi,任务待执行者记录表Bi;各无人***根据接收到的其他无人***发送的信息对本地的移除任务性能影响记录表γi,任务待执行者记录表Bi中的信息进行更新维护,执行更新、保留或者重置操作;更新、保留或者重置操作同步骤S4所述。
本次协商可确保各无人***从其他无人***获知的性能影响信息在移除阶段结束后具有即时性,即无人***ui从无人***uj获取的性能影响信息为uj执行操作后的最新信息,而不是共识协商(步骤S4)后的信息,保证任务分配过程从死锁循环状态中跳出。
步骤S6.3、任务添加阶段结束后,更新移除任务性能影响记录表γi。
步骤S7、判断任务分配问题是否满足问题收敛条件,并且各无人***已经达成共识,各任务列表ai共同组成无冲突的任务分配方案,若不满足,重复步骤S4-步骤S7,直到任务分配问题满足收敛条件为止,形成最终的任务分配方案。
步骤S8、动态任务分配。若场景中存在动态更新的信息,定义场景中信息更新的时刻ψ,定义几类更新信息,包括任务删除,任务更改,任务新增,无人***退出,无人***新增,并更新无人***集合U和任务集合T,明确各任务的类型、状态与位置,各无人***更新其分配过程记录表Ai,确定其剩余可执行任务数量上限,确定信息更新时刻ψ无人***的位置Ωi和可用时间
首先,各无人***根据场景信息更新时刻ψ和其任务列表ai中的任务信息,确定其中已经完成的任务、待完成的任务(任务信息无变化)和到达任务位置但实际未执行的任务(包括任务已经移除、任务位置更改等),并更新实际成本列表ωi,计算各已完成任务和待完成任务的实际成本ωi,k(待完成任务为估计成本)。
当任务tk位于列表首位时,其实际成本与估计成本相等,即ωi,k=ci,k(ai),否则,其中,pi,r为已完成任务记录表pi中确定任务是否完的布尔变量,在更新实际成本列表ωi时,如果任务信息发生变化,pi,r=0,而当所有任务的实际成本计算完成后,如果ωi,k>ψ,即任务实际没有开始执行时,pi,r=0。
然后,分情况计算无人***当前位置Ωi和可用时间各类情况的示意图如图2所示。如前所述,本发明不考虑无人***实际行进过程的规划问题和任务执行过程中的不确定性干扰问题,因此,在计算无人***当前位置和可用时间时,本发明采用利用两点欧式距离和平均行进速度进行计算的估计方法。
若场景信息更新时刻ψ发生在列表中最后一个任务tk的实际成本时间之后,即ωi,k<ψ,无人***当前位置为任务tk的位置,即Ωi=Θk,最后一个任务tk对应的pi,k=1,即该任务已经完成时,可用时间否则当pi,k=0时,可用时间
若场景信息更新时刻ψ发生在列表首个任务tk的实际成本时间之前,代表无人***正在前往任务位置Θk的途中或在任务位置等待任务开始,此时,无人***的行进时间τ表示为τ=ψ,而从无人***初始位置Ωi,pre到达任务位置的总时间τ*表示为τ*=Eυ(Θk,Ωi,pre)/vi,其中,Eυ(·)表示两点的欧氏距离,则无人***当前位置Ωi=Ωi,pre+min(1,τ/τ*)·(Θk-Ωi,pre),无人***即时可用,可用时间
若场景信息更新时刻ψ发生在其他情形,其中,如果此时无人***到达前一个任务tk-1位置的任务tk-1对应的pi,k-1=0,代表其任务状态发生变化,无人***正在前往任务位置Θk的途中或在任务位置等待任务开始,此时,无人***的行进时间τ=ψ-ωi,k-1,而从无人***从前一个任务tk-1位置Θk-1到达任务tk位置Θk的总时间τ*表示为τ*=Eυ(Θk,Θk-1)/vi,无人***当前位置Ωi=Θk-1+min(1,τ/τ*)·(Θk-Θk-1),无人***即时可用,可用时间
若前一个任务tk-1对应的pi,k-1=1,则如果场景信息更新时刻ψ无人***正在执行该任务,则其无人***位置与当前执行任务位置相同,即Ωi=Θk,而无人***非即时可用,当完成该任务后可用,可用时间若场景信息更新时刻ψ无人***已经完成了任务tk-1,代表无人***正在前往任务位置Θk的途中或在任务位置等待任务开始,此时,无人***的行进时间τ=ψ-(ωi,k-1+tk-1,duration),而从无人***从前一个任务tk-1位置Θk-1到达任务tk位置Θk的总时间τ*表示为τ*=Eυ(Θk,Θk-1)/vi,无人***当前位置Ωi=Θk-1+min(1,τ/τ*)·(Θk-Θk-1),无人***即时可用,可用时间
各无人***确定了当前位置Ωi和可用时间并更新分配过程记录表Ai后,即可进行任务重分配。此时,任务重分配问题的初始信息相当于在场景初始信息的基础上更新,因此,可采用与之前相同的方法重复步骤S4-步骤S7实现任务重分配,而无需面向重分配设计新的分配方法。当在任务分配和执行过程中存在多次信息更新时,即场景信息更新时刻表示为ψ=[ψ1,ψ2,…],按照本发明所述方法,对于ψ中每一个信息更新时刻,重复步骤S4-步骤S8可多次进行任务重分配,实现任务动态分配。
本发明在分布式任务分配算法的基础上,针对分配死锁现象在任务移除阶段新增一种在满足特定条件下启用的任务移除方式,在少量增加无人***通信的情况下消除了某些任务受限于传统方法的性能影响信息非即时性问题,不断地添加到某些无人***的任务列表和从列表中移除的循环现象;同时,本发明涉及的方法能够解决一类针对任务状态变化、无人***状态变化等动态任务分配问题,采用在动态信息更新时刻更新无人***当前位置和可用时间,其优势在于可以采用与初始分配相同方法进行动态重分配,无需面向重分配问题设计新的分配方法,最终能够形成具备应对变化的环境信息的分布式动态任务分配能力。
需要说明的是,在本发明的实施例中,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述实施例,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
Claims (7)
1.一种异构多无人***分布式动态任务分配方法,其特征在于,包含以下步骤:
步骤S1、定义任务分配场景,设置任务分配问题的空间和时间限度信息;
步骤S2、定义一个由n个异构无人***组成的集合U=[u1,u2,…,ui,…,un],一个由m个待完成任务组成的集合T=[t1,t2,…,tk,…tm];
其中,各无人***:拥有不同的初始位置Ωi;拥有不同的平均行进速度vi;拥有不同的能耗限制,简化为不同的执行任务数量上限Li;拥有不同的无人***类型,简化为一种类型的无人***对应能完成一种或几种类型的任务,而其他类型的任务无法完成;拥有不同的可用时间表示为无人***没有正在执行任务或其他不可用情况,可以开始执行任务的时间;
各任务:拥有不同的任务位置Θk,拥有不同的任务开始时间tk,start,持续时间tk,duration和截止时间tk,end;拥有不同的任务完成成本ck,简化为某无人***从初始位置出发,到达该任务位置并开始执行任务所需要耗费的时间成本;拥有不同的任务类型,简化为一种类型的任务需要由一种或几种类型的无人***完成,而其他类型的无人***无法完成;
同时定义布尔矩阵H,反映无人***类型与任务类型的适配性,当无人***类型与任务类型适配时h=1,h∈H,否则h=0;
步骤S3、各无人***在任务分配时维护任务列表ai,其基数|ai|表示无人***ui分配得到的待执行任务的数量,同时维护任务列表对应的成本列表ci,各已分配任务的成本可表示为ci,k(ai),其意义是任务tk分配到无人***ui的任务列表ai中,其由无人***ui到达任务位置所需要的时间成本;
除了任务列表ai和对应的成本列表ci外,各无人***还维护已完成任务记录表pi,执行任务的实际成本列表ωi和分配过程记录表Ai;各无人***还维护移除任务性能影响RPI记录表γi=[w1,w2,…,wk,…,wm],添加任务性能影响IPI记录表任务待执行者记录表Bi=[β1,β2,…,βk,…,βm]和与其他无人***最新协商时间记录表Si=[s1,s2,…,sj,…,sn];
其中,b表示tk在列表ai中所处的位置;
任务待执行者记录表Bi=[β1,β2,…,βk,…,βm]表示无人***ui记录的已分配任务tk的待执行者集合;
最新协商时间记录表Si=[s1,s2,…,sj,…,sn]表示无人***ui记录的其最新一次与无人***uj协商的时间集合;
步骤S4、共识协商;
各无人***在通信拓扑的范围内向其他无人***发送其移除任务性能影响记录表γi,任务待执行者记录表Bi,并在通信后即时更新最新协商时间记录表Si;
各无人***根据接收到的其他无人***发送的信息对本地的移除任务性能影响记录表γi,任务待执行者记录表Bi进行更新维护;
步骤S5、任务移除;
各无人***根据协商结果,将列表中协商后不由当前无人***执行的任务组成临时待移除任务记录表Di=[d1,d2,…],逐个移除记录表Di中的任务;
步骤S6、任务添加;
步骤S7、判断任务分配问题是否满足问题收敛条件,并且各无人***已经达成共识,各任务列表ai共同组成无冲突的任务分配方案,若不满足,重复步骤S4-步骤S7,直到任务分配问题满足收敛条件为止,形成最终的任务分配方案;
步骤S8、动态任务分配;
2.如权利要求1所述的异构多无人***分布式动态任务分配方法,其特征在于,所述步骤S5包含:
步骤S5.1、对记录表Di中的任务逐个移除,进行如下计算:
3.如权利要求2所述的异构多无人***分布式动态任务分配方法,其特征在于,当某一任务从无人***的列表中移除多次,且与其他与该任务相关的无人***协商仍无法从达成共识时,则认为进入死锁状态;
当死锁现象出现时,跳过步骤S5.1~步骤S5.3,直接执行步骤S5.4~
步骤S5.5;
步骤S5.4、无人***不再逐个从临时待移除任务记录表Di中按照式(7)和移除判定条件逐个移除任务,而是将所有经协商后非当前无人***执行的任务全部从任务列表中移除,执行操作,根据式(5)更新移除任务性能影响记录表γi;
步骤S5.5、各无人***此时进行一次即时信息更新协商,各无人***在通信拓扑的范围内向其他无人***发送其移除任务性能影响记录表γi,任务待执行者记录表Bi;
各无人***根据接收到的其他无人***发送的信息对本地的移除任务性能影响记录表γi,任务待执行者记录表Bi中的信息进行更新维护。
4.如权利要求3所述的异构多无人***分布式动态任务分配方法,其特征在于,更新维护移除任务性能影响记录表γi和任务待执行者记录表Bi的方法包含:
根据记录的最新协商时间和各任务在不同无人***列表中的移除性能影响差异,采用CBBA算法的一致性协商规则,根据不同的判断条件,将移除任务性能影响记录表γi,任务待执行者记录表Bi中的信息执行更新、保留或者重置操作;
更新:wi,k=wj,k,βi,k=βj,k,即无人***ui在本地将任务tk的移除性能影响设置与无人***uj发送的对应值,并将执行者设置为无人***uj;
保留:wi,k=wi,k,βi,k=βi,k,即无人***ui在本地对任务tk的性能影响和执行者信息不做更改;
重置:无人***ui在本地将任务tk的性能影响wi,k和执行者βi,k设置为初始默认值。
6.如权利要求5所述的异构多无人***分布式动态任务分配方法,其特征在于,所述步骤S8包含:
各无人***根据场景信息更新时刻ψ和其任务列表ai中的任务信息,确定其中已经完成的任务、待完成的任务和到达任务位置但实际未执行的任务,并更新实际成本列表ωi,计算各已完成任务和待完成任务的实际成本ωi,k;
当任务tk位于列表首位时,其实际成本与估计成本相等,即
pi,r为已完成任务记录表pi中确定任务是否完的布尔变量,在更新实际成本列表ωi时,如果任务信息发生变化,pi,r=0,而当所有任务的实际成本计算完成后,如果ωi,k>ψ,即任务实际没有开始执行时,pi,r=0;
若场景信息更新时刻ψ发生在列表中最后一个任务tk的实际成本时间之后,即ωi,k<ψ,无人***当前位置为任务tk的位置,即Ωi=Θk,最后一个任务tk对应的pi,k=1,即该任务已经完成时,可用时间
若场景信息更新时刻ψ发生在列表首个任务tk的实际成本时间之前,代表无人***正在前往任务位置Θk的途中或在任务位置等待任务开始,此时,无人***的行进时间τ表示为τ=ψ,而从无人***初始位置Ωi,pre到达任务位置的总时间τ*表示为τ*=Eυ(Θk,Ωi,pre)/vi,其中,Eυ(·)表示两点的欧氏距离,则无人***当前位置Ωi=Ωi,pre+min(1,τ/τ*)·(Θk-Ωi,pre),无人***即时可用,可用时间
若场景信息更新时刻ψ发生在其他情形,其中,如果此时无人***到达前一个任务tk-1位置的任务tk-1对应的pi,k-1=0,代表其任务状态发生变化,无人***正在前往任务位置Θk的途中或在任务位置等待任务开始,此时,无人***的行进时间τ=ψ-ωi,k-1,而从无人***从前一个任务tk-1位置Θk-1到达任务tk位置Θk的总时间τ*表示为τ*=Eυ(Θk,Θk-1)/vi,无人***当前位置Ωi=Θk-1+min(1,τ/τ*)·(Θk-Θk-1),无人***即时可用,可用时间
若前一个任务tk-1对应的pi,k-1=1,则如果场景信息更新时刻ψ无人***正在执行该任务,则其无人***位置与当前执行任务位置相同,即Ωi=Θk,而无人***非即时可用,当完成该任务后可用,可用时间
ζi=ωi,k-1+tk-1,duration;若场景信息更新时刻ψ无人***已经完成了任务tk-1,代表无人***正在前往任务位置Θk的途中或在任务位置等待任务开始,此时,无人***的行进时间τ=ψ-(ωi,k-1+tk-1,duration),而从无人***从前一个任务tk-1位置Θk-1到达任务tk位置Θk的总时间τ*表示为τ*=Eυ(Θk,Θk-1)/vi,无人***当前位置
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211634542.5A CN115827203A (zh) | 2022-12-19 | 2022-12-19 | 一种异构多无人***分布式动态任务分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211634542.5A CN115827203A (zh) | 2022-12-19 | 2022-12-19 | 一种异构多无人***分布式动态任务分配方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115827203A true CN115827203A (zh) | 2023-03-21 |
Family
ID=85516754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211634542.5A Pending CN115827203A (zh) | 2022-12-19 | 2022-12-19 | 一种异构多无人***分布式动态任务分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115827203A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117314134A (zh) * | 2023-11-30 | 2023-12-29 | 深圳大学 | 救援时间限制下基于性能影响的多机器人任务分配方法 |
-
2022
- 2022-12-19 CN CN202211634542.5A patent/CN115827203A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117314134A (zh) * | 2023-11-30 | 2023-12-29 | 深圳大学 | 救援时间限制下基于性能影响的多机器人任务分配方法 |
CN117314134B (zh) * | 2023-11-30 | 2024-04-26 | 深圳大学 | 救援时间限制下基于性能影响的多机器人任务分配方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2870117B2 (ja) | 最適計画作成方法 | |
CN110852486A (zh) | 一种无人机集群自主协同的任务规划方法 | |
CN115827203A (zh) | 一种异构多无人***分布式动态任务分配方法 | |
CN109960576A (zh) | 一种面向cpu-gpu异构的低能耗任务调度策略 | |
CN116090742A (zh) | 一种考虑时间窗约束的无人集群分布式任务分配算法 | |
CN107025806B (zh) | 一种单阶段临时航迹鲁棒优化方法 | |
CN104217109A (zh) | 敏捷卫星混合主动调度方法 | |
CN116700993B (zh) | 一种负载均衡方法、装置、设备及可读存储介质 | |
CN116430736B (zh) | 一种用于航天测控的多智能体自主协同调配方法 | |
CN115202402A (zh) | 一种无人机集群多任务动态分配方法 | |
CN113487220A (zh) | 面向静态目标观测的空天异构对地观测资源协同调度方法 | |
CN104077634A (zh) | 基于多目标优化的主动-反应式动态项目调度方法 | |
Chen et al. | A cluster first strategy for distributed multi-robot task allocation problem with time constraints | |
CN109508912A (zh) | 一种业务调度方法、装置、设备和存储介质 | |
CN116893861A (zh) | 基于空地协同边缘计算的多智能体协作依赖任务卸载方法 | |
CN112801539A (zh) | 无人机集群任务的柔变网络架构动态调度模型 | |
CN102325054A (zh) | 一种分布式计算管理平台机群分级管理的自适应调整方法 | |
CN112070370A (zh) | 中继卫星任务规划方法、***及存储介质 | |
CN110662272A (zh) | 一种基于蜂群无人机的最少数量领航者选取方法 | |
CN109886574A (zh) | 一种基于改进阈值法的多机器人任务分配方法 | |
Basile et al. | An auction-based approach for the coordination of vehicles in automated warehouse systems | |
Li et al. | A performance-impact based multi-task distributed scheduling algorithm with task removal inference and deadlock avoidance | |
Chalkiadakis et al. | The price of democracy in coalition formation | |
CN116810827A (zh) | 自主移动设备中的任务分派 | |
CN110322078B (zh) | 扇区边界的航班流量控制方法及计算机存储介质 |
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 |