一种基于改进贝叶斯算法的固液火箭发动机故障诊断方法

文档序号:30493684发布日期:2022-06-22 02:57阅读:119来源:国知局
一种基于改进贝叶斯算法的固液火箭发动机故障诊断方法

1.本发明属于故障诊断领域,涉及固液火箭发动机的故障诊断方法,具体为一种基于改进贝叶斯算法的固液火箭发动机故障诊断方法。


背景技术:

2.固液火箭发动机在结构复杂度和推力可控性的综合性能上,具有液体和固体发动机无可比拟的优势,在航天各个应用领域均展现出了广泛的应用前景。从目前国内外固液火箭发动机的发展来看,虽然其探索性研制取得了一定的成功,但是可靠性仍然是制约其广泛使用的重要因素。因此,针对固液火箭发动机设计高可靠性的故障诊断系统对于其未来实际应用具有重要工程意义。
3.火箭发动机的故障诊断通常是利用发动机自带的传感器测量,得到的转速、流量和压强等信号,结合故障诊断算法,对发动机工作过程中可能遇到的故障进行诊断识别。当前存在的故障诊断算法主要是基于机理模型或神经网络的方法;如kawatsu k等人针对液体火箭发动机提出一种基于模型的ema故障诊断方法(见文献[1])。cha j等人利用非线性卡尔曼滤波方法对液体火箭发动机瞬态状态进行故障检测与诊断(见文献[2])。yu h等人针对液体火箭发动机提出了一种利用自适应遗传算法优化bp神经网络的故障诊断方法(见文献 [3])。wang l等人提出使用卷积神经网络(cnn)自适应地提取时频图特征的方式进行故障诊断(见文献[4])。
[0004]
由于固液火箭发动机的复杂性导致很难获取精确的数学模型,使得基于机理模型方式往往实际应用诊断准确度不高,或者只能对少数几种故障进行诊断。而基于神经网络学习诊断的基础是实验数据,固液火箭发动机由于型号和环境的不同会导致不同的实验结果,并且单次试验的成本较为高昂,难以获得大量试验数据,因此这种方法不适用于固液火箭发动机。而贝叶斯网络理论体系可以表达变量之间的概率关系,同时有着坚实的数学理论基础,非常适合解决不确定性问题,被广泛应用于故障诊断。
[0005]
采用贝叶斯网络用于固液火箭发动机故障诊断具有一定的应用基础,而由于固液火箭发动机时序信号的隐性特征与观测信息尺度的单一化,需要对其进行改进。


技术实现要素:

[0006]
针对上述问题,本发明提出了一种基于改进贝叶斯算法的固液火箭发动机故障诊断方法,通过将步进法与核主成分分析(k-pca)相结合,并根据模糊c均值聚类算法(fcm)建立模糊多态贝叶斯网络,使观测信号尺度得到模糊处理,达到了对固液火箭发动机故障诊断的作用,具有准确率高,适应性强的优势。
[0007]
所述基于改进贝叶斯算法的固液火箭发动机故障诊断方法,分以下步骤:
[0008]
步骤一、针对固液火箭发动机,通过对部件模型添加故障因子,利用传感器获取各种故障发生的初始信号;
[0009]
部件模型包括转子,氧化剂管路,离心泵,涡轮泵转子和燃烧室等;
[0010]
通过修改故障因子的大小,进一步模拟发动机部件故障发生的程度。
[0011]
步骤二、基于步进法对故障初始信号进行处理,将每个传感器通道得到的观测信息由一维提升到高维空间中;使用k-pca方法对每个通道的高维特征分别进行降维处理,提取各故障发生信号的主成分特征作为反映故障的信息;
[0012]
提取的特征包括:极大值,极小值,振幅,均值,方差,峭度和回归斜率;
[0013]
其中,时刻t的极大值ma(t)计算公式如下:ma(t)=max{xn(t-τ+1),

,xn(t)};
[0014]
xn(t)为第n个传感器的观测量,τ为设定的时间窗口。
[0015]
时刻t的极小值mi(t)计算公式为:mi(t)=min{xn(t-τ+1),

,xn(t)};
[0016]
时刻t的振幅pk(t)计算公式为:pk(t)=ma(t)-mi(t);
[0017]
时刻t的均值me(t)计算公式为:
[0018]
时刻t的方差var(t)计算公式为:
[0019]
时刻t的峭度k(t)计算公式为:
[0020]
时刻t的回归斜率β(t)计算公式为:
[0021]
是对时刻的平均值;
[0022]
步骤三、建立基于fcm的模糊多态贝叶斯网络,并利用提取的主成分特征放到贝叶斯网络节点上进行训练,得到各节点的状态数;
[0023]
贝叶斯网络节点设计如下表所示:
[0024]
[0025][0026]
贝叶斯网络节点中离散化的节点,存在三种状态:故障未发生、故障变化过程和故障稳定结果。
[0027]
贝叶斯网络中的可观节点存在的状态,用fcm模糊聚类法进行分类,聚类数即为各节点的状态数;
[0028]
不同聚类的隶属度计算公式如下:
[0029][0030]
其中,d是各故障发生信号的主成分特征作为样本信号的数量;n是聚类簇数,对应贝叶斯网络节点的状态数;m>1是用于控制模糊重叠程度的模糊分区矩阵指数,决定了模糊聚类的模糊程度。xi是第i个样本数据点的值,cj是第j个聚类簇的中心,μ
ij
是数值xi在第j个簇中的隶属度。
[0031]
聚类的过程为:
[0032]
首先,随机初始化群集成员值μ
ij

