彭 程,何 冰,席文强,林关成
(渭南师范学院物理与电气工程学院,陕西渭南 714099)
飞翼飞机具有翼载小、升力效率高、阻力小以及隐身性能好等优点,往往采用多操纵面配置,具备气动控制余度,这就为可重构飞行控制系统的设计提供了条件,因此可以在飞行器故障条件下,采用先进的控制策略即控制分配技术来重构控制律。控制分配技术在部分舵面发生故障的情况下,仍能利用剩余舵面实现系统控制,而不需要重新设计基准控制律,被认为是解决飞行器故障时控制律重构的一种最行之有效的方法,该方法已被广泛应用于各种军用和民用先进飞行器中。控制分配问题是文献[1]于20 世纪90 年代初提出,并且对直接分配算法进行了比较深入的研究。文献[2]从数学的角度全面阐述了控制分配问题,并总结了各种控制分配方法。伪逆法[3]是一种比较简单的控制分配策略,该方法的基本思想是在无约束控制的情况下对期望运动的伪逆求解,将此解作为控制分配算法的输出。由此可知,基本的伪逆法并没有考虑舵面的物理限制,所以一旦舵面进入饱和,会严重影响仿真结果。针对这一问题,文献[4]提出了一种级联广义逆再分配算法。该算法虽然在一定程度上扩展了控制解空间,但由于广义逆只是矩阵逆的近似计算,并且当期望运动超出可达转矩集合边界时,饱和后的多次分配对于控制系统的稳定性、时延的影响都有待理论证明。直接分配方法[5]需要建立舵面指令限制的控制子空间到飞机转矩可达子空间的映射,确定控制限制范围内的最优控制向量,使其在给定方向上的转矩最大。该算法几何意义直观,但往往比较复杂,计算量大。虽然提出的改进算法[6-7]可以在一定程度上提高实时性,然而却无法保证所得到的分配结果为最优解。链式递增方法[8]实质上是级联广义逆方法的延伸,该方法可最大限度使用常规气动舵面,避免频繁使用如推力矢量等辅助控制面,减少飞机可用功率的损耗,但算法容易导致较大的操纵量。数学优化方法[9-10]具有清晰的物理意义,简单易懂,并且能够得到约束条件下的最优解。但是传统的数学优化方法往往比较复杂,计算量比较大,难以满足实时性要求。
固定点迭代方法广泛应用于非线性方程组的求解,它利用递归固定点紧缩算法,通过逐步逼近的方法来求得方程的最优解,具有易于编程实现、全局收敛性好、计算速度快等特点。文献[11]将固定点迭代法应用到预测控制中,取得了比较好的控制效果;文献[12]使用固定点迭代算法对高超音速飞行器X-33 的舵面卡死故障进行了控制分配研究,但没有考虑执行器失效故障的情形且对算法的收敛性没有给出说明,也没有考虑大指令跟踪时舵面饱和引起的迭代效率下降的问题。本文分别研究了在执行器失效故障和卡死故障两种情形下,如何将基于数学规划的控制分配问题转化为固定点迭代方程的求解,以实现飞翼飞机控制律的快速重构。通过推导证明了该迭代方程具有映内性和2 范数可压缩性,也就保证了解的全局收敛性和唯一性,从而使得该迭代方程可以从任意初始点收敛到最优解,这种优良的收敛特性极大地方便了重构控制系统的设计。
定义1 对于映射F(x)∶D⊂Rn→Rn,并且方程组F(x)=0 可改写为
若x*⊂D满足x*=Φ(x*),则称x*为Φ(x)的固定点,Φ(x)为固定点方程。
由式(1)可以构造迭代公式
如果对于给定的初始点x0,通过迭代可以收敛到x*且Φ(x)是连续的,则x*是迭代函数Φ(x)的固定点。注意这里面存在两个问题:(1)固定点是否存在;(2)若固定点存在,是否可以通过式(2)迭代求得。为了解决这两个问题,给出如下定义和定理。
定义2 设有函数映射Φ(x)∶D⊂Rn→Rn,若Φ(x)∈D,∀x∈D,则称Φ(x)在D上是映内的,记作Φ(D)⊂D。若存在常数L∈(0,1),使得则称Φ(x)在D上是p范数可压缩的,L称为压缩系数。
定理1(Brouwer 定理)[13]对于函数映射x=Φ(x)∶Rn→Rn在有界凸集D0⊂D上连续并且Φ(D)⊂D,则x=Φ(x)在D0内一定存在固定点。
定理2设函数映射Φ(x)∶D⊂Rn→Rn在闭集D0⊂D上是映内的,并且对某一种范数是压缩的,压缩系数为L,则
(1)Φ(x)在D0上存在唯一的固定点x*;
(2)对任何初值x0∈D0,迭代公式(2)生成的序列都收敛到x*,即迭代公式是全局收敛的。
考虑如下所示线性飞机模型,无执行器故障时:
其中:x∈Rn,u∈Rm,Gw(t)为飞机受到的干扰信号。
下面分别针对飞机就执行器失效和卡死故障时的情形进行分析。
(1)执行器失效故障
此时故障后的飞机模型为
其中:Bf=BFi,失效矩阵F为
其中:μ(t)表示故障发生过程,Fi表示第i个执行器发生失效故障。B,Bf的秩Rank(B)=m1<m,Rank(Bf)=m2<m,该要求的实际意义在于保证飞机的控制面数量大于所设定的虚拟控制信号的数量,使控制分配算法具有可操作性。对于具有冗余多操纵面的飞翼飞机而言,上述假设是能够得到满足的。基于这一假设,进行满秩分解B=BνBu,带入式(3)后得
其中:ν=Buu是实际控制信号u对应的伪控制量,控制分配的目的就是由基本控制器给出ν,需要求解的是控制分配后的重构控制量uf。在控制分配前,首先需要选择一个合适的虚拟输出信号
其中:Cz为输出向量选择矩阵,z∈Rl。在控制分配算法中,虚拟输出信号的选择并不唯一,它并不需要和飞机的输出信号一样,通常体轴系上的俯仰、滚转和偏航角速率,即z=[p,q,r]T是最为常见的选择,因为这些量和飞机的动态特性关系密切。根据式(7),可得虚拟输出信号的变化率表达式为
把式(8)带入式(6),得
同理,可得到故障后虚拟输出信号的变化率表达式
可以看到式(9)与(10)之间的差别仅仅在于等式右边的第二项。控制重分配的任务就是在故障发生之后,利用控制面本身的冗余,使得上述两式相等,即
其中:ν为已知的伪指令。通过求解式(11)可得到重分配后的控制量uf。优化目标函数中应包含两部分:控制分配误差最小;舵面偏转量最小。因为舵偏最小不仅可以降低执行器能量损耗和飞行阻力,对飞翼飞机而言更为重要的是可以减小雷达反射面积。由此可得求解该问题的二次规划(QP)目标函数
其中:Q1,Q2是一个正定对角权值矩阵;γ1+γ2=1,γ1∈(0,1)是二次项加权因子,用于平衡控制分配误差和控制能量;不等式约束表示执行器的位置限制
由优化理论知,QP问题(12)具有唯一解且必然满足如下K-T 条件
其中:μ=[μ1,μ'1,…,μm,μ'm]T是lagrange 乘子向量。由文献[11]可知,下面的固定点方程的解也满足上文的K-T 条件
由下文的推导知式(15)也具有全局唯一解,因此固定点方程(15)的解就是QP问题(12)的解。由定义1 可知,如果上文的固定点方程所产生的迭代序列是收敛的,那么就可以通过如下的迭代公式
来求解本文的QP问题。
(2)执行器卡死故障
故障后的飞机模型为
其中:ur∈Rm1表示剩余的无故障舵面;Br表示无故障舵面在输入矩阵B中所对应的列;向量djam表示卡死操纵面对飞机的影响。同执行器失效故障的推导过程一样,此时固定点方程可写为
上文经过推导给出了在执行器失效和卡死故障时用于控制分配求解的固定点函数,但并没有讨论其收敛性。考虑到在这两种故障下,函数收敛性的证明相似,本文只给出执行器失效故障时的推导。为了叙述方便,首先给出如下两个引理:
引理1设矩阵H=(hij)m×m∈Rm×m是对称矩阵且其特征值为λ1,λ2,…,λm,则可得
引理2设矩阵H=(hij)m×m∈Rm×m是对称正定矩阵,且其特征值λ1≥λ2≥…≥λm>0,由式(16)给出,则Im-ηH必然也是正定矩阵且其特征值均小于1。
下面将推导固定点迭代公式(18)的收敛性。
由矩阵范数的相容性可得
于是
由H的定义知其为实对称正定矩阵,由引理2 可得,矩阵Im-ηH的特征值
其中:ζ1∈(0,1)。易知Φ(u)是映内的,式(26)表明其又是压缩的,故根据定理2 可知式(18)是全局收敛的且其解具有唯一性。也就是说从任意初始点u0,都可以最后收敛到解u*,这种优良的收敛特性为飞行控制系统的设计提供了很大便利。
飞翼飞机采用了一种机翼和机身平滑融合的设计,安装多个控制舵面。因此,使用控制分配技术合理分配控制器的指令到各个控制舵面,以最大程度地发挥多控制面的优势,成为飞翼飞机飞行控制研究中需要解决的关键问题。本文以某飞翼飞机为研究对象,对所提出的基于固定点迭代的控制分配算法进行仿真验证。该飞翼飞机机尾从左至右有7 个功能类似的升降副翼(δ1,δ2,δ3,δ4,δ5,δ6,δ7),这为飞机的控制提供了充足的冗余度,飞机的方向舵用来削弱荷兰滚及进行航向静稳定性补偿,不参与控制分配。该飞翼飞机操纵面的位置约束为(±15°,±15°, ±30°, ±30°, ±30°, ±15°, ±15°)。基准控制器采用LQR 控制。仿真中所用到参数值γ1=0.000 1,由于在控制过程中需要对俯仰角进行跟踪,并且希望保持迎角和侧滑角的稳定,因此虚拟输出信号选择为(θ,α,β,p,q,r),加权矩阵Q1=diag(10,1,1,5,5,5),Q2=diag(5,5,1,1,1,5,5)。
(1)算法实时性验证
为了验证算法的实时性,我们进行了执行速度的测试。仿真试验的计算机处理器为英特尔酷睿i5,2.67GHz,在Matlab2009b 软件中进行编程。测试中加入了4 组伪指令,并分别采用基于伪逆法、数学规划法(使用Matlab 函数quadprog)和固定点迭代算法对这些伪指令进行跟踪,并对程序的执行时间进行了对比。为了得到准确结果,对每种方法进行了50 次仿真,并取其执行时间的平均值,一共进行了8 组实验,其中1~4 组为执行器失效故障下的结果;5~8 组为执行器卡死故障下的结果,具体如图1 所示。
图1 不同算法仿真时间对比
通过对所有仿真结果的分析,可以得出结论:固定点迭代方法是除了伪逆法之外执行时间最快的算法。虽然伪逆法不需要进行迭代计算,计算速度也比较快,但其跟踪精度较低,甚至可能出现明显的跟踪误差,尤其是该方法没有考虑操纵面的饱和约束,这是一个较大的缺点,限制了应用范围。相比之下,本文提出的固定点迭代法在计算速度上明显优于数学规划法。8 组仿真结果表明了固定点迭代算法在控制分配中的可行性和优越性。为了进一步验证控制分配算法的有效性,下面分别研究在执行器失效和卡死故障时控制算法对输入指令跟踪的情况。
(2)执行器失效故障
飞机在跟踪俯仰角指令的第0.2 秒执行器5 和7 分别发生完全失效和40%失效,即失效矩阵F=diag(1,1,1,1,0,1,0.6),仿真结果如图2 所示。从图2 可知,执行器5 和7 的失效导致俯仰角跟踪速度的减缓和飞机的滚转运动,飞机产生侧滑。加入本文给出的控制分配算法后,俯仰角跟踪速度明显得到提高,接近无故障时的标称值,同时有效地减小了飞机滚转角和侧滑角的变化。图2 中第一幅图是目标函数的变化曲线,从图中可以看出在整个仿真过程中目标函数(J)的值均小于10-4,也就是说控制分配算法有效地完成了对伪指令的跟踪,实现了控制分配的目标。
图2 执行器失效时飞机响应曲线
进一步通过分析舵面的偏转曲线可知,控制分配算法的实质是通过增大舵面6 和7 的偏转指令来补偿执行器故障对飞机的影响。若舵面进入下限饱和,那么它就在随后的迭代过程中,一直处于最小值状态,这说明本文所提的算法可以兼顾舵面的饱和特性,方便实际应用。
(3)执行器卡死故障
飞机在跟踪10o俯仰角指令的第5 秒发生执行器7 卡死在-10o故障。由于只需要对剩余的舵面进行控制分配,以补偿执行器7 卡死对飞机的影响,因此加权矩阵Q2=diag(5,5,1,1,1,5),仿真结果如图3 所示。从图3 中响应曲线可知,执行器7 的卡死导致飞机俯仰角和滚转角的波动,飞机产生侧滑。加入本文给出的控制分配算法后,使得舵面6 迅速向正的方向偏转,以补偿执行器故障对飞机的影响,同时飞机的滚转角和侧滑角变化也明显减小。图3 的第一幅图给出了在整个仿真过程中目标函数(J)的仿真曲线,其值均小于10-4,也就是说控制分配算法有效地完成了对伪指令的跟踪,实现了控制分配的目标。
图3 执行器卡死时飞机响应曲线
本文旨在解决飞翼飞机控制分配算法的重构问题,并提出了一种基于固定点迭代理论的控制分配算法,该算法将飞翼飞机的控制分配问题转化为求解固定点迭代方程,并通过映内性和可压缩的2 范数保证解的唯一性和全局收敛性。这使得算法能够从任意初始点快速收敛到最优解,实现控制律的重构,具有编程简单和计算速度快的特点。通过仿真验证表明,所提出的算法在飞翼飞机执行器失效和卡死故障情况下表现出了快速性和有效性,这意味着该算法可以在飞机遇到故障时快速地重新分配控制,并确保飞行器的稳定性和安全性。