改进的输出误差法用于不稳定飞机参数辨识

2022-12-14 07:08汪志刚李爱军王力浩孙小锋
哈尔滨工业大学学报 2022年12期
关键词:高斯向量粒子

汪志刚,李爱军,2,王力浩,孙小锋

(1.西北工业大学 自动化学院,西安 710072; 2.陕西省飞行控制与仿真技术重点实验室(西北工业大学),西安 710072)

系统辨识技术基于飞行试验中飞行运动和控制变量的测量值,建立输入输出量间的关系。飞机系统辨识是飞机研发过程中的一个重要环节,对控制律的设计、飞行模拟器的设计和飞行包线的扩展都有重要的意义[1]。飞机系统辨识技术分为频域辨识和时域辨识,频域辨识方法建立系统的线性模型,时域识别方法可用于提取线性模型和非线性模型[2]。目前最常用的时域飞机系统辨识方法是方程误差法以及输出误差法。方程误差法是一种直接方法,受自变量中的测量噪声影响,其估计结果是有偏差的。输出误差法基于极大似然原理,通过最小化测量值和模型输出的均方差来估计参数,其估计结果是渐近无偏的。针对稳定飞机,输出误差法是最常用的参数辨识方法之一[3]。

不稳定飞机的主要特点为:1)飞行试验过程中需要引入控制器;2)求解不稳定飞机的模型输出时,若参数选取稍有不适,求解过程将发散。如图1所示,针对不稳定飞机,系统辨识有两种可能的方法,即闭环辨识和开环辨识[4]。经典的闭环辨识方法建模飞行员输入δp与测量值z之间的动力学关系,不会产生任何数值问题,因为整个系统是稳定的。此方法的局限是只能得到闭环系统的等价模型,若要从中推导出开环动力学模型,还需要精确的控制器回路动力学模型,而这通常是不容易得到的。

图1 不稳定飞机的闭环与开环辨识

开环辨识方法直接建模飞机舵面输入δe与测量值z之间的动力学关系。然而,输出误差法不能直接应用于不稳定飞机。输出误差法需要求解待辨识系统的运动方程,应用于不稳定的飞机时,会产生数值发散问题,导致参数估计过程失败[4]。

近年来,随着神经网络学科的发展,神经网络方法逐渐应用于飞机系统辨识领域[5-7]。Hess[8]通过神经网络直接建模飞机的气动系数。Ghosh等[9]基于前向神经网络,使用Delta法和Zero法提取飞机的气动导数。Peyada等[10]提出了一种新的思想——将神经网络与输出误差法相结合,以神经网络代替飞机动力学模型,并采用高斯-牛顿法最小化网络输出与试验测量值间的均方差,从而进行参数估计。随后多位学者[11-13]遵循类似的思路,应用不同的网络或者对不同的对象进行辨识。但是,这些文献都是基于高斯-牛顿法来最小化代价函数的。高斯-牛顿法具有固有的缺陷,即容易陷入局部最小值[2]。本文基于粒子群优化对LM (levenberg-marquardt)方法进行了改进,以改进的LM算法代替高斯-牛顿法,并与神经网络方法相结合,形成一种改进的输出误差法,用于不稳定飞机的参数辨识。

1 神经网络建模

神经网络由于其强大的非线性映射能力,可以直接应用于对非线性动力学特性建模。网络输入向量选取为动力学系统第k时刻的输入量以及状态量,网络输出向量选取为第(k+1)时刻的输出量,经过大量样本训练后,神经网络可以依据第k时刻(当前时刻)的状态和输入,对第k+1时刻(下一时刻)的状态量进行预测。换句话说,神经网络用于近似系统的动力学特性,其作用相当于线性或者非线性动力学系统的运动方程。

本文选择了常用的BP神经网络[4],其网络结构如图2所示。

图2 BP神经网络结构

