权利要求书
1. 一种单关节机械臂系统的迭代学习故障诊断方法,其特征包括:建立单关节非线性机械臂系统模型;构建机械臂非线性状态变量动力方程;对状态变量动力系统进行扩展变换;设计扩展系统的迭代学习故障诊断方法;分析故障诊断算法的稳定性与参数选择条件,实现机械臂系统的实时故障诊断。
第一步:建立单关节非线性机械臂系统模型
单关节非线性机械臂系统模型可描述为:
u(t)=Jmq··+sg sin(q(t))+Bf(t)---(1)]]>
其中u(t)是作用点上的输入力矩,q(t)是机械臂旋转角度,f(t)是系统故障,g是重力加速度,系统参数选Jm=0.75ml2,s=lm,B=m,m为质量,l为机械臂长度。系统输出是机械臂旋转角度;
第二步:构建机械臂非线性状态变量动力方程
定义状态变量x1=q,则机械臂系统可描述为
x·1x·2=0100x1x2+0-sgsin(x1)+01/Jmu(t)+0-B/Jmf(t)---(2)]]>
y=x1+f(t)
显然式(2)可表示为系统(3)形式的状态空间方程
x·(t)=Ax(t)+g1(x(t),t)+Bu(t)+Bff(t)]]>
(3)
y(t)=Cx(t)+g2(x(t),t)+Du(t)+Dff(t)
其中x(t)∈Rn,y(t)∈Rm,u(t)∈Rr分别表示系统的状态、输出和输入向量;f(t)为待估计的故障函数;A,B,C,D,Bf,Df为相应维数的已知常数矩阵g1(x(t),t),g2(x(t),t)为非线性项;显然系统矩阵(C,A)可观,设g1(x(t),t),g2(x(t),t)满足Lipschitz条件,即||g1(x1(t),t)-g1(x2(t),t)||≤α1||x1(t)-x2(t)||,||g2(x1(t),t)-g2(x2(t),t)||≤α2||x1(t)-x2(t)||,其中α1,α2>0为g1和g2的Lipschitz常数;
第三步:状态变量动力系统的扩展变换
对系统(3)进行扩展变换,利用其输出端方程构造以下新状态方程:
z·(t)=Asz(t)+Bsy(t)---(4)]]>
式中z(t)∈Rm为新引入的状态向量,AS∈Rm×m,Bs∈Rm×m是根据设计需要选定的新状态方程的系数矩阵;将(3)式输出方程代入式(4),可得:
z·(t)=Asz(t)+BsCx(t)+Bsg2(x(t),t)+BsDu(t)+BsDff(t)---(5)]]>
由(3)和(5)可得扩展系统状态方程:
x·(t)z·(t)=A0BSCASx(t)z(t)+g1(x(t),t)BSg2(x(t),t)+BBSDu(t)+BfBSDff(t)---(6)]]>
同时令
z(t)=0Ix(t)z(t)---(7)]]>
作为扩展后系统的输出;
对(6)和(7)中的状态和各矩阵重新定义:x~(t)=x(t)z(t)T,y~(t)=z(t),]]>A~=A0BSCAS,g3(x~(t),t)=g1(x(t),t)BSg2(x(t),t),B~=BBSD,B~f=BfBSDf,C~=0I;]]>则式(6)和式(7)可表示为
x~·(t)=A~x~(t)+g3(x~(t),t)+B~u(t)+B~ff(t)]]>
y~(t)=C~x~(t)---(8)]]>
式中非线性项在g1(x(t),t),g2(x(t),t)性质的基础上也满足可知满足Lipschitz条件,α3为其Lipschitz常数;式(8)表示一类仅存在执行器故障的非线性故障系统,对系统进行的扩展变换将原系统的输出传感器故障转变成新系统的一个执行器故障,因此,可以将已有的用于系统执行器故障诊断的方法直接用于输出传感器故障的检测和估计;扩展滤波器(4)的参数矩阵选取使扩展系统(8)仍然具有可观测性;
第四步:扩展系统的迭代学习故障诊断方法
为对扩展系统(8)的故障进行诊断,设计如下故障跟踪滤波器:
x~^·(t)=A~x~^(t)+g3(x~^(t),t)+B~u(t)+B~ff^k(t)+L(y~(t)-y~^k(t))---(9)]]>
y~^(t)=C~x~^(t)]]>
系统残差定义如下
rk(t)=y~(t)-y~^k(t)---(10)]]>
迭代学习故障估计算法
f^k+1(t)=f^k(t)+Γr·k(t)+Φrk(t)+Ψ∫rk(t)dt---(11)]]>
故障诊断滤波器启动条件
||y~(t)-y~^k(t)||∞>γ---(12)]]>
其中分别是系统(8)状态和输出的估计值;下标k表示在优化时域t∈[tn-P,tn]内滤波器的迭代估计次数,P为所选优化时域的长度;矩阵L是预先设计的增益矩阵,使得矩阵(A-LC)的特征根在左半平面;为故障跟踪估计器的可调参数,即虚拟故障;是在优化时域内第k次调节后虚拟故障的大小;rk(t)是在优化时域内第k次调节后故障跟踪滤波器和系统(8)的输出残差;γ是设定的性能指标,式(12)表示输出残差信号幅值超出设定时才对系统进行诊断,合理选取γ值使故障诊断系统具有一定的鲁棒性又满足故障检测精度要求;式(11)是虚拟故障的调节算法,式中Γ,Φ,Ψ是迭代学习增益矩阵;这里采用迭代学习算法,充分利用残差信息在优化时域内反复对虚拟故障进行更新,使之逼近系统实际发生的故障,直至达到设定的精度要求,从而达到故障检测和估计的诊断目的;
第五步:分析故障诊断算法的稳定性与参数选择
不妨假设系统故障诊断的优化周期为[0,tn],取P为优化时域长度,则优化时域区间为[tn-P,tn],系统的状态误差定义为故障估计偏差定义为则由式(8)和式(9)可得误差系统状态方程为
e·(t)=(A~-LC~)e(t)+B~fδfk(t)+g3(x~(t),t)-g3(x~^(t),t)]]>
(13)
(t)=C~e(t)]]>
考虑到实际控制系统(1)的初始状态未知,即对于扩展系统(8),设计如(11)式所示的故障诊断滤波器和(13)式所示虚拟故障调节算法,在有限优化时域[tn-P,tn]内,若参数满足条件和第k次迭代初态偏差则当k→∞时,在λ范数意义下:
limk→∞t∈[0,tn]||y~(t)-y~^k(t)||λ≤LCe0+LCa2(1-e(a1-λ)P)(b1+b2P)e0(λ-a1)(1-(||(I-ΓC~B~f)||+b1a31-e-λPλ+b2a3(1-e-λPλ)2))---(14)]]>
其中a1=||(A~-LC~)||+α3,a2=||B~f||,b2=||ΨC~|,LC=||C~||,b1=||ΓC~(A~-LC~)+ΦC~||+α3||ΓC~||;]]>
由式(13)可得
e(t)=e(tn-P)+∫tn-Ptn[(A~-LC~)e(τ)+B~fδfk(τ)+g3(x~(τ),τ)-g3(x~^(τ),τ)]dτ---(15)]]>
式(15)等式两边取范数可得
||e(t)||≤||e(tn-P)||+∫tn-Ptn||(A~-LC~)||·||e(τ)||dτ+∫tn-Ptn||B~f||||δfk(τ)||dτ+∫tn-Ptn||[g3(x~(τ),τ)-ge(x~^(τ),τ)]||dτ---(16)]]>
由于g3满足Lipschitz条件,则式(16)可转换为
||e(t)||≤e0+a1∫tn-Ptn||e(τ)||dτ+a2∫tn-Ptn||δfk(τ)||dτ---(17)]]>
其中a1=||(A~-LC~)||+α3,a2=||B~f||;]]>进一步可得
||e(t)||≤e0ea1·tn+a2∫tn-Ptnea1(tn-τ)||δfk(τ)||dτ---(18)]]>
同理易得
∫tn-Ptn||e(s)||ds≤e0ea1·tnP+a2∫tn-Ptn∫tn-Psea1(tn-τ)||δfk(τ)||dτds---(19)]]>
由式(11)和式(13)可知
f^k+1(t)=f^k(t)+ΓC~e·k(t)+ΦC~ek(t)+ΨC~∫tn-Ptnek(τ)dτ---(20)]]>
式(20)等式两边同时减f(t)可得
δfk+1(t)=δfk(t)-ΓC~e·k(t)-ΦC~ek(t)-ΨC~∫tn-Ptnek(τ)dτ---(21)]]>
由式(21)和(15)得
δfk+1(t)=δfk(t)-ΓC~[(A~-LC~)e(t)+B~fδfk(t)+g3(x~(t),t)-g3(x~^(t),t)-ΦC~ek(t)-ΨC~∫tn-Ptnek(τ)dτ---(22)]]>
式(22)两边取范数
||δfk+1(t)||≤||(I-ΓC~B~f)||||δfk(t)||+||ΓC~||||g3(x~(t),t)-g3(x~^(t),t)||+||ΓC~(A~-LC~)+ΦC~||||ek(t)||+||ΨC~||∫tn-Ptn||ek(τ)||dτ---(23)]]>
即
||δfk+1(t)||≤||(I-ΓC~B~f)||·||δfk(t)||+b1||ek(t)||+b2∫tn-Ptn||ek(τ)||dτ---(24)]]>
其中b1=(||ΓC~(A~-LC~)+ΦC~||+α3·||ΓC~||),B2=||ΨC~||;]]>由式(18),(19)和(24)可得
||δfk+1(t)||≤(b1+b2P)e0ea1·tn+||(I-ΓC~B~f)||||δfk(t)||+b1a3∫tn-Ptn||δfk(τ)||dτ+b2a3∫tn-Ptn∫tn-Ps||δfk(τ)||dτds---(25)]]>
式(25)两端同取λ范数得
||δfk+1(t)||λ≤M||δfk(t)||λ+(b1+b2P)e0 (26)
其中M=||(I-ΓC~B~f)||+b1a31-e-λPλ+b2a3(1-e-λPλ)2.]]>由条件||(I-ΓC~B~f)||<1]]>可知,只要取足够大的λ就可使得M<1,则当k→∞时可得:
limk→∞t∈[tn-P,tn]||f(t)-f^k(t)||λ≤(b1+b2P)e01-(||(I-ΓC~B~f)||+b1a31-e-λPλ+b2a3(1-e-λPλ)2)---(27)]]>
对(18)取λ范数得
||e(t)||λ≤e0+1-e(a1-λ)Pλ-a1a2||δfk(t)||λ---(28)]]>
由式(27)得
limk→∞t∈[0,tn]||x~(t)-x~^k(t)||λ≤e0+a2(1-e(a1-λ)P)(b1+b2P)e0(λ-a1)(1-(||(I-ΓC~B~f)||+b1a31-e-λPλ+b2a3(1-e-λPλ)2))---(29)]]>
进一步扩展系统方程可得
limk→∞t∈[0,tn]||y~(t)-y~^k(t)||λ≤LCe0+LCa2(1-e(a1-λ)P)(b1+b2P)e0(λ-a1)(1-(||(I-ΓC~B~f)||+b1a31-e-λPλ+b2a3(1-e-λPλ)2))---(30)]]>
其中LC=||C~||;]]>
在故障重构过程中,对于一个优化周期内的故障诊断情况,若系统存在初始偏差,由于系统(13)是稳定的,故障跟踪估计器也是稳定的,则初始条件引起的响应是衰减的,所以,随着优化周期的不断前进,其初始偏差逐步减小,初始偏差引起的误差最终趋零,即