一种间歇式通信下多智能体搜索打击任务分配方法

文档序号:31567492发布日期:2022-09-20 21:09阅读:152来源:国知局
一种间歇式通信下多智能体搜索打击任务分配方法

1.本发明涉及多智能体通信领域,具体涉及一种间歇式通信下多智能体搜索打击任务分配方法,特别是指在发生通信故障造成的间歇式通信场景下,为完成多智能体搜索打击任务,而实施的一种通信故障下多智能体拓扑恢复的方法。


背景技术:

2.通信拓扑恢复规划指的是,多智能体在执行任务过程中,由于硬件故障等原因导致通信拓扑故障时,整个多智能体通信拓扑发生断裂,通信拓扑并不连通。此时各个智能体需要通过移动恢复整个智能体拓扑,在该过程中,希望拓扑连通性尽快恢复或者多智能体移动总距离尽量短以重构通信网络。
3.常用的恢复拓扑恢复规划方法,包含直接恢复方法,基于密度平衡的恢复方法和递归恢复方法。基于密度平衡的恢复方法主要是利用不同区域智能体密度的平衡实现,也即让高密度区域的智能体通过扩散到故障智能体所处的区域,填补故障带来的空缺。移动智能体带来的消耗较大,且未对快速恢复进行深入讨论。
4.针对递归修复方法,选取一系列修复智能体,通过的递归方式,也即按照级联的方式移动到故障智能体处。常用的递归修复方法rim、dara、ledir主要是针对单节点故障,而且假设故障之后所有智能体知晓故障智能体的序号。但是在诸多通信拓扑断裂的情况下,拓扑中多个关键节点同时故障,由于拓扑不连通导致智能体之间无法相互沟通信息,有的时候智能体无法得知其他智能体是否故障。zhe liu利用了基于梯度恢复的方式来实现拓扑恢复,以提高多智能体的一致性为目标,虽然考虑了多节点故障,但是其假设节点故障不会导致拓扑不连通。
5.直接修复方法,则指的是在拓扑故障后按照预定规则选择智能体移动到故障智能体所在处修复或者重新安排所有智能体的位置。banfi则建立了相应的线性规划模型,但是其证明了该问题是一个np-hard问题,所设计的最优恢复方法计算量会随着求解规模成几何级倍增。其虽然设计了一些次优的恢复方法,但并没有考虑通信拓扑恢复后的拓扑需要满足通信带宽和延迟约束。而最近zhiyu mou虽然利用图神经网络来处理不可预测的任意时刻任意智能体故障,但是和banfi一样依然认为所有智能体知晓哪些智能体故障,其利用故障智能体的邻居智能体向所在子连通通信拓扑发布故障信息,但是在大量节点的故障下,该故障智能体的多跳邻居智能体故障,就会导致所有子连通拓扑无法得知整个拓扑的故障信息。


技术实现要素:

6.有鉴于此,本发明提供了一种通信故障下多智能体拓扑恢复的方法及装置,能够解决现有的不可预测的任意时刻任意智能体通信故障的恢复规划且解决恢复的拓扑并未考虑通信带宽和延迟约束的技术问题。
7.为了解决上述技术问题,本发明是这样实现的。
8.一种通信故障下多智能体拓扑恢复的方法,包括:
9.步骤s1:多智能体中存在通信连接的两个智能体的通信链路构成通信网络的边,所述多智能体中的每个智能体作为通信网络的节点,形成连通的通信拓扑;确定多智能体中各智能体位置的几何中心为中心节点;计算所有智能体到达中心节点的最晚时刻;
10.步骤s2:任意智能体发生通信故障时,形成多个连通子拓扑;对每个子拓扑:选举所述子拓扑对应的智能体子群中的一个智能体作为智能体代表,所述子拓扑中的每个智能体记录自身状态及其邻居智能体状态,确定与所述子拓扑对应的生成树,所述生成树包含该子拓扑所有节点;所述邻居智能体为所述子拓扑中与所述智能体存在通信连接的智能体;所述智能体代表汇集其对应的子拓扑中所有智能体的状态;
11.步骤s3:每个所述智能体代表均前往所述中心节点,协商拓扑恢复策略;
12.步骤s4:每个所述智能体代表均返回其对应的生成树,并将所述拓扑恢复策略通知所述智能体代表对应的智能体子群中的其他全部智能体。
13.优选地,所述步骤s1,包括:
14.步骤s11:在通信网络对应的通信拓扑断开前或任务开始阶段,所述通信拓扑是全局连通的,多智能体中存在通信连接的两个智能体v
j1
和v
j2
之间的通信链路构成通信网络的边,设es为包含所有智能体之间的边的集合,所述多智能体中的每个智能体作为通信网络的节点,多智能体形成了整个连通的通信拓扑gs=(v,es),v
j1
,v
j2
∈v;计算多智能体中各智能体位置的几何中心o,所述几何中心o作为通信拓扑故障时的中心节点,即基准节点;每过τ秒接受所有智能体位置信息以计算几何中心o,τ任意且由用户决定,每次计算o时记录当时的时刻为初始时刻t0;
15.步骤s12:计算各个智能体nodei恢复通信所需的最长时间,即最大等待时刻ti;所述最大等待时刻是所述智能体nodei运动到所述几何中心o的花费的最大时间,其中i∈{1,2,...,nv},nv为智能体数量,比较得到最大时刻将所述最大时刻传递给所有智能体,并进行保存。
16.优选地,所述步骤s2,包括:
17.步骤s21:多智能体中任意智能体通信故障发生后,每个智能体记录所述通信拓扑故障的时刻tc;形成多个连通子拓扑;令则
18.步骤s22:由路由发现算法确定各个子拓扑,对每个子拓扑:选举所述子拓扑对应的智能体子群中的一个智能体作为智能体代表;所述子拓扑中的每个智能体均执行以下操作:记录自身状态,记录其邻居智能体是否故障,所述邻居智能体是指在所述子拓扑中与该智能体具有通信边的智能体;用s(i)表示智能体nodei的状态,值为1表示该智能体nodei未故障,为0表示该智能体nodei出现故障;智能体nodei的邻居智能体状态集合为s(n(i))={s(i')|i'∈n(i)},n(i)表示智能体nodei的邻居智能体集合的序号集合;i'为n(i)中元素;
19.步骤s23:对每个子拓扑gj=(vj,ej),与所述子拓扑对应的生成树tj的生成方式为:随机在子拓扑gj=(vj,ej)中选取一个智能体作为根节点rcj,以该智能体出发利用路由发现算法及prim算法得到整个子拓扑的生成树tj,该生成树包含该子拓扑所有节点;其中,vj为各个连通子拓扑包含的智能体集合,ej为该子拓扑中所有智能体的通信边集合,j∈{1,2,...,o},j为子拓扑的序号,o为所有连通子拓扑的数量;生成树tj的根节点rcj融合其对应
的生成树上所有智能体节点的状态集合得到其中,s(tj)表示该生成树所包含的所有智能体状态。
20.优选地,所述步骤s3,包括:
21.步骤s31:智能体代表前往所述中心节点,其中,所述智能体代表为tj中距离o最小的智能体,所述智能体代表携带着tj的状态集合s(tj);
22.步骤s32:最先到达o的智能体代表融合子拓扑状态集合s(tj)和后续到达的各个智能体代表所携带的状态集合,得到融合后的状态集合s(t);
23.步骤s33:若所述融合后的状态集合s(t)包括了所有智能体的状态或当前时刻超过最晚时刻t
max
+(t
c-t0),进入步骤s34;否则,所有已经到达o的智能体代表继续等待其余智能体代表,进入步骤s32;
24.步骤s34:以所述几何中心o为目标通信拓扑的基准点;
25.步骤s35:开始协商,由最先到达几何中心o的智能体代表计算距离所述几何中心o最近的智能体r1,将π
t
(r1)赋值为几何中心o的位置坐标,即π
t
(r1)

o,其中,π
t
(r1)为智能体r1在目标通信拓扑中的位置,以该智能体r1作为目标通信拓扑的根节点,设所述目标通信拓扑g
t
对应的生成树为t',所述生成树t'的根节点为智能体r1;
26.由s(t)将已经完成位置分配的未出现故障的智能体序号集合记为f,未完成位置分配的未出现故障智能体序号集合记为u;初始化f={r1},用h(r1)表示节点r1在t'中的深度;将r1作为目标通信拓扑的根节点,初始化h(r1)=0;用b(r1)表示节点r1在所述目标通信拓扑g
t
上的度数,即邻居节点的个数;
27.步骤s36:若集合u不为空,进入步骤s37;否则,方法结束;
28.步骤s37:基于通信延迟、带宽约束、以及所有未出现故障的智能体移动的距离和,为u中的智能体安排它们在目标拓扑g
t
中的目标位置;
29.步骤s38:最先到达o智能体代表计算每个生成树tj中每个智能体r运动到其目标位置π
t
(r)的时间得到生成树tj中所有智能体运动到相应的目标位置的最大时间为所有智能体代表记录并记录得到所有未出现故障的智能体恢复通信连通的最晚时刻的下限为t
max
+(t
c-t0)+t
2,max
+(t
c-t0)+t
l
;将所述所有未出现故障的智能体恢复通信连通的最晚时刻记为t
3,max
=t
max
+3(t
c-t0+t
l
)≥t
max
+(t
c-t0)+t
2,max
+(t
c-t0)+t
l
,所有智能体代表记录t
3,max

30.优选地,所述步骤s4,包括:
31.步骤s41:每个智能体代表返回其对应的生成树tj,并将确定的生成树tj中的每个智能体的目标位置通知所述生成树tj;若tj中所有智能体等待智能体代表的时刻超过t4=t
max
+2(t
c-t0)+t
l
,则生成树tj中所有节点裁决该智能体代表故障,或者该生成树中存在智能体故障,进入步骤s42;否则,获取tj上的各智能体的最大的恢复时刻t
3,max
,进入步骤s43;
32.步骤s42:生成树tj所有其他智能体节点都向o点移动,第四最大等待时刻记为
t
4,new
=t4+(t
c-t0)+t
l
≤t
3,max
,设置所述第四最大等待时刻t
4,max
=t
3,max
,t
4,max
为生成树tj中所有其他智能体节点运动到o的最大时刻;
33.对于生成树tj中超过t
4,max
仍然未到达o点的智能体,则确定未到达的智能体发生故障,不再等待未到达的发生故障的智能体,进入步骤s44;
34.步骤s43:生成树tj中的每个智能体向目标位置移动;对于生成树tj中超过t
3,max
仍未到达目标位置的智能体,确定所述未到达的智能体发生故障,不再等待未到达的发生故障的智能体,进入步骤s44;
35.步骤s44:若到达t
3,max
仍然未恢复所有未出现故障的智能体的全局连通,则确定若干智能体发生了通信故障,此时设置第五最大时刻t
5,max
=t
3,max
+2(t
c-t0+t
l
),生成树tj中所有未出现故障的智能体向o点运动,以恢复通信连通。
36.优选地,所述智能体为无人车、无人机、以及机器人中的一种或多种。
37.为解决拓扑故障后无法得知故障智能体的情况,在拓扑突然断裂后,各个连通的子通信拓扑选择代表智能体收集整个拓扑中的智能体状态信息,并赶往拓扑断裂前约定的位置交流各个子拓扑包含所有正常智能体状态信息,依据多智能体移动到约定位置的最晚时刻裁决其他所有未知智能体是否故障。
38.高效指的是让所有的智能体移动距离尽量短,以减少能量消耗,为了实现高效修复,优选的,让各个代表智能体协商如何恢复通信,而没有让所有智能体都向预设位置移动恢复通信。在协商时以尽快恢复拓扑为目标设计了基于贪心算法的次优恢复方法,通过限制所有智能体在所处生成树的深度和节点度数,来满足通信的延迟约束和带宽约束。在协商完成后,各个代表智能体返回各自子拓扑,通知其他智能体按照规划恢复通信。
39.任意时刻任意智能体故障问题是核心问题,例如在通信故障后再次出现智能体故障,代表智能体在移动的途中故障等等,这些故障都将再次导致所有智能体无法知晓拓扑故障的情况,引起一般的通信恢复规划方法死锁,即所有按照正常恢复规划移动到目标位点的智能体需要无限期等待其他可能故障的智能体到来。本发明通过计算新的通信恢复的最晚时刻,以及智能体是否超时仍然未达到能够实现通信恢复的位点来判断该智能体是否故障,在得知故障后其他智能体无需再等待下去,确保正常智能体能在有限时间内恢复拓扑连通。
40.有益效果:
41.(1)本发明相比于多智能体整体汇集到一个节点,各个连通的子通信拓扑派遣代表智能体到中心节点协商如何恢复通信减少了拓扑恢复所带来的能量消耗,且解决了一般拓扑故障恢复算法中容易无法得知故障智能体的缺点。
42.(2)在协商时以多智能体总移动距离尽量短恢复拓扑为目标函数,设计了次优算法,避免了恢复规划np-hard问题所带来的庞大计算量。
43.(3)考虑了目标拓扑的通信延迟和带宽约束,方便多智能体在新的拓扑中高效通信。
44.(4)本发明面向复杂通信故障恢复规划,在故障发生后以高效恢复为主要目的,在故障之后发生二次故障时,则以完备恢复拓扑为目的,即解决了任意时刻任意智能体故障。实现高效性和完备性的结合。
附图说明
45.图1为本发明提供的通信故障下多智能体拓扑恢复的方法流程示意图;
46.图2为本发明提供的通信故障下多智能体拓扑恢复示意图。
具体实施方式
47.下面结合附图和实施例,对本发明进行详细描述。
48.如图1所示,本发明提出了一种通信故障下多智能体拓扑恢复的方法,包括如下步骤:
49.步骤s1:多智能体中存在通信连接的两个智能体的通信链路构成通信网络的边,所述多智能体中的每个智能体作为通信网络的节点,形成连通的通信拓扑;确定多智能体中各智能体位置的几何中心为中心节点;计算所有智能体到达中心节点的最晚时刻;
50.步骤s2:任意智能体发生通信故障时,形成多个连通子拓扑;对每个子拓扑:选举所述子拓扑对应的智能体子群中的一个智能体作为智能体代表,所述子拓扑中的每个智能体记录自身状态及其邻居智能体状态,确定与所述子拓扑对应的生成树,所述生成树包含该子拓扑所有节点;所述邻居智能体为所述子拓扑中与所述智能体存在通信连接的智能体;所述智能体代表汇集其对应的子拓扑中所有智能体的状态;
51.步骤s3:每个所述智能体代表均前往所述中心节点,协商拓扑恢复策略;
52.步骤s4:每个所述智能体代表均返回其对应的生成树,并将所述拓扑恢复策略通知所述智能体代表对应的智能体子群中的其他全部智能体。
53.各个子拓扑上智能体依据智能体代表返回子拓扑的理论最晚时刻裁决智能体代表是否故障。在故障的情形下则直接向中心节点移动或者在未故障的情形下按照通信恢复策略移动并计算新的最大恢复拓扑时刻;依据超过新的最大恢复时刻仍然未恢复拓扑来判断是否有智能体故障,若有则都向着中心节点移动以恢复拓扑。
54.本发明中,所述智能体可以为无人车、无人机、机器人等可以移动的对象。
55.本发明提供了一种复杂通信故障下多智能体拓扑恢复规划方法。其针对通信恢复规划问题。该问题例如,在城市环境中,设正在执行的任务智能体集合为v={vi|i=1,2,...,nv},智能体数量为nv。以智能体的通信半径rc对任务环境进行离散化,得到图gc=(vr,ec),vr为地图中自由空间点集合,ec表示自由空间点之间的边集合,若两点之间不存在故障则两点之间存在边。将智能体vr(r∈{1,2,...,nw})安排到图gc中v顶点,建立智能体到图顶点的位置映射π:r

v,用πs表示突发故障时的多智能体的初始位置映射。设该问题目标位置映射为π
t
。用d(πs(r),π
t
(r))表示智能体r从初始位置πs(r)运动到π
t
(r)的距离,表示多智能体移动的总和距离。该问题的约束条件为对应π
t
的多智能体通信拓扑连通,目标函数为b(πs,π
t
)。希望最小化b(πs,π
t
),以移动尽量短的总距离恢复拓扑,决策变量为π
t

56.实现本发明的技术方案如下:
57.总体步骤如下,基本原则为在故障情况不严重时以高效性为主要目标,在复杂故障下,即在通信恢复规划的过程中二次故障时,则放弃高效性,而以完备性为目标,确保没有故障的智能体最终能在有限时间内恢复拓扑连通。在通信拓扑断开前或任务开始阶段,
计算所有智能体到达他们几何中心的最大时间,即拓扑突然故障时,这是拓扑恢复花费的最大时间。以此得到最大的恢复时刻。通信拓扑断开后,必然会形成各个连通的子通信拓扑。
58.为了避免全部聚合到几何中心恢复通信导致的过多能量消耗,各个连通子拓扑派遣代表智能体前往几何中心协商如何恢复通信。而代表智能体在出发前汇集所在子拓扑的所有正常智能体信息,若在最大恢复时刻之前没有到达几何中心,则其他在几何中心的智能体无需继续等待,其他智能体默认该代表智能体故障,代表智能体协商完成后返回各个子拓扑告知其他智能体如何恢复通信。若在代表智能体从子拓扑出发运动到几何中心,再从其返回子拓扑的这段时间里子拓扑故障,则所有智能体不再等待代表智能体返回直接汇聚到中心点。若代表智能体故障,则各自拓扑依据代表智能体返回到子拓扑的预计最晚时刻判断代表智能体故障,则全部向中心节点移动。其他二次故障情况类似处理。
59.注意本发明考虑环境地图中障碍物,以下所有步骤中,从地图中一个位点移动到另一个位点,采用a*算法。以下所有谈到的地图上两个地点之间的距离都是利用a*算法所得出两点之间路径的长度。
60.进一步地,所述步骤s1,如图2中阶段1所示,包括:
61.步骤s11:在通信网络对应的通信拓扑断开前或任务开始阶段,所述通信拓扑是全局连通的,多智能体中存在通信连接的两个智能体v
j1
和v
j2
之间的通信链路构成通信网络的边,设es为包含所有智能体之间的边的集合,所述多智能体中的每个智能体作为通信网络的节点,多智能体形成了整个连通的通信拓扑gs=(v,es),v
j1
,v
j2
∈v;计算多智能体中各智能体位置的几何中心o,所述几何中心o作为通信拓扑故障时的中心节点,即基准节点;每过τ秒接受所有智能体位置信息以计算几何中心o,τ任意且由用户决定,每次计算o时记录当时的时刻为初始时刻t0;
62.步骤s12:计算各个智能体nodei恢复通信所需的最长时间,即最大等待时刻ti;所述最大等待时刻是所述智能体nodei运动到所述几何中心o的花费的最大时间,其中i∈{1,2,...,nv},比较得到最大时刻将所述最大时刻传递给所有智能体,并进行保存。
63.步骤s2,如图2中阶段2所示,当任意智能体通信故障发生后,所述通信拓扑分裂,形成多个连通的子拓扑,这些子拓扑之间由于通信链路断裂无法通信。
64.任意智能体发生通信故障后,形成多个连通子拓扑,原先连通的整个通信拓扑分裂开来,得到多个连通的子拓扑,这些子拓扑之间由于通信链路断裂无法通信。对每个连通子拓扑:选举所述连通子拓扑对应的智能体子群中的一个智能体作为智能体代表,所述智能体代表记录自身状态及邻居智能体状态;生成所述通信网络中的连通子拓扑与其对应的生成树,将所述连通子拓扑以生成树的形式存储。
65.所述步骤s2包括:
66.步骤s21:多智能体中任意智能体通信故障发生后,每个智能体记录所述通信拓扑故障的时刻tc;形成多个连通子拓扑;令则
67.本实施例中,每个智能体记录所述通信拓扑故障的时刻tc,则若从时刻tc开始出发,各智能体到达所述中心节点的最晚时刻为t
max
+(t
c-t0);其中,nv为集合v中节点的个数。
68.本实施例中,若t0此时拓扑恰好出现故障,从此时开始运动,则所有智能体到达中心节点的最晚时刻为t
max
。否则每个智能体记录拓扑突然故障的时刻tc,则从此时出发,到达中心节点的最晚时刻为:t
max
+(t
c-t0),令如此计算的根据是:运动时间花费最长的无人车能在t
c-t0返回t0时刻所处的位置,并在t
l
内到达中心点o。
69.步骤s22:由路由发现算法确定各个子拓扑,对每个子拓扑:选举所述子拓扑对应的智能体子群中的一个智能体作为智能体代表;所述子拓扑中的每个智能体均执行以下操作:记录自身状态,记录其邻居智能体是否故障,所述邻居智能体是指在所述子拓扑中与该智能体具有通信边的智能体;用s(i)表示智能体nodei的状态,值为1表示该智能体nodei未故障,为0表示该智能体nodei出现故障;智能体nodei的邻居智能体状态集合为s(n(i))={s(i')|i'∈n(i)},n(i)表示智能体nodei的邻居智能体集合的序号集合;i'为n(i)中元素;
70.步骤s23:对每个子拓扑gj=(vj,ej),与所述子拓扑对应的生成树tj的生成方式为:随机在子拓扑gj=(vj,ej)中选取一个智能体作为根节点rcj,以该智能体出发利用路由发现算法及prim算法得到整个子拓扑的生成树tj,该生成树包含该子拓扑所有节点;其中,vj为各个连通子拓扑包含的智能体集合,ej为该子拓扑中所有智能体的通信边集合,j∈{1,2,...,o},j为子拓扑的序号,o为所有连通子拓扑的数量;生成树tj的根节点rcj融合其对应的生成树上所有智能体节点的状态集合得到其中,s(tj)表示该生成树所包含的所有智能体状态。
71.所述步骤s3,每个所述智能体代表均前往所述中心节点,协商拓扑恢复策略,包括:
72.每个所述智能体代表均前往所述中心节点,协商拓扑恢复策略;对于超过所述最晚时刻仍未到达中心节点的智能体代表不再等待,开始协商拓扑恢复策略;以恢复通信连通为目标,在协商过程中以贪心的方式确保实现目标且各个智能体所需要移动的总路程最小,所述目标具有与目标对应的目标拓扑,所述目标拓扑在深度和宽度方面具有约束。
73.如图2中的第2阶段及第3阶段所示。进一步地,所述步骤s3,包括:
74.步骤s31:智能体代表前往所述中心节点,其中,所述智能体代表为tj中距离o最小的智能体,所述智能体代表携带着tj的状态集合s(tj)。
75.本实施例中,选举智能体代表的目的在于降低所有智能体聚集到中心节点带来的能量消耗。各个智能体代表前往中心节点o进行协商,目的在于确定恢复通信策略。
76.步骤s32:最先到达o的智能体代表融合子拓扑状态集合s(tj)和后续到达的各个智能体代表所携带的状态集合,得到融合后的状态集合s(t);
77.步骤s33:若所述融合后的状态集合s(t)包括了所有智能体的状态或当前时刻超过最晚时刻t
max
+(t
c-t0),所述融合后的状态集合s(t)包括了所有智能体的状态,即s(t)=s(t1)∪s(t2)∪

∪s(t
o'
)包含所有智能体状态,其中,o'为到达所述中心节点o的智能体代表数量,进入步骤s34;否则,所有已经到达o的智能体代表继续等待其余智能体代表,进入步骤s32;
78.步骤s34:以所述几何中心o为目标通信拓扑的基准点;
79.步骤s35:开始协商,由最先到达几何中心o的智能体代表计算距离所述几何中心o
最近的智能体r1,将π
t
(r1)赋值为几何中心o的位置坐标,即π
t
(r1)

o,其中,π
t
(r1)为智能体r1在目标通信拓扑中的位置,以该智能体r1作为目标通信拓扑的根节点,设所述目标通信拓扑g
t
对应的生成树为t',所述生成树t'的根节点为智能体r1;
80.由s(t)将已经完成位置分配的未出现故障的智能体序号集合记为f,未完成位置分配的未出现故障智能体序号集合记为u;初始化f={r1},用h(r1)表示节点r1在t'中的深度;将r1作为目标通信拓扑的根节点,初始化h(r1)=0;用b(r1)表示节点r1在所述目标通信拓扑g
t
上的度数,即邻居节点的个数;
81.步骤s36:若集合u不为空,进入步骤s37;否则,方法结束;
82.步骤s37:基于通信延迟、带宽约束、以及所有未出现故障的智能体移动的距离和,为u中的智能体安排它们在目标拓扑g
t
中的目标位置;
83.所述目标拓扑为按照协商所得的通信恢复策略确定的各子拓扑中的全部未出现故障的智能体的新的位置,此时所有智能体构成连通通信拓扑g
t
=(v',e
t
),其中v'为所有没有故障的智能体,e
t
包含这些智能体之间的通信边。
84.本实施例中,考虑所有智能体移动的距离和,目的在于减少所有智能体移动的距离,以确保高效性。
85.所述步骤s37,包括以下步骤:
86.步骤s371:基于智能体通信半径rc进行离散化得到对环境进行离散化的图gc=(vr,ec),vr为与环境对应的地图中自由空间点集合,ec表示自由空间点之间的边集合,若两点之间不存在故障则两点之间存在边;自由空间点集vr={(x
i2
,y
i2
)|i2=1,2,...,l},l为离散化所得点数量。设对于所有智能体用vr(π
t
(r))表示智能体在目标拓扑中位置π
t
(r)对应的vr中的点。设该点在vr对应的邻居位点集合为在点集vr中找到所有智能体节点r∈f的邻居集合k(π
t
(f))={k(π
t
(r))|r∈f},其中π
t
(f)表示所有f中包含的序号对应智能体在目标拓扑g
t
的位置集合。
87.步骤s372:为保证高效性,对每一个r'∈u,计算其到每一个w'∈k(π
t
(f))的距离d(πs(r'),w'),将得到距离按照从小到大的顺序排序,得到第一排序结果。
88.找到d(πs(r'),w')最小的一对节点若w'∈k(π
t
(r)),r∈f,则称为w'在f中对应的邻居智能体序号,序号需要预先设置。本实施例中,进行排序的目的是作用于后续的步骤,用于步骤s373和s374寻找距离次小的节点。
89.步骤s373:基于通信延迟约束,期望目标拓扑g
t
对应生成树t'的深度小于(h由用户决定),防止过深导致多智能体之间频繁使用多跳通信。找到同时满足智能体i(w")∈f在t'的深度小于h的所有点对(r",w"),基于所述第一排序结果,将符合条件的所有点对按照距离从小到大的顺序排列,得到第二排序结果,进入步骤s374;
90.步骤s374:基于带宽约束,希望g
t
每个节点度数小于(b由用户决定)。基于所述第二排序结果,找到满足智能体i(w")∈f在t'的度数小于b的、并且对应的距离最小的点对(r",w"),并安排智能体r"在目标拓扑的位置;更新节点度数、并更新f及u。注意允许根节点的度数b(r1)大于等于b防止找不到满足条件的点对。
91.更新节点度数b(i(w"))

b(i(w"))+1,表示智能体i(w")与r"构成了通信连接,而
h(r")

h(i(w"))+1,表示智能体r"的父节点为智能体i(w")。且b(r")

1,表示智能体r"与一个智能体相连。更新f及u,f中加入r",u中删除r",即f

f∪r",u

u\r"。
92.步骤s375:判断是否u是否为空集,即判断是否完成了所有的智能体在目标拓扑中的位置安排,若没有完成,则返回步骤s372。
93.步骤s376:得到所有未发生故障的智能体在目标拓扑中的位置π
t

94.步骤s38:最先到达o智能体代表计算每个生成树tj中每个智能体r运动到其目标位置π
t
(r)的时间得到生成树tj中所有智能体运动到相应的目标位置的最大时间为所有智能体代表记录并记录得到所有未出现故障的智能体恢复通信连通的最晚时刻的下限为t
max
+(t
c-t0)+t
2,max
+(t
c-t0)+t
l
;将所述所有未出现故障的智能体恢复通信连通的最晚时刻记为t
3,max
=t
max
+3(t
c-t0+t
l
)≥t
max
+(t
c-t0)+t
2,max
+(t
c-t0)+t
l
,所有智能体代表记录t
3,max

95.本实施例中,(t
c-t0)+t
l
为所有代表智能体返回所在生成树所需的最大时间。由于(t
c-t0)+t
l
是所有智能体到达o点花费的最大时间,按照步骤s37中求得的所有智能体r到达目标位置π
t
(r)花费的最大时间不可能超过该时间,即保证了t
2,max
≤(t
c-t0)+t
l
成立。所以所有多智能体恢复通信连通的新的最晚时刻可以设为t
3,max
=t
max
+3(t
c-t0+t
l
)≥t
max
+(t
c-t0)+t
2,max
+(t
c-t0)+t
l
,每个智能体代表记录t
3,max

96.本实施例中,所述步骤s35-步骤s38中的移动,并不是真的移动,而是由智能体代表协商如何移动。
97.所述步骤s4:每个所述智能体代表均返回其对应的生成树,并将所述拓扑恢复策略通知所述智能体代表对应的智能体子群中的其他全部智能体,包括:
98.每个所述智能体代表均返回其对应的生成树,并将所述拓扑恢复策略通知所述智能体代表对应的智能体子群中的其他全部智能体;
99.各个子拓扑上智能体依据智能体代表返回子拓扑的理论最晚时刻裁决智能体代表是否故障;
100.若所述智能体代表发生故障,则发生故障的智能体代表对应的生成树中其他全部智能体直接向中心节点移动;
101.若所述智能体代表未发生故障,则智能体代表对应的生成树中的全部智能体按照所述拓扑恢复策略移动并计算新的最大恢复拓扑时刻;将超过新的最大恢复拓扑时刻仍然未恢复拓扑的智能体确定为出现故障,将所有未出现故障的智能体向o点运动,以恢复通信连通。
102.所述步骤s4,如图2中的第4阶段及第5阶段所示,包括:
103.步骤s41:每个智能体代表返回其对应的生成树tj,并将确定的生成树tj中的每个智能体的目标位置通知所述生成树tj;若tj中所有智能体等待智能体代表的时刻超过t4=t
max
+2(t
c-t0)+t
l
,则生成树tj中所有节点裁决该智能体代表故障,或者该生成树中存在智能故障,进入步骤s42;否则,获取tj上的各智能体的最大的恢复时刻t
3,max
,进入步骤s43;
104.步骤s42:生成树tj所有其他智能体节点都向o点移动,第四最大等待时刻记为
t
4,new
=t4+(t
c-t0)+t
l
≤t
3,max
,设置所述第四最大等待时刻t
4,max
=t
3,max
,t
4,max
为生成树tj中所有其他智能体节点运动到o的最大时刻;
105.对于生成树tj中超过t
4,max
仍然未到达o点的智能体,则确定所述未到达的智能体发生故障,不再等待未到达的发生故障的智能体,进入步骤s44;
106.步骤s43:生成树tj中的每个智能体向目标位置移动;对于生成树tj中超过t
3,max
仍未到达目标位置的智能体,确定所述未到达的智能体发生故障,不再等待未到达的发生故障的智能体,进入步骤s44。
107.本实施例中,所有智能体的最大等待时刻为t
3,max
,该时刻为所有智能体按照通信策略能够恢复通信的最大时刻,若超过此时刻则进入步骤s44。由于t
3,max
=t
4,max
,即在代表智能体故障或者恢复过程中任意智能体故障,不会影响最大等待时刻。
108.步骤s44:若到达t
3,max
仍然未恢复所有未出现故障的智能体的全局连通,则确定若干智能体发生了通信故障,此时设置第五最大时刻t
5,max
=t
3,max
+2(t
c-t0+t
l
),生成树tj中所有未出现故障的智能体向o点运动,以恢复通信连通。
109.本实施例中,设置了最大时刻t
5,max
后,所有未出现故障的智能体必然能在该时刻之前到达o点恢复通信。
110.本发明保证了所有没有故障的智能体都能完备地恢复通信连通,具有高效性且满足了通信带宽和延迟等约束。
111.以上的具体实施例仅描述了本发明的设计原理,该描述中的部件形状,名称可以不同,不受限制。所以,本发明领域的技术人员可以对前述实施例记载的技术方案进行修改或等同替换;而这些修改和替换未脱离本发明创造宗旨和技术方案,均应属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1