张绍杰 吴雪 刘春生
随着技术的进步,使得具有强非线性、大范围变化的非线性动力学系统越来越多.用精确的数学模型描述这类系统的动态特性是不现实甚至是不可能的.人们在对这类系统进行数学建模时,通常在某确定点的微小变化范围内将非线性系统描述为线性系统,或用低阶系统代替高阶系统等方法近似,这都会或多或少地使系统存在建模误差及不确定性.除了模型不确定性外,环境的变化、内部参数的变化、未知的外界扰动以及未知执行器故障也会造成被控系统的不确定性.如果对于系统的控制器设计及分析中没有考虑这些不确定因素,所设计的控制系统将很难保持所期望的性能,甚至使系统失去稳定性.因此,非线性系统的执行器故障容错控制得到了广泛的研究[1−13].基于故障检测与隔离(Fault detection and isolation,FDI)的容错控制[7−9]和自适应补偿控制[10−13]是两种典型的容错控制方案.基于FDI的方法需要确定系统故障信息并利用故障信息重构控制器.基于自适应补偿控制方法设计的控制律不受故障诊断误差的影响,不需要在系统故障时重新调整控制律的形式、结构简单,且易于从理论上证明系统的稳定性和跟踪能力,因此这种方法得到了广泛的研究.
文献[10]提出了一种针对具有执行器故障的多输入单输出(Multi-input single-output,MISO)非线性系统的反步自适应补偿跟踪控制方法.文献[2,11−13]将该方法扩展到了多输入多输出(Multiinput multi-output,MIMO)系统,其中文献[12]考虑了更多的执行器故障类型,文献[13]进一步考虑了系统的不确定性.但上述方法均未考虑容错控制系统的性能指标,不能从理论上表明所设计控制律的控制效果.文献[14]考虑了系统的动态性能,但不能保证性能指标选取的最优性能和合理性.
自适应动态规划[15−20](Adaptive dynamic programming,ADP)是近年来得到广泛关注的智能优化控制方法,2002年,Murray等[21]提出了针对连续系统的迭代ADP算法.针对系统状态调节问题,Vamvoudakis等[22]采用神经网络构造评价网络和控制网络,通过在线自适应的方式调节神经网络权值,使得评价网络和控制网络的输出各自逐渐逼近最优代价函数和最优控制函数.Dierks等[23]设计了一种新的ADP结构,该方案不需要控制网络,只通过评价网络完成控制作用.少数文献[24−29]针对系统的最优跟踪问题进行了研究,文献[24−26]研究了系统的状态跟踪控制问题,针对输出跟踪控制问题,Zargarzadeh等[27]针对一类MISO非线性严反馈系统,提出了一种通过构造在线自适应评价器,得到系统近似最优解的控制方法.在此基础上,文献[28−29]考虑了系统动态未知的MISO非线性严反馈系统的最优输出跟踪问题.
虽然采用ADP方法研究非线性系统的最优控制已经有了较多的研究成果,但是多数研究成果仅适用于严反馈系统等特殊的非线性系统,相关控制方法较少考虑存在系统故障时的控制问题;系统控制结构通常由前馈控制和反馈控制两部分组成,结构复杂.针对现有研究成果的上述缺陷,本文针对一类具有不确定性的MIMO连续时间非线性系统的输出跟踪控制问题,考虑执行器失效、卡死以及两者的组合故障,采用神经网络估计系统不确定性,设计基于ADP的最优自适应补偿控制律.该方法不需要前馈控制项,只采用评价网络求解最优跟踪控制律,通过李雅普诺夫理论证明了系统的跟踪误差一致最终有界.
考虑一类如下描述的多输入多输出连续非线性系统[13]
其中,x∈Rn是系统的状态向量;f(x)∈Rn,g(x)∈Rn×m和h(x)∈Rq是关于x的充分光滑的非线性函数;u=[u1,···,um]T∈Rm是系统执行器的控制输入;∆f(x)∈Rn为系统的不确定项;y∈Rq(0 考虑执行器失效、卡死及其组合故障,故障形式可表示为 其中,ui和uci分别是系统第i个执行器的实际控制输入和设计的控制输入;λi(0≤λi≤1)和i是未知常数,分别代表系统第i个执行器发生失效故障时的有效比例以及卡死故障时的卡死位置;ti是代表故障发生时间的未知常数. 当发生如式(2)所示的执行器故障时,可以将系统控制信号u表示为 假设1.在系统(1)发生式(2)形式的执行器故障时,依然可以利用无故障或故障后仍可用的执行器控制系统完成任务. 假设1保证了系统容错控制律的存在性,是可以对系统进行容错控制的必要条件. 为了处理执行器冗余的问题,将m个执行器分在q(1≤q 上式表示dk(k= 1,···,q)个输入uk1,uk2,···,ukdk分在第k组中,d1+d2+···+dq=m. 由执行器分组结果,可将控制输入记为 其中,w(t)=[w1(t),w2(t),···,wq(t)]T∈Rq×1是执行器正常时待设计的控制律,wc(t)=[wc1(t),···,wcq(t)]T∈Rq是执行器故障时的控制律表示形式.是控制分配矩阵,,其中,bj是用来调节对应的系统执行器对控制输入影响的比例参数.根据式(5),可将系统(1)改写为 取yr(t)=[yr1,yr2,···,yrq]T∈Rq为系统参考输出,系统输出跟踪误差记为 假设2.系统状态可控,且在x=0时,f(0)=0,非奇异. 假设2中系统状态可控是设计不确定性估计器的前提,其他假设条件是系统可以求解最优控制的前提. 定义系统(7)的代价函数为 其中,Q∈Rq×q,R∈Rq×q是正定常数矩阵,并且存在连续控制函数w(t)使得系统输出跟踪参考输出. 把式(8)代入式(9),可得用x(t),w(t)和yr(t)表示的代价函数 本文的研究目标为针对具有执行器故障(2)的系统(1)设计最优自适应补偿控制律,通过求解使代价函数(9)最小的近似最优控制输入,使得系统(1)能够实现对参考输出信号yr的跟踪. 由于系统动态方程中含有不确定项∆f(x)=[∆f1(x),∆f2(x),···,∆fn(x)]T, 本文设计神经网络估计器来估计 ∆fi(x)(i=1,2,···n),∆fi(x)可以表示为 式中,θi(x):Rn→Rmi是基函数,Wi∈Rmi是权值向量,εfi是估计器的估计误差,满足,.神经网络对不确定项∆fi(x)的估计可以表示为 定义系统状态xi(i=1,2,···,n)的估计为 设计神经网络权值调整律为 其中,Γ3=diag{Γ31,···,Γ3n},Γ4=diag{Γ41,···,Γ4n}. 表明系统的状态估计可以逼近实际系统状态,可实现对∆f(x)的逼近. 其中,r(x,w)=(h(x(t))−yr(t))TQ(h(x(t))−yr(t))+wT(t)Rw(t),Vx(x)是V(x)对x的偏导.因为使代价函数(10)最小的最优控制输入也使哈密顿函数(16)最小,所以可以通过求解方程∂H(x,w)/∂w=0,得到最优控制输入,记为 式中,Q(x)=(h(x(t))−yr(t))TQ(h(x(t))−yr(t)).当控制输入为最优控制输入w∗(t)时,记系统的闭环动态方程F(x)+g(x)Bw∗满足 其中,K∗为常数. 设计在线神经网络把代价函数(10)表示成 其中,Θ∈RL是在线神经网络的目标权值向量,φ(·):Rn→RL是有N个隐层神经元并满足φ(0)=0的线性无关的基向量,ε(x)是在线估计器的重构误差,C是与x无关的常函数,在控制律设计时不需求出其值.选择合适的φ(x)满足. 例如,如果,那么0.选择激活函数构造基向量使得 是渐近逼近的.根据Weierstrass高阶逼近定理,只要V(x)足够光滑这样的基函数就是存在的.在线神经网络的目标常值向量、重构误差及重构误差对x的偏导上界分别记为,. 把式(21)分别代入式(17)和式(18),可得: 根据式(14)以及g(x)B和∇xε的上界,可得εHJB的上界. 把在线神经网络对(21)的估计值表示为 由式(24)和式(25)可得哈密顿函数的估计值 考虑执行器故障的情况,控制律应满足 式中,l=1,···,m,Γ1=diag{Γ11,Γ12,···,Γ1m}∈Rm×m>0和Γ2∈Rm×m>0均为正定增益对角矩阵,需要根据系统的实际情况进行设计和调节.χ和分别是矩阵主对角线上绝对值最小的元素和与之对应的导数. 定理1.对于存在执行器故障(2)的非线性系统(1),设计控制律(30),设计神经网络权值更新律(27),自适应参数调整律(31)和(32),闭环跟踪控制系统稳定,且跟踪误差和神经网络估计误差一致最终有界. 证明.见附录A.□ 以文献[30]中的飞翼飞行器作为控制对象,来验证本文控制律的控制效果.该飞行器的纵向非线性运动方程为 其中,V是飞行速度;α是迎角;θ是俯仰角;q是俯仰角速率;输入变量u1、u2表示两个发动机的油门开度;输入变量u3和u4分别为左右内升降舵偏角,u5和u6分别为左右外升降舵偏角.f1,f2,f4,G1,G2,G4表达式详见文献[30].取V、α、θ、q分别为系统状态x1、x2、x3、x4,系统输入u=[u1,u2,u3,u4,u5,u6]. ∆f1,∆f2,∆f4分别为关于f1,f2,f4的不确定项,本文设定∆f1=0.2f1,∆f2=−0.2f2,∆f4=−0.1f4. 系统输出y=[x1,x3]T,参考信号分别为205+10sin(0.1t)和10sin(0.1t).给定系统的代价函数(9)中Q=[100,100],R=[100,1].系统和观测状态的初始状态都设为x(0)=[200m/s,0,3◦,0]T.神经网络权值初始值全部设为0,这就意味着不需要给系统设置一个容许范围内的初始控制输入.选取代价函数在线估计神经网络基函数为,自适应增益矩阵 Γ1=1000I6×6, Γ2=diag{0.001,0.001,0.1,0.1,0.1,0.1},在线神经网络调整参数α1=0.1,α2=1.设飞行器在t=100s时,右侧外升降舵u6发生卡死在u6=6◦的故障;在t=200s时,左侧外升降舵u5发生λ5=0.4的失效故障;在t=300s,左侧内升降舵u3发生卡死在u3=−8◦的故障,并且右侧内升降舵u4发生λ4=0.6的失效故障.将本文方法与文献[13]中所述的指定性能边界的方法比较,在进行仿真时对比两种方法的控制效果,仿真结果如图1~6所示. 图1 本文方法的y1和yr1Fig.1y1andyr1of the proposed method 图2 文献[13]方法的y1和yr1Fig.2y1andyr1of[13] 由图1~图4可知,在执行器出现卡死或失效故障后,两种控制方法均可以实现对给定参考信号跟踪,而本文方法具有更好的跟踪性能.图5与图6为在两种控制方法下系统跟踪误差的对比图,可以看出在当前参数设置下,t=0s~100s系统无故障时前者对yr1的跟踪效果比后者好,两种方法对yr2的跟踪效果差别不明显.t=100s~400s故障发生后,前者跟踪效果几乎不受影响,而后者由于故障的原因则出现一定程度的跟踪误差增大.无论对于执行器卡死故障(t=100s~200s)、失效故障(t=200s~300s)、以及卡死和失效组合故障(t=300s~400s),相比可以看出前者具有更好的容错性能. 图3 本文方法的y2和yr2Fig.3y2andyr2of the proposed method 图4 文献[13]方法的y2和yr2Fig.4y2andyr2of[13] 图5 本文和文献[13]方法的y1跟踪误差e1,e11Fig.5 Tracking errorse1,e11ofy1by the proposed method and[13] 图6 本文和文献[13]方法的y2跟踪误差e2,e22Fig.6 Tracking errorse2,e22ofy2by the proposed method and[13] 图7 系统状态误差估计2Fig.7Estimating error of system state2 图8 不确定项估计神经网络权值W2Fig.8 WeightsW2of uncertainty estimating neural network 本文针对一类具有不确定项以及执行器故障的MIMO仿射非线性系统的输出跟踪问题,考虑系统的执行器卡死、部分失效及其组合故障,提出了一种基于动态规划的最优自适应补偿控制方案.在构造系统状态估计器估计系统不确定项的基础上,设计了最优自适应补偿跟踪控制律.提出的控制方法能够使闭环系统的所有状态有界,并有效跟踪参考信号.仿真结果表明了本文设计方法的有效性. 附录A 定理1证明. 选取系统Lyapunov函数为 求导得 那么若不等式(A5)成立,则式(A4)小于0. 若下列不等式(A6)成立,则式(A4)小于0. 不等式(A5)和(A6)保证了当kek≥be,时,其中,be=max(be0,be1),bΘ=max(bΘ0,bΘ1)是正常数并可以通过选择合适的参数α1和α2来减小它们的值. 因此,根据李雅普诺夫推论[20],系统输出跟踪误差e和在线神经网络估计误差在两种情况下都能保持一致最终有界.□2 容错控制律设计
2.1 不确定性估计器设计
2.2 最优控制律设计
2.3 自适应补偿控制律设计
3 仿真算例
4 结束语