基于有限时间观测器的多智能体系统故障诊断方法与流程

文档序号:11250199阅读:876来源:国知局
基于有限时间观测器的多智能体系统故障诊断方法与流程

本发明涉及一种基于有限时间观测器的多智能体系统故障诊断方法,属于应用于多智能体系统技术领域。



背景技术:

近些年来,作为一种可以有效处理复杂系统的工具,多智能体技术已经引起了广泛的关注并被应用于多个重要领域。但是多智能体系统自身特有的网络链接、自由分布、信息共享等优点,也让其更容易受到故障的影响。当多智能体系统中的某一个智能体出现故障的时候,故障可通过多智能体系统特有的网络链接去影响其他智能体,从而使整个多智能体系统遭受严峻的考验。因此,为了提升多智能体系统的稳定性和安全性,针对其的故障诊断技术也应该给予高度的重视。故障诊断可分为故障检测、故障分离和故障估计。故障诊断通过对系统运行状况进行监测来判断是否有故障发生,同时确定故障发生的具体信息,例如时间、位置和大小等。

现有的基于观测器的故障诊断主要依靠于观测器的稳态性能,依靠于观测器是否稳定,即当时间趋近无穷大时,观测器估计值与系统状态形成的误差能否无限接近平衡点。但由于多智能体系统,诸如需编队飞行的飞行控制系统,是一项高耗费高投入的技术,针对其的故障诊断必须要有准确性和快速性。这就对故障诊断的暂态性能和收敛性能都做出了要求。因此,可以引进有限时间技术,有限时间即预先给定了一个有限的时间区间。在这个时间内,控制系统的状态将会在这个有限时间内收敛到稳定平衡点。

中国专利申请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)分别是每个智能体的状态向量和输出向量,表示每个智能体状态向量的微分项,ui(t)是各个智能体的控制输入向量,fi(t)为系统故障,di(t)为外界时变扰动向量;a、b、c分别为所述多智能体系统的状态矩阵、输入矩阵、输出矩阵,矩阵e是故障分布矩阵,矩阵d为扰动分布矩阵。

所述第三步中,任意选取一个智能体p,其中p∈(1~n),基于无向图,依据智能体p,该多智能体系统的全局动态方程重构为:

其中:fr(t)表示发生在第r(r∈np)个智能体中的故障,且f-r(t)表示从全局故障f(t)中移除fr(t)后的矩阵,是相应于fr(t)的分布矩阵,且为的一个子矩阵,而表示从中移除后余下的子矩阵,表示智能体p的局部动态信息,表示集合的基数,其中表示智能体p相邻顶点的集合与智能体p组成的合集;表示局部信息矩阵且为列满秩矩阵,其中in表示一个n×n维的单位阵,是一个行满秩矩阵且为加权邻接矩阵λ的一个子矩阵。

定义所述多智能体系统的全局动态方程:

(3)表示为:

第四步中所述将得到的系统动态方程分解成三个子系统的具体方法为:

假设矩阵与矩阵m都为列满秩矩阵,鉴于也是列满秩矩阵,定义rank(m)=l,(l+q≤p);其中,rank(x)表示一个矩阵x的秩;

假设在这种情况下,矩阵将会存在左伪逆:其中,表示一个矩阵x的左伪逆;

首先对系统的状态方程进行坐标变换,定义一个非奇异矩阵:

其中:w=p1w0,w∈rnn×(nn-l-q),w0是任意一个令矩阵非奇异的矩阵,方阵并满足p12=p1,即p1是一个幂等矩阵,其中inn为一个nn×nn维的单位阵;

通过非奇异矩阵t,系统(4)被分解为:

其中:定义为系统分解后的状态向量,为系统分解后的状态向量的微分项,分别为所述多智能体系统分解后的状态矩阵、输入矩阵、输出矩阵,矩阵是分解后的故障分布矩阵,矩阵为分解后的扰动分布矩阵,具体如下:

且有均表示分解后的状态向量;均为分解后的状态矩阵;同样地,表示分解后的输入矩阵,t为上述所求得的非奇异矩阵,t-1为矩阵t的逆矩阵;il与iq分别表示一个l×l维的单位阵和一个q×q维的单位阵;

的微分项都分别直接被fr(t)与ω(t)两项未知输入所影响,移除的微分项后,系统(5)可写为:

其中:inn-l-q为一个(nn-l-q)×(nn-l-q)维的单位阵,

接下来对系统的输出方程进行坐标变换,定义一个非奇异矩阵:

其中:q=p2q0,q∈rp×(p-l-q),q0选取为任意一个令矩阵非奇异的矩阵;方阵并满足p22=p2,即p2是一个幂等矩阵;

定义u1(t)∈rl×p,u2(t)∈rq×p,u3(t)∈r(p-l-q)×p,定义ip-l-q表示一个(p-l-q)×(p-l-q)维的单位阵,则有:

显然,有其中,0l×(nn-l-q)和0q×(nn-l-q)分别表示l×(nn-l-q)维和q×(nn-l-q)维的零矩阵;再对(6)中的输出方程等式两边同时左乘u-1得到:

通过这些等式,得到所需的降阶子系统:

其中:为降阶输出分布矩阵,为降阶输出向量。

所述第五步中通过在选取的智能体中设计两个独立的观测器,基于有限时间理论,构造出一个在预设时间内收敛的有限时间未知输入观测器的方法是:

首先,假设是能观的,那么两个独立的观测器设计为:

其中:z1(t)与z2(t)分别为构造的两个观测器的状态向量,分别为z1(t)与z2(t)的微分项,且l1与l2是需要设计的观测器增益矩阵;

其次,通过定义:

其中:

上述两个独立的观测器构成一个观测器,再加入一个时滞τ用来估计状态则建立在选取的智能体p中的有限时间未知输入观测器设计为:

其中:表示状态向量的估计值,t0表示初始时间,z(t-τ)即对观测器状态加上一个时滞τ,k=[inn-l-q0nn-l-q][ses]-1且inn-l-q表示一个(nn-l-q)×(nn-l-q)维的单位阵;对于z(t),t∈[t0-τ,t0],假定其中,设为任意一个有界的常值。

所述第五步中的故障诊断律的具体形式为:

其中:表示状态向量的估计值。

本发明的有益效果如下:

一是本发明设计的分布式故障诊断方法,采取在某个智能体中建立观测器去监测其周边智能体的方式,不需要针对每一个智能体都建立观测器,大大减少了所需的观测器数量,从而降低了系统诊断的成本。

二是本发明基于未知输入观测器对多智能体系统进行故障诊断,在设计观测器的过程中,将系统扰动等视为未知输入进行系统分解,这样可以有效地减少外加干扰对系统诊断的影响,从而使故障诊断结果更为可靠。

三是本发明不仅考虑了观测器的稳态性能,更考虑了观测器估计过程的稳态性能和收敛性能,最终可以做到在预先设定的有限时间内进行在线诊断和故障估计,提高了故障诊断的准确性和快速性。

附图说明

图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)分别是每个智能体的状态向量和输出向量,表示每个智能体状态向量的微分项,ui(t)是各个智能体的控制输入向量,fi(t)为系统故障,di(t)为外界时变扰动向量。a、b、c分别为所述多智能体系统的状态矩阵、输入矩阵、输出矩阵,矩阵e是故障分布矩阵,矩阵d为扰动分布矩阵。系统各个矩阵表示如下:

假设该系统发生执行器故障:鉴于执行器故障是发生在控制输入的部分,因此本发明有故障分布矩阵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定义为该多智能体系统的全局状态向量,表示全局状态向量的微分项,y(t)为该多智能体系统的全局输出向量,u(t)∈rnm是全局控制输入向量,为全局故障向量,为全局扰动向量,为全局状态分布矩阵,为全局控制输入分布矩阵,为全局扰动分布矩阵,为全局输出分布矩阵,为全局故障分布矩阵。此外,in表示一个n×n维的单位阵,代表克罗内克积。具体如下:

其中:为第一个智能体的状态向量的转置,为第二个智能体的状态向量的转置,为第n个智能体的状态向量的转置;为第一个智能体的控制输入向量的转置,为第二个智能体的控制输入向量的转置,为第n个智能体的控制输入向量的转置;为第一个智能体的输出向量的转置,为第二个智能体的输出向量的转置,为第n个智能体的输出向量的转置;f1t(t)为第一个智能体的故障向量的转置,为第二个智能体的故障向量的转置,为第n个智能体的故障向量的转置;为第一个智能体的扰动向量的转置,为第二个智能体的扰动向量的转置,为第n个智能体的扰动向量的转置。

进一步的,第二步所述的针对每个智能体的系统动态方程,其实现方法是对每个非线性系统在工作点进行线性化所得到。

进一步的,所述第三步中,任意选取一个智能体p(p∈(1~n)),基于无向图,依据智能体p,该多智能体系统的全局动态方程可表示为:

其中:fr(t)表示发生在第r(r∈np)个智能体中的故障,且f-r(t)表示从全局故障f(t)中移除fr(t)后的矩阵。是相应于fr(t)的分布矩阵,且为的一个子矩阵,而表示从中移除后余下的子矩阵。表示智能体p可用的局部动态信息。表示集合的基数,其中表示智能体p相邻顶点的集合与智能体p组成的合集。表示局部信息矩阵且为列满秩矩阵,其中in表示一个n×n维的单位阵,是一个行满秩矩阵且为加权邻接矩阵λ的一个子矩阵。已知λ=[aij]∈rn×n,其中aij表示每条边的权重,若(νi,νj)∈ε,则aij=1,否则aij=0。同理,λp中的元素表示上述集合中所包含的节点互相组成的每条边的权重。

定义则(3)可以表示为:

进一步的,所述第四步中系统分解的具体方法为:

本发明中假设矩阵与矩阵m都为列满秩矩阵,鉴于也是列满秩矩阵,可以定义rank(m)=l,(l+q≤p)。其中,rank(x)表示一个矩阵x的秩。

然后本发明中假设在这种情况下,矩阵将会存在左伪逆:其中,表示一个矩阵x的左伪逆。

首先对系统的状态方程进行坐标变换,定义一个非奇异矩阵:

其中:w=p1w0,w∈rnn×(nn-l-q),w0是任意一个可以令矩阵非奇异的矩阵。方阵并满足p12=p1,即p1是一个幂等矩阵,其中inn为一个nn×nn维的单位阵。

通过非奇异矩阵t,系统(4)可以被分解为:

其中:定义为系统分解后的状态向量,为系统分解后的状态向量的微分项,分别为所述多智能体系统分解后的状态矩阵、输入矩阵、输出矩阵,矩阵是分解后的故障分布矩阵,矩阵为分解后的扰动分布矩阵,具体如下:

且有均表示分解后的状态向量;均为分解后的状态矩阵;同样地,表示分解后的输入矩阵,t为上述所求得的非奇异矩阵,t-1为矩阵t的逆矩阵。另外,il与iq分别表示一个l×l维的单位阵和一个q×q维的单位阵。

显然,的微分项都分别直接被fr(t)与ω(t)两项未知输入所影响,移除的微分项后,系统(5)可写为:

其中:inn-l-q为一个(nn-l-q)×(nn-l-q)维的单位阵,

接下来对系统的输出方程进行坐标变换,定义一个非奇异矩阵:

其中:q=p2q0,q∈rp×(p-l-q),q0可选取为任意一个令矩阵非奇异的矩阵。方阵并满足p22=p2,即p2是一个幂等矩阵。

定义u1(t)∈rl×p,u2(t)∈rq×p,u3(t)∈r(p-l-q)×p,定义ip-l-q表示一个(p-l-q)×(p-l-q)维的单位阵,则有:

显然,有其中,0l×(nn-l-q)和0q×(nn-l-q)分别表示l×(nn-l-q)维和q×(nn-l-q)维的零矩阵。再对(6)中的输出方程等式两边同时左乘u-1可以得到:

通过这些等式,可以得到所需的降阶系统:

其中:为降阶输出分布矩阵,为降阶输出向量。

进一步的,所述第五步中设计有限时间未知输入观测器的方法是:

首先,本发明中假设是可观的,那么两个分离的观测器可设计为:

其中:z1(t)与z2(t)分别为构造的两个观测器的状态向量,分别为z1(t)与z2(t)的微分项,且l1与l2是需要设计的观测器增益矩阵。

其次,通过定义:

其中:

上述两个独立的观测器可以构成一个观测器,再加入一个时滞τ用来估计状态则建立在选取的智能体p中的有限时间未知输入观测器可以设计为:

其中:表示状态向量的估计值,t0表示初始时间,z(t-τ)即对观测器状态加上一个时滞τ,k=[inn-l-q0nn-l-q][ses]-1且inn-l-q表示一个(nn-l-q)×(nn-l-q)维的单位阵。由于设计的过程中包含时滞,那么观测器必须要有一个初始条件。对于z(t),t∈[t0-τ,t0],不失一般性地,本发明中假定其中,可设为任意一个有界的常值。

为了实现在有限时间内对多智能体系统的故障进行在线诊断与故障估计,本发明第五步所述的有限时间未知输入观测器必须满足:

1)有界性:该观测器的估计误差在时间区间[t0,t0+τ]内必须保持有界;

2)收敛性:该观测器可以在有限时间τ内收敛,即:

当该观测器满足以下两个约束条件时:

1)f是稳定的;

2)det[s,es]≠0;

本发明第五步所述的有限时间未知输入观测器存在且可以保证估计过程中的有界性并在有限时间τ内估计出状态其中,第二个约束条件det[s,es]≠0可以通过对观测器增益l1与l2的选取来达到。给定任意一个标量σ<0,当选取的l1与l2可以使

re(λi(f2))<σ<re(λj(f1))<0,i,j=1,...,nn-l-q

则对基本上任意一个τ∈r+,det[s,es]≠0都可以满足,其中:λi(f2)表示矩阵f2的任意一个特征值,λj(f1)表示矩阵f1的任意一个特征值。

所述第五步中的故障诊断律的具体形式为:

其中:表示状态向量的估计值,

为了防止不能在某些系统中得到,可以用来代替:

其中:α为大于零的标量,ypf(t)为代替输出yp(t)构造的新的输出向量,为ypf(t)的微分项。

这样,故障诊断律变为:根据建立在智能体p中的有限时间观测器得到的状态估计值和该故障诊断律可以在有限时间内完成对其邻接智能体r的在线故障诊断和故障估计。

如图1所示,图1中智能体1、智能体2、智能体3和智能体4代表该无向图具有4个节点。从图1中可以得出加权邻接矩阵在本实施例中,选取智能体2建立有限时间未知输入观测器,用来对其周边智能体进行故障诊断。由图1可以看出,智能体2与其他三个智能体均相连,因此本实施例中则λp=λ。具体实施过程中可以得到公式(3)中的两项重要参数如下:

需要用到的两个坐变换矩阵为:

应用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中的故障都不会对故障诊断的结果产生影响。且由图中曲线可以看出,本发明所用的未知输入观测器的方法,极大的抑制了外加噪声的影响。

从仿真结果可以得出,当多智能体系统中一个或多个智能体出现故障时,只需要设计少量的观测器,本发明设计的基于有限时间未知输入观测器分布式故障诊断方法即可以在预先设定的有限时间内进行在线诊断和故障估计,且可以良好地抑制外加时变干扰的影响。本发明对于多智能体系统在有限时间内的故障诊断与准确监测具有重要的实用参考价值。

本发明的具体实施方式中凡未涉到的说明属于本领域的公知技术,可参考公知技术加以实施。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1