[0033]
然后,利用群集成员值μ
ij
,计算第j个群集的聚类中心cj;
[0034][0035]
接着,利用第j个群集的聚类中心cj更新隶属度μ'
ij

[0036][0037]
最后,利用更新的隶属度μ'
ij
计算隶属度值jm;判断隶属度值jm是否小于指定的最小阈值,如果是,得到贝叶斯网络各节点的状态数;否则,利用更新的隶属度μ'
ij
返回计算聚类中心,并再次更新隶属度计算目标函数值,直至满足阈值。
[0038]
步骤四、利用贝叶斯网络各节点的状态数对应各部件模型发生的故障概率分布,
根据各故障概率是否超过各自设定的阈值,得到对应的部件模型是否发生故障的诊断结果。
[0039]
本发明的优点在于:
[0040]
本发明一种基于改进贝叶斯算法的固液火箭发动机故障诊断方法,采用步进法与核主成分分析(k-pca)相结合的分析方法,并根据模糊c均值聚类算法(fcm)建立模糊多态贝叶斯网络,实现对观测信号尺度的模糊处理,提高对不确定性故障的诊断能力,具有准确率高、适应性强的优点。
附图说明
[0041]
图1为本发明一种基于改进贝叶斯算法的固液火箭发动机故障诊断方法的流程图;
[0042]
图2为本发明故障数据发生器simulink仿真模型;
[0043]
图3为本发明不同核函数kpca的线性判别分类准确度;
[0044]
图4为本发明kpca主成分方差贡献度分布;
[0045]
图5为本发明不同聚类数状态数对于不同的诊断结果对比图;
[0046]
图6为本发明kpca+fcm与fcm贝叶斯网络诊断结果对比;
[0047]
图7为本发明kpca与kpca+fcm贝叶斯网络诊断结果对比;
具体实施方式
[0048]
下面将结合附图和实例对本发明作进一步的详细说明。
[0049]
目前国内外还不存在针对固液火箭发动机的诊断算法,本发明提出了一种基于改进贝叶斯算法的固液火箭发动机故障诊断方法,在传统贝叶斯诊断算法的基础上,通过步进法和 k-pca相结合的方式来提高时序观测信号的故障特征提取度,并将模糊c均值聚类算法 fcm应用到贝叶斯网络的构建上,对观测信号尺度进行模糊处理,用k-pca+fcm的模糊多态改进贝叶斯网络算法,提高了对不确定性故障的诊断能力。
[0050]
如图1所示,具体步骤如下:
[0051]
步骤一、针对固液火箭发动机,通过对部件模型添加故障因子,利用传感器获取各种故障发生的初始信号;
[0052]
首先,建立固液火箭发动机的故障信号发生器仿真模型,包括转子,氧化剂管路,离心泵,涡轮泵转子和燃烧室等;
[0053]
本发明选用经amroc公司测试可靠的某款泵压式混合发动机设计结构,采用一级涡轮泵结构,使用热膨胀循环驱动燃气涡轮,燃料组合选用hptb/lox,主要设计参数如表1 所示。
[0054]
表1
[0055][0056]
固液火箭发动机子系统主要模型包括涡轮泵、燃烧室和管路阀门系统。
[0057]
(1)涡轮泵模型
[0058][0059]
式中为涡轮流量,a为等效孔面积,cq为流量系数,cm为流量参数,p
up
为涡轮入口处气体压强,t
up
为入口处气体温度。
[0060][0061]
式中m
t
为涡轮输出力矩,l
ad,s
为可用等熵膨胀功,η
t
为涡轮效率,n为涡轮转速。
[0062][0063]
式中p
p
为排出装置处液体压强,p
in
为入口处液体压强,ω为离心泵角速度,a
1p
、a
2p
、 r
p
为泵常数,b
p
、l
p
为惯性项带来的影响,ρ为液体密度。
[0064]
(2)燃烧室模型
[0065][0066]
式中为氧化剂流量,cd为流量系数,aj为喷注器面积,ρo为氧化剂密度,δp为喷注器压降。
[0067][0068]
式中ρf为药柱密度,l为药柱长度,r为喉道半径,c
*
为特征速度,a
t
为喷管喉部截面积。pc为燃烧室内的平均压强。
[0069]
(3)管路阀门模型
[0070][0071]
式中压强损失δp由沿程损失δpf及局部损失δp
l
组成,c
l
、cf分别为局部损失系数和沿程损失系数,ρ为流体密度,u为流体速度。
[0072]
故障建模过程中最重要的是故障因子的添加,在此过程中需要考虑到发动机各个组件的数学表达式与实际工作的匹配性能。本发明采用更改部件模型参数的方式进行故障添加,可将模型参数乘以一定的系数(故障因子),以表征发动机部件所产生的故障影响。通过修改故障因子的大小,可以进一步模拟发动机部件故障发生的程度。
[0073]
在仿真过程中,选取了转速,流量,压强等传感器的数据,以氧化剂泄漏为例,其直接影响是氧化剂流动过程中氧化剂的损失,在泄漏点上游的流量大于下游流量,根据管路
裂纹或破裂的程度不同,会出现泄漏情况的不同,仿真过程中用a3表示泄露故障因子:
[0074][0075]
式中为泄漏点下游的氧化剂流量,为泄漏点上游的氧化剂流量,故障因子a3在未发生故障时取值为1,在发生泄漏时,在仿真过程取0.7≤a3<0.85。
[0076]
以泵压式固液火箭发动机子系统模型为基础,通过故障因子的添加,搭建故障数据发生器的simulink模型,如图2所示,用于后续诊断算法的验证。
[0077]
步骤二、基于步进法对故障初始信号进行处理,将每个传感器通道得到的观测信息由一维提升到高维空间中;使用k-pca方法对每个通道的高维特征分别进行降维处理,提取各故障发生信号的主成分特征作为反映故障的信息;
[0078]
传感器的初始故障信号蕴含的故障特征信息,无法通过一组测量值体现出来,单纯将每一时刻的传感器测量值作为故障诊断的依据会导致数据特征大量丢失。比如:单纯将每一时刻的状态观测量作为诊断的判据,会忽略掉大量诸如振动强度、波形变化、趋势走向等信息,势必会影响最终诊断的准确度。
[0079]
通过对发动机故障信号进行模拟统计分析,在故障发生时传感器测量信号的变化主要体现在波形、趋势及限值三个方面,以此为基础,采用步进式数据特征提取方法,将一小段时间内的多组时间序列数据作为一个整体来提取以下特征类别,包括:极大值,极小值,振幅,均值,方差,峭度和回归斜率;
[0080]
其中,时刻t的极大值ma(t)计算公式如下:ma(t)=max{xn(t-τ+1),

,xn(t)};
[0081]
xn(t)为第n个传感器的观测量,τ为设定的时间窗口。
[0082]
时刻t的极小值mi(t)计算公式为:mi(t)=min{xn(t-τ+1),

,xn(t)};
[0083]
时刻t的振幅pk(t)计算公式为:pk(t)=ma(t)-mi(t);
[0084]
时刻t的均值me(t)计算公式为:
[0085]
时刻t的方差var(t)计算公式为:
[0086]
时刻t的峭度k(t)计算公式为:
[0087]
时刻t的回归斜率β(t)计算公式为:
[0088]
是对时刻的平均值;
[0089]
通过步进法对故障信号进行处理后,将每个传感器通道得到的观测信息由一维提升到了高维空间中,虽然特征信息量变得十分丰富,但其中也会出现大量的信息冗余,将其直接全部用于贝叶斯网络会导致贝叶斯网络过于复杂,既影响推理的效率,也会影响诊断的准确性。
[0090]
因此需要在保留特征信息的情况下对高维特征进行降维处理,一个常规的做法是
通过主成分分析(principal components analysis,pca)对传感器观测进行降维,但由于传统pca 的线性条件导致其对发动机故障这类线性不可分的数据处理效果不佳,当投影不能使得数据集被线性划分时,可以使用k-pca的方法,考虑映射到高维空间的函数φ:φ(x)为非线性函数,然后在m维空间中进行pca降维,本发明采用k-pca进行特征提取。
[0091]
k-pca的主要思想是当过程数据具有较强的非线性特征时,可以通过将数据投影到高维特征空间上,来使原始数据的投影值变为线性。进行k-pca的过程包括两个步骤:
[0092]
(1)通过非线性映射将原始数据投影到一个扩展的特征空间上。
[0093]
(2)基于高维特征空间中的线性pca计算。
[0094]
k-pca的重点和难点在于映射过程中核函数k的选择,核函数的优劣直接决定了k-pca 结果的好坏,通过对比不同核函数的降维效果,选取高斯核函数,如图3所示。
[0095]
针对每个传感器通道信号分别进行kpca,并选取前两个主成分作为特征进行提取,如图4所示,最终得到共计八个用于故障诊断的特征。
[0096]
步骤三、建立基于fcm的模糊多态贝叶斯网络,并利用提取的主成分特征放到贝叶斯网络节点上进行训练,得到各节点的状态数;
[0097]
贝叶斯网络节点设计如下表所示:
[0098][0099][0100]
贝叶斯网络节点中离散化的节点,存在三种状态:故障未发生、故障变化过程和故障稳定结果。
[0101]
贝叶斯网络中的可观节点存在的状态,为充分保留观测的连续信息,使用模糊c均值聚类算法方法(fcm)将连续的发动机状态变量进行离散化,fcm基于以下目标函数的最小化,聚类数即为各节点的状态数,来计算每个数据点在不同聚类上的隶属度:
[0102]
[0103]
其中,d是进行聚类的转速流量压强等样本信号的数量;n是聚类簇数,对应贝叶斯网络节点的状态数;m>1是用于控制模糊重叠程度的模糊分区矩阵指数,决定了模糊聚类的模糊程度。xi是第i个样本数据点的值,cj是第j个聚类簇的中心,μ
ij
是数值xi在第j个簇中的隶属度;对于任意一个给定的样本数据xi,所有群集的成员资格值之和为1。
[0104]
聚类的过程为:
[0105]
首先,随机初始化群集成员值μ
ij

