一种异构多无人系统分布式动态任务分配方法与流程

文档序号:33510584发布日期:2023-03-21 22:52阅读:44来源:国知局
一种异构多无人系统分布式动态任务分配方法与流程

1.本发明涉及多无人系统任务分配领域,尤其涉及一种异构多无人系统分布式动态任务分配方法。


背景技术:

2.随着近年来航空航天等领域自动化水平的提升,依靠无人系统完成复杂大型任务的需求日益增长。当前,大型任务的系统性也不断增强,任务复杂度不断提升,为完成某项系统任务,存在一类将系统任务分解为一系列子任务,并根据各子任务的时序性要求、完成时间要求、复杂关联度要求以及完成方式要求对系列任务进行分配执行的问题,不同的分配方式对系统任务的总体收益具有较强的影响,由于系列任务的复杂性与动态性,有人参与的任务和单无人系统执行的分配问题暴露了分配效率低、总体收益不足、完成任务代价高等问题。因此,依靠多无人系统自主并行完成复杂的系列任务分配问题值得关注和研究。
3.然而,传统的任务分配方法主要存在以下几方面的问题:第一:一些场景涉及的任务分配问题采用集中式分配方法,或虽然采用分布式方式执行,但仍需获得一些总体信息,依靠某个中心节点完成任务分配。集中式算法存在计算资源消耗高、通信任务范围受限、单点失效等问题;第二,一些场景涉及的任务分配问题没有涉及无人系统资源限制的问题,该问题要求多无人系统具备较强的自主性,根据自身资源容量进行任务选择,并能够在通信和计算资源受限的情况下具备长期持续进行系列任务分配的能力;第三,一些场景涉及的任务分配问题和采用的分布式任务分配方法没有考虑在完成任务分配时无人系统和任务的动态性问题,该问题要求多无人系统能够及时根据任务状态、无人系统状态和通信状态的变化对各无人系统待执行任务进行调整,完成任务动态重分配。


技术实现要素:

4.本发明的目的在于提供一种异构多无人系统分布式动态任务分配方法,消除了任务陷入添加和移除的循环导致任务分配无法收敛的死锁现象,无需面向重分配问题设计新的分配方法,具备较强的应对动态任务分配问题的能力。
5.为了达到上述目的,本发明提供一种异构多无人系统分布式动态任务分配方法,包含以下步骤:
6.步骤s1、定义任务分配场景,设置任务分配问题的空间和时间限度信息;
7.步骤s2、定义一个由n个异构无人系统组成的集合u=[u1,u2,

,ui,

,un],一个由m个待完成任务组成的集合t=[t1,t2,

,tk,

tm];
[0008]
其中,各无人系统:拥有不同的初始位置ωi;拥有不同的平均行进速度vi;拥有不同的能耗限制,简化为不同的执行任务数量上限li;拥有不同的无人系统类型,简化为一种类型的无人系统对应能完成一种或几种类型的任务,而其他类型的任务无法完成;拥有不同的可用时间ζi,表示为无人系统没有正在执行任务或其他不可用情况,可以开始执行任务的时间;
[0009]
各任务:拥有不同的任务位置θk,拥有不同的任务开始时间t
k,start
,持续时间t
k,duration
和截止时间t
k,end
;拥有不同的任务完成成本ck,简化为某无人系统从初始位置出发,到达该任务位置并开始执行任务所需要耗费的时间成本;拥有不同的任务类型,简化为一种类型的任务需要由一种或几种类型的无人系统完成,而其他类型的无人系统无法完成;
[0010]
同时定义布尔矩阵h,反映无人系统类型与任务类型的适配性,当无人系统类型与任务类型适配时h=1,h∈h,否则h=0;
[0011]
步骤s3、各无人系统在任务分配时维护任务列表ai,其基数|ai|表示无人系统ui分配得到的待执行任务的数量,同时维护任务列表对应的成本列表ci,各已分配任务的成本可表示为c
i,k
(ai),其意义是任务tk分配到无人系统ui的任务列表ai中,其由无人系统ui到达任务位置所需要的时间成本;
[0012]
定义任务分配问题的总目标为:各无人系统任务列表ai共同组成一个满足各类约束的任务分配方案,使得各无人系统对所执行的任务达成无冲突的共识,并最小化执行任务的平均成本
[0013][0014]
其中,约束主要包括:无人系统任务列表中的任务数量不能超过其任务上限每个分配给无人系统的任务均应当在其截止时间前开始执行各任务不存在无人系统归属冲突问题
[0015]
另外,还存在弱约束其弱约束特性表现为:不能始终保证该约束成立,在一些场景中,在尽量多地将任务分配给无人系统的前提下,仍将存在一部分因为时间冲突或资源限制而无法分配的任务;
[0016]
除了任务列表ai和对应的成本列表ci外,各无人系统还维护已完成任务记录表pi,执行任务的实际成本列表ωi和分配过程记录表ai;各无人系统还维护移除任务性能影响rpi记录表γi=[w1,w2,

,wk,

,wm],添加任务性能影响ipi记录表任务待执行者记录表bi=[β1,β2,

,βk,

,βm]和与其他无人系统最新协商时间记录表si=[s1,s2,

,sj,

,sn];
[0017]
其中,移除任务性能影响记录表γi中,wk表示任务tk从其已分配列表ai中执行移除操作后,对任务分配总成本降低的性能影响,表示为其计算方式为:
[0018][0019]
其中,b表示tk在列表ai中所处的位置;
[0020]
添加任务性能影响记录表中,表示任务tk分配给无人系统j并对其任务列表aj执行添加操作后,对任务分配总成本增加的性能影响,表示为其计算方式为:
[0021][0022]
其中,添加操作表示将任务tk添加到列表aj的第l个位置;
[0023]
任务待执行者记录表bi=[β1,β2,

,βk,

,βm]表示无人系统ui记录的已分配任务tk的待执行者集合;
[0024]
最新协商时间记录表si=[s1,s2,

,sj,

,sn]表示无人系统ui记录的其最新一次与无人系统uj协商的时间集合;
[0025]
步骤s4、共识协商;
[0026]
各无人系统在通信拓扑的范围内向其他无人系统发送其移除任务性能影响记录表γi,任务待执行者记录表bi,并在通信后即时更新最新协商时间记录表si;
[0027]
各无人系统根据接收到的其他无人系统发送的信息对本地的移除任务性能影响记录表γi,任务待执行者记录表bi进行更新维护;
[0028]
步骤s5、任务移除;
[0029]
各无人系统根据协商结果,将列表中协商后不由当前无人系统执行的任务组成临时待移除任务记录表di=[d1,d2,

],逐个移除记录表di中的任务;
[0030]
步骤s6、任务添加;
[0031]
各无人系统根据任务状态、任务适配性条件遍历所有可执行任务及任务列表ai中的所有可添加位置,根据式(6)计算添加任务性能影响记录表γ
i*
并确定各可行任务添加到任务列表的可行位置l;
[0032]
步骤s7、判断任务分配问题是否满足问题收敛条件,并且各无人系统已经达成共识,各任务列表ai共同组成无冲突的任务分配方案,若不满足,重复步骤s4-步骤s7,直到任务分配问题满足收敛条件为止,形成最终的任务分配方案;
[0033]
步骤s8、动态任务分配;
[0034]
若场景中存在动态更新的信息,定义场景中信息更新的时刻ψ,定义几类更新信息,包括任务删除,任务更改,任务新增,无人系统退出,无人系统新增,并更新无人系统集合u和任务集合t,明确各任务的类型、状态与位置,各无人系统更新其分配过程记录表ai,确定其剩余可执行任务数量上限,确定信息更新时刻ψ无人系统的位置ωi和可用时间
[0035]
所述步骤s5包含:
[0036]
步骤s5.1、对记录表di中的任务逐个移除,进行如下计算:
[0037][0038]
其中,表示在此步骤中执行任务移除操作后根据式(5)重新计算的移除任务性能影响记录表,当z>0时,确定最先移除的任务tk∈di并执行移除操作
将选定任务从任务列表ai和待移除任务记录表di中移除;
[0039]
步骤s5.2、更新记录表和成本列表ci,重复步骤s5.1直到待移除任务记录表di为空,或更新的经过式(7)计算后不再满足z>0的移除判定条件;
[0040]
步骤s5.3、更新任务待执行者记录表bi,将di中剩余任务的执行者重新设置为当前无人系统,并将更新后的记录表设置为任务移除阶段结束后的移除任务性能影响记录表γi,即
[0041]
当某一任务从无人系统的列表中移除多次,且与其他与该任务相关的无人系统协商仍无法从达成共识时,则认为进入死锁状态;
[0042]
当死锁现象出现时,跳过步骤s5.1~步骤s5.3,直接执行步骤s5.4~步骤s5.5;
[0043]
步骤s5.4、无人系统不再逐个从临时待移除任务记录表di中按照式(7)和移除判定条件逐个移除任务,而是将所有经协商后非当前无人系统执行的任务全部从任务列表中移除,执行操作,根据式(5)更新移除任务性能影响记录表γi;
[0044]
步骤s5.5、各无人系统此时进行一次即时信息更新协商,各无人系统在通信拓扑的范围内向其他无人系统发送其移除任务性能影响记录表γi,任务待执行者记录表bi;
[0045]
各无人系统根据接收到的其他无人系统发送的信息对本地的移除任务性能影响记录表γi,任务待执行者记录表bi中的信息进行更新维护。
[0046]
更新维护移除任务性能影响记录表γi和任务待执行者记录表bi的方法包含:
[0047]
根据记录的最新协商时间和各任务在不同无人系统列表中的移除性能影响差异,采用cbba算法的一致性协商规则,根据不同的判断条件,将移除任务性能影响记录表γi,任务待执行者记录表bi中的信息执行更新、保留或者重置操作;
[0048]
更新:w
i,k
=w
j,k
,β
i,k
=β
j,k
,即无人系统ui在本地将任务tk的移除性能影响设置与无人系统uj发送的对应值,并将执行者设置为无人系统uj;
[0049]
保留:w
i,k
=w
i,k
,β
i,k
=β
i,k
,即无人系统ui在本地对任务tk的性能影响和执行者信息不做更改;
[0050]
重置:无人系统ui在本地将任务tk的性能影响w
i,k
和执行者β
i,k
设置为初始默认值。
[0051]
所述步骤s6包含:
[0052]
步骤s6.1、将添加任务性能影响记录表与移除任务性能影响记录表γi相比较,计算:
[0053][0054]
以能产生最小的成本增加为准则,当q>0时,执行添加操作将选定任务添加到任务列表ai中;
[0055]
步骤s6.2、根据式(6)更新添加任务性能影响记录表和成本列表ci,重复步骤s6.1直到任务列表中无法继续添加任务(|ai|=li)或更新的经过式(8)计算后不再满足q>0的添加判定条件;
[0056]
步骤s6.3、任务添加阶段结束后,更新移除任务性能影响记录表γi。
[0057]
所述步骤s8包含:
[0058]
各无人系统根据场景信息更新时刻ψ和其任务列表ai中的任务信息,确定其中已经完成的任务、待完成的任务和到达任务位置但实际未执行的任务,并更新实际成本列表ωi,计算各已完成任务和待完成任务的实际成本ω
i,k

