结合扩张状态观测器和bp神经网络的极性故障识别方法
技术领域
1.本技术涉及空间飞行器控制技术领域,例如涉及一种结合扩张状态观测器和bp神经网络的极性故障识别方法。
背景技术:
2.在航天发射中,因极性错误导致失利的故障还时有发生,尽管飞行前无论是运载火箭还是卫星均经过了充分的测试。如何应对极性错误导致的故障,已愈发引起关注。
3.现有技术通常直接将飞行器在真实飞行过程中通过各类传感器采集的控制系统的信息作为样本数据进行训练,以对样本数据进行分类处理,从而确定姿态控制系统本身是否发生故障。
4.在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:
5.现有技术只能辨别出姿态控制系统本身是否发生故障,而难以实现对极性故障类型的辨别。
技术实现要素:
6.为了解决上述技术缺陷之一,本技术实施例中提供了一种结合扩张状态观测器和bp神经网络的极性故障识别方法。
7.根据本技术实施例的第一个方面,提供了一种结合扩张状态观测器和bp 神经网络的极性故障识别方法,包括:获取飞行器运行过程中的箭体角加速度;
8.根据所述箭体角加速度确定所述飞行器的姿态控制系统是否发生极性故障;获取所述姿态控制系统发生极性故障的情况下所述飞行器对应的箭体角速度、姿态角偏差和受控指令,并获取极性故障的极性故障类型;将箭体角速度、箭体角加速度、姿态角偏差和受控指令确定为模型输入训练数据,并将带有极性故障类型的模型输入训练数据确定为第一训练样本;利用所述第一训练样本构建姿态控制系统极性故障类型识别模型;利用所述姿态控制系统极性故障类型识别模型进行极性故障类型识别。。
9.根据本技术实施例的第二个方面,提供了一种结合扩张状态观测器和bp 神经网络的极性故障识别装置,包括处理器和存储有程序指令的存储器,所述处理器被配置为在运行所述程序指令时,执行上述的结合扩张状态观测器和 bp神经网络的极性故障识别方法。
10.根据本技术实施例的第三个方面,提供了一种电子设备,包括上述的结合扩张状态观测器和bp神经网络的极性故障识别装置。
11.根据本技术实施例的第四个方面,提供了存储介质,存储有程序指令,所述程序指令在运行时,执行上述的结合扩张状态观测器和bp神经网络的极性故障识别方法。
12.采用本技术实施例中提供的结合扩张状态观测器和bp神经网络的极性故障识别方法,通过将带有极性故障类型的模型输入训练数据确定为训练样本,并以该训练样本构建姿态控制系统极性故障类型识别模型,然后利用该模型进行故障类型识别,这样不仅能
够识别出姿态控制系统是否发生极性故障,还能够识别姿态控制系统发生的极性故障类型。
附图说明
13.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
14.图1为本技术实施例提供的一个用于获取训练样本的方法的示意图;
15.图2(a)为本技术实施例提供的一个用于构建姿态控制系统极性故障类型识别模型的方法的示意图;
16.图2(b)为本技术实施例提供的一个姿态控制系统极性故障类型识别模型的网络结构的示意图;
17.图2(c)为本技术实施例提供的一个极性故障模式分类正确率的混淆矩阵的示意图;
18.图3为本技术实施例提供的一个结合扩张状态观测器和bp神经网络的极性故障识别方法的示意图;
19.图4为本技术实施例提供的一个用于飞行器的姿态控制系统的示意图;
20.图5为本技术实施例提供一种结合扩张状态观测器和bp神经网络的极性故障识别装置的示意图。
具体实施方式
21.为了使本技术实施例中的技术方案及优点更加清楚明白,以下结合附图对本技术的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本技术的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
22.在实现本技术的过程中,发明人发现,现有姿态控制系统故障模式的识别模型只能辨别出姿态控制系统是否发生故障,而难以实现对极性故障类型的在线辨别和控制重构。
23.针对上述问题,本技术实施例中提供了一种结合扩张状态观测器和bp神经网络的极性故障识别方法,包括:获取飞行器运行过程中的箭体角加速度;根据箭体角加速度确定飞行器的姿态控制系统是否发生极性故障;获取姿态控制系统发生极性故障的情况下飞行器对应的箭体角速度、姿态角偏差和受控指令,并获取极性故障的极性故障类型;将箭体角速度、箭体角加速度、姿态角偏差和受控指令确定为模型输入训练数据,并将带有极性故障类型的模型输入训练数据确定为第一训练样本;利用第一训练样本构建姿态控制系统极性故障类型识别模型;利用姿态控制系统极性故障类型识别模型进行极性故障类型识别。采用本技术实施例提供的结合扩张状态观测器和bp神经网络的极性故障识别方法,通过将带有极性故障类型的模型输入训练数据确定为训练样本,并利用该训练样本构建的姿态控制系统极性故障类型识别模型,然后利用该模型进行故障类型识别,这样不仅能够识别出姿态控制系统是否发生极性故障,还能够识别姿态控制系统发生的极性故障类型。
24.结合图1所示,本技术实施例提供一种用于获取训练样本的方法,包括:
25.步骤s101,获取飞行器运行过程中的箭体角加速度;
26.步骤s102,根据箭体角加速度确定飞行器的姿态控制系统是否发生极性故障;
27.步骤s103,获取姿态控制系统发生极性故障的情况下飞行器对应的箭体角速度、姿态角偏差和受控指令,并获取极性故障的极性故障类型;
28.步骤s104,将箭体角速度、箭体角加速度、姿态角偏差和受控指令确定为模型输入训练数据,并将带有极性故障类型的模型输入训练数据确定为训练样本。
29.采用本技术实施例提供的用于获取训练样本的方法,通过将带有极性故障类型的模型输入训练数据确定为训练样本,进而使得利用该训练样本构建的姿态控制系统极性故障类型识别模型能够识别出姿态控制系统发生的极性故障类型。
30.可选地,飞行器为火箭或卫星。
31.可选地,获取飞行器运行过程中的箭体角加速度,包括:获取飞行器运行过程中的箭体角速度;根据箭体角速度估计箭体角速度对应的箭体角加速度。可选地,飞行器的运行过程包括飞行器的启动过程、发射过程、飞行过程和仿真运行过程中的一种或多种。
32.可选地,根据箭体角速度估计箭体角速度对应的箭体角加速度,包括:通过预设的扩张状态观测器利用箭体角速度进行估计,获得箭体角速度对应的箭体角加速度。由于飞行器在运行过程中的箭体角加速度会受到不确定力矩的干扰,因此箭体角加速度是波动的,利用扩张状态观测器估计获得的箭体角加速度能够更贴合实际情况。
33.可选地,通过预设的扩张状态观测器利用箭体角速度进行估计前,还包括:构建扩张状态观测器eso。
34.可选地,构建扩张状态观测器,包括:将箭体角速度x1=[ω
x1 ω
y1 ω
z1
]
t
确定为状态变量,其中,t是转置符号,ω
x1
用于表征飞行器在x轴的箭体角速度分量、ω
y1
用于表征飞行器在y轴的箭体角速度分量,ω
z1
用于表征飞行器在 z轴的箭体角速度分量。飞行器受到的总和力矩为f=bu+w(t)+r(t);其中bu为飞行器受到的控制力矩,w(t)为飞行器受到的外部扰动,包括气动干扰、结构干扰等;r(t)为内部干扰,即为发动机摆动产生的惯性干扰力矩。从而可以把总和力矩f=bu+w(t)+r(t)扩张为新的状态变量即箭体角加速度,其中,用于表征飞行器在x轴的箭体角加速度分量、用于表征飞行器在y轴的箭体角加速度分量,用于表征飞行器在z轴的箭体角加速度分量。那么就将原一阶控制系统(即总和力矩)扩展为二阶:
[0035][0036]
设置新设计系统的状态变量z1、z2,z1表示针对扩张后的二阶控制系统估计的箭体角速度,z2表示针对扩张后的二阶控制系统估计的箭体角加速度。针对扩张后的二阶控制系统,将速率陀螺观测输出的飞行器的箭体角速度与扩张状态观测器估计的箭体角速度z1之间的差值e1作为驱动;其中,用于表征速率陀螺观测的飞行器在x轴的箭体角速度分量、用于表征速率陀螺观测的飞行器在y轴的箭体角速度分量,用于表征速率陀螺观测的飞行器在z轴的箭体角速度分量。通过合理设计参数l1、l2使得
从而使得即得到了接近与原系统的箭体角加速度,即有扩张状态观测器eso(z):
[0037][0038]
可选地,根据箭体角加速度确定飞行器的姿态控制系统是否发生极性故障,包括:在箭体角加速度与预设的箭体角加速度期望值不处于预设的一致性范围内的情况下,确定姿态控制系统发生极性故障;和/或,在箭体角加速度与预设的箭体角加速度期望值处于预设的一致性范围内的情况下,确定姿态控制系统未发生极性故障。
[0039]
这样,在通过箭体角加速度确定姿态控制系统是否发生极性故障后,再获取姿态控制系统发生极性故障的情况下的训练样本,使得获取的训练样本均为姿态控制系统发生极性故障的情况下的训练样本,进而能够针对姿态控制系统发生极性故障的情况下的训练样本进行训练。
[0040]
本技术实施例提供一种用于构建姿态控制系统极性故障类型识别模型的方法,包括:利用上述的用于获取训练样本的方法获得的第一训练样本构建姿态控制系统极性故障类型识别模型。
[0041]
本技术实施例提供的用于构建姿态控制系统极性故障类型识别模型的方法,通过将带有极性故障类型的模型输入训练数据确定为训练样本,并以该训练样本构建姿态控制系统极性故障类型识别模型,这样,利用该模型进行故障类型识别,能够识别姿态控制系统发生的极性故障类型。
[0042]
结合图2(a)所示,本技术实施例提供一种用于构建姿态控制系统极性故障类型识别模型的方法,包括:
[0043]
步骤s201,获取飞行器运行过程中的箭体角加速度;
[0044]
步骤s202,根据箭体角加速度确定飞行器的姿态控制系统是否发生极性故障;
[0045]
步骤s203,获取姿态控制系统发生极性故障的情况下飞行器对应的箭体角速度、姿态角偏差和受控指令,并获取极性故障的极性故障类型;
[0046]
步骤s204,将箭体角速度、箭体角加速度、姿态角偏差和受控指令确定为模型输入训练数据,并将带有极性故障类型的模型输入训练数据确定为第一训练样本;
[0047]
步骤s205,利用第一训练样本构建姿态控制系统极性故障类型识别模型。
[0048]
采用本技术实施例提供的用于构建姿态控制系统极性故障类型识别模型的方法,通过将带有极性故障类型的模型输入训练数据确定为训练样本,并以该训练样本构建姿态控制系统极性故障类型识别模型,这样,利用该姿态控制系统极性故障类型识别模型进行故障类型识别,能够识别姿态控制系统发生的极性故障类型。
[0049]
可选地,利用第一训练样本构建姿态控制系统极性故障类型识别模型,包括:将第一训练样本输入bp(back propagation)神经网络模型进行训练,获得姿态控制系统极性故障类型识别模型。
[0050]
在一些实施例中,将第一训练样本输入bp神经网络模型进行训练,直到神经网络模型达到第一预设训练误差,或,到达第一预设迭代次数,获得姿态控制系统极性故障类型
识别模型。
[0051]
可选地,利用第一训练样本构建姿态控制系统极性故障类型识别模型,包括:在飞行器的姿态控制系统未发生极性故障的情况下,获取飞行器的箭体角速度、箭体角加速度、姿态角偏差和受控指令;根据箭体角速度、箭体角加速度、姿态角偏差和受控指令获取第二训练样本;将第一训练样本和第二训练样本输入bp神经网络模型进行训练,获得姿态控制系统极性故障类型识别模型。这样,使得姿态控制系统极性故障类型识别模型不仅能够识别姿态控制系统是否发生极性故障,还能够识别姿态控制系统发生的极性故障的极性故障类型。
[0052]
在一些实施例中,将第一训练样本和第二训练样本输入bp神经网络模型进行训练,直到神经网络模型达到第二预设训练误差,或,到达第二预设迭代次数,获得姿态控制系统极性故障类型识别模型。
[0053]
可选地,根据箭体角速度、箭体角加速度、姿态角偏差和受控指令获取第二训练样本,包括:将箭体角速度、箭体角加速度、姿态角偏差和受控指令确定为模型输入训练数据;将带有表征姿态控制系统未发生极性故障的极性故障类型的模型输入训练数据确定为第二训练样本。
[0054]
可选地,bp神经网络模型,包括输入层、隐藏层和输出层,其中,输入层用于输入第一训练样本和第二训练样本,输出层用于输出极性故障类型,隐藏层用于将输入层的训练样本映射到输出层,进而输出极性故障类型。
[0055]
结合图2(b)所示,图2(b)是本技术实施例提供的一个姿态控制系统极性故障类型识别模型的网络结构的示意图;姿态控制系统极性故障类型识别模型的网络结构包括输入层(input layer)、隐藏层(hidden layer)和输出层 (output layer)。在一些实施例中,输入层包括第一预设个数的输入节点,如图2(b)所示,输入层包括有13个输入节点,即输入节点1,2,
……
,12, 13。各输入节点均用于接收训练样本x,输出层包括第二预设个数的输出节点,各输出节点分别输出不同的极性故障类型;如图2(b)所示,输出层包括6 个输出节点,即输出节点1,
……
,6;其中,输出节点1对应输出的极性故障类型为模式1,输出节点2对应输出的极性故障类型为模式2,输出节点3对应输出的极性故障类型为模式3,输出节点4对应输出的极性故障类型为模式 4,输出节点5对应输出的极性故障类型为模式5,输出节点6对应输出的极性故障类型为模式6。隐藏层包括第三预设个数的隐藏节点,如图2(b)所示,隐藏层包括100个隐藏节点,各隐藏节点均用于将输入节点接收的训练样本映射到各输出节点。
[0056]
可选地,第二预设个数为7个,输出节点1对应输出极性故障类型1、输出节点2对应输出极性故障类型2、输出节点3对应输出极性故障类型3、输出节点4对应输出极性故障类型4、输出节点5对应输出极性故障类型5、输出节点6对应输出极性故障类型6,输出节点7对应输出极性故障类型7;其中极性故障类型1至极性故障类型6用于表征姿态控制系统发生极性故障时对应的极性故障类型;极性故障类型7用于表征姿态控制系统未发生极性故障。
[0057]
可选地,在bp网络模型中,隐含层和输出层的传递函数皆为logsig函数,其中x为训练样本;损失函数为mse函数,其中,y
x
为训练样本x的标签,为bp网络对训练样本x的预测值,n为训练样本个数。
[0058]
在一些实施例中,将训练误差设置为0.01,学习率设为0.003。经过234 次迭代,bp网络达到训练误差,网络收敛。
[0059]
在一些实施例中,将第一预设训练误差设置为0.01,学习率设为0.003。在bp网络经234迭代后,mse等于第一预设训练误差0.01的情况下,网络收敛,获得姿态控制系统极性故障类型识别模型。
[0060]
在一些实施例中,将第一预设训练误差设置为0.01,学习率设为0.003,第一预设迭代次数设为1000次,在mse不等于第一预设训练误差0.01,但bp 网络经1000次迭代后,确认网络收敛,获得姿态控制系统极性故障类型识别模型。
[0061]
在一些实施例中,结合图2(b)所示,在bp网络经234次迭代,mse等于第一预设训练误差0.01的情况下,获得如图2(c)所示的一个极性故障模式分类正确率的混淆矩阵的示意图,混淆矩阵列和为1,获得分类正确率为 97.56%。在各故障模式测试样本数量相同的情况下,将混淆矩阵的主对角线上的所有值求平均值,即为分类正确率。
[0062]
可选地,获取姿态控制系统极性故障类型识别模型后,还包括:获取飞行器在飞行过程中的箭体角速度、箭体角加速度、姿态角偏差和受控指令;将飞行器在飞行过程中的箭体角速度、箭体角加速度、姿态角偏差和受控指令确定为测试样本;并获取测试样本的实际极性故障类型;将测试样本输入姿态控制系统极性故障类型识别模型进行极性故障类型识别,在姿态控制系统极性故障类型识别模型输出的极性故障类型与实际极性故障类型相同的情况下,确定姿态控制系统极性故障类型识别模型训练成功。
[0063]
可选地,在确定姿态控制系统极性故障类型识别模型训练成功后,还包括:将姿态控制系统极性故障类型识别模型装订至飞行器的飞行程序中,实时辨识飞行器的极性故障类型。这样,能够在线辨识飞行器是否发生极性故障,以及飞行器发生的极性故障类型。
[0064]
本技术实施例提供一种结合扩张状态观测器和bp神经网络的极性故障识别方法,包括:利用上述的用于构建姿态控制系统极性故障类型识别模型的方法获得的姿态控制系统极性故障类型识别模型进行极性故障类型识别。
[0065]
本技术实施例提供的结合扩张状态观测器和bp神经网络的极性故障识别方法,通过将带有极性故障类型的模型输入训练数据确定为训练样本,并以该训练样本构建姿态控制系统极性故障类型识别模型,这样,利用该姿态控制系统极性故障类型识别模型进行故障类型识别不仅能够识别出姿态控制系统是否发生极性故障,还能够识别姿态控制系统发生的极性故障类型。
[0066]
结合图3所示,本技术实施例提供一种结合扩张状态观测器和bp神经网络的极性故障识别方法,包括:
[0067]
步骤s301,获取飞行器运行过程中的箭体角加速度;
[0068]
步骤s302,根据箭体角加速度确定飞行器的姿态控制系统是否发生极性故障;
[0069]
步骤s303,获取姿态控制系统发生极性故障的情况下飞行器对应的箭体角速度、姿态角偏差和受控指令,并获取极性故障的极性故障类型;
[0070]
步骤s304,将箭体角速度、箭体角加速度、姿态角偏差和受控指令确定为模型输入训练数据,并将带有极性故障类型的模型输入训练数据确定为第一训练样本;
[0071]
步骤s305,利用第一训练样本构建姿态控制系统极性故障类型识别模型;
[0072]
步骤s306,利用姿态控制系统极性故障类型识别模型进行极性故障类型识别。
[0073]
本技术实施例提供的结合扩张状态观测器和bp神经网络的极性故障识别方法,通过将带有极性故障类型的模型输入训练数据确定为训练样本,并以该训练样本构建姿态控制系统极性故障类型识别模型,然后利用该模型进行故障类型识别,这样不仅能够识别出姿态控制系统是否发生极性故障,还能够识别姿态控制系统发生的极性故障类型。
[0074]
可选地,利用姿态控制系统极性故障类型识别模型进行极性故障类型识别,包括:获取飞行器在运行过程中的箭体角速度、箭体角加速度、姿态角偏差和受控指令;将箭体角速度、箭体角加速度、姿态角偏差和受控指令输入姿态控制系统极性故障类型识别模型进行极性故障类型识别。
[0075]
可选地,利用姿态控制系统极性故障类型识别模型进行极性故障类型识别,包括:获取飞行器在飞行过程中的实际箭体角加速度,通过预设的扩张状态观测器利用实际箭体角速度进行估计,获得实际箭体角速度对应的实际箭体角加速度;在实际箭体角加速度与预设的箭体角加速度期望值不处于预设的一致性范围内的情况下,确定姿态控制系统发生极性故障,获取姿态控制系统发生极性故障的情况下飞行器对应的实际箭体角速度、实际姿态角偏差和实际受控指令,将实际箭体角加速度、实际箭体角速度、实际姿态角偏差和实际受控指令输入姿态控制系统极性故障类型识别模型进行极性故障类型识别。
[0076]
可选地,预设的箭体角加速度期望值是通过预设的动力学模型解算获得的箭体角加速度。
[0077]
可选地,进行极性故障类型识别后,还包括:在姿态控制系统极性故障类型识别模型输出的极性故障类型为预设类型的情况下,构建用于控制飞行器的控制指令。这样,在飞行器的极性故障类型为预设类型的情况下,能够利用重构的控制指令控制飞行器运行,从而降低姿态控制系统出现失控的风险。
[0078]
可选地,在进行极性故障类型识别后,还包括:姿态控制系统极性故障类型识别模型在预设周期内输出的极性故障类型均为预设类型的情况下,构建用于控制飞行器的控制指令。可选地,预设时间周期为10至20个周期。
[0079]
可选地,预设类型为姿态控制系统发生极性故障情况下对应的极性故障类型。
[0080]
可选地,构建用于控制飞行器的控制指令后,还包括:利用控制指令对飞行器进行控制。这样,使得飞行器能够根据控制指令运行,从而降低姿态控制系统出现失控的风险。
[0081]
可选地,利用控制指令对飞行器进行控制后,还包括:再次利用上述用于识别姿态控制系统极性故障类型的方法进行机型故障类型识别,直到飞行器不发生极性故障。这样,使得飞行器能够根据构建控制指令运行,从而降低姿态控制系统出现失控的风险。
[0082]
在一些实施例中,结合图4所示,飞行器的姿态控制系统包括姿态控制指令计算模块(attitude controller)、控制力矩分配单元(control torquedistribution)、imu(inertial measurement unit,惯性测量单元)、扩张状态观测器(extended state observer,eso)、故障诊断单元(diagnosis)、姿态控制系统极性故障类型识别模型(trained nn)、控制指令重构单元(reconstructionalgorithm)和预设的动力学模型(lv dynamics model);姿态控制指令计算模块用于接收初始控制指令,即姿态角并根据接收到的初始控制指令输出控制摆角至控制力矩分配单元和动力学模型,eso从imu中获取飞行器在运行过程中的箭体角速度,并根据箭体角速度估计箭体角加速度然后将获得的
箭体角加速度发送给诊断单元,动力学模型利用接收到的控制摆角u进行计算,获得箭体角加速度期望值并将箭体角加速度期望值发送给诊断单元;故障诊断单元接收eso发送的箭体角加速度和动力学模型发送的箭体角加速度期望值,并在箭体角加速度与预设的箭体角加速度期望值不处于预设的一致性范围内的情况下,确定姿态控制系统发生极性故障;并在确定姿态控制系统发生极性故障的情况下,将输入姿态控制指令计算模块的初始控制指令、 imu发送的箭体角速度、eso估计的箭体角加速度以及姿态角偏差输入姿态控制系统极性故障类型识别模型进行识别,确定姿态控制系统的极性故障的极性故障类型,然后将极性故障类型(falure mode)发送给控制指令重构单元,控制指令重构单元接收姿态控制系统极性故障类型识别模型发送的极性故障类型,并根据极性故障类型构建用于控制飞行器的调整控制指令;并将调整控制指令发送给控制力矩分配单元;控制力矩分配单元接收姿态控制单元发动的控制摆角和姿态控制系统极性故障类型识别模型发送的调整控制指令,并根据控制摆角和调整控制指令对飞行器中的姿态控制系统进行转矩δ控制;同时惯性测量单元中将采集的飞行器的的箭体姿态角发送到姿态控制单元,以使飞行器能够处于与对应的姿态。这样,利用扩张状态观测器对箭体角加速度进行估计,能够获取高度精确和可靠的训练样本;从而使得利用该训练样本进行训练获得的姿态控制系统极性故障类型识别模型能够更准确的识别姿态控制系统发生的极性故障类型,提高了姿态控制系统极性故障类型识别模型识别极性故障类型的准确率。
[0083]
结合图5所示,本技术实施例提供一种结合扩张状态观测器和bp神经网络的极性故障识别装置,包括处理器(processor)500和存储器(memory)501。可选地,该装置还可以包括通信接口(communication interface)502和总线 503。其中,处理器500、通信接口502、存储器501可以通过总线503完成相互间的通信。通信接口502可以用于信息传输。处理器500可以调用存储器 501中的逻辑指令,以执行上述实施例的结合扩张状态观测器和bp神经网络的极性故障识别方法。
[0084]
本公开实施例提供的结合扩张状态观测器和bp神经网络的极性故障识别装置,通过将带有极性故障类型的模型输入训练数据确定为训练样本,并以该训练样本构建姿态控制系统极性故障类型识别模型,然后利用该模型进行故障类型识别,这样不仅能够识别出姿态控制系统是否发生极性故障,还能够识别姿态控制系统发生的极性故障类型。
[0085]
此外,上述的存储器501中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
[0086]
存储器501作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本技术实施例中的方法对应的程序指令/模块。处理器500通过运行存储在存储器501中的程序指令/模块,从而执行功能应用以及数据处理,即实现上述实施例中结合扩张状态观测器和bp神经网络的极性故障识别方法。
[0087]
存储器501可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器501可以包括高速随机存取存储器,还可以包括非易失性存储器。
[0088]
本技术实施例提供一种电子设备,包括上述的结合扩张状态观测器和bp 神经网络的极性故障识别装置。可选地,电子设备为计算机、手机或平板电脑等。
[0089]
本技术实施例提供的电子设备,通过将带有极性故障类型的模型输入训练数据确
定为训练样本,并以该训练样本构建姿态控制系统极性故障类型识别模型,然后利用该模型进行故障类型识别,这样不仅能够识别出姿态控制系统是否发生极性故障,还能够识别姿态控制系统发生的极性故障类型。
[0090]
本技术实施例提供了一种存储介质,存储有程序指令,所述程序指令在运行时,执行上述的结合扩张状态观测器和bp神经网络的极性故障识别方法。
[0091]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本技术实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言 java和直译式脚本语言javascript等。
[0092]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0093]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0094]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0095]
在本技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。
[0096]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0097]
在本技术中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接或可以互相通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本技术中的具体含义。
[0098]
尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
[0099]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
技术特征:
1.一种结合扩张状态观测器和bp神经网络的极性故障识别方法,其特征在于,包括:获取飞行器运行过程中的箭体角加速度;根据所述箭体角加速度确定所述飞行器的姿态控制系统是否发生极性故障;获取所述姿态控制系统发生极性故障的情况下所述飞行器对应的箭体角速度、姿态角偏差和受控指令,并获取极性故障的极性故障类型;将箭体角速度、箭体角加速度、姿态角偏差和受控指令确定为模型输入训练数据,并将带有极性故障类型的模型输入训练数据确定为第一训练样本;利用所述第一训练样本构建姿态控制系统极性故障类型识别模型;利用所述姿态控制系统极性故障类型识别模型进行极性故障类型识别。2.根据权利要求1所述的方法,其特征在于,获取飞行器运行过程中的箭体角加速度,包括:获取飞行器运行过程中的箭体角速度;根据所述箭体角速度估计所述箭体角速度对应的箭体角加速度。3.根据权利要求2所述的方法,其特征在于,根据所述箭体角速度估计所述箭体角速度对应的箭体角加速度,包括:通过预设的扩张状态观测器利用所述箭体角速度进行估计,获得所述箭体角速度对应的箭体角加速度。4.根据权利要求1所述的方法,其特征在于,根据所述箭体角加速度确定所述飞行器的姿态控制系统是否发生极性故障,包括:在所述箭体角加速度与预设的箭体角加速度期望值不处于预设的一致性范围内的情况下,确定所述姿态控制系统发生极性故障;和/或,在所述箭体角加速度与预设的箭体角加速度期望值处于预设的一致性范围内的情况下,确定所述姿态控制系统未发生极性故障。5.根据权利要求1所述的方法,其特征在于,利用所述第一训练样本构建姿态控制系统极性故障类型识别模型,包括:将所述第一训练样本输入bp神经网络模型进行训练,获得姿态控制系统极性故障类型识别模型。6.根据权利要求1所述的方法,其特征在于,利用所述第一训练样本构建姿态控制系统极性故障类型识别模型,包括:在飞行器的姿态控制系统未发生极性故障的情况下,获取所述飞行器的箭体角速度、箭体角加速度、姿态角偏差和受控指令;根据所述箭体角速度、箭体角加速度、姿态角偏差和受控指令获取第二训练样本;将所述第一训练样本和所述第二训练样本输入bp神经网络模型进行训练,获得姿态控制系统极性故障类型识别模型。7.根据权利要求6所述的方法,其特征在于,根据所述箭体角速度、箭体角加速度、姿态角偏差和受控指令获取第二训练样本,包括:将所述箭体角速度、箭体角加速度、姿态角偏差和受控指令确定为模型输入训练数据;将带有表征姿态控制系统未发生极性故障的极性故障类型的模型输入训练数据确定为第二训练样本。
8.根据权利要求1所述的方法,其特征在于,利用所述姿态控制系统极性故障类型识别模型进行极性故障类型识别,包括:获取飞行器在飞行过程中的箭体角速度、箭体角加速度、姿态角偏差和受控指令;将所述箭体角速度、箭体角加速度、姿态角偏差和受控指令输入所述模型进行极性故障类型识别。9.根据权利要求1至8任一项所述的方法,其特征在于,进行极性故障类型识别后,还包括:在所述模型输出的极性故障类型为预设类型的情况下,构建用于控制所述飞行器的控制指令。10.一种结合扩张状态观测器和bp神经网络的极性故障识别装置,包括处理器和存储有程序指令的存储器,其特征在于,所述处理器被配置为在运行所述程序指令时,执行如权利要求1至9任一项所述的结合扩张状态观测器和bp神经网络的极性故障识别方法。11.一种电子设备,其特征在于,包括如权利要求10所述的结合扩张状态观测器和bp神经网络的极性故障识别装置。12.一种存储介质,存储有程序指令,其特征在于,所述程序指令在运行时,执行如权利要求1至9任一项所述的结合扩张状态观测器和bp神经网络的极性故障识别方法。
技术总结
本申请实施例提供一种结合扩张状态观测器和BP神经网络的极性故障识别方法,包括:获取姿态控制系统发生极性故障的情况下飞行器对应的箭体角速度、姿态角偏差和受控指令,并获取极性故障的极性故障类型;将箭体角速度、箭体角加速度、姿态角偏差和受控指令确定为模型输入训练数据,将带有极性故障类型的模型输入训练数据确定为第一训练样本;利用第一训练样本构建姿态控制系统极性故障类型识别模型;利用姿态控制系统极性故障类型识别模型进行极性故障类型识别。这样能够识别姿态控制系统发生的极性故障类型并在线完成重构,避免故障产生更深远的影响。本申请还公开一种结合扩张状态观测器和BP神经网络的极性故障识别装置、电子设备、存储介质。存储介质。存储介质。
技术研发人员:邵梦晗 潘豪 宋征宇 胡瑞光 胡海峰 王晓玲 朱源
受保护的技术使用者:北京航天自动控制研究所
技术研发日:2021.11.29
技术公布日:2022/3/8