1.一种机电控制系统的初值预估迭代学习故障诊断算法,其特征包括:建立执行器单元发生故障的机电控制系统模型;构建执行器故障机电控制系统的离散状态空间方程;设计迭代学习故障诊断算法;分析迭代学习故障诊断算法的收敛性和阈值选择条件;在迭代学习故障诊断算法中加入初值预估算法,实现机电控制系统的实时故障诊断;
第一步:建立执行器单元发生故障的机电控制系统模型
考虑到机电控制系统在实际应用过程中会受到扰动的影响,因此执行器单元发生故障的机电控制系统模型可以描述为:
其中Ra为电枢电阻,J为转子转动惯量,La为电枢电感,Ce为反电动势系数,Cf为电机轴机械阻尼系数,CM为转矩系数,ω(t)为电动机转速,ia(t)为电枢电流,e(t)为输入电压,f(t)为执行器单元发生的故障,故障信号在电动机运行过程中通常表现为一类非线性函数,w1(t)和w2(t)分别为电动机运行过程中受到的扰动;
第二步:构建执行器故障机电控制系统的离散状态空间方程
利用电动机的电枢电流和转速定义状态变量x(t)=[ia(t) ω(t)]T,利用输入电压定义系统输入变量u(t)=e(t),定义扰动变量w(t)=[w1(t) w2(t)]T,则式(1)所示的一种机电控制系统可描述为:
显然式(2)为连续系统模型,因此需要对式(2)进行离散化,选取满足香农采样定理的采样周期Ts,并将电动机转速作为输出,同时考虑传感器检测电动机转速过程中受到的扰动影响,进一步可以得到执行器故障机电控制系统的离散状态空间模型:
式中i为对机电控制系统(2)离散化后的采样时刻;u(i),y(i)和x(i)分别是机电控制系统在各个离散采样时刻的输入,输出和状态向量;f(i)为待诊断的执行器故障在各个采样时刻的信号;w(i),v(i)分别表示式(3)离散采样系统的状态和传感器输出部分在采样时刻受到的有限能量扰动,即||v(i)||<dv,||w(i)||<dw;A,B,C,Bf,Bw和Dv为离散采样系统(3)中的矩阵;矩阵对(C,A)可观测且系统运行的初始状态x(0)=x0;
第三步:设计迭代学习故障诊断算法
针对式(3)设计如下形式的迭代学习故障跟踪估计器:
其中分别为迭代学习故障跟踪估计器的离散输出和状态向量,下标k表示故障跟踪估计器在每个离散采样点的迭代估计次数,故障跟踪估计器的初始状态矩阵L是预先设计的增益矩阵,保证矩阵(A-LC)的特征根位于单位圆内;为故障跟踪估计器在第i个离散采样点经第k次迭代学习调节后的虚拟故障信号;
结合式(3)和式(4)的输出信号定义离散采样系统的残差:
迭代学习故障诊断算法中的虚拟故障估计算法设计为:
式(6)中虚拟故障估计算法的启动条件:
式中rk(i)是在第i个采样点进行的第k次故障迭代估计后系统(3)的实际输出和故障跟踪估计器(4)输出之间的残差信号;虚拟故障估计的过程就是不断利用残差rk(i)来更新虚拟故障Γ为所选取的迭代学习参数,δ(i)是判定式(3)的采样点是否发生故障的阈值;本发明的故障诊断算法利用故障跟踪估计器(4)对离散采样系统(3)的输出进行跟踪,反复更新故障跟踪估计器(4)中的虚拟故障(6)使其逐渐接近系统实际故障从而达到故障估计的目的;首先根据顺序依次将离散系统输出和故障跟踪估计器输出作比较得到残差信号,若其残差信号在阈值限定范围内则判定该点无故障发生,否则判定为发生故障并启动迭代学习故障估计算法,然后利用残差信号调节虚拟故障的值并再次比较,反复执行此步骤直到残差值收敛到阈值范围内,则故障诊断过程结束并将此时得到的虚拟故障作为实际故障的估计值,然后再利用同样方法进行下一个采样点的故障诊断;
第四步:分析迭代学习故障诊断算法的收敛性和阈值选择条件
定义采样点经第k次迭代学习诊断后的状态误差为:
虚拟故障的估计误差为:
由式(8)、(9)和式(3)、(4)可得误差系统的状态方程为:
由式(10)可得
其中Φ(·)是式(10)的状态转移矩阵,对式(11)两边取范数后可得
又由式(10)可得
rk(i)≤||C||||ek(i)||+||Dvv(i)||=c||ek(i)||+d1 (13)
其中c=||C||,结合式(12)可得
rk(i)≤cβ+c(a1+a2)+d1=δ(i) (14)
其中为系统状态干扰的累积量,代表系统输出部分传感器受到的干扰累积量,是前面虚拟故障估计误差的累积量;因为算法是按照采样顺序逐点诊断故障,所以每个采样点都要进行故障判定,即每个点都需要有其对应的阈值,阈值大小由系统干扰和故障误差确定,而故障估计误差的范围又是通过干扰确定的,所以阈值实际上是由干扰和系统参数决定,只要获取系统参数值和干扰范围就可以计算出各采样点的阈值大小;
针对式(3)设计的迭代学习故障跟踪估计器(4),若其参数满足||I-ΓCBf||<1的条件,则当迭代学习次数k→∞时,在范数意义下迭代学习故障跟踪估计器的最终输出逼近离散采样系统的实际采样输出y(i),虚拟故障逼近采样时刻的实际故障f(i);本发明的迭代学习故障诊断算法交换了故障诊断过程中时域和迭代域的次序,因而能够根据采样顺序逐点诊断故障,进而减小前面采样点故障在诊断过程中的估计误差对后续采样点的影响,更重要的是为后续加入故障初值预估算法提供了条件;由于需要对每个采样点进行收敛性分析,常规的λ范数分析法不再适用,所里利用递推法进行收敛性分析;
由式(10)可得
rk(i+1)=C(A-LC)ek(i)+CBfΔfk(i)+CBww(i)-CLDvv(i)+Dvv(i) (15)
进一步由式(6)和式(9)可得
Δfk+1(i)=Δfk(i)-Γrk(i+1) (16)
将式(15)带入式(16)后可以得到
再将式(10)带入式(17)后可得
当i=0时
Δfk+1(0)=(I-ΓCBf)Δfk(0)-ΓCBww(0)-Γ(CL-I)Dvv(0) (19)
对式(19)两边取范数可得
其中ρ=||I-ΓCBf||,进一步可得
由于0<ρ<1,则
必然存在0<K(0)<∞,ε>0使得k=K(0),同时
其中η(0)=1,由式(10)可得
eK(0)(1)=Φ(1,1)(BfΔfK(0)(0)+Bww(0)-LDvv(0)) (24)
对式(24)两边取范数后进一步得到
其中θ(1)=a4+bα(0),b=||Bf||,而且
其中γ(1)=cθ(1)+d1,R(1)为此时的残差最大值;
当i=1时
对式(27)两边取范数后得到
其中l=||Γ(i)C(A-LC)||,则
由于ρ<1,因此
此时存在0<K(1)<∞,ε>0使得k=K(1),并且
其中由式(15)可得
对式(32)两边取范数后得到
其中则
其中γ(2)=cθ(2)+d1,R(2)为此时的残差最大值;以此递推,当i=n-1时
同样对式(35)两边取范数后可得
进一步展开后得到
由于0<ρ<1,则
此时必然存在0<K(n-1)<∞,ε>0使得k=K(n-1),而且
其中结合式(15)可得
对式(40)两边取范数后得到
其中此时系统的残差为
其中γ(n)=cθ(n)+d1,R(n)是最终的残差值;因此,最终系统的故障估计误差收敛于序列ΔF(0),ΔF(1),...,ΔF(n-1),输出误差收敛于序列R(1),R(2),...R(n),若ε→0,则ΔF(i)→{α(n)},R(i)→{γ(n)},i=0,1,2…n;在收敛性分析里加入ε项,是为了给故障诊断过程设定一个平衡诊断时间和精度的指标,从而使诊断算法更加灵活;通常阈值范围若选取得比较小,在诊断过程中就会出现迭代次数过多导致诊断时间较长的情况,此时如果更侧重诊断的快速性则可以将ε值适当增大以减小故障诊断的时间代价;
第五步:在迭代学习故障诊断算法中加入初值预估算法
本发明基于离散采样点设计迭代学习故障诊断算法,可以根据采样顺序逐点诊断出故障,因此在诊断某采样点故障时不必将虚拟故障初值设置为零,可以充分利用该采样点前面已估计出的故障信息对该点故障进行预估,并将估计值作为其虚拟故障的初值;这样选取虚拟故障初值使得故障预估值会尽量接近实际故障值,最好的情况是预估值和故障实际值误差在所要求范围内,表明此预估值足以反映故障实际值,则此采样点的故障诊断结束,所需迭代次数为0,当然这种情况可能不会经常发生,多数情况下故障预估值和实际故障值有较大偏差;同时由于故障模型未知,所以在预估算法选择上,不能直接利用所有已估计出的故障点;本发明根据滑动平均滤波原理提出一种滑动故障初值预估方法,只选取采样点之前距离最近一个时段内的故障信息对该点的故障进行预测估计;设计初值预估算法如下:
式中pH(i)=[i-H,…,i-1]是第i个采样点之前的H个采样时间点向量,H是滑动窗口长度,为相对应的H个已估计出的故障值,Pn(i)=[pn(i),…,p0(i)]为第i个采样点之前的由H个采样点故障估计值线性拟合得到的多项式系数向量,n是所用拟合多项式的次数,是第i个采样点的故障初值预估值;因此,本发明进一步将线性拟合与滑动平均滤波方法中滑动窗口的思想相结合,在诊断某一采样点的故障之前,首先对其之前已估计出的H个故障点进行线性拟合,利用拟合出的多项式函数求得第i个故障点的故障值即为第i个采样点的故障初值预估值,然后采用前面算法对该采样点进行故障诊断;此采样点诊断结束后,诊断结果又会作为已知值来预估下一个采样点的故障值,此时滑动窗口加入同时丢掉使窗口长度仍为H;由此可知,窗口将始终保持固定长度,并沿着离散采样序列滑动,当向前滑动一步时,窗口前面将进入一个新的数据,后面会丢弃一个旧数据,滑动窗口中始终存放着与待诊断采样点距离最近的故障估计值;
本发明的优点是:以机电控制系统这类在工业中广泛应用的工业设备为研究对象,利用其在实际应用过程中的离散采样特性进行故障诊断;本发明的初值预估迭代学习故障诊断算法可以减小诊断过程中前面离散采样点故障的估计误差对后续离散采样点故障诊断的影响,从而有效减少迭代次数,提高故障诊断效率;故障算法结构简单,不仅可以检测和重构机电控制系统的各类型执行器故障,而且易于工程实现,便于实时在线诊断故障;可进一步推广应用于机械臂,磁盘驱动读取系统等实际工程对象。