[0059]
当任务tk位于列表首位时,其实际成本与估计成本相等,即ω
i,k
=c
i,k
(ai),否则,其中,p
i,r
为已完成任务记录表pi中确定任务是否完的布尔变量,在更新实际成本列表ωi时,如果任务信息发生变化,p
i,r
=0,而当所有任务的实际成本计算完成后,如果ω
i,k
>ψ,即任务实际没有开始执行时,p
i,r
=0;
[0060]
利用两点欧式距离和平均行进速度进行计算的估计方法分情况计算无人系统当前位置ωi和可用时间
[0061]
若场景信息更新时刻ψ发生在列表中最后一个任务tk的实际成本时间之后,即ω
i,k
<ψ,无人系统当前位置为任务tk的位置,即ωi=θk,最后一个任务tk对应的p
i,k
=1,即该任务已经完成时,可用时间否则当p
i,k
=0时,可用时间
[0062]
若场景信息更新时刻ψ发生在列表首个任务tk的实际成本时间之前,代表无人系统正在前往任务位置θk的途中或在任务位置等待任务开始,此时,无人系统的行进时间τ表示为τ=ψ,而从无人系统初始位置ω
i,pre
到达任务位置的总时间τ
*
表示为τ
*
=eυ(θk,ω
i,pre
)/vi,其中,eυ(
·
)表示两点的欧氏距离,则无人系统当前位置ωi=ω
i,pre
+min(1,τ/τ
*
)
·