[0106]
然后,利用群集成员值μ
ij
,计算第j个群集的聚类中心cj;
[0107][0108]
接着,利用第j个群集的聚类中心cj更新隶属度μ'
ij

[0109][0110]
最后,利用更新的隶属度μ'
ij
计算隶属度值jm;判断隶属度值jm是否小于指定的最小阈值,如果是,得到贝叶斯网络各节点的状态数;否则,利用更新的隶属度μ'
ij
返回计算聚类中心,并再次更新隶属度计算目标函数值,直至满足阈值。
[0111]
聚类数的不同或者状态数的不同对于诊断结果不同,如图5所示,最优的状态数能使得训练出的贝叶斯网络得到更精准的准确率。
[0112]
步骤四、利用贝叶斯网络各节点的状态数对应各部件模型发生的故障概率分布,根据各故障概率是否超过各自设定的阈值,得到对应的部件模型是否发生故障的诊断结果。
[0113]
将改进的贝叶斯网络对固液火箭发动机故障模型进行仿真验证,首先,对固液火箭发动机的部件模型添加故障因子,如转子磨损;根据传感器获取该故障发生的数据信号,并将故障数据按照相应的节点输入到贝叶斯网络中,计算故障发生的概率,通过阈值判定是何种故障,是否与添加故障因子的故障相同,如果相同,则验证了改进的贝叶斯诊断算法的正确性。
[0114]
在六种不同条件下分别得到1000组数据作为故障诊断样本。然后利用80%的数据即共计4800组样本作为贝叶斯网络学习的训练集,来获得可以反应实际发动机结构的贝叶斯网络,并将剩余20%的数据作为测试集进行故障诊断来验证改进的贝叶斯诊断算法。
[0115]
结果表示:
[0116]
首先,验证步进法-kpca故障特征提取的有效性,这里针对燃烧不稳定的故障,采用 kpca+fcm与fcm贝叶斯网络诊断结果进行对比,如图6所示。通过对比可以发现,采用步进法-kpca故障特征提取的诊断算法成功诊断的频率更高,验证了改进算法的有效性。
[0117]
然后,验证fcm建立模糊多态贝叶斯网络诊断算法的有效性,采用kpca与kpca+fcm 贝叶斯网络诊断结果进行对比,如图7所示。通过对比可以发现,采用fcm建立的模糊多态贝叶斯网络算法在不同判定阈值下故障识别率更高。
[0118]
在验证改进算法的优越性后,针对每个样本分别采用故障发生五秒内的随机5组传感器读数作为诊断依据,对于无故障样本则进行随机取样,推理结束后取后验概率最大项(包含正常)作为最终诊断结果,统计得到诊断结果的混淆矩阵如表3所示。
[0119]
表3
[0120][0121]
如混淆矩阵中的磨损故障,共诊断了1000次,其中能够正确诊断为磨损故障的有810 次,但是将磨损故障诊断为气蚀(62次)或者正常(128次)都是错误的诊断结果,针对磨损故障的诊断正确率就是810/1000。
[0122]
通过500次的蒙特卡罗仿真,将固液发动机不同故障的最终诊断准确率进行统计分析,如表4所示。
[0123]
表4
[0124][0125]
通过对不同故障诊断准确率的分析可以发现,本发明相对传统算法故障诊断准确率的提高与故障类型相关,平均准确率提高20.88%。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1