购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3 基于自适应观测器的多执行器卡死故障诊断

本节主要研究基于线性定常系统发生多执行器卡死故障时的故障检测和估计的方法。首先根据一个一般的线性定常系统,设计并提出一个基于自适应故障诊断观测器的故障诊断方法,该方法可用于检测线性系统发生的多执行器卡死故障并快速地估计出故障的大小。在绝大多数实际控制系统的运行过程中总是伴随着一定程度的建模误差、外部扰动等不确定性因素,故本节在考虑到控制系统存在不确定的外部扰动的情况下,在设计自适应故障估计算法的过程中引入鲁棒H 性能指标,使得提出的新型故障估计算法不仅具有很好的故障估计性能,而且对于系统的外部扰动也具有很好的鲁棒性。一个复杂的控制系统普遍具有多个执行器,因此当系统的多个执行器发生故障时,不仅需要检测出故障的发生,还需要定位出具体是哪一个或哪几个执行器发生了故障。考虑到不同执行器发生卡死故障时会使系统模型跳变成不同的故障模型,本节通过引入基于多模型的故障检测方法实现了故障隔离的目的。最后将该方法应用到三自由度双旋翼直升机的线性模型上,仿真结果证明了该方法的有效性。

近些年随着线性矩阵不等式(Linear Maxtrix Inequality,LMI)这一数学工具的发展以及MATLAB中LMI控制工具箱的推广,在控制理论的研究中,越来越多的学者将控制问题转化为一个可用LMI工具处理的可行性问题或凸优化问题,然后再利用MATLAB中的LMI工具箱求解。

2.3.1 执行器卡死故障系统描述

根据2.2节所建立的三自由度双旋翼直升机的线性模型,先研究一个一般的线性定常控制系统。考虑到系统受到的干扰,选取研究模型如下:

式中,x(t)∈R n 为状态向量;u(t)∈R m 为输入向量;y(t)∈R p 为输出向量;d(t)∈R q 为系统未知的有界干扰向量;A、B、C、E d 为相应维数的已知矩阵。

当系统的第i个执行器发生卡死故障时,这时无论执行器的输入信号是多少,第i个执行器的输出都为一未知恒定的值,系统的故障模型可以表示为:

式中,B i ={b 1 ,b 2 ,…,b i 1,0,b i+ 1,…,b m },i=1,2,…,m;b i 表示输入矩阵B的第i列列向量; 表示第i个执行器发生卡死故障时卡死位置所对应的对故障系统造成的输入作用。由于控制系统设计时无法预知执行器发生卡死故障时的卡死位置,故 是未知的。本章的研究任务为如何检测并估计出执行器的卡死故障,并且能够准确快速地定位出是哪个执行器发生了卡死故障,即故障隔离。

2.3.2 鲁棒快速自适应故障估计方法

这里根据一个一般的线性定常系统设计一个基于自适应观测器的鲁棒快速自适应故障估计算法,该方法可以用于估计系统发生执行器加性故障时的故障大小,并且考虑到系统运行时可能存在的外部扰动,在设计一种新型的自适应故障估计算法的过程中引入鲁棒H 性能指标,使得提出的新型故障估计算法不仅具有很好的故障估计性能,而且对于系统的外部扰动也具有很好的鲁棒性。

1.系统描述

假设一个一般的线性定常控制系统,当该系统发生执行器加性故障后的模型如下:

式中,x(t)∈R n 为状态向量;u(t)∈R m 为输入向量;y(t)∈R p 为输出向量;d(t)∈R q 为系统未知的有界干扰向量;f(t)∈R r 为系统执行器故障;A、B、C、E d 、E f 为相应维数的已知矩阵。在提出该定理之前,需要给出以下几个假设条件:

(1)系统完全可观测。

(2)rank(CE f )=r。

(3)(A,E f ,C)的不变零点全部在S复平面的左半平面内。

(4)f(t)为常值或随时间变化缓慢,即

2.故障估计算法设计

针对控制系统的故障模型[式(2.5)~式(2.6)]设计具有如下结构的自适应观测器:

式中, 表示观测器的状态向量; 表示观测器的输出向量; 表示故障 f(t)的估计值;由于控制系统完全可观测,所以一定可以选取合适的观测器增益矩阵L保证(A-LC)为稳定矩阵。

为了讨论观测器的稳定性,定义状态估计误差向量、输出估计误差向量、故障估计误差向量分别为如下形式:

则由式(2.8)~式(2.11)可得误差动态系统的状态方程和输出方程为:

定理2.1: 假设存在正常数γ>0,对称正定矩阵P∈R n×n 和矩阵Y∈R n×p ,F∈R r×p 满足以下条件:

则采用如下的鲁棒快速自适应故障估计算法:

可使得误差动态系统在零初始条件下满足,并且状态估计误差和故障估计误差渐进收敛,其中,L=P -1 Y,*代表在对称矩阵中对称位置的元素,Γ∈R r×r 为自适应学习率且满足Γ>0。

3.稳定性证明

新型自适应故障估计算法以定理2.1的形式给出了,这里将证明该定理的正确性,选取如下形式的李雅普诺夫函数:

取V(t)的导数并考虑式(2.16)和式(2.19),可得:

由式(2.17),即E T P=FC,则

将式(2.15)和式(2.22)代入式(2.21),则可得:

根据式(2.18)可知:

式中,

给定零初始条件,对上式从0到T积分,可得:

又由于 ,进一步可得 ,即误差系统的L 2 增益小于一确定正数γ。再当系统满足鲁棒性能指标时, ,可得误差动态系统渐进稳定,即状态估计误差和故障估计渐进收敛。定理证明完毕。

注释2.1: 定理2.1成立的条件关键是:能否存在满足条件式(2.17)和式(2.18)的常数和矩阵。由文献[54]可知,假设(2)和假设(3)与式(2.17)成立和存在矩阵L使得P(A-LC)+(A-LC) T P<0是等价的。这样前面给出的假设条件也成为了验证该算法是否能应用于一个控制系统的判断条件,满足假设条件的系统一定能找到满足定理条件的常数和矩阵。

注释2.2: 定理2.1的求解条件中,如何解得满足条件式(2.17)和式(2.18)的常数和矩阵是个难题。这里采用最优逼近思想,将这个带有等式约束的矩阵不等式求解问题转换成下面的最优问题,这样处理之后定理中的等式条件和不等式条件可以利用 MATLAB中的LMI工具箱求解。

Minimize η subject to

式中,标量η>0为满足式(2.26)的最优极小值,该最优问题表示当η足够小时,可认为 近似等于FC。

注释 2.3: 与经典的自适应估计算法相比,定理 2.1 的鲁棒快速自适应故障估计算法增加了输出估计误差e y (t)的导数项,通过引入输出估计误差的导数项可提高故障估计算法的收敛速度,显著提升故障估计性能。由式(2.19)可知故障估计算法为:

2.3.3 多模型故障诊断方法

上面针对一个一般的线性定常系统,设计了一种鲁棒快速自适应故障估计方法,可用于估计线性系统的执行器加性故障。然而一个复杂控制系统普遍具有多个执行器,当控制系统的多个执行器发生故障时,需要定位出具体是哪一个或者哪几个执行器发生了故障。根据先前建立的执行器卡死故障系统模型,这里通过引入基于多模型的故障检测方法将鲁棒快速自适应故障估计算法应用于多执行器卡死故障诊断问题中。

1.多模型问题描述

多模型系统主要由以下三部分组成:

(1)根据控制系统数学模型结构的不确定和参数的不同,对控制系统建立多个固定的数学模型,构成多模型集合:

式中,Ω是以模型M i 为元素的一个模型集;M i 是模型集中的每一个固定的系统模型。

(2)根据模型集Ω中的每一个模型来创建多个控制器,并集中构成控制器集合:

式中,C是基于模型集Ω设计的控制器集合;U i 是基于每一个系统模型M i 设计的控制器。

(3)制定切换策略,从设计的模型集中选择最符合当前控制系统所处状态的最优模型,并将基于最优模型设计的那一个控制器以一定的切换策略切换为控制系统当前控制器:

式中,f 是已知的函数代表制定的切换策略;θ是一参数向量。不同的控制系统具有不同的特性,因此需要不同的切换函数,所以 f 的表示形式也都不同。