BP神经网络分为输入层、隐含层和输出层。W1、W2分别为输入层到隐含层和隐含层到输出层的权重以及偏差矩阵,网络的传播遵循式(1)~(4),其中f(x)为非线性S形激活函数。xr为网络输入向量,x1、x2分别为隐含层和输出层的输入向量,xh、xo分别为隐含层和输出层的输出向量。

x1=W1xr+W1b

(1)

xh=f(x1)

(2)

x2=W2xh+W2b

(3)

xo=f(x2)

(4)

S形激活函数选择双曲正切函数:

(5)

如上所述,网络输入向量U选取为动力学系统k时刻的输入以及状态量,网络输出Z选取为k+1时刻的状态向量。即

(6)

(7)

通过连续调整网络参数W1和W2,可以最大程度地减小网络输出和测量值之间的误差。在第k个离散数据点上,将成本函数选择为第k步的局部输出误差,即

(8)

基于最速下降法,网络参数W1,W2通过式(9)、(10)进行调整:

(9)

(10)

激活函数的导数为

(11)

网络参数W1,W2通过迭代更新之后,网络将具有满意的拟合性能,网络的最终拟合性能通过均方差(MSE)进行衡量,即

(12)

2 基于粒子群优化改进的输出误差法

本文详细陈述基于粒子群优化改进的输出误差法,以及应用神经网络和改进的输出误差法进行参数辨识的算法流程。

2.1 粒子群优化

粒子群优化算法(Particle swarm optimization,PSO)最初是由Eberhant等[14]于1995年提出的一种基于直接搜索的优化算法。此算法基于个体粒子之间的协作与竞争,经过数次迭代后实现复杂空间中最优解的搜索。PSO算法是一种有记忆能力的算法,对于低维优化问题十分有效[15]。粒子群中的每个粒子,都是所求优化问题的一个潜在的解。而粒子的品质由事先设定好的适应度函数来评价。假设在n维搜索空间中,有m个粒子,第h个粒子的位置表示为xh=(xh1,xh2,…,xhn)T,速度表示为vh=(vh1,vh2,…,vhn)T,将xh代入适应度函数中计算出其适应度值,以评价其优劣。ph表示第h个粒子的历史最佳位置,pg表示整个粒子群经历过的最优位置。在标准粒子群算法中,粒子的速度和位置更新如式(13)、(14),其中下标d表示vh、xh、ph和pg的第d个分量,t为迭代次数,ω、ξ1、ξ1分别为3个可调参数,r1,r2,r3为 (0, 1)之间的3个随机数。

vhd(t+1)=ωr1vhd(t)+ξ1r2(phd(t)-xhd(t))+

ξ2r3(pgd(t)-xhd(t))

(13)

xhd(t+1)=xhd(t)+vhd(t+1)

(14)

2.2 传统输出误差算法

神经网络训练完成后,基于LM算法对代价函数进行优化,使得网络输出和测量输出的均方差最小,从而对未知参数进行辨识。LM算法是对高斯-牛顿法的改进,为解释LM算法,首先简要介绍基于高斯-牛顿法的传统输出误差算法[3]。

(15)

(16)

式中R为协方差矩阵,R的极大似然估计如式(17)所示。高斯-牛顿法通过式(18)、(19)求解未知参数。

(17)

Θi+1=Θi+ΔΘ

(18)

FΔΘ=-G

(19)

其中F、G分别为Hessian矩阵和梯度向量,即:

(20)

(21)

(22)

2.3 粒子群改进的LM算法

LM算法由Levenberg[16]和Marquardt[17]提出,其结合了高斯-牛顿法和最速下降法,LM算法在两个梯度方向上优化代价函数,因此包含更宽的收敛范围[4]。与高斯-牛顿法相比,LM算法中添加了一个非负阻尼因子λ,其参数迭代计算如式(23)、(24)所示,其中,Hessian矩阵F和梯度向量G按照式(20)、(21)计算,与高斯-牛顿法一致。当阻尼因子接近于0时,LM算法的性能与高斯-牛顿法一致;而当阻尼因子充分大时,LM算法的性能接近于最速下降法。

