基于分布式自适应的多智能体容错一致性控制
2020-04-15张普薛惠锋高山
张普,薛惠锋,高山
西北工业大学 自动化学院,西安 710129
目前,多智能体编队集成了单智能体的大量优势,并具有广泛的应用价值,其在军事领域的应用尤为突出。同时,多智能体编队在多约束情况下的协同控制、避障、信息融合以及容错一致性等关键技术被大量学者所关注和研究。其中,容错控制研究在解决实际问题过程中,具有非常重要的地位,也是当前研究的热点和难点。一致性理论在自主智能体的网络中,具有典型聚集行为,已经逐渐成为研究的热点问题[1-3],包括无人机协同编队飞行、网络、机器人编队、水下无人机编队等广泛的应用。内部交互系统是由离散的、一直变化的,并广泛分布在整个网络中的多种成分所构成。因此,容错一致性理论成为解决以上问题的方法。在典型的多智能体系统中,一般是由很多智能体组成一个协同系统,在该系统中,每个智能体仅在分布式结构状态下对其相邻的智能体共享其局部信息,进而以一种协同方式去实现全局普遍性行为。
因此,文献[4-5]采用代数图论对线性Vicsek模型进行了理论性的研究,得到实现多智能体一致性的充分条件是网络结构能够在有限的时间内频繁的连接。同时,还提出了一种有效的一致性结构用于解决复杂网络中多智能体的一致性和同步性问题。文献[6-7]均采用基于拓扑结构的智能体编队信息交换机制对编队进行控制,使得系统也能达到渐进一致稳定。文献[8-10]提出了一种分布式自适应一致性方法,用于克服智能体之间不同步的局限性,在一致性控制器设计中需要知道图论中拉普拉斯矩阵的特征值,这个特征值实际上是智能体系统的整体信息。文献[11]给出了二阶系统一致性理论在多智能体中的充分必要条件,充分证明了一致性方法的优势。文献[12]对国内外多智能体技术的应用进行了阐述,分析了多智能体一致性及控制的关键技术,并指出目前亟需解决容错一致性问题。对于多智能体编队系统的研究,当子系统的数目较少且通讯正常的情况下,可应用集中式控制方法解决多智能体协同编队运动。然而,对于一个多智能体系统而言,当有个别智能体逐渐老化或者出现故障时,在这种情况下,由于系统中单个智能体具有特定的作用,不能轻易取而代之。而且不同智能体出现老化或者故障的程度不同,可能导致增加修复的成本。因此,本文提出了分布式自适应下的容错控制研究,主要解决2个问题:① 系统中单个智能体发生故障或者环境不确定,智能体仍能完成任务;② 智能体系统发生故障时,设计分布式容错控制器及时补偿故障误差,使其快速恢复正常的工作状态。
在过去几年里,在对系统进行故障分析时,由于网络系统的复杂性和时实系统的安全需要,很多学者已做了大量研究去解决网络系统和执行机构中的故障问题。例如,文献[13]对延迟系统进行了故障估计研究,此后,复杂系统的故障诊断和检测有了一定的进展。文献[14]对一种广义非线性系统的执行器进行了容错控制研究。文献[15]研究了单一系统的容错控制服从于执行器饱和非线性扰动的影响。文献[16]对于一类非线性系统设计出了一种容错控制结构。文献[17]设计了一种容错控制适用于一类非线性样本数据系统。文献[18]将容错控制应用于实际工程中,解决了无人机的执行高负荷以及长航时旋翼疲劳断裂导致其失控甚至坠毁不能完成作战任务的问题,具有实际的应用价值。Yoo针对无人机编队中任意一架无人机的执行机构故障,在不确定外界环境条件下,设计了一种反步容错控制,有效地解决了无人机编队飞行中的容错控制问题[19]。文献[20-21]研究了四旋翼无人机在运动过程中执行机构容易发生故障影响飞行品质问题,提出了执行器故障下四旋翼无人机的容错控制估计方法,为后续研究提供了充足的理论支撑。魁北克大学Ghommam等[22]采用反步法,设计了基于局部相对信息的分布式控制器,实现了多无人机的有效跟踪,仿真实验验证了该算法的有效性。但是,作者并没有考虑系统的输入饱和因素,这不利于工程实践。文献[23]针对多个欧拉系统分布式编队牵制问题以及模型的不确定性,提出了一种输出反馈控制方法。然而,该成果未考虑避障情况和通讯时延的约束。综上所述,容错控制的发展非常迅速,并主要用于解决大量的实际应用问题。
尽管在现有文献中,一些有效的容错控制已经得到了发展,但在多智能体系统的研究中仍有一些问题亟待解决。总体上,多智能体系统已在生态系统、传感器网络以及机器人编队等方面得到了应用。然而,随着温度和设备年限的增加以及不可避免的能量损失等因素都能够引起故障的发生。因此,需要针对多智能体编队中个别单智能体出现故障问题,设计一种新的自适应一致性协议,解决以上问题。
为了解决多智能体容错控制一致性问题,相对于文献[19],本文的主要创新点和主要工作为:① 在分布式一致性控制领域中,基于“领航者-跟随者”编队模型考虑多智能体中领航者模型的非线性和量化输入特性;② 所设计的控制律不需要领航者的位置信息和速度信息以及任何自适应函数逼近器的信息补偿自身的故障所带来故障误差;③ 设计了一种离线情况下的自适应容错控制器,能够实现多智能体的横向距离误差减小70.58%,纵向距离误差减小87.09%,同时横向和纵向的动态收敛时间分别减小44.12%和25.85%。因此,所提出的控制方法能够对信号的扰动进行及时处理,并对故障后的编队系统进行实时补偿控制,达到快速编队运动的目的。
1 建立模型
1.1 图 论
一个加权无向图G=(V,ε,A)由非空顶点集V={v1,v2,…,vN}和边缘集ε={eij=(vi,vj)}以及一个加权邻接矩阵A=[aij]N×N组成。其中,aij为非负元素,且aij>0,它是节点vi和vj之间的边,另外,当aij=0,表示节点vi和vj之间没有边。节点vi的邻边由Ni={vi∈V:(vi,vj)∈ε}指代。在图G中节点vi和vj之间的路径是一系列边(vi1,vi2),(vi2,vi3),…,(vil-1,vil)。如果图G是连通的,则图G中任何节点vi和vj,存在一条路径vi和vj(i,j=1,2,…,N)[1]。
拉普拉斯矩阵L=[lij]∈RN×N定义为
(1)
1.2 数学模型
本文多智能体编队系统由4个智能体构成,其中智能体1作为领航者,其余智能体作为跟随者。同时,智能体1的速度方向作为编队前行方向,其余智能体紧跟其后。多智能体运动示意图,如图1所示。
图1 多智能体编队运动示意图Fig.1 Formation movement of multiple agents
本文中,考虑了一组N(N=4)个具有相同特性的线性动力学智能体。第k个智能体的动态方程为
(2)
为了解决容错一致性问题,首先建立了故障模型。在本文中,考虑故障时的执行机构模型[22],其一致性控制协议为
(3)
式中:qk为未知执行器的故障因子,代表了第k个智能体的故障。
对于任意u∈R且ε>0[24],有
(4)
式中:k=0.278 5。此外,对于Riccati方程,满足矩阵P正定,即
(PA+ATP)-PBBTP+In=0
(5)
式中: 存在P正定且(A,B)是稳定的,同时他们之间的运算满足克罗内克积。In代表了N阶单位矩阵。1N∈RN指的是所有的列向量都为1。同时,令PB=Q。
(M⊗In)(ΘΩ(t)L⊗BBTP)z+
(QΘ⊗In)(IN⊗B)f(t,x)
(6)
为得到智能体的不确定模型,给出以下假设:
假设1 第k个智能体的不确定性:
[g1(t,xk(t)),g2(t,xk(t)),…,gm(t,xk(t))]T
满足:
(7)
式中:αk和βk是未知常量,(c1,c2)∈(0,1)是权重系数。
假设3 在智能体编队中,领航者和跟随者之间的通讯是通畅的。
2 控制器设计
针对系统(2)中,领航者一旦出现故障,设计分布式自适应容错控制器能够有效快速地补偿故障影响,并完成预设的任务。其控制律为[25]
(8)
式中:bk为第k个智能体的权重系数,且当与邻近的智能体有信息交互,则bk=1,反之为零。
(9)
备注2 式(8)中uak表示智能体故障补偿控制律。当领航者出现故障时,其模型的未知扰动项g(t,xk(t))为非线性函数,需要减小或消除这种未知扰动项,才能使系统快速达到稳定状态。
证明 令未知扰动项g(t,xk(t))=S1(非线性函数),控制项uk=S2(非线性函数)。
当多智能体中领航者出现故障时,自适应控制项uk必须满足以下关系:
uk=g(t,xk(t))
(10)
S1+S2≅0
(11)
此时,所设计的控制协议能够减小或消除这种未知扰动。
对于第k个智能体的一致协议增益更新率ωk为
(12)
式中:dk1、dk2为正常数。
(13)
式中:
(14)
(15)
(16)
(17)
该性质用于式(15)和式(16)参数的更新,为式(9)中自适应容错一致性控制器的设计提供理论支撑。在多智能体中,领航者出现故障后,所设计控制器能快速实现补偿,达到稳定状态的具体步骤为
步骤1 每个智能体的传感器用来感知和搜索邻近信息。
步骤2 每个智能体中的参数通常是更新的,这些参数根据式(15)和式(16)中的更新率来监测和调整。
步骤3 触发器能够使用这些参数去补偿式(9)中所控制的每一个智能体,最终使所有的智能体实现一致性的目的。
(18)
3 稳定性分析
构建李雅普诺夫函数,即
(19)
对式(19)时间求导,有
(20)
将式(6)代入式(20)可得
(21)
(22)
由式(9)~式(22),可知:
zT(t)(LΘ⊗PB)uak+zT(t)(L⊗PB)f(t,x)=zT(t)(LΘ⊗PB)uak+zT(t)(L⊗PB)·
(23)
(24)
(25)
(26)
根据不等式(24)~(26),可得
(27)
(28)
结合不等式(23)和(27),代入式(13)中的更新律,可以得到
(29)
进一步,可得
zT(t)(LΘΩ(t)L⊗PBBTP)z+
uak+zT(t)(L⊗PB)f(t,x)+
zT(t)(-L⊗PB)(ImN-2ΦB(t))·
(30)
(31)
通过选择足够大的ω满足2ωλi≥1(i=2,3,…,N),同时根据式(5),可以得到
(32)
令ζ=1/λmax(P),同时选择kαk=ζ,kβk=ζ,其可以进一步简化为
(33)
证明 由式(3)可知,智能体故障模型控制协议如下:
(34)
式中:mk为正常数。
假设故障因子qk=a(a为常数),则误差动力学模型,可进一步化简为
(MΘ⊗B)uak+(M⊗B)f(t,x)
(35)
当多智能体经过时间t,达到既定的队形并保持,则误差z等于零,即z=0。因此,式(35)可简化为
(36)
4 仿真验证
在本文中,多智能体编队由4个智能体构成,他们具有相同的特性。为了验证所设计分布式自适应容错方法在领航者出现故障的情况下多智能体编队运动的有效性和稳定性,本文基于系统模型(2)进行数值仿真。同时将文献[19]和本文所提出的方法进行对比分析,进一步验证所提方法的优势所在。根据图1,本文考虑具有4个节点的多智能体系统,同时模型(2)系统矩阵A∈R4×4,B∈R4×2。
根据图论,可得多智能体编队系统的拉普拉斯矩阵L,即
(37)
采用MATLAB解式(5),可得矩阵P,即
(38)
考虑多智能体编队系统出现故障,即
(39)
式中:αli表示领航者的故障系数,(αl1,αl2,αl3,αl4)=(0.214,0,0,0,0),βfi表示跟随者的故障系数,(αf1,αf2,αf3,αf4)=(0.345 2, 0.547 4, 0.321 4, 0)。同时,考虑多智能体模型容错参数估计,即
(40)
其他初始值为
k=1,2,3,4,ζ=1/λmax(P)=1.081 1
4.1 收敛性分析
基于以上的假设和初始条件,对所提出方法在多智能体编队的运动收敛性进行分析。其仿真结果如图2~图4所示。
图2给出了多智能体纵向距离误差曲线图。由图可知,随着时间变化,该曲线呈现出一种智能体2和3缓慢下降,智能体1和4缓慢上升,之后均趋于稳定状态。0~10 s,智能体2和3在前,智能体1和4在后,并追赶智能体2和3。在领航者出现故障后,自适应算法启动,智能体2和3减速,智能体2和4加速,使得他们与期望位置的误差逐渐减小至稳定状态;10 s后,多智能体编队系统按照 “领航者-跟随者”编队模式运动。
图2 纵向距离误差曲线Fig.2 Curves of longitudinal distance error
图3 横向距离误差曲线Fig.3 Curves of lateral distance error
图4 “领航-跟随”相对距离误差曲线Fig.4 Curves of relative distance error for “leader-follower”
图3给出了多智能体横向距离误差曲线图。由图可知,随着时间变化,该曲线呈现一种智能体1和3快速下降,智能体2和4缓慢上升,且智能体2和4小幅振荡,之后均趋于稳态。在1 s时,智能体1和3的横向距离误差已达到最小,此时智能体2和4基本趋于零,这是由于智能体1在0.9 s时出现故障,此时自适应容错算法立刻启动,该曲线缓慢上升并迅速趋于稳定;在3 s之后,4个智能体横向距离误差收敛于零,保持预设的队形运动。
图4给出了“领航者-跟随者”智能体编队系统的相对距离误差曲线图。由图可知,随着时间的变化,该曲线呈现一种先快速上升,然后小幅振荡直至趋于稳态的趋势。在0.9 s之前,曲线呈现一种快速上升,这是由于跟随者以不同的速度追踪领航者,智能体间的距离增大;在领航者出现故障后,该曲线呈现波动趋势,这是由于在0.9 s之后智能体处于从即将到达预设的队形到期望的队形之间的微调整阶段,即领航者需保持速度,而跟随者需减速;在5 s之后,曲线趋于稳定状态,并4个智能体的速度和相对位置保持一致。
4.2 鲁棒性分析
为了进一步验证所提出自适应控制方法的鲁棒性,本节采用相同参数进行仿真研究。由于多智能体编队在平面内运动,本节针对所设计的分布式自适应容错方法在横向和纵向因领航者出现故障补偿后的跟随者的追踪距离误差进行对比分析,如图5~图7所示。
图5给出了智能体纵向追踪距离误差曲线图。由图可知,随着时间的变化,该曲线呈现一种先快速下降,而后缓慢上升,直到稳定状态。在0.9 s之前,该曲线呈现快速下降趋势,这是由于他们的初始位置和速度均不相等,在集结过程中,他们之间的纵向距离逐渐缩小,且智能体4的速度减小最大;在1~3.5 s,曲线呈现缓慢上升,这是由于领航者出现故障,自适应算法启动后,智能体达到预设的队形之前处于微调整阶段,而且跟随者几乎收敛于领航者的飞行轨迹。在6 s之后,多智能体之间的相对位置和速度保持一致同时确保避障。
图5 智能体纵向追踪距离误差收敛图Fig.5 Convergence diagram of longitudinal tracking distance error of agent
图6 “领航-跟随”编队偏航角指令曲线Fig.6 Command curves of yaw angle of “leader- follower” formation
图7 多智能体偏航角速率曲线Fig.7 Curves of multi-agent yaw angle rate
图6给出了“领航者-跟随者”编队系统的偏航角指令曲线。由图可知,随着时间的变化,该曲线呈现先快速上升,后小幅振荡直至稳定状态。在多智能体编队系统运动过程中,因领航者出现故障,为了补偿或者消除这种故障影响,所提出的分布式自适应容错控制算法可以确保在故障情况下,正常编队运动。在0.9~3 s之前,领航者在前,跟随者在其后,跟随者追踪领航者过程中,速度方向指向领航者,此时偏航角增大。智能体1的偏航角达到1.4°,即将达到预设队形,此时需减小偏航角防止发生碰撞;在4~10 s,4个智能体处于即将达到预设队形微调整阶段,此时领航者减小,保持一个常值,其余跟随者微调其偏航角保持预设队形运动;在12 s之后,4个智能体处于稳定状态。
图7给出了多智能体偏航角速率曲线图。随着时间的变化,该曲线呈现一种快速上升后,趋于稳定状态。在集结预设编队之前,智能体编队系统缩小之间的相对距离;在即将达到预设队形时进行微调整,然后保持速度和相对位置的一致性稳定运动。由图7可知,4个智能体的偏航角速率的变化量分别是0.43、0.11、0、0.10 (°)/s,稳态所需时间分别为5、4.2、4.21、2.5 s。易得,在0.9 s,智能体1为领航者出现故障,此时所设计的容错控制算法启动,使其在2 s调整至正常运动状态,直至6 s后保持一致协同编队运动。
从以上分析可知,多智能体编队系统中领航者出现故障时,所提出的分布式自适应容错控制方法能够补偿故障带来的损失,保持系统正常运行。而且,该方法动态响应快,追踪误差效果好。
4.3 可行性分析
为了进一步验证所提出方法的可行性和优势性,本节采用相同的系统模型,初始条件以及相关参数,将所提出的方法和文献[19]在横向距离误差和纵向距离误差以及达到稳定所需的收敛时间进行对比分析,仿真结果如图8和图9所示。
图8给出了多智能体横向距离误差对比曲线图。由图可知,随着时间变化,文献[19]中的方法的横向距离误差曲线呈现一种先迅速上升,后缓慢下降直至趋于稳态,而本文所提出的方法的横向距离误差曲线呈现一种迅速上升后趋于稳态。同时,文献[19]和本文方法的横向距离误差分别为0.17、0.05 m;相应的达到平衡状态所需时间分别为3.4、1.9 s,由此可知本文所提的控制方法,稳态误差小,动态响应快,有利于容错补偿控制。
图9给出了多智能体纵向距离误差对比曲线图。文献[19]所提方法的纵向距离误差曲线,随着时间变化,呈现一种快速上升,然后缓慢下降,之后又小幅震荡,直至缓慢达到稳定状态,而本文所提出的控制方法的纵向距离误差曲线呈现缓慢上升后迅速达到稳定状态。文献[19]和本文方法纵向距离误差分别为0.31和0.04 m,相对应达到稳态的时间分别为32.5和24.1 s,显然易知,本文所提出的控制方法,不但可以使领航者受损的多智能体编队系统恢复正常的运动状态,而且能够快速达到预定的队形,同时保持队形不变。
图8 横向距离误差对比Fig.8 Comparison of lateral distance errors
图9 纵向距离误差对比Fig.9 Comparison of longitudinal distance errors
根据文献[19]和本文所提出的方法对应的横、纵向距离误差以及相对应收敛时间,将其汇总,如表1所示。
由表1可知,本文所提出的方法不仅在横向距离误差小,响应时间短,而且在纵向距离误差更小,响应时间更短,对于多智能编队系统的容错补偿更有利。
表1 横、纵向距离误差以及收敛时间
5 结 论
基于一致性理论,本文提出一种分布式自适应容错控制方法,该方法采用李雅普诺夫稳定性理论对其进行了证明,并通过数值仿真实验验证了该方法的收敛性和鲁棒性。主要结论如下:
2) 如果多智能体故障发生在集结预设队形之后,通过本文相关理论推导,易知多智能系统是稳定的,即使发生故障,所提出的方法也不能实现容错控制。因此,本文所研究的被控对象有相应的约束条件。
3) 本文是以多智能体最小研究单元作为被控对象,即4个智能体,并采用所提出的方法进行容错控制。同时所提出的方法适用于数目小于10的多智能体编队。
然而,本文仅考虑多智能体从不同起点以不同速度出发到集结预设队形过程中容错控制,每个智能体视为质点处理,未考虑测距传感器的精确等,下一步工作将在缩比模型上进行试验以验证所设计的控制方法的可控性和有效性。