当正常运行的控制系统发生故障时,故障会使得控制系统从标称系统P 0 突然变为故障系统P fault 。故障系统可能是系统数学模型的参数与标称系统不同,也可能是系统数学模型的结构都与标称系统不同,无论哪种情况,原来的标称系统数学模型已不再适用于故障系统,而基于数学模型的故障诊断方法都需要实际故障系统较为精确的数学模型。基于以上的考虑,针对控制系统每种可能的故障系统分别建立一个故障模型,所有故障模型构成一个模型集。当控制系统运行时发生故障,可在线基于设计好的指标找到模型集中与实际系统匹配最好的模型,这样发生的故障也就被诊断出来了。基于多模型思想和自适应观测器的故障诊断系统结构如图2.16所示,基于控制系统在发生每一种特定故障下的数学模型设计一组自适应观测器来生成残差信号,通过对残差信号的处理分析,判断出与当前实际系统匹配最佳的那一个模型。每个自适应观测器都分别生成一个残差信号r i , i=0,1,…,m,当模型集中的第i个模型与当前实际系统故障模式相匹配时,r i =0,同时对于所有的j≠0,r j ≠0。为了使系统与模型的匹配更加准确,引入一个目标函数,通过一个目标函数来选择与系统匹配最好的模型,即达到故障隔离的目的。

图2.16 多模型故障诊断结构

2.多模型故障诊断方法

前面已经分析了控制系统发生执行器卡死故障后的系统数学模型,可将故障模型式(2.6)~式(2.7)描述为如下具有多模型结构的形式:

因无法预知控制系统在实际运行中何时会发生执行器卡死故障,也无法预知哪个执行器会发生卡死故障,更无法预知发生故障后执行器卡死的位置,所以这里的 都是未知的,当系统不同执行器发生卡死故障时 的取值都是不同的。

为了确定哪一个执行器发生卡死故障,设计一组如下自适应观测器产生残差信号来确定哪一个模型与系统当前运行状态的模型相匹配:

式中,B i ={b 1 ,b 2 ,…,b i1 ,0,b i+ 1,…,b m },i=1,2,…,m,b i 表示B的第i列列向量; 表示第i个执行器发生故障时卡死位置所对应的对故障系统造成的输入作用; 为故障 的估计值。

由此可得一组误差动态方程为:

定义残差信号

当实际系统的第i个执行器发生卡死故障时,这时 , ,由此可知对应于第i个自适应观测器,系统误差动态方程等价为如下的形式:

式中, 。这里可应用鲁棒快速自适应故障估计算法

根据定理2.1可知误差动态系统式(2.37)~式(2.38)稳定,故障估计误差 渐进收敛并且在零初始条件下满足 。可知当控制系统第i个执行器发生卡死故障时,对于第i个观测器生成的残差信号 趋近于零。

而当第i个执行器发生卡死故障时,对于除了第i个自适应观测器以外的其他观测器误差动态方程为:

这里 , ,i≠ j。此时残差信号 不趋近于零。

上面已经针对系统的每一个执行器故障设计了一个对应的自适应观测器,这里就可生成一组残差信号,再根据一组残差信号来判断哪一个自适应观测器和当前实际系统模型最为匹配,进而隔离出发生卡死故障的执行器。直接采用残差信号来判断并不是很合理,因此设计一个性能指标,性能指标达到最小的那个模型和系统当前运行的模型最为匹配。

式中,c 1 ,c 2 均为大于零的常数,分别是瞬时残差信号的加权和过去残差信号的加权;常数λ>0为遗忘因子。

前面讨论了当系统发生一个执行器卡死故障时应用多模型的方法进行故障诊断,而当系统同时发生多个执行器卡死时,上面提出的方法一样可以适用,只需要向模型集里添加相应的故障模型就行了。为了叙述方便不妨设系统同时有两个故障发生,分别是第i个执行器和第j个执行器(i< j),并且这种情况对应于模型集里的第k个模型。这时相应的故障诊断观测器如下,观测器结构与式(2.33)~式(2.34)一样,只是其中部分矩阵不一样:

式中,B k ={b 1 ,b 2 ,…,b i 1,0,b i+ 1,…,b j 1,0,b j+ 1,…,b m },b k ={b i ,b j }, ,并且b i , 与上面定义的一致。采用前面设计的鲁棒快速自适应故障估计方法、残差生成方法和性能指标计算方法就可达到诊断多执行器同时发生卡死的故障。

2.3.4 仿真与分析

这里选取三自由度双旋翼直升机系统作为仿真验证的平台,在2.1节中已建立了该直升机的线性模型,考虑到系统存在外部干扰,则系统数学模型如下:

式中,

1.故障诊断数字仿真

假设故障发生在系统正常运行到第10s的时候,三自由度直升机的后推进器发生了卡死故障,卡死在3V的位置,这时故障的形式如下:

系统干扰选取为幅值在-1~+1变化的白噪声,取鲁棒性能指标γ=1,利用 MATLAB中的LMI工具箱求解式(2.17)~式(2.18),得到如下设计参数值:

对于鲁棒快速自适应故障估计方法选定自适应学习率Γ=10I 2×2 ,对于性能指标选定参数c 1 =20,c 2 =1,λ=2,τ=1。仿真步长设为0.001s。

下面分别采用本节所提出的故障诊断方法和文献[54]里的故障估计算法对上述情况进行仿真。图2.17为用本节所提出方法估计的故障值,图2.18为用文献[54]中的方法估计的故障输出。由结果可看出文献[54]中的方法对于卡死故障时失效的,在系统发生执行器卡死故障后,该方法的故障估计值与故障真实值不符,估计值变为执行器的饱和上限值。而本节提出的算法可有效地估计出执行器卡死故障的值,在故障发生后的1~2s 内故障估计值就稳定在故障的真实值,快速性和准确性都比较高,且在系统加入了白噪声干扰时故障估计曲线基本没有波动,这说明提出的故障估计算法对系统外部干扰的抑制作用也很明显,这也和本节前面的理论分析相吻合。

图2.17 基于本节提出方法的后推进器故障估计

图2.18 基于文献[54]中方法的后推进器故障估计

上面通过故障估计的仿真曲线验证了本节提出的鲁棒快速自适应故障估计方法的正确性,下面再通过性能指标曲线来验证多模型方案的有效性。图2.19为上述故障发生时模型集里各个模型产生的残差的性能指标,J0对应为系统正常时的情况,J1对应于前执行器发生卡死故障时的情况,J2对应于后执行器发生卡死故障时的情况。由仿真图2.19可看出当系统发生后执行器卡死故障后,性能指标J2最终近乎为0,而性能指标J0与J1都不为零且数值很大,这样 J2所对应的故障模型与实际系统最为匹配,即可判断出系统发生后执行卡死故障。为进一步分析,将0~10s时性能曲线放大,图2.20为图2.19中各曲线在0~10s时的值。可看出0~10s时直升机系统没发生故障,处于正常运行状态,这时J0比另外两个性能指标小很多并近乎为零,即此时模型集中对应于正常系统的模型与当前实际系统模型最为匹配。由数字仿真结果可看出本节提出的故障诊断方法是正确合理的。

图2.19 后推进器发生卡死故障时各个模型的性能指标

图2.20 仿真图2.19中各性能指标在0~10s时的曲线

2.故障诊断半物理验证

为了验证方法的实用性,仅用上面的数字仿真是不够的,这里将在三自由度双旋翼直升机半物理仿真平台上进行实时验证。

假设三自由度直升机在正常运行到25s时执行器发生故障,故障形式为电压损失3V,令 f(t)=[f 1 (t) f 2 (t)] T ,这时故障模型可表示为:

由于系统发生执行器故障,所以故障分布矩阵可以认为就是系统的输入矩阵即E f =B,同样取鲁棒性能指标γ=1,自适应学习率Γ=10I 2×2 ,利用MATLAB中的LMI工具箱求解式(2.17)~式(2.18),得到如下设计参数值:

分别采用本节所提出的鲁棒快速自适应故障估计方法和文献[54]里的故障估计算法对上述情况进行半物理实时验证,图2.21为用本节所提出的方法估计的故障值,图2.22为用文献[54]中的方法估计的故障输出。

图2.21 基于本节提出方法的后推进器实时故障估计

图2.22 基于文献[54]中方法的后推进器实时故障估计

由图2.21、图2.22可看出两个方法都能够估计出发生的故障大小,且故障估计值也能较快地实际收敛到真值附近,而本节提出的算法在鲁棒性上明显优于文献[54]中的方法,在对外部扰动和不确定性的抑制上效果明显。但估计误差与上一小节的数字仿真相比还是偏大,且估计值一直在故障的真值附近上下波动。这与很多因素有关,首先是建模产生的误差,本节所用的模型是2.2节中针对三自由度双旋翼直升机建立的线性定模型,它在建模的过程中提出了一些假设条件并忽略了很多因素的影响;其次是三自由度双旋翼直升机半物理仿真平台上所安装的传感器具有测量误差,这也会对故障诊断结果产生较大的影响。 czBE+iE4iWt2jbzLQrOL3Nh9pDPyjBayDRXT29T3v2oB84OaOHm/6On1v7qKCSW0

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开