k-ω
i,pre
),无人系统即时可用,可用时间
[0063]
若场景信息更新时刻ψ发生在其他情形,其中,如果此时无人系统到达前一个任务t
k-1
位置的任务t
k-1
对应的p
i,k-1
=0,代表其任务状态发生变化,无人系统正在前往任务位置θk的途中或在任务位置等待任务开始,此时,无人系统的行进时间τ=ψ-ω
i,k-1
,而从无人系统从前一个任务t
k-1
位置θ
k-1
到达任务tk位置θk的总时间τ
*
表示为τ
*
=eυ(θk,θ
k-1
)/vi,无人系统当前位置ωi=θ
k-1
+min(1,τ/τ
*
)
·

k-θ
k-1
),无人系统即时可用,可用时间
[0064]
若前一个任务t
k-1
对应的p
i,k-1
=1,则如果场景信息更新时刻ψ无人系统正在执行该任务,则其无人系统位置与当前执行任务位置相同,即ωi=θk,而无人系统非即时可用,当完成该任务后可用,可用时间若场景信息更新时刻ψ无人系统已经完成了任务t
k-1
,代表无人系统正在前往任务位置θk的途中或在任务位置等待任务开始,此时,无人系统的行进时间τ=ψ-(ω
i,k-1
+t
k-1,duration
),而从无人系统从前一个任务t
k-1
位置θ
k-1
到达任务tk位置θk的总时间τ
*
表示为τ
*
=eυ(θk,θ
k-1
)/vi,无人系统当前位置ωi=θ
k-1
+min(1,τ/τ
*
)
·