Θi+1=Θi+ΔΘ

(23)

(F+λI)ΔΘ=-G

(24)

传统的LM算法根据代价函数的增减对阻尼因子进行某种调整,例如通过对阻尼因子乘以10或除以10以保证代价函数的下降[4]。然而这种调整得到的阻尼因子并不是最佳的,从而限制了算法性能提升的效果。在本文中,LM算法的每次迭代时采用粒子群算法来求解最佳阻尼因子,即,基于粒子群算法最小化代价函数(25),以确保求解的阻尼因子是局部最优的,或者说是次最优的。需要指出的是,增加粒子群算法的粒子数以及搜索次数后,还可以找到最优的阻尼因子,但是这样会增加计算代价,这是非必要的。本文设置了20个粒子,最多搜索5次。结果表明这样的设置对于改善LM算法的性能是足够的。

J(Θi+1)=J(Θi+ΔΘ)=J1(Θi,λi,F,G)=J2(λi)

(25)

2.4 神经网络LM(NN-LM)算法流程

最终的神经网络LM(NN-LM)参数辨识算法包含了两部分:神经网络训练以及参数估计。整个算法的流程如图3所示。

图3 神经网络LM(NNLM)算法流程图

算法的求解步骤如下:

1)从飞行试验数据中提取状态量和输入量,构成神经网络的输入向量U(k);从飞行试验数据中提取输出量,构成神经网络的输出向量Z(k+1),例如本文的应用算例中,U(k),Z(k+1)分别为式(31)、(32);并按照式(9)~(11)进行网络训练。

3)基于传统输出误差法,分别根据式(22)计算灵敏度矩阵∂Y(k)/∂Θ,式(20)计算Hessian矩阵F,以及式(21)计算梯度向量G。

4)将粒子群中每个粒子的适应度函数取为代价函数(25),基于粒子群优化过程,即式(13)、(14)求解局部最优阻尼因子λ。

5)基于LM算法,根据式(23)、(24)更新待辨识参数Θi。

重复步骤2)~5),直至算法收敛。

3 不稳定飞机模型与仿真试验数据

本文应用了De Havilland DHC-2 “BEAVER“测试机[4,18]的不稳定短周期模型。“BEAVER“飞机的短周期状态方程为:

(26)

式中:w为纵向速度,q为俯仰角速率,az为纵向加速度,δe为升降舵偏转量。

模型的观测方程为:

(27)

在本文的研究中,这些模型参数构成了待辨识的未知参数向量,即

Θ=[Zw,Zq,Zδe,Mw,Mq,Mδe]T

(28)

式中Zw,Zq,Zδe,Mw,Mq,Mδe为模型参数,其标称值见表1。

系统矩阵A如式(29)所示,将U0和表1中模型参数的标称值Θ代入系统矩阵A,可计算出其两个特征值分别为0.693 4和-5.825 0,其中正的特征值对应着不稳定模态。这种不稳定飞机的仿真飞行试验只能在引入控制器后(闭环条件下)进行。文献中对此模型引入了垂直速度比例反馈控制器(30),并进行了闭环机动试验,其中δp为飞行员输入[4]。

(29)

δe=δp+Kw

(30)

表1 模型参数的标称值以及基于3种方法的估计结果

尽管仿真飞行试验是在闭环条件下进行的,本文对模型参数的估计在开环条件下进行,将升降舵偏转量δe视为模型输入,进行开环辨识,在辨识过程中并未使用飞行员输入δp的信息。使用JATEGAONKAR[4]设计的输入信号激励仿真模型,模型的试验数据如图4所示。

图4 “BEAVER“飞机短周期模型的仿真试验数据

4 参数辨识结果

