原智杰,张公平,崔 茅,唐 炜*
(1.西北工业大学 自动化学院,西安 710129;2.中国空空导弹研究院,河南 洛阳 471009;3.航空制导武器航空科技重点实验室,河南 洛阳 471009)
导弹结构的优化是指根据导弹的气动性能以及设定的预期目标设计导弹的气动布局,即对导弹的几何外形参数进行调整,确定导弹机械结构中各个气动部件(弹头、弹身、弹翼和舵面等)的形状、尺寸以及安装位置的工作过程[1]。导弹气动性能的优良则反映出导弹的气动布局是否合理,是否需要进一步优化,而导弹飞行时的各种气动参数能直接反映出导弹的气动性能。传统的直接获取导弹气动参数的方法主要有三种[2]:理论计算法、风洞试验法、飞行试验法。理论计算法过程复杂,风洞试验法和飞行试验法存在过程费用极其昂贵、测试周期长等缺点[3-8]。
人工神经网络技术被应用于模式识别、函数拟合、聚类问题等,飞行器气动参数辨识也成为其应用的一个领域。1993年,Linse D J和Youssef H M等人相继将神经网络理论与气动力参数的辨识问题相结合,应用于气动参数的估计[9-10]。2000年,Richardson K A建立了基于径向基函数的气动参数模型[11]。2011年,美国奥本大学教授Carpenter M等人提出了一种利用单隐含层神经网络进行导弹气动参数预测的方法[12]。2016年,Carpenter M等人又提出了一种利用神经网络与雷达遥测系统相结合的快速识别导弹类型的方案[13]。张瑞民等人基于BP神经网络建立了飞机在大攻角状态下的气动模型[14]。史志伟等人讨论了基于径向基函数神经网络的非线性非定常气动模型[15]。王博斌等人基于RBF神经网络模型展开研究,对翼面不同振幅下的频域气动特性进行预测[16]。朱莉等人采用BP神经网络对翼型进行气动力建模,提出了一种翼型优化设计方法[17]。
传统的工程拟合法气动建模是根据气动力的物理特性、统计规律等,利用数学方法获得气动力与飞行状态、气动外形等参数之间的数学关系式,其适用于状态范围变化较小的局部气动建模。对于状态参数变化范围较大,且气动外形复杂的飞行器,气动力与状态参数以及其他参数间的关系呈现高度非线性,传统的数学建模方法很难给出准确描述;而神经网络气动建模过程不需要考虑输入输出之间非线性程度,通过大量气动力数据的机器学习,建立气动模型,具有良好的学习能力及非线性拟合能力,是处理非线性函数逼近的有效方法。
本文利用导弹DATCOM软件计算已知外形几何参数的导弹在设定的飞行条件下对应的气动系数,将几何参数、飞行条件参数及气动系数作为研究数据,基于BP神经网络建立气动模型,并验证利用该模型进行气动参数预测的可行性。用神经网络气动模型获取气动参数的方法较传统方法节省了风洞试验和飞行试验昂贵的试验费用与时间成本,这在导弹研发过程中有着极为重要的意义。
气动模型是表征飞行器气动力/力矩与飞行状态、气动外形等参数之间关系的函数。通常可以表示为
Ci=f(H,Ma,α,β,ωx,ωy,ωz,δe,δr,δa,…)
(1)
式中:H,Ma,α,β分别为高度、马赫数、攻角、侧滑角;ωx,ωy,ωz分别为滚转、偏航和俯仰角速度;δe,δr,δa分别为升降舵、方向舵和副翼舵偏角。本文以Ci(i=N,M,A,Y,L,D)表示的气动力/力矩系数,反映导弹的气动特性。
BP神经网络(Back Propagation Neural Network)是一种基于误差反向传播的神经网络,其算法的核心部分是BP算法,由输入信号的前向传播和误差的反向传播组成了BP神经网络的整个学习过程。根据反向传播的误差信号对神经网络的阈值和权值进行调整,神经网络训练结束的标志,是误差信号达到设定的训练目标或者迭代次数达到设定值。BP神经网络虽然具有能够逼近任意非线性函数的优势,但也有一些缺陷制约其发展:收敛速度慢、易陷入局部最小、网络的一些参数确定方法不定等[18]。
思维进化算法(Mind Evolutionary Algorithm)是一种将计算机科学和生物进化结合的一种随机搜索算法,其基本思路为初始种群按照一定规则生成,并从中选择出更适应环境的个体组成优胜群体;由选择出的优胜群体进行个体的生成,产生更多的子群体;在生成的子群体内部执行操作过程中的趋同操作,直到子群体中的个体发展至成熟阶段,同时记录此时各群体具体的得分信息;在执行趋同操作后,子群体中的个体均发展成熟,记录的具体得分信息被不断公布在公告板上,通过得分信息的对比,得到最优的群体即得到问题的最优解[19]。
利用思维进化算法对BP神经网络的初始权值和阈值进行优化。首先,根据BP神经网络的拓扑结构,将解空间映射到编码空间,每个编码对应问题的一个解(即个体)。根据BP神经网络拓扑结构确定编码长度。然后,选取训练集的均方误差的倒数作为各个个体与种群的得分函数,利用思维进化算法,经过不断迭代,输出最优个体,并以此作为初始权值和阈值,训练BP神经网络。
根据上述设计思路,设计步骤如图1所示。
图1 设计步骤流程图Fig.1 Flow chart of design steps
(1) 训练集/测试集导入
将神经网络的训练数据及验证数据导入工作空间。
(2) 初始种群产生
利用编写好的初始种群产生函数以及子种群产生函数生成进化所需种群。
(3) 子种群趋同操作
利用第(2)步中产生的各个种群进行趋同操作,趋同操作结束与否由种群成熟判别函数判断。
(4) 子种群异化操作
趋同操作完成后进行种群的异化操作。
(5) 解析最优个体
算法进化过程结束后,根据编码规则解析出最优个体所对应的BP神经网络的权值和阈值。
(6) 训练BP神经网络
将算法优化得到的权值和阈值设定为BP神经网络的初始权值和阈值,利用样本数据对神经网络进行训练。
(7) 仿真预测、结果分析
利用训练好的神经网络进行参数预测。
导弹DATCOM软件由美国空军研究室开发研究。该软件在已知飞行器几何外形和飞行条件的前提下,能计算导弹纵向和横向空气动力系数及导数,具有良好精度。程序采用计算弹箭气动特性中常用的工程计算方法——部件组合法,该计算方法的核心是由理论分析和实验验证得到大量的经验公式。由于充分利用了大量实验数据,该方法能够保证较高精度,满足方案设计阶段对气动力计算的要求。
本研究所用的样本数据以及验证数据均由导弹DATCOM软件计算生成。导弹外形为面对称外形,如图2所示。
图2 导弹几何结构模型图Fig.2 Model diagram of missile’s geometric structure
对导弹弹体几何参数、弹翼几何参数以及导弹的飞行条件进行设置后,即可计算出特定弹型在所设定的飞行条件下的各个气动系数。在此,根据导弹DATCOM软件中输入参数间的独立性,选取弹头直径、弹头长度、弹体直径、弹体长度、弹体中部弹翼弦长、攻角6个相互独立的参数作为神经网络模型的输入变量。对于输出参数的选择,则选取气动性能分析中常用的气动系数,选取法向力系数、俯仰力矩系数、轴向力系数、侧力系数、升力系数及阻力系数6个气动力/力矩系数作为神经网络模型的输出变量。通过编写MATLAB程序调用导弹DATCOM软件,利用程序循环结构不断改变6个输入参数的值,计算得到导弹不同气动外形对应的气动参数,并将输入参数及计算所得的气动参数保存为数据文件,以此方法获取16 562组不同的外形参数及攻角值条件下对应的气动参数,将这些数据用于神经网络的训练及神经网络模型的性能验证。本文所要建立的气动模型正是6个输入参数(导弹的几何参数和飞行条件参数)与6个输出参数(导弹飞行时的气动参数)间的复杂非线性函数关系。
根据1.4节的建模思路建立神经网络模型,在模型建立过程中需要对一系列参数进行设置,主要包括设置BP神经网络模型的参数和思维进化算法的参数。
本文以包含单个隐含层的BP神经网络为研究对象,BP神经网络的拓扑结构由输入数据与输出数据的维数决定,由2.1节中所获取的数据知道神经网络的输入层节点数为6,输出层节点数为6,隐含层的节点数由经验公式M=2n+1(M为隐含层节点数,n为输入层节点数)确定,因此隐含层节点数为13。所以,最终确定BP神经网络的拓扑结构为6-13-6。表1为BP神经网络参数设置。
表1 BP神经网络参数Table 1 BP neural network parameters
思维进化算法中需要将个体特征进行编码,在此选择个体编码方法为实数编码法,即将每个个体的特征均编码为一个实数串,该实数串包含神经网络结构中各层神经元的阈值以及各层之间的连接权值。当神经网络的结构确定之后,可以将思维进化算法进化选择出的最优初始权值、初始阈值赋值给神经网络中的对应参数,从而得到一个确定的BP神经网络。本研究中,由BP神经网络的拓扑结构6-13-6可计算出个体编码长度为S=6×13+13+13×6+6=175。表2为思维进化算法参数设置。
表2 思维进化算法参数Table 2 Mind evolutionary algorithm parameters
将2.1节中所获取的16 562组数据作为建模样本输入,建立气动模型。同时,将神经网络模型的气动参数预测输出与原始气动参数进行对比。为了更为明显地说明模型的预测结果,又用导弹DATCOM软件模拟计算出某特定尺寸的弹型在不同攻角条件的气动参数,用于验证模型的预测能力。
2.3.1 样本拟合结果
将神经网络气动模型对样本数据的气动参数预测结果与原始气动参数进行对比,对比结果如图3所示。
图3 气动力和力矩系数预测结果Fig.3 Prediction results of aerodynamic and moment coefficients
表3为神经网络模型对样本数据中气动参数的预测精度情况。
由图3样本拟合结果可见,6个气动参数的预测输出曲线与期望输出曲线的一致性比较好。由表3可见,6个气动参数预测值中最大平均误差为0.702 4,最大均方差为0.876 9,最大误差百分比为5.55%,说明建立的神经网络气动模型能够较好地拟合气动参数。
表3 样本参数预测精度Table 3 Sample parameter prediction accuracy
2.3.2 单个弹型拟合结果
将单个弹型的几何参数及攻角作为神经网络模型的输入参数,神经网络气动模型的气动参数预测输出与期望输出(气动参数原始值)对比结果如图4所示。
表4为神经网络模型对单个弹型的气动参数预测精度情况。
由图4中单个弹型的气动参数预测结果可见,6个气动参数预测输出曲线与期望输出曲线一致性较好,同时明显可见各个气动参数随攻角变化的趋势,符合气动特性规律。由表4可见,6个气动参数预测值中最大平均误差为0.455 1,最大均方差为0.281 0,最大误差百分比为6.87%,预测精度较好,利用该模型可以对气动参数进行预测,用于导弹设计初始阶段的气动特性分析。
利用导弹DATCOM软件计算已知几何参数的导弹在设定飞行条件下的气动参数作为训练样本,通过对所选取的6个输入参数(几何参数和飞行条件参数)及6个输出参数(气动参数)进行气动力建模,得到了对应的神经网络气动力模型,并对模型的预测精度进行说明。通过建模及分析,得到如下结论:
(1) 利用神经网络建立的气动模型对导弹气动外形与气动参数间的复杂非线性关系具有很好的拟合效果,预测结果的平均误差、误差百分比和均方误差均比较小。
(2) 利用思维进化算法优化的BP神经网络建立的气动模型,满足导弹气动外形与气动参数间复杂非线性拟合要求,为导弹气动参数的获取开辟了新的思路,同时也为导弹设计初始阶段气动特性的分析提供了新的技术途径。
(3) 该气动建模方法可快速融合已有的飞行试验数据、风洞试验数据,利用导弹DATCOM计算所得数据结果建立神经网络模型,对新的气动外形对应的气动参数进行预测,可有效节省风洞试验和飞行试验的费用。在未来的研究中将增大训练数据的数量,利用导弹DATCOM计算时扩大输入参数类别及其变化范围,以扩大模型的预测范围,直接利用其对所设计弹型的气动参数进行预测。