k-θ
k-1
),无人系统即时可用,可用时间
[0065]
各无人系统确定了当前位置ωi和可用时间并更新分配过程记录表ai后,即可重复步骤s4-步骤s7进行任务重分配;当在任务分配和执行过程中存在多次信息更新时,即场景信息更新时刻表示为ψ=[ψ1,ψ2,

],对于ψ中每一个信息更新时刻,重复步骤s4-步骤
s8可多次进行任务重分配,实现任务动态分配。
[0066]
本发明在基于一致性包算法(cbba)和性能影响算法(pi)的基础上,在任务移除阶段出现死锁现象时,提出新增一种任务移除方式,在少量增加无人系统通信的情况下消除了任务陷入添加和移除的循环导致任务分配无法收敛的死锁现象;同时,针对任务分配执行过程中任务和无人系统的状态变化问题,提出在动态信息更新时刻更新无人系统当前位置和可用时间,使动态任务重分配可采用与初始分配相同的方法进行,无需面向重分配设计新的分配方法,保证本发明提出的分布式方法具备较强的应对动态任务分配问题的能力。
附图说明
[0067]
图1本发明提供的一种异构多无人系统分布式动态任务分配方法的流程图。
[0068]
图2是动态任务分配场景信息更新时无人系统当前位置和可用时间示意图。
具体实施方式
[0069]
以下根据图1和图2,具体说明本发明的较佳实施例。
[0070]
本发明提供一种异构多无人系统分布式动态任务分配方法,以当前主流的分布式任务分配方法基于一致性包算法(cbba)和性能影响算法(pi),将系列任务高效、合理地动态分配给各无人系统。
[0071]
其内涵在于:根据不同无人系统的种类和能力,采用多异构无人系统分布式方式,对预设定的任务进行分配,以及在无人系统和任务信息发生变化等动态条件下对任务进行及时的重分配,在满足动态任务分配要求,确保较高系列任务完成度的同时,实现系统平均任务成本最小化。
[0072]
本发明涉及的术语及其相关解释:
[0073]
异构:各无人系统的种类、能力各不相同,针对不同类型的任务,需要不同类型的无人系统完成,即任务和无人系统之间存在适配性关系。
[0074]
分布式:除任务发布的初始信息和更新信息外,任务分配过程中不依赖任务中心节点(限定本发明涉及任务分配的任务状态信息对每个无人系统都是已知的)。
[0075]
动态:任务分配完成后进入执行阶段,但此过程中会出现任务状态改变、无人系统状态改变等动态情况,需要在无人系统获知更新信息后,及时响应并完成任务动态重分配。本发明限定任务更新代表着最初任务信息的不准确性,不考虑任务信息在无人系统执行过程中发生变化的情况。同时,本发明为说明任务分配的动态性问题,忽略任务执行过程中的规划问题动态性和其他不确定性干扰动态性对任务分配问题的影响。
[0076]
优化目标:本发明重点关注任务分配的成本问题,将优化目标定义为最小化分配任务的平均成本,分配任务的数量不在优化目标的考量范围中。但需说明的是,除存在无法同时执行的任务冲突或因为资源限制导致任务无法执行外,在一般情况下,分配任务的数量应当在满足各项约束的前提下,尽可能接近待分配任务总数量。
[0077]
本发明重点关注任务分配方法问题,因此对分配问题模型做出如下假设:
[0078]
(1)假设某任务一旦开始执行则应当执行完毕,忽略执行任务过程中的其他意外情况;
[0079]
(2)假设一个任务同一时间仅由一个无人系统执行,一个无人系统在同一时间也只能执行一个任务;
[0080]
(3)假设无人系统的通信应当确保始终处于稳定的连通状态,即不存在通过中继无法在通信拓扑改变之前交换信息的两个无人系统,但允许信息的交换不发生在分配计算过程的单次迭代中。
[0081]
如图1所示,本发明提供一种异构多无人系统分布式动态任务分配方法,包含以下步骤:
[0082]
步骤s1、定义任务分配场景,设置任务分配问题的空间和时间限度信息。
[0083]
步骤s2、定义一个由n个异构无人系统组成的集合u=[u1,u2,

,ui,

,un],一个由m个待完成任务组成的集合t=[t1,t2,

,tk,

tm]。
[0084]
其中,各无人系统:拥有不同的初始位置ωi;拥有不同的平均行进速度vi;拥有不同的能耗限制,简化为不同的执行任务数量上限li;拥有不同的无人系统类型,简化为一种类型的无人系统对应能完成一种或几种类型的任务,而其他类型的任务无法完成;拥有不同的可用时间表示为无人系统没有正在执行任务或其他不可用情况,可以开始执行任务的时间。
[0085]
各任务:拥有不同的任务位置θk,拥有不同的任务开始时间t
k,start
,持续时间t
k,duration
和截止时间t
k,end
;拥有不同的任务完成成本ck,简化为某无人系统从初始位置出发,到达该任务位置并开始执行任务所需要耗费的时间成本;拥有不同的任务类型,简化为一种类型的任务需要由一种或几种类型的无人系统完成,而其他类型的无人系统无法完成。
[0086]
同时定义布尔矩阵h,反映无人系统类型与任务类型的适配性,当无人系统类型与任务类型适配时h=1,h∈h,否则h=0。
[0087]
步骤s3、各无人系统在任务分配时维护任务列表ai,其基数|ai|表示无人系统ui分配得到的待执行任务的数量,同时维护任务列表对应的成本列表ci,各已分配任务的成本可表示为c
i,k
(ai),其意义是任务tk分配到无人系统ui的任务列表ai中,其由无人系统ui到达任务位置所需要的时间成本。
[0088]
定义本发明关注的任务分配问题的总目标为:各无人系统任务列表ai共同组成一个满足各类约束的任务分配方案,使得各无人系统对所执行的任务达成无冲突的共识,并最小化执行任务的平均成本(式(1))
[0089][0090][0091][0092][0093]
其中,约束主要包括:无人系统任务列表中的任务数量不能超过其任务上限(式
(2)),每个分配给无人系统的任务均应当在其截止时间前开始执行(式(3)),各任务不存在无人系统归属冲突问题(式(4))。
[0094]
另外,还存在弱约束其弱约束特性表现为:不能始终保证该约束成立,在一些场景中,在尽量多地将任务分配给无人系统的前提下,仍将存在一部分因为时间冲突或资源限制而无法分配的任务。
[0095]
除了任务列表ai和对应的成本列表ci外,各无人系统还维护已完成任务记录表pi,执行任务的实际成本列表ωi和分配过程记录表ai。
[0096]
为了实现本发明方法,参考基于一致性的包算法(cbba)和性能影响算法(pi),各无人系统还维护移除任务性能影响(rpi)记录表γi=[w1,w2,

,wk,

,wm],添加任务性能影响(ipi)记录表任务待执行者记录表bi=[β1,β2,

,βk,

,βm]和与其他无人系统最新协商时间记录表si=[s1,s2,

,sj,

,sn]。
[0097]
其中,移除任务性能影响记录表γi中,wk表示任务tk从其已分配列表ai中执行移除操作后,对任务分配总成本降低的性能影响,表示为其计算方式为:
[0098][0099]
其中,b表示tk在列表ai中所处的位置。
[0100]
添加任务性能影响记录表中,表示任务tk分配给无人系统j并对其任务列表aj执行添加操作后,对任务分配总成本增加的性能影响,表示为其计算方式为:
[0101][0102]
其中,添加操作表示将任务tk添加到列表aj的第l个位置。
[0103]
任务待执行者记录表bi=[β1,β2,

,βk,

,βm]表示无人系统ui记录的已分配任务tk的待执行者(无人系统)集合。
[0104]
最新协商时间记录表si=[s1,s2,

,sj,

,sn]表示无人系统ui记录的其最新一次与无人系统uj协商的时间集合。
[0105]
步骤s4、共识协商。各无人系统在通信拓扑的范围内向其他无人系统发送其移除任务性能影响记录表γi,任务待执行者记录表bi,并在通信后即时更新最新协商时间记录表si。各无人系统根据接收到的其他无人系统发送的信息对本地的移除任务性能影响记录表γi,任务待执行者记录表bi进行更新维护,其方法是根据记录的最新协商时间和各任务在不同无人系统列表中的移除性能影响差异,采用cbba算法的一致性协商规则,根据不同的判断条件,将移除任务性能影响记录表γi,任务待执行者记录表bi中的信息执行更新、保留或者重置操作。具体操作根据任务分配优化目标作适当调整,表示为:(1)更新:w
i,k
=wj,k
,β
i,k
=β
j,k
,即无人系统ui在本地将任务tk的移除性能影响设置与无人系统uj发送的对应值,并将执行者设置为无人系统uj;(2)保留:w
i,k
=w
i,k
,β
i,k
=β
i,k
,即无人系统ui在本地对任务tk的性能影响和执行者信息不做更改;(3)重置:无人系统ui在本地将任务tk的性能影响w
i,k
和执行者β
i,k
设置为初始默认值。
[0106]
步骤s5、任务移除。各无人系统根据协商结果,将列表中协商后不由当前无人系统执行的任务组成临时待移除任务记录表di=[d1,d2,

]。
[0107]
步骤s5.1、对记录表di中的任务逐个移除,进行如下计算:
[0108][0109]
其中,表示在此步骤中执行任务移除操作后根据式(5)重新计算的移除任务性能影响记录表,当z>0时,确定最先移除的任务tk∈di并执行移除操作将选定任务从任务列表ai和待移除任务记录表di中移除;
[0110]
步骤s5.2、更新记录表和成本列表ci,重复步骤s5.1直到待移除任务记录表di为空,或更新的经过式(7)计算后不再满足z>0的移除判定条件;
[0111]
步骤s5.3、更新任务待执行者记录表bi,将di中剩余任务的执行者重新设置为当前无人系统,并将更新后的记录表设置为任务移除阶段结束后的移除任务性能影响记录表γi,即
[0112]
以上任务移除过程可能产生死锁现象,即移除的任务可能因为移除任务性能影响信息更新的非即时性在后面重新加入到任务列表中并陷入循环,导致任务分配始终无法收敛。为防止死锁现象产生,本发明在任务移除阶段增加一个过程:当某一任务从无人系统的列表中移除多次,且与其他与该任务相关的无人系统协商仍无法从达成共识时,则认为进入死锁状态,此时,无人系统广播该状态并与其他无人系统协商解决死锁问题,其具体过程表述为:
[0113]
当死锁现象出现时,跳过步骤s5.1-步骤s5.3,直接执行:
[0114]
步骤s5.4、无人系统不再逐个从临时待移除任务记录表di中按照式(7)和移除判定条件逐个移除任务,而是将所有经协商后非当前无人系统执行的任务(即记录表di)全部从任务列表中移除,执行操作,根据式(5)更新移除任务性能影响记录表γi;
[0115]
步骤s5.5、各无人系统此时进行一次即时信息更新协商,各无人系统在通信拓扑的范围内向其他无人系统发送其移除任务性能影响记录表γi,任务待执行者记录表bi;各无人系统根据接收到的其他无人系统发送的信息对本地的移除任务性能影响记录表γi,任务待执行者记录表bi中的信息进行更新维护,执行更新、保留或者重置操作;更新、保留或者重置操作同步骤s4所述。
[0116]
本次协商可确保各无人系统从其他无人系统获知的性能影响信息在移除阶段结束后具有即时性,即无人系统ui从无人系统uj获取的性能影响信息为uj执行操作后的最新信息,而不是共识协商(步骤s4)后的信息,保证任务分配过程从死锁循环状态中跳出。
[0117]
步骤s6、任务添加。各无人系统根据任务状态、任务适配性条件遍历所有可执行任务及任务列表ai中的所有可添加位置,根据式(6)计算添加任务性能影响记录表并确定各可行任务添加到任务列表的可行位置l。
[0118]
步骤s6.1、将添加任务性能影响记录表与移除任务性能影响记录表γi相比较,计算:
[0119][0120]
以能产生最小的成本增加为准则,当q>0时,执行添加操作将选定任务添加到任务列表ai中;
[0121]
步骤s6.2、根据式(6)更新添加任务性能影响记录表和成本列表ci,重复步骤s6.1直到任务列表中无法继续添加任务(|ai|=li)或更新的经过式(8)计算后不再满足q>0的添加判定条件;
[0122]
步骤s6.3、任务添加阶段结束后,更新移除任务性能影响记录表γi。
[0123]
步骤s7、判断任务分配问题是否满足问题收敛条件,并且各无人系统已经达成共识,各任务列表ai共同组成无冲突的任务分配方案,若不满足,重复步骤s4-步骤s7,直到任务分配问题满足收敛条件为止,形成最终的任务分配方案。
[0124]
步骤s8、动态任务分配。若场景中存在动态更新的信息,定义场景中信息更新的时刻ψ,定义几类更新信息,包括任务删除,任务更改,任务新增,无人系统退出,无人系统新增,并更新无人系统集合u和任务集合t,明确各任务的类型、状态与位置,各无人系统更新其分配过程记录表ai,确定其剩余可执行任务数量上限,确定信息更新时刻ψ无人系统的位置ωi和可用时间
[0125]
其中,为了适应动态任务分配问题,无人系统当前位置ωi和可用时间是最关键的先决条件,在本发明中,其计算方式表述为:
[0126]
首先,各无人系统根据场景信息更新时刻ψ和其任务列表ai中的任务信息,确定其中已经完成的任务、待完成的任务(任务信息无变化)和到达任务位置但实际未执行的任务(包括任务已经移除、任务位置更改等),并更新实际成本列表ωi,计算各已完成任务和待完成任务的实际成本ω
i,k
(待完成任务为估计成本)。
[0127]
当任务tk位于列表首位时,其实际成本与估计成本相等,即ω
i,k
=c
i,k
(ai),否则,其中,p
i,r
为已完成任务记录表pi中确定任务是否完的布尔变量,在更新实际成本列表ωi时,如果任务信息发生变化,p
i,r
=0,而当所有任务的实际成本计算完成后,如果ω
i,k
>ψ,即任务实际没有开始执行时,p
i,r
=0。
[0128]
然后,分情况计算无人系统当前位置ωi和可用时间各类情况的示意图如图2所示。如前所述,本发明不考虑无人系统实际行进过程的规划问题和任务执行过程中的不确定性干扰问题,因此,在计算无人系统当前位置和可用时间时,本发明采用利用两点欧式距离和平均行进速度进行计算的估计方法。
[0129]
若场景信息更新时刻ψ发生在列表中最后一个任务tk的实际成本时间之后,即
ω
i,k
<ψ,无人系统当前位置为任务tk的位置,即ωi=θk,最后一个任务tk对应的p
i,k
=1,即该任务已经完成时,可用时间否则当p
i,k
=0时,可用时间
[0130]
若场景信息更新时刻ψ发生在列表首个任务tk的实际成本时间之前,代表无人系统正在前往任务位置θk的途中或在任务位置等待任务开始,此时,无人系统的行进时间τ表示为τ=ψ,而从无人系统初始位置ω
i,pre
到达任务位置的总时间τ
*
表示为τ
*
=eυ(θk,ω
i,pre
)/vi,其中,eυ(
·
)表示两点的欧氏距离,则无人系统当前位置ωi=ω
i,pre
+min(1,τ/τ*)
·