本文基于NN-LM方法,从仿真数据中提取模型参数。首先,选取神经网络输入向量为仿真模型第k时刻的状态及输入为

(31)

式中w(k)为k时刻的纵向速度采样值。

选取网络输出向量为仿真模型第k+1时刻的输出Z(k+1)为

(32)

(33)

综上所述,传统的输出误差法需要参数的先验信息,将参数初值设置在标称值附近,否则算法将发散或者收敛至局部极小值点。而改进的LM算法具有更宽的收敛范围,即不需要参数的先验信息。本文参数估计过程中,所有的未知参数向量Θ均以[-2,2]范围内的随机数初始化,从不同的初始值开始迭代时算法均可以收敛。图5、6为选取不同随机初始值时,参数Zδe和Mw的收敛过程。可以看出,参数初值选取不同时,算法均可在7步内收敛,参数初始值离标称值较远时,算法收敛较慢,参数初始值离标称值较近时,算法收敛较快。

图5 参数Zδe收敛过程以及对应的标准差

图6 参数Mw收敛过程以及对应的标准差

将3种方法估计的参数代入运动方程(26),得到3种估计模型,并且由仿真试验中的升降舵偏转驱动3种模型,模型的输出如图7所示。并结合Theil不等系数(Theil’s inequality coefficient,TIC)[19]来评价3种模型的输出量对试验值的拟合效果。输出量的TIC定义如式(34),其中zi为仿真试验测量值,yi为模型的输出值,N为离散测量数据点的个数。TIC值越低表示模型输出与试验测量值符合度越高,TIC值低于0.25~0.30代表了较好的拟合效果[4]。3种模型的各个输出量的TIC值见表2。

(34)

由图6可以看出,基于NN-LM方法辨识的模型可以很好地拟合仿真试验数据,效果优于传统的最小二乘法(LS)和人工稳定的输出误差方法(SOEM)。由表2中的TIC值可以看出,对于NN-LM辨识出的模型,其各个输出量的TIC值均低于LS方法和SOME方法,且远小于0.25,说明了此模型的输出对试验测量值的拟合效果更好。

图7 3种估计模型的升降舵驱动结果

表2 3种模型各个输出量的TIC值

5 结 论

1)基于飞行试验数据训练前向神经网络,以神经网络代替飞机的运动方程来预测飞机响应,从而避免了输出误差法中求解运动方程的要求。因而可以应用于不稳定飞机以及大迎角飞行条件下的飞机参数辨识。同时,相比于求解运动方程,计算网络输出的运算成本更小,因此NN-LM算法对于稳定飞机的参数辨识也具有一定的优势。

2)NN-LM算法基于粒子群优化,求解LM算法的最佳阻尼因子,放宽了高斯-牛顿法对参数初值的依赖,待辨识参数的初值可随机选取。本文的算例中,未知参数向量均以随机数初始化,从不同的初始值开始迭代时算法均可以收敛。

3)NN-LM算法保留了输出误差法的精确性。仿真结果表明,改进后的算法可以成功辨识出不稳定飞机的参数。与传统算法相比,NN-LM算法得到的TIC值更低,说明NN-LM算法辨识出的模型可以更好地拟合试验测量值,估计效果有明显改善。

4)NN-LM算法本质上是对高斯-牛顿法的改进,因此还适用于其他的非线性方程求解问题。接下来将进一步围绕稳定以及不稳定飞机的气动系数建模来开展研究。基于NN-LM算法,从真实以及仿真的飞行试验数据中提取气动导数,与风洞试验结果进行对比和补充。

猜你喜欢
高斯向量粒子
向量的分解
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
聚焦“向量与三角”创新题
基于膜计算粒子群优化的FastSLAM算法改进
数学王子高斯
天才数学家——高斯
Conduit necrosis following esophagectomy:An up-to-date literature review
基于粒子群优化极点配置的空燃比输出反馈控制
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线