1.本发明涉及多智能体协同控制技术领域,尤其涉及的是一种通信连通保持约束下的多智能体覆盖控制方法和装置。
背景技术:2.覆盖控制旨在驱动智能体尽量分散以实现对于待覆盖区域的较好空间覆盖效果,被广泛应用于驱动无人机集群在高污染、高风险地区开展救援和侦察任务,是当前多智能体协同控制领域的研究热点。覆盖控制时,智能体之间的行为协同依赖于数据交换,即需要通信网络的拓扑连通。
3.然而,多智能体系统在复杂电磁环境中执行任务时,强电磁干扰会造成智能体通信受限,覆盖控制中的分散运动也会中断部分通信链路,使得智能体之间通信网络的不连通,导致任务失败。
4.因此,现有技术有待改进和提高。
技术实现要素:5.本发明的主要目的在于提供一种通信连通保持约束下的多智能体覆盖控制方法、装置、智能终端及存储介质,在保持通信连通的同时实现最优覆盖。
6.为了实现上述目的,本发明第一方面提供一种通信连通保持约束下的多智能体覆盖控制方法,根据所有智能体的位置将待覆盖区域划分为与各个智能体对应的不重叠的区域并对每个智能体进行位置优化直至达到设定的覆盖目标,所述对智能体进行位置优化的步骤包括:
7.基于智能体的覆盖区域和智能体的当前位置,获得覆盖控制向量,所述覆盖控制向量用于使所述智能体减小覆盖损失;
8.基于所述智能体的通信拓扑,获得通信连通保持控制向量,所述通信连通保持控制向量用于使所述智能体增加连通度;
9.根据关键智能体判定原则对所述智能体进行判定;
10.基于所述通信连通保持控制向量和所述覆盖控制向量,根据判定结果获得合成控制向量;
11.将所述合成控制向量输入智能体动力学模型,获得所述智能体的目标位置并控制所述智能体移动至所述目标位置。
12.可选的,所述基于智能体的覆盖区域和智能体的当前位置,获得覆盖控制向量,包括:
13.基于智能体的覆盖区域,对所述智能体的覆盖损失函数进行梯度求导,获得智能体的优化位置;
14.基于所述智能体的当前位置、所述优化位置和覆盖控制限幅,获得所述覆盖控制向量,所述覆盖控制限幅为所述智能体在单个周期内的最大移动幅度。
15.可选的,所述基于所述智能体的通信拓扑,获得通信连通保持控制向量,包括:
16.根据所述通信拓扑构建无向图;
17.基于所述无向图,计算边权,所述边权用于反映智能体之间的距离对应的权重;
18.基于所有的所述边权,构建拉普拉斯矩阵,获得用于度量智能体之间通信连通性能的网络连通度;
19.基于所述网络连通度,获得所述通信连通保持控制向量。
20.可选的,所述基于所述网络连通度,获得所述通信连通保持控制向量,具体表达式为:
21.其中,α》0为控制增益,csch(
·
)为双曲余割函数,为通信连通度估计值的下界,ε》0为预设的通信连通度下界,ψ》0为估计误差上界,为网络连通度λ2在智能体i的位置xi上的梯度,kc为通信连通保持控制限幅。
22.可选的,所述基于所述通信连通保持控制向量和所述覆盖控制向量,根据判定结果获得合成控制向量,包括:
23.获得所述智能体的网络连通度;
24.当所述网络连通度大于预设的警戒值时,将所述覆盖控制向量设为所述合成控制向量;
25.当所述网络连通度小于或等于预设的警戒值且所述智能体的类型不为关键智能体时,根据第一控制增益、第二控制增益分别对所述覆盖控制向量、所述通信连通保持控制向量进行加权相加,获得所述合成控制向量;
26.当所述网络连通度小于或等于预设的警戒值且所述智能体的类型为关键智能体时,根据第三控制增益对所述覆盖控制向量加权后与所述通信连通保持控制向量相加,获得所述合成控制向量;
27.所述第一控制增益α1、所述第二控制增益α2与所述第三控制增益α3满足0≤α1、α3≤1,α1(ke/kc)≤α2≤1,且α1》α3。
28.可选的,还包括:
29.若当前时刻属于设定的死锁检测周期,比较每个智能体的覆盖损失函数当前周期的值与上一周期的值,获得每个智能体的变化量;
30.若任一个智能体的所述变化量小于或等于设定检测阈值时,基于所有智能体的位置,获得所有智能体的死锁消除控制向量;
31.将所述死锁消除控制向量输入智能体动力学模型,获得每个智能体的目标位置并控制每个智能体移动至所述目标位置。
32.可选的,所述基于所有智能体的位置,获得死锁消除控制向量,具体表达式为:
[0033][0034]
其中,为权重,v
max
为智能体最大运动速度;t
max
为设定的死锁消除终止时间。
[0035]
本发明第二方面提供一种通信连通保持约束下的多智能体覆盖控制装置,其中,上述装置包括:
[0036]
区域划分模块,用于根据所有智能体的位置将待覆盖区域划分为与各个智能体对应的不重叠的区域;
[0037]
覆盖控制向量获取模块,用于基于智能体的覆盖区域和智能体的当前位置,获得覆盖控制向量,所述覆盖控制向量用于使所述智能体减小覆盖损失;
[0038]
通信连通保持控制向量获取模块,用于基于所述智能体的通信拓扑,获得通信连通保持控制向量,所述通信连通保持控制向量用于使所述智能体增加连通度;
[0039]
智能体判定模块,用于根据关键智能体判定原则对所述智能体进行判定;
[0040]
合成控制向量获取模块,用于基于所述通信连通保持控制向量和所述覆盖控制向量,根据判定结果获得合成控制向量;
[0041]
位置更新模块,用于将所述合成控制向量输入智能体动力学模型,获得所述智能体的目标位置并控制所述智能体移动至所述目标位置。
[0042]
本发明第三方面提供一种智能终端,上述智能终端包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的通信连通保持约束下的多智能体覆盖控制程序,上述通信连通保持约束下的多智能体覆盖控制程序被上述处理器执行时实现任意一项上述通信连通保持约束下的多智能体覆盖控制方法的步骤。
[0043]
本发明第四方面提供一种计算机可读存储介质,上述计算机可读存储介质上存储有通信连通保持约束下的多智能体覆盖控制程序,上述通信连通保持约束下的多智能体覆盖控制程序被处理器执行时实现任意一项上述通信连通保持约束下的多智能体覆盖控制方法的步骤。
[0044]
由上可见,本发明方案分别获取使智能体减小覆盖损失的覆盖控制向量和使智能体增加连通度的通信连通保持控制向量,然后根据智能体是否是关键智能体对覆盖控制向量和通信连通保持控制向量进行合成,并根据合成获得的合成控制向量获得智能体的目标位置并移动至目标位置。与现有技术相比,实现了优化智能体覆盖控制的同时保持智能体之间的通信连通,即在保持通信连通的同时实现最优覆盖。
附图说明
[0045]
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
[0046]
图1是本发明实施例提供的通信连通保持约束下的多智能体覆盖控制方法中位置优化流程示意图;
[0047]
图2是图1实施例的步骤s500具体流程示意图;
[0048]
图3是图1实施例中死锁消除具体流程示意图;
[0049]
图4是本发明实施例实施过程具体流程图;
[0050]
图5是多智能体覆盖任务的场景图;
[0051]
图6是仅有覆盖控制律的智能体的通信网络连通度曲线;
[0052]
图7是使用本发明提出的合成控制律的智能体的覆盖轨迹及最终部署位置;
[0053]
图8是使用本发明提出的合成控制律的智能体的通信网络连通度曲线;
[0054]
图9是使用传统通信连通保持方法的智能体的控制量曲线;
[0055]
图10是使用本发明提出的控制律的智能体的控制量曲线;
[0056]
图11是本发明实施例提供的通信连通保持约束下的多智能体覆盖控制装置的结构示意图;
[0057]
图12是本发明实施例提供的一种智能终端的内部结构原理框图。
具体实施方式
[0058]
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况下,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
[0059]
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0060]
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0061]
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0062]
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当
…
时”或“一旦”或“响应于确定”或“响应于检测到”。类似的,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述的条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0063]
下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0064]
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
[0065]
覆盖控制旨在驱动智能体尽量分散以实现对于任务区域较好的空间覆盖效果,广泛应用于驱动无人集群系统在高污染、高风险地区开展的救援和侦察任务,是当前多智能体协同控制领域的研究热点。
[0066]
覆盖控制中的分散运动可能会中断部分通信链路,造成通信网络的不连通;多智能体系统在复杂电磁环境中执行任务时,强电磁干扰也会造成智能体通信受限,导致智能体仅拥有有限的通信范围;而智能体之间的行为协同依赖于数据交换,即需要通信网络的拓扑连通,通信网络出现故障将导致多智能体的协同控制任务失败。因此,如何在覆盖过程中维持通信网络的连通是顺利实施覆盖控制任务的关键。
[0067]
本发明提供了一种通信连通保持约束下的多智能体覆盖控制方法,通过通信连通保持控制向量和覆盖控制向量相结合来控制智能体的位置更新,实现了优化智能体覆盖控制的同时保持智能体之间的通信连通。
[0068]
示例性方法
[0069]
如图1所示,本发明实施例提供一种通信连通保持约束下的多智能体覆盖控制方法,应用在无人机群的多智能体控制系统中。首先根据所有智能体的位置将待覆盖区域划分为与各个智能体对应的不重叠的区域,然后对每个智能体进行位置优化直至达到设定的覆盖目标。
[0070]
具体地,将待覆盖区域根据所有智能体的位置x划分为n个不重叠的区域v1,...,vn,且满足q为待覆盖区域内的某一点。
[0071]
其中,对智能体进行位置优化具体包括如下步骤:
[0072]
步骤s100:基于智能体的覆盖区域和智能体的当前位置,获得覆盖控制向量,所述覆盖控制向量用于使所述智能体减小覆盖损失;
[0073]
具体地,覆盖过程中,覆盖控制旨在尽量分散智能体,以实现较好的空间覆盖效果。本实施例中,根据智能体的当前位置和覆盖区域建模,确定覆盖损失函数,然后根据梯度下降原理,优化该覆盖损失函数,获得覆盖控制向量以实现覆盖区域的逐步优化。当覆盖损失函数的值小于设定阈值时实现覆盖目标。
[0074]
步骤s200:基于智能体的通信拓扑,获得通信连通保持控制向量,所述通信连通保持控制向量用于使所述智能体增加连通度;
[0075]
具体地,作为集群信息交互的基础,通信连通保持旨在规划集群的轨迹使之在运动中依旧保持网络的连通。由于通信的连通度与智能体之间的距离是相关的,因此可以根据待覆盖区域内的智能体作为节点、智能体之间的通信连接作为连边,建立通信拓扑图,如无向图,该通信拓扑图能够反映智能体之间的通信连接信息,并基于这些通信连接信息计算出通信连通保持控制向量,该通信连通保持控制向量用于使智能体增加连通度,即减少智能体之间的距离以增加网络连通性能。
[0076]
步骤s300:根据关键智能体判定原则对所述智能体进行判定;
[0077]
具体地,关键智能体是指相对于其他智能体,对智能体之间的网络连通性所起的作用更大的智能体。由于网络连通性与智能体之间的距离相关,本实施例中的关键智能体判定原则基于衡量智能体与该智能体的邻居之间的距离而建立。首先选择合适的阈值0《δ《
r,其中,r为智能体的通信范围,δ为远邻与近邻的划分阈值,将智能体i的邻居集ni按距离的不同划分为远邻n
if
={j∈ni:||x
i-xj||》δ}和近邻n
ic
,若智能体i存在至少一个邻居j∈n
if
且不满足则智能体i为关键智能体,否则为非关键智能体。
[0078]
步骤s400:基于通信连通保持控制向量和覆盖控制向量,根据判定结果获得合成控制向量;
[0079]
具体地,覆盖控制向量使智能体分散,智能体之间距离增加;通信连通保持控制向量限制网络扩展以维持网络连通。二者在运动趋势上相反,会造成控制震荡和控制冗余。因此需要动态分配覆盖控制向量和通信连通保持控制向量的控制增益,从而一方面减少了因二者运动趋势相反造成控制震荡,另一方面减少了冗余的通信连通保持控制量。并且,由于关键智能体和非关键智能体对优化所起的效果不同,因此本发明提出了需要根据判定结果获得合成控制向量,即对于关键智能体和非关键智能体分配覆盖控制向量和通信连通保持控制向量的控制增益也不同,从而达到更好的覆盖优化和网络连通效果。
[0080]
步骤s500:将合成控制向量输入智能体动力学模型,获得智能体的目标位置并控制智能体移动至目标位置。
[0081]
具体地,本实施例中的智能体动力学模型表达式为:x(t+δt)=x(t)+uδt,其中t为当前时刻,δt为时间间隙,u∈r
2n
为合成控制向量,为所有智能体的位置坐标,xi∈r2为第i个智能体的位置坐标。将合成控制向量输入上述智能体动力学模型,就可以获得智能体的目标位置,并将智能体的位置更新至目标位置实现智能体的位置优化,实现对覆盖控制效果的逐步优化。
[0082]
由上所述,本实施例分别获取使智能体减小覆盖损失的覆盖控制向量和使智能体增加连通度的通信连通保持控制向量,然后根据智能体是否是关键智能体对覆盖控制向量和通信连通保持控制向量进行合成,并根据合成获得的合成控制向量获得智能体的目标位置并移动至目标位置。能够在覆盖损失函数下降的同时,始终保持网络连通,实现通信连通保持的覆盖控制。
[0083]
在一些实施例中,上述步骤s200具体包括如下步骤:
[0084]
步骤s210:基于智能体的覆盖区域,对智能体的覆盖损失函数进行梯度求导,获得智能体的优化位置;
[0085]
具体地,假定多智能体系统的待覆盖区域为待覆盖区域的密度函数为φ(
·
):r2→
r,定义智能体xi对于某一点q的侦测损失为f(||q-xi||)=||q-xi||2,q∈q,对于多智能体系统的当前位置x,覆盖损失函数为:
[0086][0087]
基于智能体的覆盖区域,对上述覆盖损失函数进行梯度求导,获得智能体的优化位置的计算公式为:vi为智能体i的覆盖区域。
[0088]
步骤s220:基于智能体的当前位置、优化位置和覆盖控制限幅,获得覆盖控制向量,所述覆盖控制限幅为所述智能体在单个周期内的最大移动幅度。
[0089]
具体地,当优化位置与智能体当前位置的差值没有超过设定的覆盖控制限幅时,
优化位置与智能体当前位置的差值即为覆盖控制向量,否则根据覆盖控制限幅进行相应的比例变换后获得覆盖控制向量。
[0090]
本实施例中,根据构建的分布式覆盖控制律获得覆盖控制向量,分布式覆盖控制律的具体表达式为:
[0091][0092]
其中,为优化位置,xi为智能体i的当前位置,ke为覆盖控制限幅。
[0093]
由上所述,通过对覆盖损失函数进行求导,获得使智能体沿着损失函数梯度下降的方向运动的覆盖控制向量,即通过位置优化尽量减少损失函数的值逐步实现覆盖效果的优化。
[0094]
在一些实施例中,上述步骤s300具体包括如下步骤:
[0095]
步骤s310:根据通信拓扑构建无向图;
[0096]
具体地,智能体的通信拓扑用无向图g=(v,e)表示,其中v(t)={v1,v2,...,v
10
}表示智能体集合,表示通信链路集合,其中保存了通信拓扑中智能体之间建立的每一条通信链路。
[0097]
步骤s320:基于无向图,计算边权,所述边权用于反映智能体之间的距离对应的权重;
[0098]
具体地,设置每个智能体的通信范围r,选择合适的边权函数f(
·
):[0,∞]
→
[0,1],f(
·
)是一个单调递减的函数,并满足对于d》r,f(d)=0,每一条通信链路(vi,vj)∈e对应的边权为f(d
ij
)。本发明中将边权记为其中,d
ij
表示第i和第j个智能体之间的欧式距离。
[0099]
本实施例中,r=24m,边权函数为:
[0100][0101]
步骤s330:基于所有的所述边权,构建拉普拉斯矩阵,获得用于度量智能体之间通信连通性能的网络连通度;
[0102]
具体地,根据获得的所有的边权构建拉普拉斯矩阵l∈rn×n,其每个元素组成为:
[0103][0104]
根据矩阵理论,l具有n个非负特征值,表示为0≤λ1≤λ2≤
…
≤λn,其中,第二小特征值λ2为网络连通度,即网络连通性能的度量指标。λ2越大,网络的连通状况越好,建立的链路数量越多;同时当且仅当λ2》0,图g是连通的。
[0105]
步骤s340:基于网络连通度,获得通信连通保持控制向量。
[0106]
具体地,根据智能体的网络连通度,对智能体的位置进行梯度求导,获得通信连通保持控制向量。该通信连通保持控制向量用于在覆盖控制过程中,约束智能体分散,进而限
制网络扩展以维持通信连通,即始终保持网络连通度大于ε(通信连通度下界,ε》0),实现通信连通保持的覆盖控制。
[0107]
本实施例中,根据构建的通信连通保持控制律获得通信连通保持控制向量。该通信连通保持控制律使智能体具有连通度增加的运动趋势,具体表达式为:
[0108][0109]
其中,α》0为控制增益,csch(
·
)为双曲余割函数,用于连通度接近设定下界时迅速提升控制量,为通信连通度估计值的下界,ε》0为预设的通信连通度下界,ψ》0为估计误差上界,为网络连通度λ2在智能体i的位置xi上的梯度,kc为通信连通保持控制限幅,并且大于覆盖控制限幅ke。
[0110]
定义与智能体i建立通信链路的邻居组成的集合为ni={vj:(vj,vi)∈e},的计算公式为:
[0111][0112]
其中,为智能体i估计的特征向量分量,为智能体j估计的特征向量分量。
[0113]
由上所述,基于多智能体系统构建无向图,通过该无向图计算智能体之间的网络连通度,再进行梯度求导获得通信连通保持控制向量实现对智能体发散的限制,从而在覆盖控制优化时保持通信连通。
[0114]
在一些实施例中,如图2所示,上述步骤s500具体包括如下步骤:
[0115]
步骤s510:获取智能体的网络连通度;
[0116]
具体地,智能体的网络连通度用于判定智能体之间的网络连通性能。本实施例中获取智能体的网络连通度请参考上述步骤s330所述,通过通信拓扑无向图和拉普拉斯矩阵来获得获取智能体的网络连通度。
[0117]
步骤s520:当网络连通度大于预设的警戒值时,将覆盖控制向量设为合成控制向量;
[0118]
具体的,当网络连通度大于预设的警戒值时,表明智能体之间的通信连通性能较好,直接使用覆盖控制向量作为合成控制向量以快速实现智能体的覆盖优化,此时不需要使用通信连通保持控制向量来约束覆盖控制向量。
[0119]
步骤s530:当网络连通度小于或等于预设的警戒值且智能体的类型不为关键智能体时,根据第一控制增益、第二控制增益分别对覆盖控制向量、通信连通保持控制向量进行加权相加,获得合成控制向量;
[0120]
步骤s540:当网络连通度小于或等于预设的警戒值且智能体的类型为关键智能体时,根据第三控制增益对覆盖控制向量加权后与通信连通保持控制向量相加,获得合成控制向量。
[0121]
具体地,当网络连通度小于或等于预设的警戒值时,表明需要对智能体的网络通
信能力进行优化,以使得覆盖过程中始终保持网络连通度λ2不小于ε,从而网络是始终连通的。具体优化时依据智能体是否是关键智能体而采用不同的加权方法来合成覆盖控制向量和通信连通保持控制向量。
[0122]
具体根据如下的合成控制律来进行加权合成:
[0123][0124]
其中,α1为第一控制增益,α2为第二控制增益,α3为第三控制增益,为覆盖控制向量,为通信连通保持控制向量,表示预设的警戒值,并且第一控制增益、第二控制增益和第三控制增益满足0≤α1、α3≤1,α1(ke/kc)≤α2≤1,且α1》α3。
[0125]
由上所述,生成合成控制向量时,本实施例没有使用固定的控制增益,而是动态分配覆盖控制向量和通信连通保持控制向量的控制增益,能够减少通信连通保持对覆盖效果的负面影响,如控制震荡和控制冗余,导致覆盖停滞,陷入局部最优。
[0126]
在一些实施例中,如图3所示,还具体包括如下步骤:
[0127]
步骤s710:若当前时刻属于设定的死锁检测周期,比较每个智能体的覆盖损失函数当前周期的值与上一周期的值,获得每个智能体的变化量;
[0128]
具体地,死锁检测周期可以根据需要设定,本实施例根据当前时刻值t判定进行死锁检测的方法为:mod(t,t)=0且t≤t
max
为真,其中t为当前时刻值,t为死锁检测周期,t
max
为死锁检测结束时刻。如t=5、t
max
=100即为设定在100秒的时间周期内每隔5秒进行一次死锁检测。
[0129]
若判定需要进行死锁检测,则根据智能体当前周期的覆盖损失函数的值与上一周期的覆盖损失函数的值,获得所有智能体的覆盖损失函数的变化量。变化量的计算公式为:
[0130][0131]
步骤s720:若任一个智能体的变化量小于或等于设定检测阈值时,基于所有智能体的位置,获得所有智能体的死锁消除控制向量;
[0132]
具体地,若其中任一个智能体的变化量小于或等于设定检测阈值时,表明出现了死锁现象。即:其中,δ》0为设定检测阈值,当可视为死锁现象发生,即覆盖损失函数值下降不足,视为死锁现象发生。
[0133]
然后根据所有智能体的位置,计算智能体的死锁消除控制向量。该死锁消除控制向量作用在所有的智能体上,不会使智能体间的相对距离发生变化,因此不会影响网络的连通性。
[0134]
本实施例中,根据构建的死锁消除控制律获得死锁消除控制向量。死锁消除控制向量具体表达式为:
[0135][0136]
其中,为权重,与维诺单元的质量正相关,即区域内密度函数的区域积分值越大,权重越大,v
max
为智能体最大运动速度,t
max
为设定的死锁消除终止时间。
[0137]
步骤s730:将死锁消除控制向量输入智能体动力学模型,获得每个智能体的目标位置并控制每个智能体移动至目标位置;
[0138]
具体地,将死锁消除控制向量输入智能体动力学模型后,就可以获得每个智能体的目标位置,并将每个智能体的位置更新至目标位置,改变每个智能体在覆盖区域中的位置从而消除死锁现象。
[0139]
由上所述,由于相反的运动趋势会造成死锁现象,通过周期性检测死锁现象,进而执行死锁消除控制,能够重启因死锁而停滞的覆盖过程,使得损失函数能够进一步优化,实现较好的覆盖性能提升。
[0140]
综上所述,本发明能够在覆盖损失函数下降的同时,始终保持网络连通度大于设定阈值,实现通信连通保持下实现最优覆盖控制,并且减少因覆盖和通信连通保持而造成的控制震荡和死锁现象。
[0141]
如图4所示,以下对本实施例应用在多智能体系统中的具体实施过程进行详细说明:
[0142]
s1、建立多智能体系统动力学模型与覆盖任务模型。
[0143]
s1.1、设置多智能体系统数量n,在本实施例中,由10个智能体组成,即n=10。所有智能体的坐标为其中,xi∈r2为第i个智能体的坐标。
[0144]
s1.2、设置多智能体系统的覆盖区域及对应密度函数φ(
·
)。在本实施例中,多智能体系统的覆盖区域为边长100m
×
68m的矩形区域,覆盖场景图如图5所示,其中,圆圈表示智能体,虚线表示覆盖轨迹,密度函数数值用图中的色阶表示。
[0145]
s1.3、设置多智能体系统的动力学模型为x(t+δt)=x(t)+uδt,并设置初始时间为t0,结束时间t
final
。在本实施例中,δt=1,t0=0,t
final
=100。
[0146]
s2、建立多智能体系统通信网络模型
[0147]
s2.1、设置每个智能体的通信范围r,其通信拓扑用无向图g=(v,e)表示,其中v(t)={v1,v2,...,v
10
}表示智能体集,表示通信链路集合,保存了拓扑图中智能体之间建立的每一条通信链路。在本实施例中,r=24m。
[0148]
s2.2、选择合适的边权函数f(
·
):[0,∞]
→
[0,1],f(
·
)是一个单调递减的函数,并满足对于d》r,f(d)=0,并定义边权a
ij
记录每一条通信链路(vi,vj)∈e对应的边权f
(d
ij
),记为其中,d
ij
表示第i和第j个智能体之间的欧式距离。本实施例中,选择了如下的边权函数:
[0149][0150]
s2.3、基于上述边权模型,构建拉普拉斯矩阵l,其第二小特征值λ2即为连通度的度量。
[0151]
s3、设置控制器参数
[0152]
s3.1、设置覆盖控制限幅ke,通信连通保持控制限幅kc,连通度下界ε,估计误差上界ψ。在本实施例中,参数选择为ke=2,kc=3,ε=0.2,网络连通度则直接通过l进行计算,因此ψ=0。
[0153]
s3.2、设置基于关键智能体的控制律合成方法的参数,包括远邻与近邻的划分阈值δ,警戒值及增益α1,α2,α3,在本实施例中,参数设置为δ=15,α1=0.5,α2=0.6,α3=0.2。
[0154]
s3.3、设置死锁检测与消除控制的参数,包括死锁检测周期t,检测阈值δ,检测结束时间t
max
,最大速度v
max
,本实施例中,参数选择为t=5,δ=2.5
×
104,t
max
=100,v
max
=1。
[0155]
s4、若mod(t,t)=0且t≤t
max
为真,则根据变化量的计算公式计算e(t),并判断是否为真,若为真,则进入s5,若为假,则进入s6;若mod(t,t)=0且t≤t
max
为假,则进入s6。
[0156]
s5、根据死锁消除控制向量具体表达式计算死锁消除控制向量u
t
,令ui=u
t
,i=1,2,...,n,进入s7。
[0157]
s6、根据分布式覆盖控制律的表达式计算覆盖控制向量根据通信连通保持控制律的表达式计算通信连通保持控制向量根据定义判断每个智能体是否为关键智能体,然后根据式合成控制律的表达式进行控制律的合成得到ui,i=1,2,...,10,进入s7。
[0158]
s7、令进行位置与时间的更新x(t+δt)=x(t)+uδt,t=t+δt。
[0159]
s8、若t》t
final
,则算法结束,反之返回s4。
[0160]
至此,通信连通保持约束下的多智能体覆盖控制方法实施完成。
[0161]
通过matlab进行仿真实验,以网络连通度λ2作为网络连通性的度量,图5展示了仅有覆盖控制律的智能体的覆盖轨迹及最终位置,即图6是对应通信网络连通度曲线。图7是使用本发明提出的合成控制律的智能体的覆盖轨迹及最终位置,图8是对应的通信网络连通度曲线。可以看出,仅有覆盖控制律的智能体的通信网络连通度会随着覆盖中分散行为的进行而降低,最终降低到0,代表通信网络连通性中断;而使用本发明提出的控制律的智能体的通信网络连通度能够一直保持在设定的连通度下界ε=0.2以上,即通信网络能够一直保持连通。
[0162]
以总控制律u的向量1范数||u||作为控制量,图9是使用传统通信连通保持方法的
智能体的控制量曲线,即使用了固定的控制增益的控制律:图10是使用本发明提出的合成控制律的智能体的控制量曲线。可以看出,本发明方法在控制量的震荡上相对于传统方法具有较好的表现,其控制输出更加平稳。
[0163]
在损失函数表现上,传统通信连通保持方法为3.95
×
105,本发明方法为3.24
×
105,可见本发明损失更小,实现的覆盖性能更优。
[0164]
综上所述,通过分析智能体的通信网络连通度曲线和控制量曲线,证实了本发明提出的一种通信连通保持约束下的多智能体覆盖控制方法能够在保持通信网络的同时,相比传统通信连通保持方法,减少了控制的震荡和控制冗余,并且性能更优。
[0165]
示例性设备
[0166]
如图11所示,对应于上述通信连通保持约束下的多智能体覆盖控制方法,本发明实施例还提供一种通信连通保持约束下的多智能体覆盖控制装置,上述通信连通保持约束下的多智能体覆盖控制装置包括:
[0167]
区域划分模块600,用于根据所有智能体的位置将待覆盖区域划分为与各个智能体对应的不重叠的区域;
[0168]
覆盖控制向量获取模块610,用于基于智能体的覆盖区域和智能体的当前位置,获得覆盖控制向量,所述覆盖控制向量用于使所述智能体减小覆盖损失;
[0169]
通信连通保持控制向量获取模块620,用于基于所述智能体的通信拓扑,获得通信连通保持控制向量,所述通信连通保持控制向量用于使所述智能体增加连通度;
[0170]
智能体判定模块630,用于根据关键智能体判定原则对所述智能体进行判定;
[0171]
合成控制向量获取模块640,用于基于所述通信连通保持控制向量和所述覆盖控制向量,根据判定结果获得合成控制向量;
[0172]
位置更新模块650,用于将所述合成控制向量输入智能体动力学模型,获得所述智能体的目标位置并控制所述智能体移动至所述目标位置。
[0173]
具体的,本实施例中,上述通信连通保持约束下的多智能体覆盖控制装置的各模块的具体功能可以参照上述通信连通保持约束下的多智能体覆盖控制方法中的对应描述,在此不再赘述。
[0174]
基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图12所示。上述智能终端包括通过系统总线连接的处理器、存储器、网络接口以及显示屏。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和通信连通保持约束下的多智能体覆盖控制程序。该内存储器为非易失性存储介质中的操作系统和通信连通保持约束下的多智能体覆盖控制程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该通信连通保持约束下的多智能体覆盖控制程序被处理器执行时实现上述任意一种通信连通保持约束下的多智能体覆盖控制方法的步骤。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏。
[0175]
本领域技术人员可以理解,图12中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0176]
在一个实施例中,提供了一种智能终端,上述智能终端包括存储器、处理器以及存
储在上述存储器上并可在上述处理器上运行的通信连通保持约束下的多智能体覆盖控制程序,上述通信连通保持约束下的多智能体覆盖控制程序被上述处理器执行时进行以下操作指令:
[0177]
根据所有智能体的位置将待覆盖区域划分为与各个智能体对应的不重叠的区域并对每个智能体进行位置优化直至达到设定的覆盖目标,所述对智能体进行位置优化的步骤包括:
[0178]
基于智能体的覆盖区域和智能体的当前位置,获得覆盖控制向量,所述覆盖控制向量用于使所述智能体减小覆盖损失;
[0179]
基于所述智能体的通信拓扑,获得通信连通保持控制向量,所述通信连通保持控制向量用于使所述智能体增加连通度;
[0180]
根据关键智能体判定原则对所述智能体进行判定;
[0181]
基于所述通信连通保持控制向量和所述覆盖控制向量,根据判定结果获得合成控制向量;
[0182]
将所述合成控制向量输入智能体动力学模型,获得所述智能体的目标位置并控制所述智能体移动至所述目标位置。
[0183]
可选的,所述基于智能体的覆盖区域和智能体的当前位置,获得覆盖控制向量,包括:
[0184]
基于智能体的覆盖区域,对所述智能体的覆盖损失函数进行梯度求导,获得智能体的优化位置;
[0185]
基于所述智能体的当前位置、所述优化位置和覆盖控制限幅,获得所述覆盖控制向量,所述覆盖控制限幅为所述智能体在单个周期内的最大移动幅度。
[0186]
可选的,所述基于所述智能体的通信拓扑,获得通信连通保持控制向量,包括:
[0187]
根据所述通信拓扑构建无向图;
[0188]
基于所述无向图,计算边权,所述边权用于反映智能体之间的距离对应的权重;
[0189]
基于所有的所述边权,构建拉普拉斯矩阵,获得用于度量智能体之间通信连通性能的网络连通度;
[0190]
基于所述网络连通度,获得所述通信连通保持控制向量。
[0191]
可选的,所述基于所述网络连通度,获得所述通信连通保持控制向量,具体表达式为:
[0192]
其中,α》0为控制增益,csch(
·
)为双曲余割函数,为通信连通度估计值的下界,ε》0为预设的通信连通度下界,ψ》0为估计误差上界,为网络连通度λ2在智能体i的位置xi上的梯度,kc为通信连通保持控制限幅。
[0193]
可选的,所述基于所述通信连通保持控制向量和所述覆盖控制向量,根据判定结果获得合成控制向量,包括:
[0194]
获得所述智能体的网络连通度;
[0195]
当所述网络连通度大于预设的警戒值时,将所述覆盖控制向量设为所述合成控制向量;
[0196]
当所述网络连通度小于或等于预设的警戒值且所述智能体的类型不为关键智能体时,根据第一控制增益、第二控制增益分别对所述覆盖控制向量、所述通信连通保持控制向量进行加权相加,获得所述合成控制向量;
[0197]
当所述网络连通度小于或等于预设的警戒值且所述智能体的类型为关键智能体时,根据第三控制增益对所述覆盖控制向量加权后与所述通信连通保持控制向量相加,获得所述合成控制向量;
[0198]
所述第一控制增益α1、所述第二控制增益α2与所述第三控制增益α3满足0≤α1、α3≤1,α1(ke/kc)≤α2≤1,且α1》α3。
[0199]
可选的,还包括:
[0200]
若当前时刻属于设定的死锁检测周期,比较每个智能体的覆盖损失函数当前周期的值与上一周期的值,获得每个智能体的变化量;
[0201]
若任一个智能体的所述变化量小于或等于设定检测阈值时,基于所有智能体的位置,获得所有智能体的死锁消除控制向量;
[0202]
将所述死锁消除控制向量输入智能体动力学模型,获得每个智能体的目标位置并控制每个智能体移动至所述目标位置。
[0203]
可选的,所述基于所有智能体的位置,获得死锁消除控制向量,具体表达式为:
[0204][0205]
其中,为权重,v
max
为智能体最大运动速度;t
max
为设定的死锁消除终止时间。
[0206]
本发明实施例还提供一种计算机可读存储介质,上述计算机可读存储介质上存储有通信连通保持约束下的多智能体覆盖控制程序,上述通信连通保持约束下的多智能体覆盖控制程序被处理器执行时实现本发明实施例提供的任意一种通信连通保持约束下的多智能体覆盖控制方法的步骤。
[0207]
应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0208]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0209]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0210]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0211]
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以由另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0212]
上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
[0213]
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不是相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
技术特征:1.通信连通保持约束下的多智能体覆盖控制方法,其特征在于,根据所有智能体的位置将待覆盖区域划分为与各个智能体对应的不重叠的区域并对每个智能体进行位置优化直至达到设定的覆盖目标,所述对智能体进行位置优化的步骤包括:基于智能体的覆盖区域和智能体的当前位置,获得覆盖控制向量,所述覆盖控制向量用于使所述智能体减小覆盖损失;基于所述智能体的通信拓扑,获得通信连通保持控制向量,所述通信连通保持控制向量用于使所述智能体增加连通度;根据关键智能体判定原则对所述智能体进行判定;基于所述通信连通保持控制向量和所述覆盖控制向量,根据判定结果获得合成控制向量;将所述合成控制向量输入智能体动力学模型,获得所述智能体的目标位置并控制所述智能体移动至所述目标位置。2.如权利要求1所述的通信连通保持约束下的多智能体覆盖控制方法,其特征在于,所述基于智能体的覆盖区域和智能体的当前位置,获得覆盖控制向量,包括:基于智能体的覆盖区域,对所述智能体的覆盖损失函数进行梯度求导,获得智能体的优化位置;基于所述智能体的当前位置、所述优化位置和覆盖控制限幅,获得所述覆盖控制向量,所述覆盖控制限幅为所述智能体在单个周期内的最大移动幅度。3.如权利要求1所述的通信连通保持约束下的多智能体覆盖控制方法,其特征在于,所述基于所述智能体的通信拓扑,获得通信连通保持控制向量,包括:根据所述通信拓扑构建无向图;基于所述无向图,计算边权,所述边权用于反映智能体之间的距离对应的权重;基于所有的所述边权,构建拉普拉斯矩阵,获得用于度量智能体之间通信连通性能的网络连通度;基于所述网络连通度,获得所述通信连通保持控制向量。4.如权利要求3所述的通信连通保持约束下的多智能体覆盖控制方法,其特征在于,所述基于所述网络连通度,获得所述通信连通保持控制向量,具体表达式为:其中,α>0为控制增益,csch(
·
)为双曲余割函数,为通信连通度估计值的下界,ε>0为预设的通信连通度下界,ψ>0为估计误差上界,为网络连通度λ2在智能体i的位置x
i
上的梯度,k
c
为通信连通保持控制限幅。5.如权利要求1所述的通信连通保持约束下的多智能体覆盖控制方法,其特征在于,所述基于所述通信连通保持控制向量和所述覆盖控制向量,根据判定结果获得合成控制向量,包括:获得所述智能体的网络连通度;
当所述网络连通度大于预设的警戒值时,将所述覆盖控制向量设为所述合成控制向量;当所述网络连通度小于或等于预设的警戒值且所述智能体的类型不为关键智能体时,根据第一控制增益、第二控制增益分别对所述覆盖控制向量、所述通信连通保持控制向量进行加权相加,获得所述合成控制向量;当所述网络连通度小于或等于预设的警戒值且所述智能体的类型为关键智能体时,根据第三控制增益对所述覆盖控制向量加权后与所述通信连通保持控制向量相加,获得所述合成控制向量;所述第一控制增益α1、所述第二控制增益α2与所述第三控制增益α3满足0≤α1、α3≤1,α1(k
e
/k
c
)≤α2≤1,且α1>α3。6.如权利要求1所述的通信连通保持约束下的多智能体覆盖控制方法,其特征在于,还包括:若当前时刻属于设定的死锁检测周期,比较每个智能体的覆盖损失函数当前周期的值与上一周期的值,获得每个智能体的变化量;若任一个智能体的所述变化量小于或等于设定检测阈值时,基于所有智能体的位置,获得所有智能体的死锁消除控制向量;将所述死锁消除控制向量输入智能体动力学模型,获得每个智能体的目标位置并控制每个智能体移动至所述目标位置。7.如权利要求6所述的通信连通保持约束下的多智能体覆盖控制方法,其特征在于,所述基于所有智能体的位置,获得所有智能体的死锁消除控制向量,具体表达式为:其中,为权重,v
max
为智能体最大运动速度;t
max
为设定的死锁消除终止时间。8.通信连通保持约束下的多智能体覆盖控制装置,其特征在于,所述装置包括:区域划分模块,用于根据所有智能体的位置将待覆盖区域划分为与各个智能体对应的不重叠的区域;覆盖控制向量获取模块,用于基于智能体的覆盖区域和智能体的当前位置,获得覆盖控制向量,所述覆盖控制向量用于使所述智能体减小覆盖损失;通信连通保持控制向量获取模块,用于基于所述智能体的通信拓扑,获得通信连通保持控制向量,所述通信连通保持控制向量用于使所述智能体增加连通度;智能体判定模块,用于根据关键智能体判定原则对所述智能体进行判定;合成控制向量获取模块,用于基于所述通信连通保持控制向量和所述覆盖控制向量,根据判定结果获得合成控制向量;位置更新模块,用于将所述合成控制向量输入智能体动力学模型,获得所述智能体的目标位置并控制所述智能体移动至所述目标位置。
9.智能终端,其特征在于,所述智能终端包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的通信连通保持约束下的多智能体覆盖控制程序,所述通信连通保持约束下的多智能体覆盖控制程序被所述处理器执行时实现如权利要求1-7任意一项所述通信连通保持约束下的多智能体覆盖控制方法的步骤。10.计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有通信连通保持约束下的多智能体覆盖控制程序,所述通信连通保持约束下的多智能体覆盖控制程序被处理器执行时实现如权利要求1-7任意一项所述通信连通保持约束下的多智能体覆盖控制方法的步骤。
技术总结本发明公开了一种通信连通保持约束下的多智能体覆盖控制方法、装置及终端,上述方法通过分别获取使智能体减小覆盖损失的覆盖控制向量和使智能体增加连通度的通信连通保持控制向量,然后根据智能体是否是关键智能体对覆盖控制向量和通信连通保持控制向量进行合成,并根据合成获得的合成控制向量获得智能体的目标位置并移动至目标位置。与现有技术相比,实现了优化智能体覆盖控制的同时保持智能体之间的通信连通,即在保持通信连通的同时实现最优覆盖。现最优覆盖。现最优覆盖。
技术研发人员:张蕴霖 邵晋梁 石磊 麻壮壮 盛瀚民 赵源
受保护的技术使用者:深圳市人工智能与机器人研究院
技术研发日:2022.06.17
技术公布日:2022/11/1