嵌入式大气数据传感系统的模糊逻辑建模方法
2019-08-21王坤,黄达
王 坤,黄 达
(南京航空航天大学 航空学院,南京 210016)
0 引 言
现代飞行器的发展对高速、隐身性能的要求越来越高。传统的安装在飞行器前端的空速管等探针式大气数据传感器对飞行器的隐身、机动性能的不利影响较大。嵌入式大气数据传感系统(Flush Air Data Sensing System,FADS System)是依靠嵌入在飞行器头部的若干压力传感器来获得飞行器表面压力分布,并由此压力分布间接得出飞行参数的系统,曾用于X-33、X-34和X-38等飞行器上[1]。由于压力传感器分布与飞行器表面平齐,相比传统的探针式传感器系统,这种嵌入式传感系统在大马赫数、大迎角下依然能够很好地工作,且有利于提高飞行器隐身性能。
早期对FADS系统的研究主要针对球形头部的飞行器,提出了基于圆球绕流理论解的三点法[1-3]。后来发展了针对该系统的神经网络算法[4-9],通过大量的试验数据训练,适用于非线性系统建模。
模糊逻辑建模方法以往多用于对非定常气动力的建模[10-12]或者工业控制领域。本文研究了模糊逻辑对FADS系统的建模。以模型表面若干测压点的压力或压力系数作为模糊系统的输入,以迎角、侧滑角、来流速度和海拔高度作为输出,混合使用梯度下降法和最小二乘估计法来识别模糊系统的参数,从而建立针对该系统的模糊逻辑模型。该模型建立完成之后,将它运用于飞行器的传感系统,可以实时地根据若干测压点的压力得到飞行器的飞行状态参数,然后传递给控制系统。
1 风洞试验及CFD仿真
1.1 风洞试验部分
试验在南京航空航天大学NH-2低速风洞进行。风洞试验段截面为3.0 m×2.5 m的矩形,试验模型为某飞翼布局飞行器,表面共布置62个测压点,头部分布46个测压点,内翼左右各分布8个测压点,位置基本对称(图1、图2)。测压采用内埋测压管的方式,测压管内径0.3 mm。每个测压管均与压力测量模块相连。
图1 风洞试验模型Fig.1 Model in the wind tunnel
图2 模型几何外形及测压点分布Fig.2 Model’s geometric shape and pressure tap positions
图3中给出了半侧机身上的测压点分布,除1~8号测压孔外,另半侧机身上的测压孔分布与图中“Z”开头编号的测压孔对称,相对应的编号以“Y”开头,例如“Z18”对应“Y18”。
机头为坐标系原点。x轴位于飞机对称面指向向后,与机身水平线平行;y轴向上为正;z轴指向左机翼为正。模型展长3.5 m,部分关键测压点坐标如表1所示。
图3 测压孔编号及位置分布(前视图视角)Fig.3 Pressure tap NOs.and positions (front view)
表1 部分测压点位置(单位:mm)Table 1 Some pressure tap positions (unit:mm)
试验采用DTC Initium电子扫描系统采集表面压力。该系统有一台主控制器,可带8个测压模块,每个模块可连接64个测压通道,数据采样频率330 Hz,系统精度0.1%。试验采用1个量程为1 psi的测压模块测量模型表面压力。
试验风速为35 m/s、55 m/s和70 m/s,试验迎角-18°~24°,每隔2°进行试验,侧滑角0°~16°,每隔4°进行试验。最终得到在不同迎角、侧滑角和风速情况下的模型表面62个测压点的压力和压力系数值。
由于地面风洞试验不能模拟不同海拔高度的情况,所以辅助使用CFD仿真来计算在不同海拔高度下的流场。
1.2 CFD仿真部分
流场网格使用四面体/棱柱体混合网格,使用Fluent求解器,湍流模型采用S-A模型。来流速度为35 m/s、70 m/s,迎角为-10°、0°、10°,侧滑角为0°、8°,海拔高度为500 m、1000 m、1500 m、2000 m、3000 m、4000 m、5000 m和6000 m共8个高度。一共96个计算状态。CFD计算得到的压力数据用于对海拔高度的建模。
2 模糊逻辑建模
2.1 模糊结构
(1)
下面以2个输入量为例,说明该模糊结构的建立。
图4以5层为例展示模糊结构。
图4 模糊结构示意图Fig.4 Fuzzy model structure
第1层表示对于两个输入量x1、x2各分配若干个隶属函数,分别是A1、A2、B1、B2、B3。
第2层表示对分别属于各输入变量的隶属函数进行交叉乘积计算,得到内部函数的权重值,分别是w1、w2、w3、w4、w5、w6。
(2)
第4层表示将权重系数与内部函数相乘。
第5层表示将第4层的输出进行求和运算,得到最终输出y。
(3)
2.2 隶属函数
识别隶属函数参数时,根据不同的识别方法,分别使用了三角形[10]、梯形和钟形[14]隶属函数。本文使用到的3种不同形状的隶属函数示意图如图5~图7所示。
钟形隶属函数表达式:
(4)
此函数由3个参数ai、bi、ci决定,在进行参数识别的时候利用梯度下降法动态调整这3个参数。
图5 三角隶属函数示意图Fig.5 Triangular membership function
图6 梯形隶属函数示意图Fig.6 Trapezoid membership function
图7 钟形隶属函数示意图Fig.7 Bell-shaped membership function
2.3 参数识别
2.3.1 隶属函数参数识别
(5)
式中a,b,c,…表示该节点包含的参数。假设共有m组样本数据,对于第j组样本数据,定义对某组样本数据的平方差Ej:
(6)
为求解E对隶属函数参数的偏导数,首先求解∂Ej/∂O。对于第L层结构可以根据Ej的表达式直接推导出来。
(7)
(8)
根据式(7)和式(8),可以求出对任意节点处的∂Ej/∂O。
现在来求解Ej对隶属函数参数的偏导数。假设α是其中一个隶属函数的某个参数。
(9)
S表示节点输出依赖于α的节点集合。因为有m组样本数据,则:
(10)
(11)
k表示在参数空间内梯度变化的步长。在编程计算时可以通过改变k来加快收敛。例如当平方差之和E连续四次迭代降低时,可以将步长变为1.25k,当E出现增加减少来回波动的情况时,将步长变为0.8k。
2.3.2 内部函数参数识别
可以使用梯度下降法或者最小二乘估计法来识别内部函数参数。
模糊输出:
(12)
2.3.2.1 梯度下降法
模糊输出与样本输出的平方差之和:
(13)
m是样本个数。定义相关系数:
(14)
待定的内部函数参数的个数是N1×N2×…×Nr×…×Nk×(k+1)。
目标模糊逻辑结构要使得E最小,使用梯度下降法更新内部函数参数。
(15)
αr是收敛因子,在(0,1)之间。当αr选取的较小时,建模速度慢,当αr选取过大时,计算出现溢出。需要不断调整选取合适的值,最大化建模速度。
将E的表达式代入展开,得到:
当r=0时,
(16)
当r=1,2,3,…,k时,
(17)
2.3.2.2 最小二乘估计法
模糊结构可以表示为AP=B。
P表示内部函数参数构成的列向量矩阵,元素个数为(k+1)×N1×…×Nr×…×Nk。A矩阵由样本输入和隶属函数计算得到,行数为样本数m,列数为(k+1)×N1×…×Nr×…×Nk。B矩阵表示样本输出,元素个数为样本数m。对此一阶线性方程组,通常使用最小二乘法求解。
将P矩阵的最小二乘估计记做P*,则:
P*=(ATA)-1ATB
(18)
ATA是非奇异矩阵时,它的逆存在。当矩阵维数较大时,直接计算逆矩阵的效率很低。如果样本数量m<(k+1)×N1×…×Nr×…×Nk,上述公式无法使用。下面使用卡尔曼滤波算法来计算P*[13-14]。
(19)
(20)
2.4 模糊结构识别
此模糊结构的输入是62个测压点的压力或压力系数,选取其中k个点的值作为输入,输出为迎角、侧滑角、速度和高度。
将输入记做x1,…,xr,…,xk,将输出记做yα,yβ,yv,yh。以对迎角建模为例,对侧滑角、来流速度和海拔高度的建模相同。
(2)初始时,对每个输入选取Nbegin个隶属函数。则初始隶属函数个数的结构是(Nbegin,…,Nbegin,…,Nbegin)。然后对其中某一个输入的隶属函数个数加1,其他输入的隶属函数个数保持不变,这样可以建立k个隶属函数个数不同的结构。
(5)得到最优隶属函数个数的结构之后,用所有样本数据重新进行参数识别,得到最终模糊结构参数,建模结束。
3 建模结果分析
试验模型表面共布置62个测压点。选取其中若干个测压点的压力或压力系数作为输入,以迎角、侧滑角、风速和高度作为输出。
对迎角和侧滑角建模时选择压力系数作为输入。试验风速最大为70 m/s。CFD计算时选取的最大高度为6000 m。在此区间内在姿态角不变的情况下,风速和高度的改变只引起压力系数的微小变化,几乎可以忽略。所以对风速和高度的建模选取压力作为输入。
考虑此模型的非线性复杂程度,通常选择不少于3个点作为建模输入。建模点数量增加时,参数识别消耗的时间以指数程度增加,平衡考虑建模的精度和时间效益,建模点数量一般不多于7个。
从62个测压点选择若干个点建模,选取方式很多,可以适当探讨建模点位置选取与建模精度的关系,为选点位置的优化设计提供参考。
3.1 建模结果
以选取4个点(2,6,Z4,Y4)建模为例,结果如下。2、6编号的点位于模型头部上下区域,压力变化对迎角的改变敏感,Z4、Y4编号的点位于头部左右区域,压力变化对侧滑角的改变敏感。
图8中横坐标为测压孔2的压力系数Cp。
表2和图8~图12展示了选择4个点(2,6,Z4,Y4)建模的结果。模糊输出与试验值的对比达到了很高的精度。
图8 迎角模糊结构输出与试验值对比Fig.8 Comparison between modeling results and experimental angle of attack
在对迎角与侧滑角及风速建模时,此时有300多组样本,在样本较多时,选用三角隶属函数与梯形隶属函数差异不大。对高度进行建模时,样本较少,有96组。在本文使用的样本及样本数量较少的情况下,梯形隶属函数的精度更高。
对高度建模时,加入了使用变参数钟形隶属函数的建模结果。使用变参数隶属函数建模时,分别使用了梯度下降法和最小二乘估计法识别隶属函数参数与内部函数参数,从表2的数据及图11和图12的对比可以看出,精度相比三角隶属函数与梯形隶属函数高很多,且建模速度很快。使用卡尔曼滤波的最小二乘估计法更适用于小样本的情况。图13和图14展示了模型训练前后针对测压孔2的隶属函数曲线。
图9 侧滑角模糊结构输出与 试验值对比Fig.9 Comparison between modeling results and experimental angle of sideslip
图10 风速模糊结构输出与 试验值对比Fig.10 Comparison between modeling results and experimental velocity
图11 海拔高度模糊结构输出与 试验值对比(梯形隶属函数)Fig.11 Comparison between modeling results and experimental altitude (trapezoid membership function)
图12 海拔高度模糊结构输出与 试验值对比(钟形变参数隶属函数)Fig.12 Comparison between modeling results and experimental altitude (bell-shaped membership function)
图13 测压点2初始隶属函数形状Fig.13 Initial membership function of pressure tap NO.2
图14 测压点2最终隶属函数形状Fig.14 Final membership function of pressure tap NO.2
3.2 建模点数量与位置的优化选择
以对迎角建模为例,分别选择不同位置的3个点、4个点或5个点用于建模。在建模点数目相同时,使用相同的收敛因子、迭代次数和相同的隶属函数个数和形状(三角隶属函数),记录精度R2,比较筛选出最优的建模位置。
建模结果如下,表格数据以R2降序排序。
表3~表6中选点是编写程序从62个测压孔中随机选取的,精度均很高,相差较小,从R2降序结果观察比对选点的位置区域,考虑到试验时使用的测压仪器在模型不同区域的测量精度不同,通常选取模型
头部附近的测压点进行建模。
从表3~表5还可以看出,选择5个点的建模精度稍高于4个点的建模精度,4个点的建模精度稍高于3个点的建模精度。不过随着建模点数的增加,建模速度大大降低。表中数据表明选择4个点或5个点的建模精度能够很好地满足工程需求。
计算时发现存在一些精度非常低的选点方式(即处于同一水平面或铅垂面的点),在实际应用中应当避免。
表3 建模点数为3时对迎角的建模结果 (迭代次数:20000,收敛因子:0.006)Table 3 Alpha outputs with three input points (iterations:20000,convergence factor:0.006)
表4 建模点数为4时对迎角的建模结果 (迭代次数:10000,收敛因子:0.006)Table 4 Alpha outputs with four input points (iterations:10000,convergence factor:0.006)
表5 建模点数为5时对迎角的建模结果 (迭代次数:10000,收敛因子:0.006)Table 5 Alpha outputs with five input points (iterations:10000,convergence factor:0.006)
表6 低精度建模点选取示例 (迭代次数:10000,收敛因子:0.006)Table 6 Low accuracy modeling cases (iterations:10000,convergence factor:0.006)
4 结 论
本文研究了对嵌入式大气数据传感系统的模糊逻辑建模方法。以模型表面若干测压点的压力或压力系数作为模糊系统的输入,以迎角、侧滑角、来流速度和海拔高度作为输出,探讨了在使用不同隶属函数和参数识别方法情况下的建模结果,讨论分析了建模点数量与位置的优化选择。结论如下:
1)针对本文的模糊逻辑系统,使用自适应形状参数的隶属函数的建模精度要高于使用固定形状的三角隶属函数和梯形隶属函数。且在建模时分别使用梯度下降法和最小二乘估计法来识别隶属函数参数和内部函数参数,不论是从精度还是速度上来说都优于单独使用梯度下降法来识别内部函数参数。
2)在建模点数量与位置的优化选择方面,考虑传感器在模型不同区域的测量精度,通常选择头部附近的测压数据进行建模。对迎角的建模应当避免选择处于同一水平面的测压点,对侧滑角避免选择处于同一铅垂面的测压点。结果表明选择4个点或5个点时的精度足以满足实际工程需求,且建模速度较快。对于复杂外形飞行器,可以适当增加建模点数和隶属函数个数。
受限于风洞试验的高昂成本,本文建立的模糊逻辑模型主要基于低速情况下的流动数据。想要拓宽模型的应用范围,需要更多的不同流动情况下的数据,未来的方向是将模型的研究与验证拓展到更高速的流动场景下。