发明内容
本发明实施例的目的在于提供一种基于动态控制重新分配的飞行器姿态容错控制方法,旨在解决在具有外部干扰的不确定飞控***在操纵面损伤下容错跟踪性能差的问题。
本发明实施例是这样实现的,一种基于动态控制重新分配的飞行器姿态容错控制方法,该基于动态控制重新分配的飞行器姿态容错控制方法包括:首先给出近空间飞行器X-33的姿态角速率回路动态方程,建立操纵面卡死和损伤故障模型;根据姿态角速率回路的操纵面损伤故障模型设计了自适应滑模观测器;联立姿态角回路和所设计的观测器动态方程,获得角度环控制器和角速度环控制器。
进一步,建立操纵面卡死和损伤故障建模方法如下:
操纵面损伤故障,定义故障后的实际上每个控制通道的控制作用为:
其中σi为未知的常数,定义为损伤因子;当则认为故障未发生;于是实际控制通道作用表示为:
uΞ=[σ1u1,…,σ8u8]=Ξu (2.20)
其中Ξ=diag[σ1,…,σ8],则X-33操纵面损伤模型表示为:
定义U=diag[u1,…,u8],σ=[σ1,…,σ8]T,则(2.21)又表示为如下形式:
得到操纵面损伤下的故障模型为:
其中D=diag(d1,d2,…,d8),ki表示第i个操纵面上的损伤因子,为未知的常数;如果机械连接部分正常,则使得电液压驱动装置同样卡死在某个位置不能发生移动,作动器发生卡死,用如下一阶惯性环节来加以表示:
其中ui为作动器的实际输出,uci为作动器的输出指令;利用奇异摄动理论对(3.5)进行降阶,失效和卡死故障联合表示为:
其中σi=0或者1,0代表发生卡死故障,1代表操纵面未发生卡死故障。
进一步,如果σi=0或者1,则
证明:当σi=1,等式显然成立,当σi=0,输入卡死故障发生,显然输入卡死状态下
和公式(3.6)得失效和卡死联立的故障模型为:
其中Σ=diag(σ1,σ2,…,σ8);u是通过位移传感器计算得到或者通过光电码盘获取,容错控制的目的就是为了计算得到各个作动器位移指令uc。
进一步,该基于动态控制重新分配的飞行器姿态容错控制的容错控制***包括:故障检测和诊断单元、伪控制律和控制重新分配算法。
进一步,故障检测和诊断单元用于快速的诊断出操纵面卡死故障和将损伤故障信息和干扰信息隐藏在自适应滑模观测器中。
进一步,故障检测和诊断单元包括:设置操纵面卡死故障诊断模块,和自适应滑模观测器;具体的方法如下:
步骤一:设置操纵面卡死故障诊断单元:
在判断操纵面是否卡死情况间接通过作动器是否卡死来判别,作动器控制回路的动态由如表示,卡死故障直接在体现后为于是给出一个作动器卡死故障辨识器为:
其中sign(.)为开关函数,当时,指示为卡死,当指示未发生卡死故障;在作动器指令上施加一个微小的激励信号,施加的激励信号为一个正弦波信号;
步骤二:设置操纵面损伤和干扰观测器单元:
给出基于自适应滑模观测器的辅助***方法;方程表示为:
其中U=diag[u1,…,u8],d=[d1,…,d8]T,定义观测误差e=z-x,于是观测器如下结构:
其中表示损伤因子的估计值,并由如下的自适应律得出:
其中γ1>0,P=PT>0且P是ATP+PA=-Q的解,其中Q=QT>0,即A为一个Hurwitz矩阵。Proj[]为投影算子,确保估计值处于最小值和最大值之间;滑模项设计如下:
其中ò为接近0的正常数;时变参数m(t)由如下自适应律更新得到:
定义损伤因子估计误差为由观测器方程(3.15)和方程得到观测误差动态方程为:
进一步,伪控制律分别为伪控制律和控制分配两部分;
伪控制律设计部分需要解决的是如何针对如下动态方程计算出τ:
而控制分配部分是针对如下方程得到最优的控制指令uc:
约束条件(3.11)
由(3.27)看出,采用基于内外环的控制律设计方法:
步骤一:姿态角回路控制律设计成如下:
其中:K1为待设计的正定常矩阵。是姿态角设定值平滑后的输出,通过如下滤波器获得:
其中Λ>0,υ为滤波器的输入;如果滤波器的输入则X2即为所需要的
步骤二:姿态角速率回路控制律设计成如下:
其中:K2为待设计的正定常矩阵;是姿态角回路控制律得到的经过滤波器(3.30)平滑后的输出;于是控制分配问题就看成得到最优的uc使得实际和相等。
进一步,控制分配选取和文献[148]相同的最优性能指标:
其中Wu和Wτ为对角正定的加权矩阵;引入γ极小化J使得下式成立:
γ-J>0 (3.33)
即:
不等式(3.34)可以转换为如下LMI形式:
其中:R(χ)=R(χ)T,B(χ)=B(χ)T。利用Schur补引理得到:
B(χ)>0,R(χ)-C(χ)B(χ)-1C(χ)T>0 (3.36)
于是(3.34)可以表示为如下:
作动器位置约束和速率约束如下:
联合不等式(3.36)和(3.37),则控制分配问题可以变成求解LMI约束下的最小化问题,于是在线获得最优的控制律uc(k)通过如下不等式(3.39)计算:
s.t.
γ>0
其中
不等式(3.39)是一个合适的控制分配解决方案,使用即时优化的结果uc(k)作为作动器的指令。
本发明提供的基于动态控制重新分配的飞行器姿态容错控制方法,首先给出近空间飞行器X-33的姿态角速率回路动态方程,并进一步建立了操纵面卡死和损伤故障模型;而后根据姿态角速率回路的操纵面损伤故障模型设计了自适应滑模观测器;并联立姿态角回路和所设计的观测器动态方程,设计角度环控制器和角速度环控制器。本发明的容错控制***不需要精确的损伤故障信息和干扰等信息,而是将其均隐含在所设计的自适应滑模观测器中,并实时的将隐含信息反馈给伪控制律和在线分配算法LMI,从而实现鲁棒容错控制。最后将所设计的方法分别应用于操纵面故障情况的近空间飞行器姿态稳定控制和跟踪控制中,实现了飞行姿态鲁棒容错控制,并达到了良好的控制性能和效果。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面结合附图及具体实施例对本发明的应用原理作进一步描述。
如图1所示,本发明实施例的基于动态控制重新分配的飞行器姿态容错控制方法包括以下步骤:
S101:首先给出近空间飞行器X-33的姿态角速率回路动态方程,建立操纵面卡死和损伤故障模型;
S102:根据姿态角速率回路的操纵面损伤故障模型设计了自适应滑模观测器;
S103:联立姿态角回路和所设计的观测器动态方程,获得角度环控制器和角速度环控制器。
本发明的具体实施例:
1、近地飞行器(NSV)存在参数不确定和外部干扰,可以表示为如下非线性形式:
其中:x1=Ω=[α,β,μ]T∈R3,x2=ω=[p,q,r]T∈R3,u=δ=[δ1,…,δ8]T∈R8,f1(x1)=fΩ,f2(x1,x2)=-J-1ω×Jω,g2(x1,x2)=J-1ψ。由于控制分配是实现操纵控制力的最优分配,所以其主要工作体现在姿态角速率回路,被控对象可以考虑如下:
定义于是写成一般形式如下:
假设***的复合干扰η(x,t)有界但是界未知。
2、操纵面卡死和损伤故障建模:
考虑操纵面损伤故障,定义故障后的实际上每个控制通道的控制作用为:
其中σi为未知的常数,定义为损伤因子。当则认为故障未发生。于是实际控制通道作用可以表示为:
uΞ=[σ1u1,…,σ8u8]=Ξu (2.20)
其中Ξ=diag[σ1,…,σ8],则X-33操纵面损伤模型可以表示为:
定义U=diag[u1,…,u8],σ=[σ1,…,σ8]T,则(2.21)又可以表示为如下形式:
可以得到操纵面损伤下(3.3)的故障模型为:
其中D=diag(d1,d2,…,d8),ki表示第i个操纵面上的损伤因子,为未知的常数。飞行器的舵回路和操纵面一般都是由机械结构连接一起,当操纵面卡死的情况发生,如果机械连接部分正常,则使得电液压驱动装置同样卡死在某个位置不能发生移动。所以这种情况下作动器同样发生卡死情况,一般作动器机构具有动态特性,往往用如下一阶惯性环节来加以表示:
其中ui为作动器的实际输出,uci为作动器的输出指令。由于实际***作动器回路的响应速度远远快于***本身,所以可以利用奇异摄动理论对(3.5)进行降阶,失效和卡死故障可以联合表示为:
其中σi=0或者1,0代表发生卡死故障,1代表操纵面未发生卡死故障。
为便于后面的描述,这里给出一个命题。
命题1:如果σi=0或者1,则
证明:当σi=1,等式显然成立,当σi=0,输入卡死故障发生,显然输入卡死状态下
由命题1和(3.6)可以得失效和卡死联立的(3.3)的故障模型为:
其中Σ=diag(σ1,σ2,…,σ8)。这里u实际上是可以通过位移传感器计算得到或者通过光电码盘获取,容错控制的目的就是为了计算得到各个作动器位移指令uc。
3、操纵面的物理约束:
由于实际***存在偏转位置和速率约束,所以在设计控制器时有必要对其进行考虑,位置约束可以表示为:
umin≤uc≤umax (3.8)
速率约束可以表示为:
利用一阶欧拉方程离散化(3.9)得到:
其中T为采样周期。因此,速率饱和的限制可以近似为在每个采样时间的偏转。结合速率约束和偏转位置的饱和约束,其可以统一的定义为满足如下约束条件,即:
其中:
下面就要考虑在(3.11)的约束下,如何实现操纵面损伤和卡死故障下的控制重新分配问题以及容错控制***的设计。
4、容错控制***的设计:
本发明给出所提鲁棒容错控制的设计思路。主要分为三部分的设计,故障诊断和辨识单元,伪控制律,和控制重新分配算法。为方便读者理解,这里给出本发明所提方案的框图,见图2;
4.1设计故障检测和诊断单元:
本发明的故障检测和诊断单元有两个功能,一个是快速的诊断出操纵面卡死故障,另外需要将损伤故障信息和干扰信息隐藏在自适应滑模观测器中。所以在设计时需要分两个步骤进行设计,第一步是设计操纵面卡死故障诊断模块,第二步就是设计一个自适应滑模观测器。
步骤1:设计操纵面卡死故障诊断单元:
实际中,作动器的指令和输出是可以很容易获得的,因为操纵面的卡死直接影响作动器的卡死,所以,在判断操纵面是否卡死情况可以间接通过作动器是否卡死来判别。作动器控制回路的动态可以由如(3.5)表示,卡死故障直接在(3.5)体现后为于是给出一个作动器卡死故障辨识器为:
其中sign(.)为开关函数,当时,指示为卡死,当指示未发生卡死故障。实际中,如果飞行器处于巡航阶段时,这时飞行器可能处于静稳定状态,这个时候操纵面可能不发生偏转,因此在没有激励信号的情况下就会造成误检,在实际操纵过程中,为避免这一情况的发生,一般都在作动器指令上施加一个微小的激励信号,这个施加的信号不会给飞行器的飞行品质造成影响,本发明中施加的激励信号为一个正弦波信号。
步骤2:设计操纵面损伤和干扰观测器单元:
由于实际***存在建模误差和外部扰动等不确定因素,想在此情况下得到精确的故障信息不是一件容易的事,本发明基于第一章提出的容错控制架构,将故障信息和不确定因素都隐含至一个辅助***,第一章给出一种基于自适应神经网络观测器结构的辅助***,本发明给出一个基于自适应滑模观测器的辅助***设计方法。
为方便下面的表达,方程(3.4)又可以表示为:
其中U=diag[u1,…,u8],d=[d1,…,d8]T,定义观测误差e=z-x,于是设计一个观测器如下结构:
其中表示损伤因子的估计值,并由如下的自适应律得出:
其中γ1>0,P=PT>0且P是ATP+PA=-Q的解,其中Q=QT>0,即A为一个Hurwitz矩阵。Proj[]为投影算子,其可以确保估计值处于最小值和最大值之间。滑模项设计如下:
其中ò为接近0的正常数。时变参数m(t)由如下自适应律更新得到:
定义损伤因子估计误差为由观测器方程(3.15)和方程(3.4),可以得到观测误差动态方程为:
定理3.1:由观测器(3.15)、自适应更新律(3.16)和滑模项(3.17),可以观测误差动态方程(3.19)全局渐近稳定,即对任意初始值e(0),确保limt→∞e(t)=0,损伤故障估计误差有界。
证明:选择如下Lyapunov方程:
对(3.20)求导后代入(3.19)、自适应更新律(3.16)和滑模项(3.17)得:
现在,证明为m(t)是有界的,通过归谬法。首先,假设为m(t)是无界的。由方程(3.18),可以得到m(t)是单调增的,即limt→∞m(t)=∞,因此存在一个时间tm,使得在任意时刻t>tm。于是很显然:
由于Q=QT>0,于是可以得到V有界且递减。于是可以得到如下不等式:
于是可以得到是有界的。于是可以根据:
得到m(t)是有界的。而一开始假设m(t)是无界的。所以通过归谬法可以得到m(t)是有界的,且由于m(t)是单调增的,所以可以得到由于m(t)是有界的,反过来由(3.24)可以证明e(t)是有界的。由Barbalat引理可以看出,有界则表示limt→∞e(t)=0,因此可以得到同样得出是有界的。
观测器(3.15)引入卡死故障估计后可以写成如下形式:
其中:
滑模项采用自适应技术,无需知道不确定的界,且算法简单,和第一章的自适应神经网络观测器有相同的功能,而克服了第一章神经网络需要知道中心点的缺点。由于(3.17)为离散项,连续化滑模项如下:
其中:ρ=ρ0+ρ1||e||,且ρ0和ρ1为大于0的常数。
实际在操作时,有必要对滑模增益m(t)进行幅值的约束,防止其发散,这方面的方法可以使用Proj[]投影算子和切换σ-修正方法。这两种方法可以参见[111]和其文献。
5、伪控制律的设计:
由于方程(3.25)属于过驱动***,且在控制输入上存在位置饱和和速率的约束,所以在设计控制律时必须分两部分走,分别为伪控制律和控制分配两部分。
伪控制律设计部分需要解决的是如何针对如下动态方程计算出τ:
而控制分配部分是针对如下方程得到最优的控制指令uc:
约束条件(3.11)
由(3.27)可以看出,伪控制律的设计相对简单,使用的方法有很多,如动态逆控制,反演控制,动态面控制,滑模控制,基于内外环的设计方法。本发明采用基于内外环的控制律设计方法:
步骤1:姿态角回路控制律设计成如下:
其中:K1为待设计的正定常矩阵。是姿态角设定值平滑后的输出,通过如下滤波器获得:
其中Λ>0,υ为滤波器的输入。如果滤波器的输入则X2即为所需要的
步骤2:姿态角速率回路控制律设计成如下:
其中:K2为待设计的正定常矩阵。是姿态角回路控制律得到的经过滤波器(3.30)平滑后的输出。于是控制分配问题就看成得到最优的uc使得实际和τdes相等。
6、控制分配:
选取和文献[148]相同的最优性能指标:
其中Wu和Wτ为对角正定的加权矩阵。引入γ极小化J使得下式成立:
γ-J>0 (3.33)
即:
不等式(3.34)可以转换为如下LMI形式:
其中:R(χ)=R(χ)T,B(χ)=B(χ)T。利用Schur补引理可以得到:
B(χ)>0,R(χ)-C(χ)B(χ)-1C(χ)T>0 (3.36)
于是(3.34)可以表示为如下:
作动器位置约束和速率约束如下:
联合不等式(3.36)和(3.37),则控制分配问题可以变成求解LMI约束下的最小化问题,于是在线获得最优的控制律uc(k)可以通过如下不等式(3.39)计算
s.t.
γ>0
其中
不等式(3.39)是一个合适的控制分配解决方案,使用即时优化的结果uc(k)作为作动器的指令。(3.39)解决了至关重要的实时飞行控制问题。它的优化要通过不断迭代来实现。如果存在一个可行的最优分配解决方案,即可以保证式(3.39)中的LMI凸优化问题快速收敛,即存在可达到预期的解uc(k)。目前可以基于MATLAB LMI工具箱来进行算法测试,随着处理器的速度被不断提高和和特定软件的开发,可以使得这套基于控制重分配技术的容错控制方法得到应用。
通过以下的仿真验证对本发明的原理和应用效果做进一步的说明:
利用仿真验证来证明所提方法的有效性,X-33有四对操纵面,两个方向舵,两个襟翼,左边的两个内侧副翼外侧副翼和右边的两个内侧副翼外侧副翼。记u=δ=[δrei,δlei,δrfl,δlfl,δrvr,δlvr,δreo,δleo]T,其中:δrei,δlei表示右边和左边的内侧副翼,δrfl,δlfl表示右边和左边的襟翼。δrvr,δlvr表示右边和左边的方向舵。δreo,δleo表示右边和左边的外侧副翼。每个操纵面通道上的舵回路动态仍然取为:
X-33各个操纵面的最小最大偏转角度和速率约束为:
umin=-[25,25,30,30,15,15,60,30]Tdeg
umax=[25,25,30,30,26,26,30,60]Tdeg
X-33的飞行环境为V=5.16马赫,高度h=20千米。攻角的跟踪值设定为3deg,航迹滚转角跟踪设定值为4deg,侧滑角设定值为0deg。可以通过设定的姿态角跟踪值xd,其计算公式为(3.29),控制增益K1=diag(1,1,1)。考虑转动惯量存在1%的参数摄动,即△J∈[(1-1%)J,(1+1%)J],角速率环的外部扰动为[sin(r),1.5sin(0.1t),1.5cos(0.1t)]T,角速率的初始值为x∈[0,0,0]Tdeg/s。
角速率回路伪控制律的控制增益矩阵K2=diag(1,1,1),自适应滑模观测器增益矩阵A=diag(-2,-2,-2),P=diag(10,10,10),m(0)=0.001,假设右外侧升降副翼在t=1s发生卡死故障,左边的内侧副翼t=5s损伤80%。未进行容错控制的姿态角和角速率响应曲线如图3所示,可以看出当故障发生后,***在5s之后已经不能保持稳定。容错控制***的姿态角和角速率响应曲线如图4所示,可以看出本章所提的基于控制分配技术的近空间容错控制能实现操纵面卡死,失效的容错。各个操纵面的偏转角度如图5所示,图6显示的各个操纵面的卡死辨识情况。
由仿真结果可以看出本发明所提的容错控制方法有很好的容错控制能力,由于采用控制分配技术,可以确保每个操纵面的偏转指令为最优结果。而目前的容错控制技术研究,对于实际操纵面的位置饱和约束和速率饱和约束未做充分的考虑。这一点是本发明所提方法的最大优点。
本发明针对存在干扰以及参数不确定的近空间飞行器,考虑了其在发生操纵面卡死和损伤后的鲁棒容错控制问题,结合控制分配技术,在***存在位置和速率饱和约束情况下,利用LMI在线计算最优的操纵面偏转指令。首先给出近空间飞行器X-33的姿态角速率回路动态方程,并进一步建立了操纵面卡死和损伤故障模型。而后根据姿态角速率回路的操纵面损伤故障模型设计了自适应滑模观测器。并联立姿态角回路和所设计的观测器动态方程,设计角度环控制器和角速度环控制器。所设计的容错控制***不需要精确的损伤故障信息和干扰等信息,而是将其均隐含在所设计的自适应滑模观测器中,并实时的将隐含信息反馈给伪控制律和在线分配算法LMI,从而实现鲁棒容错控制。最后将所设计的方法分别应用于操纵面故障情况的近空间飞行器姿态稳定控制和跟踪控制中,实现了飞行姿态鲁棒容错控制,并达到了良好的控制性能和效果。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。