一种基于NARX神经网络的飞行器动力学建模方法及装置
未命名
08-14
阅读:150
评论:0
一种基于narx神经网络的飞行器动力学建模方法及装置
技术领域
1.本发明涉及飞行器动力学建模技术领域,具体地,涉及一种基于narx神经网络的飞行器动力学建模方法及装置。
背景技术:
2.随着现代飞行器控制技术的快速发展,飞行器结构复杂度日益提升,状态变量耦合性随之增强;飞行器运动模型越发复杂,给飞行器动力学建模带来了很大难度。由于风洞试验的局限性以及纯理论计算研究的不完备,应用仿真数据利用基于数据驱动的神经网络训练获得飞行器运动学模型是当前的主要研究方向。同时,训练得到的模型可以应用于飞行器轨迹预测与控制。
3.基于数据驱动的神经网络模型具备学习能力强、构建简单、训练便捷等优势,已经成为当前的研究热点。目前,基于神经网络的系统辨识方法往往存在以下局限性。首先,大部分应用神经网络辨识飞行器模型的方法是参数辨识,需已知飞行器运动的数学模型,通过辨识气动参数,来获取飞行器模型,因此无法充分发挥神经网络的计算和表征能力;其次,部分利用神经网络进行飞行器模型辨识的方法,辨识后的神经网络泛化能力较差,只能对已知的输入进行预测,模型不具备应用价值。
4.针对这些问题,循环神经网络已成为飞行器动力学建模问题的研究热点。其中,基于外源输入的非线性自回归(nonlinear auto regressive models with exogenous inputs,narx)神经网络是一种时序信号预测模型,能够通过历史状态预测未来趋势,具有很好的动态特性和较高的抗干扰能力。因此,需要提出一种基于narx神经网络的飞行器动力学建模方法。
技术实现要素:
5.针对现有技术中的缺陷,本发明的目的在于提供一种基于narx神经网络的飞行器动力学建模方法及装置,基于外源输入的非线性自回归(narx)神经网络模型,实现随机升降舵及油门杆量等输入条件下的飞行器迎角和俯仰角速度参数预测,建立了飞行器动力学模型。
6.为解决上述问题,本发明的技术方案为:
7.一种基于narx神经网络的飞行器动力学建模方法,包括以下步骤:
8.基于simulink仿真得到飞行器动力学模型的输入输出数据,并对数据进行预处理生成训练数据和测试数据;
9.采用narx神经网络进行飞行器动力学模型的训练及测试;
10.基于训练和测试好的narx神经网络结构,建立飞行器纵向动力学模型。
11.优选地,所述基于simulink仿真得到飞行器动力学模型的输入输出数据,并对数据进行预处理生成训练数据和测试数据的步骤中,飞行器纵向运动模型表示的矩阵形式为:
[0012][0013]
其中状态矢量x=[δvδαδqδθ]
t
,分别表征飞行器速度、迎角、俯仰角速度和俯仰角,操纵矢量u=[δδeδδ
p
]
t
,δδe和δδ
p
分别表征升降舵偏角和油门杆位置。
[0014]
优选地,所述基于simulink仿真得到飞行器动力学模型的输入输出数据,并对数据进行预处理生成训练数据和测试数据的步骤中,所述对数据进行预处理包括对数据进行归一化,所述数据归一化处理公式为:
[0015][0016]
x
scaled
=x
std
*(max-min)+min
[0017]
其中[min,max]表示要映射到的区间,x
min
(axis=0)表示数据矩阵中每列数据中的最小值组成的行向量,x
max
(axis=0)表示数据矩阵中每列数据中的最大值组成的行向量,x
std
表示标准化结果,x
scaled
表示最终归一化结果,设置min=0,max=1,经过归一化处理后,所有数据均在[0,1]之间。
[0018]
优选地,将整体归一化后的数据按照8:2的比例划分,前80%数据随机打乱用于网络训练,后20%数据用于网络测试。
[0019]
优选地,所述采用narx神经网络进行飞行器动力学模型的训练及测试的步骤具体包括:根据飞行器纵向运动模型,以升降舵和油门杆量为输入,以飞行器的速度、俯仰角速度、迎角、俯仰角响应为输出,搭建narx神经网络,采用sp-p结构的训练模式,基于narx神经网络对所述飞行器动力学模型进行训练和测试。
[0020]
优选地,所述narx神经网络结构式为:y(t)=f[y(t-1),
…
,y(t-dy);u(t),
…
,u(t-du)],其中,u(t)∈r,y(t)∈r表示模型在t时刻时的输入和输出,dy≥0和du≥0分别是输出和输入的延迟阶数。
[0021]
优选地,所述narx神经网络学习的过程中选择均方误差函数mse作为目标函数,公式为:其中,表示网络预测值,yi表示实际值,n为样本数量。
[0022]
优选地,所述sp结构训练时的网络结构式为:
[0023][0024]
式中,[u1u
2 u3u4]分别表征偏离平衡状态的[δvδαδqδθ],[y1y2]分别表征[δ
δeδδ
p
],δδe和δδ
p
分别为升降舵和油门杆位置;
[0025]
所述p结构训练时的网络结构式为:
[0026][0027]
优选地,所述基于训练和测试好的narx神经网络结构,建立飞行器纵向动力学模型的步骤具体包括:基于训练和测试好的narx神经网络结构,实现针对不同升降舵及油门杆量输入条件下的飞行器纵向俯仰姿态中的迎角和俯仰角速度参数的准确预测,建立飞行器纵向动力学模型。
[0028]
进一步地,本发明还提供一种基于narx神经网络的飞行器动力学建模装置,所述装置包括处理器以及用于存储所述处理器的可执行指令的存储器,所述处理器配置为经由执行所述可执行指令来执行如上所述的基于narx神经网络的飞行器动力学建模方法。
[0029]
与现有技术相比,本发明提供了一种基于narx神经网络的飞行器动力学建模方法,采用基于simulink的飞行器动力学模型生成训练数据和测试数据,利用narx神经网络进行模型训练及测试,采用先串后并结构的训练模式,实现针对不同升降舵及油门杆量输入条件下的飞行器纵向俯仰姿态中的迎角和俯仰角速度参数的准确预测,建立飞行器动力学模型。
附图说明
[0030]
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0031]
图1为本发明实施例提供的基于narx神经网络的飞行器动力学建模方法流程框图;
[0032]
图2为本发明实施例提供的narx网络示意图;
[0033]
图3为本发明实施例提供的串-并行(sp)结构示意图;
[0034]
图4为本发明实施例提供的并行(p)结构示意图;
[0035]
图5为本发明实施例提供的串-并行(sp)训练时的网络结构示意图;
[0036]
图6为本发明实施例提供的并行(p)训练时的网络结构示意图;
[0037]
图7为本发明实施例提供的输入输出数据曲线图;
[0038]
图8为本发明实施例提供的归一化后的输入输出数据曲线图;
[0039]
图9为本发明实施例提供的学习率为0.1时的loss下降曲线图;
[0040]
图10a为本发明实施例提供的串-并行(sp)结构、并行(p)结构及先串后并(sp-p)结构的网络预测效果对比图;
[0041]
图10b为本发明实施例提供的串-并行(sp)结构、并行(p)结构及先串后并(sp-p)结构的网络误差对比图;
[0042]
图11a为本发明实施例提供的网络预测输出曲线图;
[0043]
图11b为本发明实施例提供的网络预测误差曲线图。
具体实施方式
[0044]
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术
人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
[0045]
具体地,图1为本发明实施例提供的基于narx神经网络的飞行器动力学建模方法流程框图,如图1所示,所述方法包括以下步骤:
[0046]
s1:基于simulink仿真得到飞行器动力学模型的输入输出数据,并对数据进行预处理生成训练数据和测试数据;
[0047]
具体地,已知飞行器纵向小扰动运动方程,以水平直线运动为基准运动,此时高度变化引起的外力和力矩的影响为零,即则飞行器纵向运动模型可以表示为如下矩阵形式:
[0048][0049]
其中状态矢量x=[δvδαδqδθ]
t
,分别表征飞行器速度、迎角、俯仰角速度和俯仰角,操纵矢量u=[δδeδδ
p
]
t
,δδe和δδ
p
分别表征升降舵偏角和油门杆位置。
[0050]
基于simulink的数据生成,在本实施例中,以dhc-6型飞机模型为研究对象,在simulink中搭建dhc-6飞机仿真模型,并获取模型在不同升降舵和油门杆量输入条件下,状态量初值为0的飞机纵向强迫响应的仿真数据。
[0051]
首先进行数据采集,设置仿真时间步长为0.05s,仿真时间为120s。在仿真过程中,升降舵和油门杆量每隔1s随机变化一次,得到输入数据和相应的状态响应数据如图7所示,共生成100组类似数据。
[0052]
对网络输入数据进行预处理:得到上述100组数据后,在对网络进行训练前,还需对所述数据进行预处理。为使数据的特征具有相同的度量尺度,首先对数据进行整体归一化,所述数据的归一化处理方法为如下:
[0053][0054]
x
scaled
=x
std
*(max-min)+min
[0055]
其中[min,max]表示要映射到的区间,x
min
(axis=0)表示数据矩阵中每列数据中的最小值组成的行向量,x
max
(axis=0)表示数据矩阵中每列数据中的最大值组成的行向量,x
std
表示标准化结果,x
scaled
表示最终归一化结果。设置min=0,max=1,经过归一化处理后,所有数据均在[0,1]之间。归一化后的输入和状态数据曲线图如图8所示。
[0056]
为避免网络出现“过拟合”问题,还需进行数据集划分。将整体归一化后的100组数据8:2分,前80组数据随机打乱用于网络训练,后20组数据用于网络测试。
[0057]
s2:采用narx神经网络进行飞行器动力学模型的训练及测试;
[0058]
具体地,采用基于外源输入的非线性自回归(narx)神经网络进行飞行器动力学模型训练及测试,采用先串后并(series-parallel-parallel,sp-p)结构的训练模式,利用narx神经网络对所述飞行器纵向运动模型进行系统辨识。
[0059]
1、narx神经网络;
[0060]
narx神经网络能够实现未来状态的多步预测,图2所示为narx网络结构示意图,其网络结构式如下:
[0061]
y(t)=f[y(t-1),
…
,y(t-dy);u(t),
…
,u(t-du)]
[0062]
其中,u(t)∈r,y(t)∈r表示模型在t时刻时的输入和输出,dy≥0和du≥0分别是输出和输入的延迟阶数。narx神经网络可以利用过去时刻的输入输出以及当前时刻的输入,拟合得到当前时刻的输出。
[0063]
narx神经网络学习的过程中通过调整网络权值参数,使构建的目标函数达到最小值,本发明中选择均方误差函数(mse)作为目标函数,具体如下所示:
[0064][0065]
其中,表示网络预测值,yi表示实际值,n为样本数量。
[0066]
在本实施例的narx网络模型构建中,根据飞行器纵向运动模型,以升降舵和油门杆量为输入,以飞行器的速度、俯仰角速度、迎角、俯仰角响应为输出,搭建narx神经网络。
[0067]
2、narx神经网络的训练与测试;
[0068]
所述narx神经网络包含两种训练结构,即串-并行(series-parallel,sp)结构和并行(parallel,p)结构,分别如图3和图4所示。首先,对于sp结构模式,在这种情况下,输出的回归仅由系统输出的实际值组成,可以实现一步预测任务。而对于p结构模式,在这种情况下,预测输出将被返回到输入,可以实现多步预测。
[0069]
虽然p结构能够实现多步预测任务,但在网络训练的初始阶段,由于网络的预测与实际值偏差较大且不稳定,无法保证系统收敛。本发明采用先串后并(sp-p)结构的训练模式,先进行sp结构训练,确保系统能够收敛,当权值参数收敛时将网络转为p结构,继续进行训练,进一步改善网络权值,以提高网络预测精度。
[0070]
在本实施例中,网络结构如图5所示,所述sp结构训练时的网络结构式可以写成下式:
[0071][0072]
式中,[u1u
2 u3u4]分别表征偏离平衡状态的[δvδαδqδθ],[y1y2]分别表征[δδeδδ
p
],δδe和δδ
p
分别为气动舵面偏角(本实施例中为升降舵)和油门杆位置。
[0073]
网络结构如图6所示,所述p结构训练时的网络结构式可以写成下式:
[0074][0075]
3、网络参数确定;
[0076]
具体地,根据飞机纵向运动模型,设置网络输入节点数为2,分别对应升降舵和油
门杆量;输出节点数为4,分别对应飞机速度、迎角、俯仰角速度、俯仰角;输入数据延迟阶数为0,输出数据延迟阶数为1;为确保narx网络具有良好的性能,设置两个隐含层,每层节点数为8,激活函数选用tanh函数。
[0077]
接下来以均方误差(mse)为损失函数,根据loss曲线的变化情况调整学习率与训练轮次。设置网络模型为sp结构,对一组训练数据,设置学习率为0.1时的loss下降曲线如图9所示,训练200轮所需运行时间为102s。本发明设置网络模型训练轮次epoch为200,学习率为0.1。
[0078]
4、网络训练与测试;
[0079]
接下来在选定的合适的网络模型结构的基础上展开网络的训练和测试。
[0080]
根据前面的介绍,narx的网络训练有3种方式:sp、p和sp-p结构,利用训练数据,根据选取的训练轮次和学习率分别在3种模式下进行网络训练,得到预测效果如图10a、图10b所示,网络训练结构对比结果如下表1所示:
[0081]
训练结构mseαmseqmaeαmseq最大误差α最大误差qsp0.00310.00300.03210.02510.30980.2797p0.00980.00480.05940.05540.38630.3110sp-p0.00250.00220.02800.02490.20110.1719
[0082]
表1
[0083]
分析网络预测效果可以看出,在p结构训练模式下,网络整体误差较大,容易陷入局部极小值;在sp结构训练模式下,网络最开始一段时间内误差较小但随着时间增大,网络误差增大明显,无法满足本问题多步长时间预测的需求。因此最终本发明采用sp-p的网络训练模式,前80%训练轮次为sp结构,后20%训练轮次将网络转为p结构继续进行训练,使得p结构的网络模型快速收敛且误差较小,综合降低网络模型的预测误差。
[0084]
5、网络预测效果分析
[0085]
综合上述过程,最终训练得到的网络模型的预测效果如图11a、图11b所示,网络在部分测试数据上的网络预测输出结果如下表2所示:
[0086]
数据mseαmseqmaeαmseq最大误差α最大误差q820.00190.00180.02410.02330.18950.1928870.00350.00340.03310.03290.31180.2867920.00610.00600.04280.04210.31250.3228960.00240.00230.02820.02780.18750.2003970.00310.00300.02860.02790.25730.2622980.00060.00060.01390.01330.12500.1314
[0087]
表2
[0088]
通过仿真结果图表可以看出,网络预测结果接近真实值且整体误差较小,验证了本发明基于narx神经网络的数据驱动飞行器动力学建模方法的可行性和准确性。
[0089]
s3:基于训练和测试好的narx神经网络结构,建立飞行器纵向动力学模型。
[0090]
具体地,基于训练和测试好的narx神经网络结构,实现针对不同升降舵及油门杆量输入条件下的飞行器纵向俯仰姿态中的迎角和俯仰角速度参数的准确预测,建立飞行器纵向动力学模型。
[0091]
综上所述,本发明提供了一种基于narx神经网络的飞行器动力学建模方法,采用基于simulink的飞行器动力学模型生成训练数据和测试数据,利用narx神经网络进行模型训练及测试,采用先串后并结构的训练模式,实现针对不同升降舵及油门杆量输入条件下的飞行器纵向俯仰姿态中的迎角和俯仰角速度参数的准确预测,建立飞行器动力学模型。
[0092]
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
技术特征:
1.一种基于narx神经网络的飞行器动力学建模方法,其特征在于,所述方法包括以下步骤:基于simulink仿真得到飞行器动力学模型的输入输出数据,并对数据进行预处理生成训练数据和测试数据;采用narx神经网络进行飞行器动力学模型的训练及测试;基于训练和测试好的narx神经网络结构,建立飞行器纵向动力学模型。2.根据权利要求1所述的基于narx神经网络的飞行器动力学建模方法,其特征在于,所述基于simulink仿真得到飞行器动力学模型的输入输出数据,并对数据进行预处理生成训练数据和测试数据的步骤中,飞行器纵向运动模型表示的矩阵形式为:其中状态矢量x=[δv δα δq δθ]
t
,分别表征飞行器速度、迎角、俯仰角速度和俯仰角,操纵矢量u=[δδ
e δδ
p
]
t
,δδ
e
和δδ
p
分别表征升降舵偏角和油门杆位置。3.根据权利要求1所述的基于narx神经网络的飞行器动力学建模方法,其特征在于,所述基于simulink仿真得到飞行器动力学模型的输入输出数据,并对数据进行预处理生成训练数据和测试数据的步骤中,所述对数据进行预处理包括对数据进行归一化,所述数据归一化处理公式为:x
scaled
=x
std
*(max-min)+min其中[min,max]表示要映射到的区间,x
min
(axis=0)表示数据矩阵中每列数据中的最小值组成的行向量,x
max
(axis=0)表示数据矩阵中每列数据中的最大值组成的行向量,x
std
表示标准化结果,x
scaled
表示最终归一化结果,设置min=0,max=1,经过归一化处理后,所有数据均在[0,1]之间。4.根据权利要求3所述的基于narx神经网络的飞行器动力学建模方法,其特征在于,将整体归一化后的数据按照8:2的比例划分,前80%数据随机打乱用于网络训练,后20%数据用于网络测试。5.根据权利要求1所述的基于narx神经网络的飞行器动力学建模方法,其特征在于,所述采用narx神经网络进行飞行器动力学模型的训练及测试的步骤具体包括:根据飞行器纵
向运动模型,以升降舵和油门杆量为输入,以飞行器的速度、俯仰角速度、迎角、俯仰角响应为输出,搭建narx神经网络,采用sp-p结构的训练模式,基于narx神经网络对所述飞行器动力学模型进行训练和测试。6.根据权利要求5所述的基于narx神经网络的飞行器动力学建模方法,其特征在于,所述narx神经网络结构式为:y(t)=f[y(t-1),
…
,y(t-d
y
);u(t),
…
,u(t-d
u
)],其中,u(t)∈r,y(t)∈r表示模型在t时刻时的输入和输出,d
y
≥0和d
u
≥0分别是输出和输入的延迟阶数。7.根据权利要求5所述的基于narx神经网络的飞行器动力学建模方法,其特征在于,所述narx神经网络学习的过程中选择均方误差函数mse作为目标函数,公式为:其中,表示网络预测值,y
i
表示实际值,n为样本数量。8.根据权利要求5所述的基于narx神经网络的飞行器动力学建模方法,其特征在于,所述sp结构训练时的网络结构式为:式中,[u
1 u
2 u
3 u4]分别表征偏离平衡状态的[δv δα δq δθ],[y
1 y2]分别表征[δδ
e δδ
p
],δδ
e
和δδ
p
分别为升降舵和油门杆位置;所述p结构训练时的网络结构式为:9.根据权利要求1所述的基于narx神经网络的飞行器动力学建模方法,其特征在于,所述基于训练和测试好的narx神经网络结构,建立飞行器纵向动力学模型的步骤具体包括:基于训练和测试好的narx神经网络结构,实现针对不同升降舵及油门杆量输入条件下的飞行器纵向俯仰姿态中的迎角和俯仰角速度参数的准确预测,建立飞行器纵向动力学模型。10.一种基于narx神经网络的飞行器动力学建模装置,其特征在于,所述装置包括处理器以及用于存储所述处理器的可执行指令的存储器,所述处理器配置为经由执行所述可执行指令来执行如权利要求1至9中任意一项所述的基于narx神经网络的飞行器动力学建模方法。
技术总结
本发明提供一种基于NARX神经网络的飞行器动力学建模方法及装置,所述方法包括:基于Simulink仿真得到飞行器动力学模型的输入输出数据,并对数据进行预处理生成训练数据和测试数据;采用NARX神经网络进行飞行器动力学模型的训练及测试;基于训练和测试好的NARX神经网络结构,建立飞行器纵向动力学模型。本发明基于NARX神经网络模型,实现随机升降舵及油门杆量等输入条件下的飞行器迎角和俯仰角速度参数预测,建立了飞行器动力学模型。建立了飞行器动力学模型。建立了飞行器动力学模型。
技术研发人员:董一群 曹玥瑶
受保护的技术使用者:复旦大学
技术研发日:2023.05.29
技术公布日:2023/8/13
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
