基于混沌蝙蝠算法的无人机控制系统故障诊断优化
2020-10-15肖玲斐
王 旭 路 凯 肖玲斐
1(许昌电气职业学院 河南 许昌 461000) 2(许昌学院 河南 许昌 461000) 3(南京航空航天大学能源与动力学院 江苏 南京 210016)
0 引 言
目前,由于网络技术的快速发展,分布式控制系统在大型无人机发动机控制系统上的应用也越来越受人关注[1-2]。分布式控制系统实质上是一种网络控制系统,它与传统的点对点控制系统相比最大的不同在于其相关数据是通过总线进行传输的,这会造成诱导时延以及数据丢包等问题,故在进行故障诊断时必须将总线带来的不利因素考虑进去。王越男[3]设计了一种针对离散时滞系统的鲁棒故障检测观测器,使得检测残差能够对噪声信号具有较好的鲁棒性能。文献[4-6]均利用H∞理论针对不确定系统、时延网络控制系统、非线性系统进行鲁棒故障检测,使得系统在强噪声条件下依旧能够保证良好的故障检测性能。但是上述文献均只考虑如何提高检测系统对噪声干扰信号的鲁棒性,未考虑对故障信号的影响。
为提升检测系统对噪声信号的鲁棒性以及故障信号的敏感性,本文针对双通道多包传输的短时变时延无人机发动机网络控制系统,提出一种基于改进蝙蝠的故障检测观测器优化设计方法。首先对原系统建立故障观测器,将双通道多包传输转换为切换系统,将短时变时延建模为一种系统不确定性。然后将残差信号对噪声信号和故障信号的传递函数比值作为适应度函数,使其对故障信号敏感,对噪声鲁棒,利用改进蝙蝠算法在保证观测器残差系统稳定的条件下使得目标函数最小,从而求得最优故障观测器增益矩阵。
1 系统建模
首先建立短时变时延无人机发动机网络控制系统,进行如下合理假设:
(1)传感器节点为时间驱动,而控制器与执行机构节点均为事件驱动,采样周期为常数T。(2)传感器到控制器与控制器到执行机构之间均存在网络诱导时延,分别为τsc和τca,且满足τsc+τca≤T,由于计算时延很小,故忽略不计。(3)传感器到控制器与控制器到执行机构之间均为多包传输,且采用静态调度的方式。(4)存在未知扰动,但不考虑数据丢包以及数据包时序错乱。
已知该系统的离散时间模型为:
(1)
进一步建立观测器误差模型。考虑系统的双通道多包传输,假设从传感器传输到控制器的状态量x(k)被封装在m个数据包中,从控制器传输到执行机构的控制量u′(k)被封装在n个数据包中,令控制器与执行机构收到的状态量与控制量分别为x′(k)与u(k)。
(2)
故
(3)
同理,控制量的各个数据包之间有如下关系:
(4)
即
(5)
状态反馈控制器为:
(6)
式中:K为状态反馈控制器增益矩阵。将式(6)与式(5)和式(1)联立然后定义增广向量z(k)=[xT(k)x′T(k-1)uT(k-1)]T,可以得到等价模型:
(7)
2 改进BA设计
蝙蝠算法一经提出,就由于其简单性与有效性得到了广泛的关注[8-10]。具体的蝙蝠算法迭代过程为:蝙蝠的坐标为一个解,该坐标包含速度和适应度函数值,蝙蝠种群利用新发出的频率、脉冲发射速率和声波响度得到新的解集,然后依次进行迭代得到最优值[11-12]。数学表达式如下:
Fi=Fmin+(Fmax-Fmin)×RNRN∈[0,1]
(8)
(9)
(10)
为提升算法的便利性,给出相应的更新公式如下:
Xnew=Xbest+α×Al
(11)
式中:α代表在[-1,1]区间内的随机数;Al表示第l代蝙蝠声波响度的平均值。
在式(11)的基础上,每一只蝙蝠的脉冲发射率Ri以及相应的脉冲声波响度Ai也会进行更新,具体的更新过程如下:
(12)
(13)
式中:β、ω为常数,β>0,0<ω<1。
BA具有收敛性强以及搜索范围大的优点,但是蝙蝠位置的更新效果过分依靠速度参数,使得在优化过程后期,容易陷入局部极值[13-14]。为提升其优化精度,将遗传算法中的理论与基本BA结合,具体步骤如下:
Step1将交叉比例和交叉方法引入蝙蝠种群的更新过程,具体的过程如下:
(14)
Step2为使得更新后的种群xi(t+1)发生变异,设置相应的变异激活函数如下:
(15)
式中:α∈[0.5,0.6];β∈[0.1,0.3];k代表种群内第k只蝙蝠;n代表维度;N代表蝙蝠种群的总个数;rand是[0,1]的随机数。若满足Activate(k)<1,则使得蝙蝠发生变异。
Step3变异主要包括均匀变换以及高斯变换,均匀变换主要为了提升收敛速度,高斯变换主要提升跳出局部极值的能力,相应的均匀变换和高斯变换如下:
(16)
式中:σ代表高斯分布的标准差;Lmax表示最大临界值;μ表示更新参数;x*表示目标位置。
在BA中,已知脉冲发射率更新迭代的初始值选则具有一定的主观性,因此该参数选择可能使得算法具有一定的人为保守性而无法达到最优。因此进一步改进脉冲发射率的迭代过程:
(17)
图1 混沌BA脉冲发射率
图2 基本BA脉冲发射率
3 改进BA的故障检测观测器设计
设闭环观测器为:
(18)
式中:Ll(l=1,2,…,m×n)是需要求的观测器增益矩阵。观测器结构如图3所示。
图3 观测器结构
(19)
对式(19)进行Z变换,则残差信号ε分别到扰动信号ω和故障信号f的传递函数矩阵为:
(20)
本节利用改进BA对故障检测观测器的增益矩阵Ll进行优化必须遵循下列几点要求:
(1)稳定性。在系统扰动为0时,残差信号能够收敛。
(2)灵敏性。残差信号对故障信号要相当敏感,即残差对故障的增益要大。
(3)鲁棒性。残差信号对扰动信号的鲁棒性要强,即残差对扰动的增益小。
首先必须要满足稳定性要求,这是实现故障检测的基础。由文献[3]可得到稳定性的条件为:
(21)
由于Ωij中含有不确定矩阵F(τk),所以进行如下变换:
(22)
将式(22)代入式(21),根据文献[6]可知该式等价于存在ηl>0(l=1,2,…,m×n),使得:
(23)
式中:*表示对称矩阵。
运用ArcGIS 10.2进行高低聚类分析,得出如图1所示商品住宅价格高低聚类图。从图中可以看出中山区、西岗区和沙河口区的大部分住宅价格以高高聚集为主,甘井子区住宅价格主要为低低集聚为主。高低聚集区主要分布在中山区北部和西岗区一小部分住宅。
(24)
保证稳定性的条件:所取的故障观测器增益矩阵Ll必须满足存在对称正定矩阵P以及ηl>0(l=1,2,…,m×n),使得式(24)成立。
为了增强误差观测器的鲁棒性与灵敏性,设适应度函数为:
(25)
式中:J1为误差系统对噪声在整个噪声频率中的传递函数增益,为了减小噪声对系统的影响,J1要尽量的小;ωr为噪声信号的频率点;J2为误差系统对故障在整个故障信号频率中的传递函数增益,由于传感器或者执行机构故障信号大多集中在低频段[15],故令传递函数变量z=1。为了增大系统对故障信号的敏感性,故必须使得J2尽可能大,所以优化的目标为求取适应度函数fitness的最大值。
综上所述,基于改进BA的故障检测问题可以归结为以下优化问题:
minfitness
(26)
具体的优化步骤为:
Step1设置算法的基本参数与初始值大小,给定输入为观测器矩阵的元素,并计算出初始适应度函数值。
Step2对蝙蝠种群进行交叉运算,判断蝙蝠个体是否发生变异,若发生变异,则按照变异过程进行处理。
Step3更新此时的蝙蝠种群位置,将此时的位置代入式(26)中的线性矩阵不等式,若存在可行解,则更新后的种群以细微扰动量在当前最优解附近重新寻优,否则重新进行位置寻找。
Step4计算蝙蝠种群新位置的适应度函数值,并更新声波响度、混沌脉冲发射率以及最优值。
Step5对比得到当前种群内适应度函数的最优值,并记录最优值的位置。
Step6判断是否达到最大迭代次数Iterate_times,若满足,则停止算法并输出适应度函数的极值以及对应的最优位置,即最优的故障观测器增益矩阵Ll的各个元素,否则返回Step 2,再进行下一次迭代寻优。
4 仿真算例及结果分析
4.1 控制系统半物理仿真平台
本文的仿真验证借助航空发动机分布式控制系统半物理仿真平台来进行,系统结构如图4所示。由发动机模拟计算机、控制计算机、智能执行机构、智能传感器以及CAN总线五部分组成。发动机模拟计算机运行发动机数学模型,智能传感器通过接收模型计算机中解算出的各个传感器模拟量,进行数据转换,并通过串口上传至CAN总线,与发动机控制计算机进行实时通信。控制计算机中接收CAN总线上的数字量,运行控制算法,输出控制信号至CAN总线,控制面板中实时显示发动机运行数据和曲线,并能够在控制面板中进行控制器参数调整、故障模拟、通信检测等操作。智能执行机构从CAN总线中接收控制信号,以模拟量信号输出至发动机模拟计算机中进行发动机转速控制。具体的实物如图5所示。
图4 系统半物理平台结构
图5 分布式控制系统仿真平台实物
4.2 基于半物理平台的仿真
设无人机发动机的状态方程为:
(27)
以T=20 ms为采样周期离散化可得:
(28)
(29)
在求解过程中,设置寻优解空间为[-10,10]6,采样步长为τ=20 ms,最大迭代次数gmax=1 000,种群规模sizepop=100,协同子种群m=5,α0=β0=0.7。
分别以基本BA和改进BA对故障观测器增益矩阵Ll(l=1,2,3,4)进行优化,其中L1的优化结果如图6和表1所示。
图6 优化结果对比图
表1 优化结果数据对比表
从图6和表1中可以看出,改进的BA的极值较小,且收敛时间比基本BA少了9个迭代周期;改进的BA收敛曲线更加平滑,说明该方法更容易跳出局部极值,对在故障观测器矩阵优化上相对于基本BA在收敛速度、收敛性能以及收敛精度上具有较大的提高,验证了改进BA的优越性。
从表1中可以得到最优适应度函数所对应的故障观测器矩阵为L1=[0.355 2 -0.990 1 1.302 1 0-0.579 7 0]T,同理可得其他三种情况的观测器增益矩阵为:
为在半物理平台上模拟出双通道多包传输,由于系统传输数据量较小,数据包的数据区只需要三位,故将CAN总线中传输数据包的第四个数据位设置为数据包标志位。设置的数据包随机传输序列如图7所示。
图7 数据包随机传输序列
系统控制器根据传输的数据包来自动切换故障观测器增益矩阵,从而实现对整个系统的故障检测。为模拟系统的传感器短路故障,对系统施加一个幅值较小的阶跃型故障,同时添加一个幅值为0.8的噪声信号,检测结果如图8和图9所示,分别代表传统鲁棒故障观测器[3]与改进BA优化的故障观测器检测残差结果。可以看出传统方法的残差信号振动幅值为0.1,而优化方法的残差振动幅值仅为0.075,这说明噪声信号对传统检测方法的影响较大。另外,传统检测方法的残差与正常状态无法完全通过设定阈值来区分,而图8显示的优化故障观测器方法对故障信号有明显的放大作用,且噪声分量明显减少,阈值设定范围从传统的0.100到0.155扩展为0.075到0.193,范围扩大2.14倍,说明该方法更有利于区分故障状态与正常状态。
图8 传统鲁棒观测器检测残差
令传感器漂移模拟故障为f=0.15×(t-20)×δ(t-20),给定幅值为0.05噪声信号,图10分别为利用文献[3]的故障观测器方法与改进BA优化方法所得到的残差变化对比图。可以看出传统的故障观测器方法噪声较大,而优化的故障观测器方法噪声分量明显减少,故障信号有明显的放大作用,残差能够更快地增大到阈值,从而更快速地检测出系统的漂移故障。
图10 斜坡故障监测残差对比
进一步给定一个传感器的非线性故障:
(30)
此时同样给定一个幅值为0.05的噪声信号,检测残差对比结果如图11所示。可以看出,传统方法的残差振动约为0.003 8,而优化方法的残差幅值为0.001 8,这说明噪声信号对传统检测方法影响更大。另外,传统方法的阈值选择范围为0.003 8到0.012 0,而优化方法的阈值选择范围为0.001 8到0.021 0,范围增大2.34倍,进一步说明该优化方法对故障状态与正常状态具有更好的区分度。
图11 非线性故障检测残差对比图
综上所述,利用改进BA优化的观测器增益矩阵能够使得残差信号放大故障信号而减弱噪声的影响,有效地减少故障的漏报率,提升故障预警的准确性。
5 结 语
为了更加贴近实际的UAV网络控制系统,考虑双通道多包传输的短时变时延UAV发动机网络控制系统,利用改进BA对同时兼具故障敏感性与噪声鲁棒性的适应度函数进行优化,从而得到最优观测器增益矩阵。本文的研究结果表明:
(1)该观测器能够保证切换条件下的残差渐进稳定。
(2)改进BA在保证一定收敛速度的条件下,相对于基本BA而言具有更好的收敛精度。
(3)提出的传感器故障检测优化方法不仅能够抑制噪声信号对残差幅值的影响,还能够有效提升故障状态与正常状态的区分度,进一步扩大阈值的选择范围,有效地提升传感器各类故障的检测率,减少误报率,并且能够增大人工设定阈值的容错率,进一步说明该方法的有效性。