k-ω
i,pre
),无人系统即时可用,可用时间
[0131]
若场景信息更新时刻ψ发生在其他情形,其中,如果此时无人系统到达前一个任务t
k-1
位置的任务t
k-1
对应的p
i,k-1
=0,代表其任务状态发生变化,无人系统正在前往任务位置θk的途中或在任务位置等待任务开始,此时,无人系统的行进时间τ=ψ-ω
i,k-1
,而从无人系统从前一个任务t
k-1
位置θ
k-1
到达任务tk位置θk的总时间τ
*
表示为τ
*
=eυ(θk,θ
k-1
)/vi,无人系统当前位置ωi=θ
k-1
+min(1,τ/τ
*
)
·

k-θ
k-1
),无人系统即时可用,可用时间
[0132]
若前一个任务t
k-1
对应的p
i,k-1
=1,则如果场景信息更新时刻ψ无人系统正在执行该任务,则其无人系统位置与当前执行任务位置相同,即ωi=θk,而无人系统非即时可用,当完成该任务后可用,可用时间若场景信息更新时刻ψ无人系统已经完成了任务t
k-1
,代表无人系统正在前往任务位置θk的途中或在任务位置等待任务开始,此时,无人系统的行进时间τ=ψ-(ω
i,k-1
+t
k-1,duration
),而从无人系统从前一个任务t
k-1
位置θ
k-1
到达任务tk位置θk的总时间τ
*
表示为τ
*
=eυ(θk,θ
k-1
)/vi,无人系统当前位置ωi=θ
k-1
+min(1,τ/τ
*
)
·

