本发明涉及一种基于lstm神经网络的飞行器推力故障在线辨识方法,适用于飞行器飞行过程中典型动力系统故障在线辨识领域。
背景技术:
:当前飞行器尚不具备推力故障的自主辨识能力,因而导致在非致命故障情况下不具备容错控制的能力。当前故障诊断各类模型及算法在模型精度、建模方式以及适用领域等方面尚存在不足,且缺乏面向飞行器复杂工况和复杂环境应用的系统性和针对性研究。技术实现要素:本发明解决的技术问题:克服现有技术不足,提出一种基于lstm神经网络的典型推力故障在线辨识方法,可对飞行器推力故障进行实时在线辨识,解决非致命动力故障导致的飞行失利问题。本发明通过如下技术方案予以实现:一种基于lstm神经网络的飞行器推力故障在线辨识方法,步骤如下:(1)根据真实飞行器和其所处的环境,构建飞行器六自由度动力学仿真模型;(2)设定各个仿真偏差组合,将设定的仿真偏差组合输入步骤(1)构建的飞行器六自由度动力学仿真模型中;进行步骤(3);(3)设定各个故障发生时刻与故障程度,将设定的故障发生时刻与故障程度输入步骤(1)构建的飞行器六自由度动力学仿真模型中;(4)将步骤(2)设定的仿真偏差组合与步骤(3)设定的各个故障发生时刻与故障程度进行排列组合,得到飞行器六自由度动力学仿真模型在不同情况下的仿真数据,仿真数据包括:位置、速度、加速度,以及姿态角,姿态角偏差;将不同情况下的仿真数据进行保存;(5)将不同情况下的仿真数据进行截取,生成数据样本;根据故障发动机编号以及故障程度设计数据标签,并对每个数据样本打标签,所有数据样本中大部分以上的数据样本放入训练集中;其余部分中一部分数据样本放入测试集中,另一部分放于验证集中,如图1所示;(6)搭建lstm神经网络;(7)将步骤(5)中所述训练集中的数据样本,输入步骤(6)搭建的lstm神经网络,进行训练;训练采用交叉熵作为损失函数,采用梯度下降法进行神经网络参数的更新,更新神经网络的权值和偏置;采用验证集中的数据样本,对训练过程进行测试,当神经网络连续n次在验证集上迭代样本误差不下降时,训练结束,得到训练结果,(8)采用测试集中的数据样本,对训练结果进行测试,若满足要求,则将训练好的lstm神经网络保存,进行步骤(9);若不满足,则调整步骤(6)搭建的lstm神经网络,返回步骤(6);(9)将步骤(8)中保存的lstm神经网络嵌入飞行器控制计算机中,使用训练好的lstm神经网络,进行故障在线辨识。优选的,搭建lstm神经网络,结构包含输入层、lstm层、输出层。优选的,lstm层共50个神经元。优选的,输入层即输入的数据,为9*20的向量。优选的,输出层的神经元个数为总的故障类别数。优选的,输出层的神经元个数即步骤(5)中的总标签数。优选的,输出层的激活函数为softmax函数。优选的,层与层之间采用全连接方式。优选的,所有数据样本中大部分以上的数据样本放入训练集中,具体为:所有数据样本中2/3以上的数据样本放入训练集中。优选的,采用训练好的lstm神经网络对主发动机故障进行辨识,能够有效实现对故障类型的实时准确判别。本发明与现有技术相比具有如下优点:(1)本发明可对飞行器典型动力系统推力故障进行实时在线辨识,可准确辨识出哪台发动机故障,以及故障程度。(2)本发明搭建轻量级的神经网络,运算简单,辨识速度快。(3)本发明所建立的轻量神经网络,所需计算资源小,可嵌入现有飞行控制计算机,进行飞行过程中的故障实时辨识。(4)考虑飞行器质心运动、扰心运动、结构干扰、气动力及力矩等因素,建立仿真模型,生成的数据样本更加真实可信,有利于实际应用辨识精度的提高。(5)本发明适用于飞行器飞行过程中典型动力系统推力故障在线辨识领域。针对控制系统飞行运动信息(如飞行位置、速度、加速度、转速、姿态角、角速度等)进行数据融合生成,并训练lstm神经网络,采用训练好的lstm神经网络对主发动机故障进行辨识,能够有效实现对故障类型的实时准确建模判别。(6)本发明考虑飞行器质心运动、扰心运动、结构干扰、气动力及力矩等因素,建立更加真实可信仿真模型,生成可信的数据样本,对lstm神经网络进行训练,本发明可对飞行器推力故障进行实时在线辨识,可准确辨识出哪台发动机故障,以及故障程度。(7)本发明搭建轻量级的神经网络,运算简单,辨识速度快。本发明所建立的轻量神经网络,所需计算资源小,可嵌入现有飞行控制计算机,进行飞行过程中的故障实时辨识。发挥控制系统作用,掌握新的核心技术,解决非致命动力故障导致的飞行失利问题。附图说明图1为数据样本生成方案示意图;图2为训练样本截取方法示意图;图3为测试样本截取方法示意图;图4为避免正样本过多的算法示意图;图5为控制系统组成框图;图6为涡轮发动机摆角示意图;图7为本发明方案示意图;图8为lstm在训练集上的收敛结果示意图。具体实施方式下面结合附图和具体实施例对本发明进行详细说明。本发明涉及一种基于lstm神经网络的飞行器推力故障在线辨识方法,适用于飞行器飞行过程中典型动力系统推力故障在线辨识领域。针对控制系统飞行运动信息(如飞行位置、速度、加速度、转速、姿态角、角速度等)进行数据融合生成,并训练lstm神经网络,采用训练好的lstm神经网络对主发动机故障进行辨识,能够有效实现对故障类型的实时准确建模判别。考虑飞行器质心运动、扰心运动、结构干扰、气动力及力矩等因素,建立更加真实可信仿真模型,生成可信的数据样本,对lstm神经网络进行训练,本发明可对飞行器推力故障进行实时在线辨识,可准确辨识出哪台发动机故障,以及故障程度。本发明搭建轻量级的神经网络,运算简单,辨识速度快。本发明所建立的轻量神经网络,所需计算资源小,可嵌入现有飞行控制计算机,进行飞行过程中的故障实时辨识。发挥控制系统作用,掌握新的核心技术,解决非致命动力故障导致的飞行失利问题。本发明涉及一种基于lstm神经网络的典型推力故障在线辨识方法,适用于飞行器飞行过程中推力故障在线辨识领域。针对液体主发动机推力下降典型动力故障模式,突破典型动力故障辨识技术,采用飞行器完成关键技术演示验证飞行试验;完成基于神经网络方法的故障辨识方法研究。发挥控制系统作用,掌握新的核心技术,解决非致命动力故障导致的飞行失利问题。进一步提升飞行器自主适应能力和智能化水平,为型号的研制提供技术支撑。针对控制系统飞行运动信息(如飞行位置、速度、加速度、姿态角、角速度等)进行数据融合生成,并训练lstm神经网络,采用训练好的lstm神经网络对主发动机故障进行辨识,能够有效实现对故障类型的实时准确建模判别。考虑飞行器质心运动、扰心运动、结构干扰、气动力及力矩等因素,建立更加真实可信仿真模型,生成可信的数据样本,对lstm神经网络进行训练,本发明可对飞行器推力故障进行实时在线辨识,可准确辨识出哪台发动机故障,以及故障程度。本发明搭建轻量级的神经网络,运算简单,辨识速度快。本发明所建立的轻量神经网络,所需计算资源小,可嵌入现有飞行器的飞行控制计算机,进行飞行过程中的故障实时辨识。lstm对时序信息具有较好的拟合效果,计算效率高,采用lstm方法对主发动机故障进行辨识,能够有效实现对故障类型的实时准确建模判别。飞行器优选具有2台发动机,形成的推力合力为总推力,所处的环境为真实低空环境,考虑风扰、气动的影响;飞行器六自由度动力学仿真模型,优选为:基于机器学习的飞行器推力故障在线辨识六自由度动力学仿真模型。飞行器优选为质量约90kg的火箭。其控制系统组成框图如图5所示。制导、姿控按照pid控制律进行设计。由于飞行器为短时间、低高度、低速度飞行,因此考虑平坦、静止大地,引力加速度按常值计算。气动力系数cx,分别为轴向力系数、法向力系数导数和侧向力系数导数。引力加速度方向为铅垂向下,大小优选为:g0=9.80665m/s2在目标系下分解为gx、gy、gz。此处合力包含推力、气动力,不包含引力。初始位置:x=0m,y=0m,z=0m初始速度:vx=0m/s,vy=0m/s,vz=0m/s初始姿态角:初始姿态角速度为0。涡喷发动机推力调节特性,优选为:发动机最大摆角:10度。电动舵机动态特性,优选为:惯组动态特性,优选为:该模型其他优选的具体情况见下面具体方案中所述。偏差组合中包含的偏差,包括:质量偏差、质心偏差、转动惯量偏差、风速偏差、风向偏差、发动机流量偏差。按照本发明中的偏差组合可减小数据规模,同时尽可能拟合真实模型,保证了实际辨识精度。两台发动机编号分别设为1、2。从起飞开始,取发生故障后2s与飞行结束时刻最小值作为仿真结束,每等间隔0.5s设置一次故障发生时刻。故障在2s均匀注入完毕,使得单台发动机推力下降到故障开始注入时刻的相应故障程度。故障程度,具体是指单台发动机推力的下降程度。故障程度一种方案设为单台故障发动机下降30%-90%,间隔取10%;另一种方案设为单台故障发动机下降10%-30%,间隔取5%。通过模型仿真生成的仿真数据中加速度为目标系下xt、yt、zt三个方向的加速度;姿态角为目标系下的俯仰角、偏航角、滚动角;姿态角偏差为目标系下俯仰角偏差、偏航角偏差、滚转角偏差。步骤(5)根据飞行器有无推力故障、故障发动机编号以及故障程度,设计数据标签,第一种方案具体如下:标签0表示推力正常,即无故障情形;1-7分别为1号发动机下降30%-90%;8-14分别为2号发动机下降30%-90%,间隔取10%。标签设置表格优选如下:根据飞行器有无推力故障、故障发动机编号以及故障程度,设计数据标签,第二种优选方案具体如下:标签0表示推力正常,即无故障情形;1-5分别为1号发动机下降10%-30%;6-10分别为2号发动机下降10%-30%,间隔取5%。标签设置表格如下:步骤(5)将不同情况下的仿真数据进行截取,生成数据样本,优选方案具体为:训练样本截取流程为附图2,测试样本截取流程为附图3,图2、图3中横坐标t为飞行时刻,纵坐标y表示获取的仿真数据,其可为加速度、姿态角或姿态角偏差,l为样本长度大小,i为两个相邻样本的重叠大小,tfault为故障注入时间,tend为仿真结束时间。按飞行完整数据中每1s内每隔50ms取此期间段内20个时刻点的加速度、姿态角、姿态角偏差共9维信息作为训练数据。每组数共9*20,即180维状态量。设t1到t2时间内共有n个样本,每个样本的长度为l,样本间的交叠长度为i,则:对于第k个样本:设k=1,2,…,n,第k个样本的起始行与终止行:若截取正样本,则上式中:t1=0t2=tfault若截取正样本,则上式中:t1=tfaultt2=tend其中,tfault为故障注入时间,tend为仿真结束时间。本次试验中,各参数取值如下表:参数类型值单位l1si0.8stfault1-20s内每隔0.5s注入一次为单次仿真stend实际上升段飞行结束时刻与tfault 2的最小值s步骤(5)将不同情况下的仿真数据进行截取,生成数据样本,优选方案为:设定避免正样本过多的算法,算法流程参见附图4,采用该算法进行截取,生成数据样本。判断故障注入时刻是否为当前偏差组合下最后的时刻,且故障程度为当前偏差组合下的最后的档位。若是,则截取正样本与负样本;否则,只截取负样本。lstm神经网络还包括输入层,输入层即输入的数据,其维数即数据样本的维数,此次试验为9*20。训练采用交叉熵作为损失函数,采用梯度下降方式法进行神经网络参数的更新,多分类的交叉熵表达式优选如下:上式中,m为总类别数量;yc为指示变量,若输出类别与样本类别相同,则为1,否则为0;pc为输出类别属于c的预测概率。训练结果为网络参数;网络参数包括神经网络每一层的权重和偏置。采用测试集中的数据样本,对训练完的神经网络进行测试。若在测试集上分类正确率大于或等于90%,则认为满足要求,可进入步骤(10);否则返回步骤(4)。步骤(8)调整步骤(6)搭建的lstm神经网络中的lstm层个数,以及每个lstm层中的神经元数量。本发明一种基于lstm神经网络的飞行器推力故障在线辨识方法,优选方案步骤如下:(1)根据真实飞行器和其所处的环境,构建飞行器六自由度动力学仿真模型,优选方案具体如下:飞行器优选具有2台发动机,形成的推力合力为总推力,所处的环境为真实大气环境,考虑风、结构干扰、气动的影响;仿真模型故障注入方式为,从起飞开始,每隔0.5s注入一次故障,进行一次仿真。故障在2s均匀注入完毕,使得单台发动机推力下降到故障开始注入时刻的相应故障程度。飞行器六自由度动力学仿真模型,优选为:基于机器学习的飞行器推力故障在线辨识六自由度动力学仿真模型,该模型优选如下。飞行器为质量约90kg的火箭。其控制系统组成框图如图5所示。制导、姿控按照pid控制律进行设计。发动机最大摆角:10度。飞行器总体数据取值如下表:总体数据取值表(10kg燃油)坐标系定义:目标相对坐标系(t系)以目标点ot为坐标原点,otyt与目标点当地重力方向相反,otxt轴与oyt轴垂直并指向起飞点方向,otzt与otxt轴、oxtyt轴构成右手坐标系,目标相对坐标系oxtytzt随地球自转而旋转。箭体坐标系(b系)坐标原点o为火箭的质心,oxb轴沿火箭纵轴指向头部,oyb在火箭纵相对称面内,垂直于纵轴向上,ozb轴与oxb、oyb轴构成右手坐标系。坐标系转移矩阵如下:仿真模型用到的变量符号作以下定义:t:飞行时间,起飞时刻t=0s;τ:制导控制周期,τ=10ms。ψ、γ:目标系xt、yt、zt三个方向的箭体姿态角,单位:radvx、vy、vz:目标系xt、yt、zt三个方向的速度,单位:m/s;;x、y、z:目标系xt、yt、zt三个方向的位置,单位:m;;gx、gy、gz:目标系xt、yt、zt三个方向的重力加速度,单位:m/s2;ψcx、γcx:目标系xt、yt、zt三个方向的程序角,单位:rad;分别为图6ⅰ、ⅱ、ⅲ、ⅳ四个象限的电动舵机控制指令,单位:rad;jx、jx、jx:目标系xt、yt、zt三个方向的转动惯量,单位:kg*m2飞行器控制系统组成框图如图5所示。制导、姿控按照pid控制律进行设计。由于飞行器为短时间、低高度、低速度飞行,因此考虑平坦、静止大地,引力加速度按常值计算。在oxtytzt坐标系下的质心运动方程:箭体系视加速度方程:上式中,wx、wy、wz为目标系下的xt、yt、zt三个方向的视加速度;wx1、wy1、wz1为箭体坐标系下的xb、yb、zb三个方向的视加速度。fx1、fy1、fz1为箭体坐标系下的xb、yb、zb三个方向的主推力。质量变化方程:式中,rf为燃油消耗率。燃料消耗率可根据推力指令按照下表关系进行线性插值,超出下表范围的使用线性外推。燃料消耗率数据表绕心运动方程:上式中,mx1、my1、mz1为箭体坐标系下xb、yb、zz三个方向的合力矩,ωx1、ωy1、ωz1为箭体坐标系下xb、yb、zz三个方向的角速度。气动力和力矩计算:上式中,式中,为弹体系质心相对气流的三轴相对速度,为空速大小。分别为箭体系下xb、yb、zz三个方向的风速与飞行器飞行速度的和。其中,目标系下xt、yt、zt三个方向的风速fx、fy、fz计算公式如下:fx=-vwindcos(awind-π)fy=0fz=-vwindsin(awind-π)上式中,awind是风向。在进行批量仿真时,常常设置8个方向的风。为便于标记,约定:风向0:aw为0度风向1:aw为45度……风向7:aw为315度vwind是风速,仿真取0-5m/s。攻角α、侧滑角β:动压q:ρ为当前高度时的大气密度。气动力包括轴向力rxv、法向力ryv、侧向力rzv,按下式计算:rxv=-cxqsmsm是参考面积,由飞行器横面给出。气动力系数cx,分别为轴向力系数、法向力系数导数和侧向力系数导数。具体气动参数根据实际飞行器计算给出。引力加速度方向为铅垂向下,大小优选为:g0=9.80665m/2在目标系下分解为gx、gy、gz。此处合力包含推力、气动力,不包含引力。fx1=rx1 px1fy1=ry1 py1fz1=rz1 pz1初始位置:x=0m,y=0m,z=0m初始速度:vx=0m/s,vy=0m/s,vz=0m/s初始姿态角:初始姿态角速度为0。涡喷发动机推力调节特性发动机最大摆角:10度。电动舵机动态特性惯组动态特性涡喷发动机摆角分解公式:发动机安装角发动机在图6四个象限的实际角度a1y、a1z、a2y、a2z:两台发动机x1向推力p1x1、p2x1分别为:p1x1=p1cos(a1y)cos(a1z)p2x1=p2cos(a2y)cos(a2z)上式中,p1、p2分别为两台发动机的推力指令。两台发动机y1向推力p1y1、p2y1分别为:p1y1=-p1sin(a1y)cos(a1z)p2y1=-p2sin(a2y)cos(a2z)两台发动机z1向推力p1z1、p2z1分别为:p1z1=-p1sin(a1z)p2z1=-p2sin(a2z)两台发动机箭体系下xb、yb、zz三个方向的合力px1、py1、pz1分别为:箭体系下xb、yb、zb三个方向的控制力矩:姿态角计算:(2)设定各个仿真偏差组合,将设定的仿真偏差组合输入步骤(1)构建的飞行器六自由度动力学仿真模型中,进行步骤(3),优选方案具体如下:偏差组合包含:质量、质心、转动惯量、风速、风向、推力线偏斜、发动机流量偏差等。本次试验中偏差组合取值优选如下:按照此偏差组合可减小数据规模,同时尽可能拟合真实模型,保证了实际辨识精度。(3)设定各个故障发生时刻与故障程度,将设定的故障发生时刻与故障程度输入步骤(1)构建的飞行器六自由度动力学仿真模型中,优选方案具体如下:两台发动机编号分别设为1、2。从起飞开始,取发生故障后2s与飞行结束时刻最小值作为仿真结束,每等间隔0.5s设置一次故障发生时刻。故障程度一种方案设为单台故障发动机下降30%-90%,间隔取10%;另一种方案设为单台故障发动机下降10%-30%,间隔取5%。(4)将步骤(2)设定的仿真偏差组合与步骤(3)设定的各个故障发生时刻与故障程度进行排列组合,得到飞行器六自由度动力学仿真模型在不同情况下的仿真数据,仿真数据包括:加速度、姿态角、姿态角偏差;加速度为(1)中所述目标系下xt、yt、zt三个方向的加速度;姿态角为目标系下的俯仰角、偏航角、滚动角;姿态角偏差为目标系下俯仰角偏差、偏航角偏差、滚转角偏差。将不同情况下的仿真数据进行保存;(5)将不同情况下的仿真数据进行截取,生成数据样本;根据故障发动机编号以及故障程度设计数据标签,并对每个数据样本打标签,优选方案具体如下:训练样本截取流程为附图2,测试样本截取流程为附图3,图2、图3中横坐标t为飞行时刻,纵坐标表示获取的仿真数据,其可为加速度、姿态角或姿态角偏差,l为样本长度大小,i为两个相邻样本的重叠大小,tfault为故障注入时间,tend为仿真结束时间。按飞行完整数据中每1s内每隔50ms取此期间段内20个时刻点的加速度、姿态角、姿态角偏差共9维信息作为训练数据。每组数共9*20,即180维状态量。设t1到t2时间内共有n个样本,每个样本的长度为l,样本间的交叠长度为i,则:对于第k个样本:设k=1,2,…,n,第k个样本的起始行与终止行:若截取正样本,则上式中:t1=0t2=tfault若截取正样本,则上式中:t1=tfaultt2=tend其中,tfault为故障注入时间,tend为仿真结束时间。本次试验中,各参数取值如下表:步骤(5)将不同情况下的仿真数据进行截取,生成数据样本,优选方案为:设定避免正样本过多的算法,优选的算法流程参见附图4,采用该算法进行截取,生成数据样本。判断故障注入时刻是否为当前偏差组合下最后的时刻,且故障程度为当前偏差组合下的最后的档位。若是,则截取正样本与负样本;否则,只截取负样本。标签0表示推力正常,即无故障情形;1-7分别为1号发动机下降30%-90%;8-14分别为2号发动机下降30%-90%,间隔取10%。优选的标签设置表格如下:标签0表示推力正常,即无故障情形;1-5分别为1号发动机下降10%-30%;6-10分别为2号发动机下降10%-30%,间隔取5%。优选的标签设置表格如下:(6)随机取步骤(5)中打完标签的数据的2/3以上划分为训练集,其余部分随机取一半划分验证集,另一半划分为测试集;搭建lstm神经网络,结构包含输入层、lstm层、输出层;lstm层共50个神经元;输入层即输入的数据,为9*20的向量;输出层的神经元个数为总的故障类别数,即步骤(5)中的总标签数,激活函数为softmax函数;层与层之间采用全连接方式,具体如下:神经网络结构为两层,如图2所示:层间的线性关系,优选为:神经元输出:a=σ(z)其中:m为本层的输入信号维数,亦即上一层输出维数xi为输入信号,i=1,2,…,mwi为权值b为偏置z为线性关系的结果,亦即激活函数的输入σ为激活函数a为神经元输出输出层共11个神经元,激活函数为softmax函数:第j个神经元输出的计算公式,优选为:k为输出层的神经元个数,p为总类别数。层与层之间采用全连接方式。(7)训练采用交叉熵作为损失函数,采用梯度下降法进行神经网络参数的更新,更新神经网络的权值和偏置;将步骤(5)中所述训练集中的数据样本,输入步骤(6)搭建的lstm神经网络,进行训练;训练采用梯度下降法进行网络参数的更新;采用验证集中的数据样本,对训练过程进行测试,当神经网络连续n次在验证集上迭代样本误差不下降时,训练结束,得到训练结果,具体如下:多分类的交叉熵表达式如下:上式中,m为总类别数量;yc为指示变量,若输出类别与样本类别相同,则为1,否则为0;pc为输出类别属于c的预测概率。(8)采用测试集中的数据样本,对训练结果进行测试,若满足要求,则将训练好的lstm神经网络保存,进行步骤(9);若不满足,则调整步骤(6)搭建的lstm神经网络,返回步骤(6);具体如下:若测试准确率大于或等于90%,则保存训练的神经网络,若不满足,则调整步骤(6)中的神经网络隐层个数,或隐层中的神经元个数,重新进行训练。本次试验中测试精度为90.5%。(9)将步骤(8)中保存的lstm神经网络嵌入飞行器控制计算机中,使用训练好的lstm神经网络,进行故障在线辨识,具体如下:飞行器在实际飞行过程中,将每1s内的每三个方向的加速度、姿态角、姿态角偏差,以间隔0.2s滑窗形式输入嵌入飞行器控制计算机中的lstm神经网络,神经网络实时输出辨识结果,用于指导飞行控制决策。本发明的技术方案是提供一种飞行器推力故障在线辨识方法。基于飞行过程中的控制系统信息,搭建适应的神经网络,并进行训练优化。将训练好的lstm神经网络应用于飞行过程中的故障实时在线辨识。如图7所示。具体实现步骤如下:(1)根据真实飞行器和其所处的环境,构建飞行器六自由度动力学仿真模型,优选方案具体如下:飞行器优选具有2台发动机,形成的推力合力为总推力,所处的环境为真实大气环境,考虑风扰、结构干扰、气动的影响;飞行器六自由度动力学仿真模型,优选为:基于机器学习的飞行器推力故障在线辨识六自由度动力学仿真模型,该模型具体情况见上文具体方案(1)中所述。(2)设定各个仿真偏差组合,将设定的仿真偏差组合输入步骤(1)构建的飞行器六自由度动力学仿真模型中,进行步骤(3),优选方案具体如下:偏差组合包含:质量、质心、转动惯量、风速、风向、推力线偏斜、发动机流量偏差等。本次试验中偏差组合取值如下:按照此偏差组合可减小数据规模,同时尽可能拟合真实模型,保证了实际辨识精度。(3)设定各个故障发生时刻与故障程度,将设定的故障发生时刻与故障程度输入步骤(1)构建的飞行器六自由度动力学仿真模型中,优选方案具体如下:两台发动机编号分别设为1、2。从起飞开始,取发生故障后2s与飞行结束时刻最小值作为仿真结束,每等间隔0.5s设置一次故障发生时刻。故障程度一种方案设为单台故障发动机下降30%-90%,间隔取10%;另一种方案设为单台故障发动机下降10%-30%,间隔取5%。(4)将步骤(2)设定的仿真偏差组合与步骤(3)设定的各个故障发生时刻与故障程度进行排列组合,得到飞行器六自由度动力学仿真模型在不同情况下的仿真数据,仿真数据包括:加速度、姿态角、姿态角偏差;加速度为(1)中所述目标系下xt、yt、zt三个方向的加速度;姿态角为目标系下的俯仰角、偏航角、滚动角;姿态角偏差为目标系下俯仰角偏差、偏航角偏差、滚转角偏差。将不同情况下的仿真数据进行保存;优选方案具体如下:优选的特征量属性如下表:(5)将不同情况下的仿真数据进行截取,生成数据样本;根据故障发动机编号以及故障程度设计数据标签,并对每个数据样本打标签,优选方案具体如下:训练样本截取流程为附图2,测试样本截取流程为附图3,图2、图3中横坐标t为飞行时刻,纵坐标y表示获取的仿真数据,其可为加速度、姿态角或姿态角偏差,l为样本长度大小,i为两个相邻样本的重叠大小,tfault为故障注入时间,tend为仿真结束时间。按飞行完整数据中每1s内每隔50ms取此期间段内20个时刻点的加速度、姿态角、姿态角偏差共9维信息作为训练数据。每组数共9*20,即180维状态量。设t1到t2时间内共有n个样本,每个样本的长度为l,样本间的交叠长度为i,则:对于第k个样本:设k=1,2,…,n,第k个样本的起始行与终止行:若截取正样本,则上式中:t1=0t2=tfault若截取正样本,则上式中:t1=tfaultt2=tend其中,tfault为故障注入时间,tend为仿真结束时间。本次试验中,各参数取值优选如下表:参数类型值单位l1si0.8stfault1-20s内每隔0.2s注入一次为单次仿真stend实际上升段飞行结束时刻与tfault 2的最小值s步骤(5)将不同情况下的仿真数据进行截取,生成数据样本,优选方案为:设定避免正样本过多的算法,算法流程参见附图4,采用该算法进行截取,生成数据样本。判断故障注入时刻是否为当前偏差组合下最后的时刻,且故障程度为当前偏差组合下的最后的档位。若是,则截取正样本与负样本;否则,只截取负样本。标签0表示推力正常,即无故障情形;1-7分别为1号发动机下降30%-90%;8-14分别为2号发动机下降30%-90%,间隔取10%。标签设置表格如下:标签0表示推力正常,即无故障情形;1-5分别为1号发动机下降10%-30%;6-10分别为2号发动机下降10%-30%,间隔取5%。标签设置表格如下:(6)搭建lstm神经网络,结构包含输入层、lstm层、输出层;lstm层共50个神经元;输入层即输入的数据,为9*20的矩阵;输出层的神经元个数为总的故障类别数,即步骤(5)中的总标签数,激活函数为softmax函数;层与层之间采用全连接方式,具体如下:神经网络结构为两层,如图8所示:层间的线性关系:神经元输出:a=σ(z)其中:m为本层的输入信号维数,亦即上一层输出维数xi为输入信号,i=1,2,…,mwi为权值b为偏置z为线性关系的结果,亦即激活函数的输入σ为激活函数a为神经元输出输出层共11个神经元,激活函数为softmax函数:第j个神经元输出的计算公式:k为输出层的神经元个数。层与层之间采用全连接方式。(7)训练采用交叉熵作为损失函数,采用梯度下降法进行神经网络参数的更新,更新神经网络的权值和偏置;将步骤(5)中所述训练集中的数据样本,输入步骤(6)搭建的lstm神经网络,进行训练;训练采用梯度下降法进行网络参数的更新;采用验证集中的数据样本,对训练过程进行测试,当神经网络连续n次在验证集上迭代样本误差不下降时,训练结束,得到训练结果,具体如下:多分类的交叉熵表达式如下:上式中,m为总类别数量;yc为指示变量,若输出类别与样本类别相同,则为1,否则为0;pc为输出类别属于c的预测概率。(8)采用测试集中的数据样本,对训练结果进行测试,若满足要求,则将训练好的lstm神经网络保存,进行步骤(9);若不满足,则调整步骤(6)搭建的lstm神经网络,返回步骤(6);具体如下:若测试准确率大于或等于90%,则保存训练的神经网络,若不满足,则调整步骤(6)中的神经网络隐层个数,或隐层中的神经元个数,重新进行训练。本次试验中测试精度为90.5%,其在训练集上的收敛结果如图2所示。(9)提取步骤(8)中保存的lstm神经网络嵌入飞行器控制计算机中,使用训练好的lstm神经网络,进行故障在线辨识,具体如下:飞行器在实际飞行过程中,将每1s内的每三个方向的加速度、姿态角、姿态角偏差,以间隔0.2s滑窗形式输入嵌入飞行器控制计算机中的lstm神经网络,神经网络实时输出辨识结果,用于指导飞行控制决策。通过对数据分析,可100%准确识别出是否有故障以及推力下降的单台发动机,辨识实时性在故障稳定后2s内,两台发动机推力相差值辨识误差在10%内。当前第1页1 2 3 
技术特征:1.一种基于lstm神经网络的飞行器推力故障在线辨识方法,其特征在于步骤如下:
(1)根据真实飞行器和其所处的环境,构建飞行器六自由度动力学仿真模型;
(2)设定各个仿真偏差组合,将设定的仿真偏差组合输入步骤(1)构建的飞行器六自由度动力学仿真模型中;进行步骤(3);
(3)设定各个故障发生时刻与故障程度,将设定的故障发生时刻与故障程度输入步骤(1)构建的飞行器六自由度动力学仿真模型中;
(4)将步骤(2)设定的仿真偏差组合与步骤(3)设定的各个故障发生时刻与故障程度进行排列组合,得到飞行器六自由度动力学仿真模型在不同组合情况下的仿真数据,仿真数据包括:位置、速度、加速度,以及姿态角,姿态角偏差;将不同组合情况下的仿真数据进行保存;
(5)将不同组合情况下的仿真数据进行截取,生成数据样本;根据故障发动机编号以及故障程度设计数据标签,并对每个数据样本打标签,所有数据样本中大部分以上的数据样本放入训练集中;其余部分中一部分数据样本放入测试集中,另一部分放于验证集中;
(6)搭建lstm神经网络;
(7)将步骤(5)中所述训练集中的数据样本,输入步骤(6)搭建的lstm神经网络,进行训练;训练采用交叉熵作为损失函数,采用梯度下降法进行神经网络参数的更新,更新神经网络的权值和偏置;采用验证集中的数据样本,对训练过程进行测试,当神经网络连续n次在验证集上迭代样本误差不下降时,训练结束,得到训练结果,
(8)采用测试集中的数据样本,对训练结果进行测试,若满足要求,则将训练好的lstm神经网络保存,进行步骤(9);若不满足,则调整步骤(6)搭建的lstm神经网络,返回步骤(6);
(9)将步骤(8)中保存的lstm神经网络嵌入飞行器控制计算机中,使用训练好的lstm神经网络,进行故障在线辨识。
2.根据权利要求1所述的一种基于lstm神经网络的飞行器推力故障在线辨识方法,其特征在于:搭建lstm神经网络,结构包含输入层、lstm层、输出层。
3.根据权利要求2所述的一种基于lstm神经网络的飞行器推力故障在线辨识方法,其特征在于:lstm层共50个神经元。
4.根据权利要求2所述的一种基于lstm神经网络的飞行器推力故障在线辨识方法,其特征在于:输入层即输入的数据,为9*20的向量。
5.根据权利要求1所述的一种基于lstm神经网络的飞行器推力故障在线辨识方法,其特征在于:输出层的神经元个数为总的故障类别数。
6.根据权利要求1所述的一种基于lstm神经网络的飞行器推力故障在线辨识方法,其特征在于:输出层的神经元个数即步骤(5)中的总标签数。
7.根据权利要求1所述的一种基于lstm神经网络的飞行器推力故障在线辨识方法,其特征在于:输出层的激活函数为softmax函数。
8.根据权利要求1所述的一种基于lstm神经网络的飞行器推力故障在线辨识方法,其特征在于:层与层之间采用全连接方式。
9.根据权利要求1所述的一种基于lstm神经网络的飞行器推力故障在线辨识方法,其特征在于:所有数据样本中大部分以上的数据样本放入训练集中,具体为:所有数据样本中2/3以上的数据样本放入训练集中。
10.根据权利要求1所述的一种基于lstm神经网络的飞行器推力故障在线辨识方法,其特征在于:采用训练好的lstm神经网络对主发动机故障进行辨识,能够有效实现对故障类型的实时准确判别。
技术总结本发明涉及一种基于LSTM神经网络的飞行器推力故障在线辨识方法,适用于飞行器飞行过程中典型动力系统推力故障在线辨识领域。针对控制系统飞行运动信息进行数据融合生成,并训练LSTM神经网络,采用训练好的LSTM神经网络对主发动机故障进行辨识,能够有效实现对故障类型的实时准确建模判别。考虑飞行器质心运动、扰心运动、结构干扰、气动力及力矩等因素,建立更加真实可信仿真模型,生成可信的数据样本,对LSTM神经网络进行训练,本发明可对飞行器推力故障进行实时在线辨识,可准确辨识出哪台发动机故障,以及故障程度。本发明搭建轻量级的神经网络,运算简单,辨识速度快。
技术研发人员:郜诗佳;柳嘉润;骆无意;马昊磊;黄旭;张惠平;禹春梅;马卫华
受保护的技术使用者:北京航天自动控制研究所
技术研发日:2020.01.23
技术公布日:2020.06.09