1.本发明属于多智能体编队控制技术领域,具体涉及一种基于演化博弈的多智能体编队的分层模型预测控制方法。
背景技术:2.群体行为是自然界中普遍存在的现象,如鸟群的编队迁徙,鱼群的结队巡游,蚁群的协同工作以及细菌的聚集而生等等,这种集体合作能够使生物群体在觅食生存、逃避天敌等方面有着单个个体难以实现的优势,有利于完成复杂的、具有一定目的或功能性的活动。多智能体控制是人们效仿自然界群体行为提出来的,其中编队控制是当前多智能体领域研究的热点。编队控制要求通过设计合适的控制协议,使多个移动的智能体同时运动到期望的目标点,并在运动过程中保持给定的几何图形。编队控制的应用前景广泛,如军事侦查、安全巡逻、搜索救援等领域。
3.传统的集中式编队控制方法需要系统的全部信息和较大的通信能力、计算能力,动态性能和实时性能较差。而分布式控制为每个智能体设计一个局部的控制器,并在一定程度上考虑了全局控制目标,因而只需要借助局部的邻居信息就能够实现群体的行为,从而解决全局性的任务。在减少计算量和通信量的同时,提高了系统的灵活性和对环境的适应性。在实际应用中,一方面为了安全考虑,编队控制应该保证智能体具有避障和避碰的功能;另一方面,由于智能体的通讯范围有限,使得智能体在移动过程中系统的通信拓扑会发生改变,所以编队控制还应该考虑时变的通信拓扑。目前,现有技术中还没有分布式的兼具避碰和避障功能的,并且能应用于时变系统的编队控制方法。
技术实现要素:4.有鉴于此,本发明提供了一种基于演化博弈的多智能体编队的分层模型预测控制方法,能够在受到通讯约束的情况下,每个智能体只需要获得局部的邻居信息就可以无碰撞地形成编队的目标,并且该发明对于时变的通信网络也同样适用。在提高了控制性能和安全性能的同时,降低了计算的复杂程度,减少了通信负担。
5.为实现上述目的,本发明的一种基于演化博弈的多智能体编队的分层模型预测控制方法,包括如下步骤:
6.步骤1,建立多智能体系统,所述多智能体系统中,某个智能体l指定为leader智能体,其余智能体作为它的follower智能体;所述leader智能体为所有智能体规划一个整体的移动路线,作为其邻居的空间参考;所述follower智能体通过与其邻居智能体保持固定的相对位置来实现编队;所述leader智能体中设有局部模型预测控制器;每个follower智能体中均设有d3sd预测模型;
7.步骤2,将leader智能体当前的状态数据传递给所述局部模型预测控制器,得到当前时刻最优控制输入量和预测的下一时刻的状态;其中,所述局部模型预测控制器通过模型预测控制算法为leader智能体构建优化问题,所述优化问题是最终目标状态已知情况
下,使下一时刻目标状态下对应的当前时刻的控制输入量最小,获得当前时刻最优控制输入量;
8.将当前时刻最优控制输入量输入leader智能体的局部模型预测控制器,得到下一时刻leader智能体的位置;将预测的下一时刻的状态传递给邻居follower智能体;
9.根据演化博弈的性质为每个follower智能体构建预测模型,记为d3sd预测模型;
10.每个follower智能体以当前状态作为输入量,通过d3sd预测模型对自身follower智能体进行局部优化,使下一时刻状态与其邻居状态形成一个编队,得到最优控制输入;
11.步骤3,根据得到的各个智能体的最优控制输入对所述的多智能体进行编队优化。
12.其中,每个follower智能体中还包括局部控制器,所述步骤2中,通过d3sd预测模型对自身follower智能体进行局部优化的方式为:
13.首先根据当前的状态通过d3sd预测模型预测自己下一时刻的状态,然后将其传递给邻居的局部控制器,并且接收邻居的预测数据,通过求解局部优化问题得到自己的最优控制输入。
14.其中,所述步骤2中,为leader智能体构建的优化问题为:
[0015][0016]
其中,u
l
和z
l
分别代表智能体l的控制输入和状态,h
l
≥0为预测步长,q
l
、r
l
、p
l
为权重系数;z
l
(k+p|k)为在k时刻预测的k+p时刻的状态,||
·
||为范数,||z||
q
=z
t
qz;
[0017]
所受到的状态方程约束为:
[0018]
z
l
(k+p+1|k)=a
l
z
l
(k+p|k)+b
l
u
l
(k+p|k)
[0019]
其中,a
l
和b
l
为系数矩阵;
[0020]
避障约束为:
[0021][0022]
其中,为障碍物的位置,为所有障碍物的集合,r为定义的安全距离;状态和输入约束为:
[0023][0024]
其中,为可允许的状态集合,为可允许的控制输入集合;
[0025]
通过求解为leader智能体构建的优化问题,得到最优控制输入和预测的
[0026]
其中,所述leader智能体所在的层次为strategy层,follower智能体所在的层次为tactical层。
[0027]
其中,为follower智能体构建的局部优化问题为:
[0028][0029][0030]
还受到避碰约束:
[0031]
||x
i
‑
x
j
||≥r
[0032]
求解所述局部优化问题,得到每个follower智能体的最优控制输入
[0033]
其中,所述步骤2中,利用全局编队目标函数为每个follower智能体构建d3sd预测模型;
[0034]
其中全局编队目标为:
[0035][0036]
其中,为所有follower智能体的集合,为智能体i的邻居集合,q
ij
为权重系数;
[0037]
将全局编队问题转化成分布式密度依赖型演化博弈,用分布式密度依赖型smith动力学来预测每个智能体的状态:
[0038][0039]
其中,f
i
是演化博弈中,参与者选择策略i的所对应的效益函数,σ
i
为系数。
[0040]
有益效果:
[0041]
本发明采用leader
‑
follower编队控制结构,首先为leader智能体设计一种具有避障功能的局部模型预测控制器,然后通过将全局编队控制问题转化成为演化博弈问题,构建了基于分布式密度依赖型演化博弈的预测模型,在此基础上为每个follower智能体设计一种兼具避碰和避障功能的局部控制器。实现了在受到通讯约束的情况下,每个智能体只需要获得局部的邻居信息就可以无碰撞地形成编队的目标,解决了传统集中式控制方法需要系统的全部信息,需要较强的计算能力和通信能力的问题,以及已有的leader
‑
follower编队方法中,需要所有的follower智能体与leader智能体进行通讯的问题。
[0042]
本发明对于时变的通信网络也同样适用。在提高了控制性能和安全性能的同时,降低了计算的复杂程度,减少了通信负担,解决了现有的部分编队控制算法不能处理具有通讯约束或时变通讯网络的问题。
[0043]
本发明构建了基于分布式密度依赖型演化博弈的预测模型,在此基础上为每个follower智能体设计一种兼具避碰和避障功能的局部控制器,无需借助物理器械(摄像头、雷达等)辅助。
[0044]
本发明在获取系统中各个智能体当前的状态数据后,为每个智能体构建了局部的控制算法,具有分布式控制的特点,适应于具有通讯约束和时变通信网络的多智能体编队系统。根据模型预测控制的思想,设计了滚动优化的方法,为leader智能体规划了一条能够躲避固定障碍物的路线;然后根据全局的最优化目标,利用d3sd算法设计了局部的预测模型,使得每个follower智能体能够预测其下一时刻的状态,经过信息交换后,为每个follower智能体构建了一个兼具避障和避碰功能的局部控制器。解决了传统集中式控制缺乏信息共享及需要与leader智能体进行通讯的问题。
附图说明
[0045]
图1为现有的集中式控制方法的通讯结构图;
[0046]
图2为本发明leader
‑
follower结构中智能体的划分示意图;
[0047]
图3为本发明智能体初始的通信拓扑图示意图;
[0048]
图4为本发明基于演化博弈的多智能体编队的分层模型预测控制结构图;
[0049]
图5无d3sd算法在全局通信下的仿真效果图;
[0050]
图6为本发明所提出的d3sd算法下的仿真效果图;
[0051]
图7为无d3sd的算法下的仿真结果图;
[0052]
图8为本发明所提出的d3sd算法下智能体避碰效果图;
[0053]
图9为本发明所提出的d3sd算法下各个智能体的控制输入效果图。
具体实施方式
[0054]
下面结合附图并举实施例,对本发明进行详细描述。
[0055]
如图1所示,用于多智能体的集中式控制方法需要每个智能体之间都能进行通讯,而在实际生活中,由于通信范围有一定的距离要求,造成智能体只能与邻居进行信息交流,不满足集中式控制方法的要求;因此,为了解决现有的用于多智能体编队的控制算法不适用于时变通信网络以及无法避障和避碰的问题,本发明公开了一种基于演化博弈的多智能体编队的分层模型预测控制方法,包括建立多智能体系统以及基于演化博弈的多智能体编队的分层模型预测控制两个部分;
[0056]
其中,第一部分,建立多智能体系统;包括如下子步骤:
[0057]
步骤11,确定系统的通信拓扑图。
[0058]
多智能体系统中,信息交互是保障多智能体编队安全、稳定控制的前提。leader
‑
follower结构中智能体的划分示意图如图2所示,假设系统中有n≥0个智能体,各个智能体的通信距离为θ,即如果智能体i和智能体j的距离d=||x
i
‑
x
j
||<θ,那么智能体j就被称为智能体i的邻居,它们之间可以进行信息交流,所有智能体i的邻居集合用表示。整个系统的通信结构用拓扑图表示,其中表示图的节点集合,代表n个智能体;为图边的集合,图边的权值矩阵为a=
[a
ij
],当且智能体j能与智能体i通讯时,a
ij
=1;若则a
ij
=0。
[0059]
步骤12,系统架构的设计。
[0060]
本发明智能体初始的通信拓扑图示意图如图3所示,在多智能体组成的系统中,将其中某个智能体l指定为leader,其余智能体作为它的follower。leader智能体为所有智能体规划一个整体的移动路线,作为其邻居的空间参考。而follower智能体通过与其邻居智能体保持固定的相对位置来实现编队。
[0061]
第二部分,基于演化博弈的多智能体编队的分层模型预测控制,本发明基于演化博弈的多智能体编队的分层模型预测控制结构图如图4所示,该控制方法分为两层:针对leader智能体的strategy层和针对follower智能体的tactical层。在strategy层,通过将leader智能体当前的状态数据传递给局部模型预测控制器,得到最优的控制输入和预测的下一时刻的状态然后将预测的状态传递给它在tactical层的邻居follower智能体;在tactical层,每个follower智能体首先根据当前的状态通过d3sd预测模型预测自己下一时刻的状态,然后将其传递给邻居的局部控制器,并且接收邻居的预测数据,通过求解局部优化问题得到自己的最优控制输入。其具体步骤为:
[0062]
步骤21,针对leader智能体的局部模型预测控制器(strategy层):
[0063]
s10、采用leader
‑
follower编队控制方法,确定每个智能体的邻居,获取各个智能体的实时状态数据以及期望数据;所述实时状态数据包括智能体当前的状态和速度,所述期望数据包括leader智能体的目标位置以及形成编队时,各个智能体之间的相对位置。
[0064]
其中,确定leader智能体l的目标点以及leader智能体的邻居集合采集leader智能体在k时刻的状态其中,x
l
表示leader智能体的位置,v
l
表示leader智能体的速度;
[0065]
s11、通过各个智能体当前的状态,利用模型预测控制算法为leader智能体构建以当前状态为输入量、各个智能体的控制力为输出的编队优化模型。leader智能体的控制目标为:
[0066][0067]
在不考虑避碰条件的情况下,为leader智能体建立mpc优化问题:
[0068][0069]
其中,u
l
和z
l
分别代表智能体l的控制输入和状态,h
l
为预测步长,q
l
、r
l
、p
l
为权重系数。z
l
(k+p|k)为在k时刻预测的k+p时刻的状态,||
·
||为范数,||z||
q
=z
t
qz。
表示阶段成本函数,表示终端成本函数。
[0070]
s12、leader智能体所受到的约束:
[0071]
对于任意p∈[0,h
l
‑
1],leader智能体在k时刻预测的k时刻的值,为此时的实际状态:
[0072]
z
l
(k|k)=z
l
(k)
[0073]
所受到的状态方程约束为:
[0074]
z
l
(k+p+1|k)=a
l
z
l
(k+p|k)+b
l
u
l
(k+p|k)
[0075]
其中,a
l
和b
l
为系数矩阵。
[0076]
leader智能体在移动过程中,应当避免和障碍物发生碰撞,即与障碍物保持一个相对安全的距离:
[0077][0078]
其中,为障碍障碍物的位置,为所有障碍物的集合,r为设定的安全距离。
[0079]
leader智能体在移动过程中,其状态应在规定的范围内(即在指定的范围内移动,其速度不能超过最大速度以及不低于最小速度),控制输入不能超过调节能力的上下限:
[0080][0081]
其中,为可允许的状态集合,z
l
和分别是leader智能体状态,为可允许的控制输入集合,u
l
和分别是最小和最大的控制输入。
[0082]
s13、如果s11和s12中所组成的优化问题可行,局部模型预测控制器会计算得到一个可以最小化成本函数j
l
的最优控制序列和相应的最优状态序列在每个时刻,最优控制序列的第一个元素会作为控制行为应用到leader智能体上,而相应的会作为预测值发送给leader智能体在tactical层的邻居。
[0083]
步骤22,针对follower智能体的演化博弈控制器(tactical层):
[0084]
s20、假设在形成编队之前,各个智能体之间不会发生碰撞,也并不会受到任何约束条件。此时,系统的全局控制目标是调节每个follower智能体与其相邻智能体之间保持一定的距离,并尽可能形成一个预先设计好的队形。即全局的优化问题为:
[0085]
[0086]
q
ij
为权重矩阵。特别的,如果j=l,
[0087]
s21、在演化博弈中,每个参与者可以从策略集合中选择某个策略来进行博弈,m
i
≥0代表选择策略s
i
的智能体的数目,表示参与者在策略集合中的分布,种群中所有参与者的数目为m=m1+
…
+m
n
,表示种群的大小。定义ρ
i
=m
i
/m,p=[ρ1,...,ρ
n
]和π=ρ1+
…
+ρ
n
分别为种群的状态和量,表示所有可能的状态集合。f
i
(p)表示参与者选择策略i所带来的效益,种群中的效益函数为f(p)=[f1,...,f
n
]。
[0088]
在演化博弈中,选择策略i的智能体按照一定的修正φ
ij
(f(p),p)可以转变为选择j策略,这一过程可以用分布式的平均动力学(distributed mean dynamics)来描述:
[0089][0090]
其中表示所有策略i可以转变的策略集合。
[0091]
与分布式的平均动力学不同,分布式密度依赖演化博弈动力学(distributed density
‑
dependent dynamics)中包含了繁殖率γ
i
:
[0092][0093]
通常认为,种群的大小确定繁殖率,当种群中采取策略i的智能体的量增大时,γ
i
应该减小。即γ
i
应正比于效益函数f
i
,γ
i
=δ
i
f
i
,δ
i
≥0。
[0094]
如果选择修正协议φ
ij
(f(p),p)=[f
j
‑
f
i
]
+
,则得到了分布式密度依赖smith动力学(distributed density
‑
dependent smith dynamics,d3sd)。
[0095][0096]
上式中,其均衡点p
*
被称为纳什均衡。当处于纳什均衡时,f
j
(p
*
)=f
i
(p
*
)。另外,由于所获得的效益不会再得到提高,参与者不会在不同策略之间进行转换,即γ
i
=0,f(p)=0。
[0097]
s22、由于s10中的全局函数j(x)是连续可微的,且最优解x
*
满足假设所有智能体都位于一个正定可测量的坐标系中,那么就可以将编队控制问题转化成为分布式的密度依赖型演化博弈问题。即将作为种群博弈中种群的状态,为种群博弈中的策略集为种群博弈中的策略集作为效益函数。这样f(x)就转化成了分布式密度依赖型演化博弈,其势函数为j(x)。利用在分布式密度依赖性演化博弈中,每个参与者按照d3sd演化,可以达到其纳什均衡点这一性质,预测每个follower智能体在在下一时刻的位置
[0098][0099]
根据所预测的由系统的动态方程求出然后将预测值发送给相应的邻居智能体。
[0100]
步骤23,根据通信拓扑,智能体之间相互传递信息,为follower智能体建立局部最优化目标。
[0101]
s30、每个follower智能体的目标为与其邻居智能体保持预期的相对位置,即局部最优化目标为:
[0102][0103][0104]
s31、各个follower智能体受到的约束:
[0105]
z
i
(k+1|k)=a
i
z
i
(k)+b
i
u
i
(k)
[0106][0107][0108]
其中,如果j=l,如果如果以上各个约束与s11中的约束含义相同。除这些约束外,每个follower智能体移动过程中,需要保证不与其他智能体发生碰撞,即每个智能体和其他智能体之间保持一个相对安全距离:
[0109]
||x
i
‑
x
j
||≥r
[0110]
s31、通过并行求解s23中的优化问题,每个follower智能体可以得到自己的最优控制输入和相应的最优控制状态
[0111]
步骤23,将各个智能体根据控制器计算得到的最优控制输入应用到每个智能体中,在下一时刻(k+1时刻)重复以上步骤。
[0112]
注意:为了实现分布式编队控制的目的,在每个时刻k要求系统的通信拓扑图是连通的。
[0113]
为了更好的展示本发明的有效性,将本发明中的基于演化博弈的多智能体编队的分层模型预测控制方法(为了下文方便,简称d3sd算法)的编队结果与其他两种控制方法相比:
[0114]
1)全局通讯算法:假设智能体不受到通讯约束,每个follower智能体都能与
leader智能体进行通讯。在k时刻,当leader智能体通过模型预测控制规划好的路线后,将传递给每个follower智能体。然后follower与leader智能体保持期望的相对位置来形成编队,即通过求解以下的优化问题得到自己的最优控制输入:
[0115][0116][0117]
z
i
(k+1|k)=a
i
z
i
(k)+b
i
u
i
(k)
[0118][0119]
2)无d3sd算法:该算法的结构与本文提出的d3sd算法结构一致,不同点在于该算法中不通过d3sd来预测智能体的状态,而是利用k
‑
1时刻的控制输入和系统的动态方程预测k+1时刻的状态。
[0120]
图5中的三张图展示了在全局通信算法下,各个智能体的轨迹、与障碍物1的距离(distance)、与障碍物2的距离(distance);图6中的三张展示了无d3sd算法下各个智能体的轨迹、与障碍物1的距离(distance)以及与障碍物2的距离(distance)的仿真效果图。图7中的三张图展示了根据本发明所提出的d3sd算法得到的各个智能体的轨迹、与障碍物1的距离(distance)、与障碍物2的距离(distance)。三种算法均实现编队的目的。但是采用全局通信算法时,某些智能体与固定障碍物的距离小于安全距离r(图中的红色虚线),有可能发生碰撞;而本发明所提出的d3sd算法和作为对比的无d3sd算法能够有效地避开障碍物,并与两个障碍物保持安全距离。
[0121]
为了定性的分析,将全局通信下的算法作为为基准算法,定义性能指标为:
[0122][0123]
其中t
run
是仿真运行的时间。
[0124][0125]
从表中可以看出,d3sd算法的性能下降率为6.54%,无d3sd算法的性能下降率为11.8%。因此,与无d3sd算法相比,d3sd算法在没有牺牲太多性能的情况下实现了避障功能。
[0126]
如图8所示,d3sd算法中任意两个智能体之间的相对距离总是大于安全距离r,而其他两种算法中,智能体之间的距离有小于安全距离的情况,可能会发生碰撞。对于其他的约束条件,图9描述了在d3sd算法下,每个智能体的实际输入都在两条红色虚线内,即满足输入约束。
[0127]
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。