k-θ
k-1
),无人系统即时可用,可用时间
[0133]
各无人系统确定了当前位置ωi和可用时间并更新分配过程记录表ai后,即可进行任务重分配。此时,任务重分配问题的初始信息相当于在场景初始信息的基础上更新,因此,可采用与之前相同的方法重复步骤s4-步骤s7实现任务重分配,而无需面向重分配设计新的分配方法。当在任务分配和执行过程中存在多次信息更新时,即场景信息更新时刻表示为ψ=[ψ1,ψ2,

],按照本发明所述方法,对于ψ中每一个信息更新时刻,重复步骤s4-步骤s8可多次进行任务重分配,实现任务动态分配。
[0134]
本发明在分布式任务分配算法的基础上,针对分配死锁现象在任务移除阶段新增一种在满足特定条件下启用的任务移除方式,在少量增加无人系统通信的情况下消除了某些任务受限于传统方法的性能影响信息非即时性问题,不断地添加到某些无人系统的任务列表和从列表中移除的循环现象;同时,本发明涉及的方法能够解决一类针对任务状态变化、无人系统状态变化等动态任务分配问题,采用在动态信息更新时刻更新无人系统当前位置和可用时间,其优势在于可以采用与初始分配相同方法进行动态重分配,无需面向重分配问题设计新的分配方法,最终能够形成具备应对变化的环境信息的分布式动态任务分配能力。
[0135]
需要说明的是,在本发明的实施例中,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是
为了便于描述实施例,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0136]
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1