本发明涉及一种基于有限时间观测器的多智能体系统故障诊断方法,属于应用于多智能体系统技术领域。
背景技术:
近些年来,作为一种可以有效处理复杂系统的工具,多智能体技术已经引起了广泛的关注并被应用于多个重要领域。但是多智能体系统自身特有的网络链接、自由分布、信息共享等优点,也让其更容易受到故障的影响。当多智能体系统中的某一个智能体出现故障的时候,故障可通过多智能体系统特有的网络链接去影响其他智能体,从而使整个多智能体系统遭受严峻的考验。因此,为了提升多智能体系统的稳定性和安全性,针对其的故障诊断技术也应该给予高度的重视。故障诊断可分为故障检测、故障分离和故障估计。故障诊断通过对系统运行状况进行监测来判断是否有故障发生,同时确定故障发生的具体信息,例如时间、位置和大小等。
现有的基于观测器的故障诊断主要依靠于观测器的稳态性能,依靠于观测器是否稳定,即当时间趋近无穷大时,观测器估计值与系统状态形成的误差能否无限接近平衡点。但由于多智能体系统,诸如需编队飞行的飞行控制系统,是一项高耗费高投入的技术,针对其的故障诊断必须要有准确性和快速性。这就对故障诊断的暂态性能和收敛性能都做出了要求。因此,可以引进有限时间技术,有限时间即预先给定了一个有限的时间区间。在这个时间内,控制系统的状态将会在这个有限时间内收敛到稳定平衡点。
中国专利申请2016108243782提出了“领导-跟随型多智能体系统的有限时间鲁棒故障诊断设计方法”,基于有向图通讯拓扑结构,得出拉普拉斯矩阵;再针对每个节点建立状态方程和输出方程,并将状态向量与故障向量增广为新的向量;根据构建的有向图,构造基于有向图的分布式误差方程与全局误差方程;最后基于有限时间鲁棒控制,得到多智能体系统的故障诊断观测器的增益矩阵。但该方法还存在以下不足:一是该方法虽然考虑了外界干扰的存在,但在设计过程中只借助鲁棒控制的设计思想在一定程度上减少其对故障诊断结果的不利影响,而不能彻底消除,这或多或少地在设计层面上造成了诊断准确性的降低;二是该方法采用的多智能体系统故障诊断的方法是需要在每一个智能体中都建立相对应的观测器,成本较高;三是该方法虽然可以在有限时间内进行故障诊断,但是该有限时间不能进行预先设定,在线实时故障诊断的快速性还需进一步提高。
技术实现要素:
本发明提出了一种基于有限时间观测器的多智能体系统故障诊断方法,通过在某一个特定的智能体中建立有限时间未知输入观测器从而观测与其相邻智能体的故障的方法,实现了对多智能体系统的分布式故障诊断。本发明中所设计的分布式故障诊断设计方法,可在理论上抑制外界时变干扰对故障诊断的影响,并可在预先设定的有限时间内,对各邻接智能体中任意一个智能体出现的故障或多个智能体同时出现故障时实行有效准确的有限时间在线诊断和故障估计。
本发明为解决其技术问题采用如下技术方案:
一种基于有限时间观测器的多智能体系统故障诊断方法,包括如下具体步骤:
第一步:通过多智能体系统间的通讯链接,构建多智能体系统连接图并以无向图表示,从而得出加权邻接矩阵λ;
第二步:针对每个智能体,通过在工作点进行局部线性化的方法,得到该多智能体系统的局部动态方程,并根据得到的无向图建立多智能体系统的全局动态方程;
第三步:在多智能体系统中任意选取一个智能体,重构多智能体系统的全局动态方程,此时的系统输出由与该智能体相关的局部动态信息构成;
第四步:通过两个坐标变换,将第三步中得到的系统动态方程分解成三个子系统,并得到没有包含未知输入的降阶子系统;
第五步:通过在选取的智能体中设计两个独立的观测器,基于有限时间理论,构造出一个在预设时间内收敛的有限时间未知输入观测器;根据该有限时间观测器得到的状态估计值和一个故障诊断律在有限时间内完成对邻接智能体的在线故障诊断和故障估计。
第一步中得出加权邻接矩阵λ的具体方式为:
设由一组顶点和边构成一个完整的多智能体系统的无向图,其中v={v1,v2,...,vn}定义为顶点的集合,v1为第1个智能体,v2为第2个智能体,vn表示第n个智能体;ε={(vi,vj):vi,vj∈v}定义为边的集合;顶点νi与vj分别表示第i个智能体和第j个智能体,i,j∈{1,2,...,n}且i≠j;边(νi,νj)用来表示智能体j可以接收智能体i的信息;定义与顶点νp相邻顶点的集合为np={vj∈v:(vp,vj)∈ε,p≠j};
定义λ=[aij]∈rn×n表示该无向图的加权邻接矩阵,其中aij表示每条边的权重;若(νi,νj)∈ε,则aij=1,否则aij=0;并且aii=0。
第二步中所述多智能体系统的局部动态方程:
上述方程中,xi(t)和yi(t)分别是每个智能体的状态向量和输出向量,
所述第三步中,任意选取一个智能体p,其中p∈(1~n),基于无向图,依据智能体p,该多智能体系统的全局动态方程重构为:
其中:fr(t)表示发生在第r(r∈np)个智能体中的故障,且f-r(t)表示从全局故障f(t)中移除fr(t)后的矩阵,
定义
(3)表示为:
第四步中所述将得到的系统动态方程分解成三个子系统的具体方法为:
假设矩阵
假设
首先对系统的状态方程进行坐标变换,定义一个非奇异矩阵:
其中:w=p1w0,w∈rnn×(nn-l-q),w0是任意一个令矩阵
通过非奇异矩阵t,系统(4)被分解为:
其中:
且有
其中:inn-l-q为一个(nn-l-q)×(nn-l-q)维的单位阵,
接下来对系统的输出方程进行坐标变换,定义一个非奇异矩阵:
其中:q=p2q0,q∈rp×(p-l-q),q0选取为任意一个令矩阵
定义
显然,有
通过这些等式,得到所需的降阶子系统:
其中:
所述第五步中通过在选取的智能体中设计两个独立的观测器,基于有限时间理论,构造出一个在预设时间内收敛的有限时间未知输入观测器的方法是:
首先,假设
其中:z1(t)与z2(t)分别为构造的两个观测器的状态向量,
其次,通过定义:
其中:
上述两个独立的观测器构成一个观测器,再加入一个时滞τ用来估计状态
其中:
所述第五步中的故障诊断律
其中:
本发明的有益效果如下:
一是本发明设计的分布式故障诊断方法,采取在某个智能体中建立观测器去监测其周边智能体的方式,不需要针对每一个智能体都建立观测器,大大减少了所需的观测器数量,从而降低了系统诊断的成本。
二是本发明基于未知输入观测器对多智能体系统进行故障诊断,在设计观测器的过程中,将系统扰动等视为未知输入进行系统分解,这样可以有效地减少外加干扰对系统诊断的影响,从而使故障诊断结果更为可靠。
三是本发明不仅考虑了观测器的稳态性能,更考虑了观测器估计过程的稳态性能和收敛性能,最终可以做到在预先设定的有限时间内进行在线诊断和故障估计,提高了故障诊断的准确性和快速性。
附图说明
图1为本发明实施验证的实例所建立的具有四个智能体节点的多智能体系统无向图,其中:图标1—4分别表示该多智能体系统中的智能体1、智能体2、智能体3和智能体4。
图2为本发明实施例ι所测的智能体1、2、4同时出现故障时,通过本发明所设计的分布式故障诊断方法得到的结果示意图;其中图2(a)为智能体1的故障估计值与故障真实值的对比曲线示意图;图2(b)为智能体2中发生的故障真实值的示意图;图2(c)为智能体3的故障估计值与故障真实值的对比曲线示意图;图2(d)为智能体4的故障估计值与故障真实值的对比曲线示意图。
图3为本发明实施例ιι所测的智能体2、3、4同时出现故障时,通过本发明所设计的分布式故障诊断方法得到的结果示意图。其中图3(a)为智能体1的故障估计值与故障真实值的对比曲线示意图;图3(b)为智能体2中发生的故障真实值的示意图;图3(c)为智能体3的故障估计值与故障真实值的对比曲线示意图;图3(d)为智能体4的故障估计值与故障真实值的对比曲线示意图。
具体实施方式
下面结合附图对本发明创造做进一步详细说明。
本发明以如下的某垂直起降飞机纵向运动方程为实施对象,针对其编队飞行中出现的执行器故障,提出一种基于有限时间未知输入观测器的多智能体系统分布式故障诊断设计方法,该故障诊断方法可以提高故障诊断的暂态性能和收敛性能,使系统在预先设定的有限时间内完成在线诊断与故障估计;
考虑如下的某垂直起降飞机纵向运动方程:
其中,xi(t)和yi(t)分别是每个智能体的状态向量和输出向量,
假设该系统发生执行器故障:鉴于执行器故障是发生在控制输入的部分,因此本发明有故障分布矩阵e=b;假定系统的输入扰动的分布矩阵是d=[0010]t。
首先,构建多智能体系统连接图并以无向图表示,得出加权邻接矩阵λ:
设由若干个顶点和若干个边组成一个完整的多智能体系统的无向图,其中v={v1,v2,...,vn}定义为顶点的集合,v1为第1个智能体,v2为第2个智能体,vn表示第n个智能体;ε={(vi,vj):vi,vj∈v}定义为边的集合;顶点νi与vj分别表示第i个智能体和第j个智能体,i,j∈{1,2,...,n}且i≠j;边(νi,νj)用来表示智能体j可以接收智能体i的信息;定义与顶点νp相邻顶点的集合为np={vj∈v:(vp,vj)∈ε,p≠j}。
定义λ=[aij]∈rn×n表示该无向图的加权邻接矩阵,其中aij表示每条边的权重;若(νi,νj)∈ε,则aij=1,否则aij=0;并且aii=0。
根据构建的无向图,可以构造出该多智能体系统的全局动态方程:
其中:x(t)∈rnn定义为该多智能体系统的全局状态向量,
其中:
进一步的,第二步所述的针对每个智能体的系统动态方程,其实现方法是对每个非线性系统在工作点进行线性化所得到。
进一步的,所述第三步中,任意选取一个智能体p(p∈(1~n)),基于无向图,依据智能体p,该多智能体系统的全局动态方程可表示为:
其中:fr(t)表示发生在第r(r∈np)个智能体中的故障,且f-r(t)表示从全局故障f(t)中移除fr(t)后的矩阵。
定义
进一步的,所述第四步中系统分解的具体方法为:
本发明中假设矩阵
然后本发明中假设
首先对系统的状态方程进行坐标变换,定义一个非奇异矩阵:
其中:w=p1w0,w∈rnn×(nn-l-q),w0是任意一个可以令矩阵
通过非奇异矩阵t,系统(4)可以被分解为:
其中:
且有
显然,
其中:inn-l-q为一个(nn-l-q)×(nn-l-q)维的单位阵,
接下来对系统的输出方程进行坐标变换,定义一个非奇异矩阵:
其中:q=p2q0,q∈rp×(p-l-q),q0可选取为任意一个令矩阵
定义
显然,有
通过这些等式,可以得到所需的降阶系统:
其中:
进一步的,所述第五步中设计有限时间未知输入观测器的方法是:
首先,本发明中假设
其中:z1(t)与z2(t)分别为构造的两个观测器的状态向量,
其次,通过定义:
其中:
上述两个独立的观测器可以构成一个观测器,再加入一个时滞τ用来估计状态
其中:
为了实现在有限时间内对多智能体系统的故障进行在线诊断与故障估计,本发明第五步所述的有限时间未知输入观测器必须满足:
1)有界性:该观测器的估计误差
2)收敛性:该观测器可以在有限时间τ内收敛,即:
当该观测器满足以下两个约束条件时:
1)f是稳定的;
2)det[s,efτs]≠0;
本发明第五步所述的有限时间未知输入观测器存在且可以保证估计过程中的有界性并在有限时间τ内估计出状态
re(λi(f2))<σ<re(λj(f1))<0,i,j=1,...,nn-l-q
则对基本上任意一个τ∈r+,det[s,efτs]≠0都可以满足,其中:λi(f2)表示矩阵f2的任意一个特征值,λj(f1)表示矩阵f1的任意一个特征值。
所述第五步中的故障诊断律
其中:
为了防止
其中:α为大于零的标量,ypf(t)为代替输出yp(t)构造的新的输出向量,
这样,故障诊断律变为:
如图1所示,图1中智能体1、智能体2、智能体3和智能体4代表该无向图具有4个节点。从图1中可以得出加权邻接矩阵
需要用到的两个坐变换矩阵为:
应用matlab软件,将预先设定的有限时间选取为τ=1s,选取α=0.001,将极点配置在[-2-1-2-2]和[-7-6-7-7],可以得到:
为验证本发明分布式故障诊断方法的效果,采用以下两个仿真实施例来进行验证,在两例实施例中,均在系统模型中加入了噪声作为扰动。
实施例ι
假设智能体1、2、4同时出现了故障:
第1个智能体出现的故障
第2个智能体出现的故障
第4个智能体出现的故障
图2为本发明实施例ι所测的智能体1、2、4同时出现故障时,通过本发明所设计的分布式故障诊断方法得到的结果示意图。其中图2(a)为智能体1的故障估计值与故障真实值的对比曲线示意图;图2(b)为智能体2中发生的故障真实值的示意图;图2(c)为智能体3的故障估计值与故障真实值的对比曲线示意图;图2(d)为智能体4的故障估计值与故障真实值的对比曲线示意图。且其中智能体2是本实施例中选为建立有限时间未知输入观测器的智能体,所以理论上在其中发生的故障不应该影响对其周边智能体的故障诊断。
实施例ιι
假设智能体2、3、4同时出现故障,其中智能体2中出现的故障设定为与实施例ι中大小不变:
第3个智能体出现的故障
第4个智能体出现的故障
图3为本发明实施例ιι所测的智能体2、3、4同时出现故障时,通过本发明所设计的分布式故障诊断方法得到的结果示意图。其中图3(a)为智能体1的故障估计值与故障真实值的对比曲线示意图;图3(b)为智能体2中发生的故障真实值的示意图;图3(c)为智能体3的故障估计值与故障真实值的对比曲线示意图;图3(d)为智能体4的故障估计值与故障真实值的对比曲线示意图。且其中智能体2是本实施例中选为建立有限时间未知输入观测器的智能体,所以理论上在其中发生的故障不应该影响对其周边智能体的故障诊断。
如附图所示,当故障发生在智能体2周边的智能体中时,建立在智能体2中的有限时间未知输入观测器可以在预先设定好的有限时间τ=1s内完成在线诊断和故障估计。并且,发生在其他智能体中的故障,包括发生在智能体2中的故障都不会对故障诊断的结果产生影响。且由图中曲线可以看出,本发明所用的未知输入观测器的方法,极大的抑制了外加噪声的影响。
从仿真结果可以得出,当多智能体系统中一个或多个智能体出现故障时,只需要设计少量的观测器,本发明设计的基于有限时间未知输入观测器分布式故障诊断方法即可以在预先设定的有限时间内进行在线诊断和故障估计,且可以良好地抑制外加时变干扰的影响。本发明对于多智能体系统在有限时间内的故障诊断与准确监测具有重要的实用参考价值。
本发明的具体实施方式中凡未涉到的说明属于本领域的公知技术,可参考公知技术加以实施。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。