黄 炯,艾剑良,万 婧
(复旦大学 航空航天系,上海 200433)
基于模拟退火粒子群算法的飞机气动参数辨识
黄炯,艾剑良,万婧
(复旦大学 航空航天系,上海 200433)
摘要:针对飞机气动参数辨识中如极大似然法等常规方法存在收敛慢、对初值敏感或数学形式复杂等缺点,讨论了模拟退火粒子群算法及其在气动参数识别中的应用,该方法主要辨识策略是一次采集多次迭代,增强了粒子群算法的收敛性和全局性.对某飞机纵横向气动参数辨识进行了仿真研究,结果表明模拟退火粒子群算法对飞机气动参数辨识问题行之有效,并且在扩展搜索空间上,比基本粒子群算法和自适应粒子群算法更有优势.
关键词:飞机气动参数辨识; 粒子群算法; 模拟退火粒子群算法
飞机气动参数的辨识在飞机的实时仿真模型建立中有重大意义,特别是在基于真实飞行试验数据建立模型的过程中.通过辨识得到的飞机气动参数相比风洞实验和计算空气动力学得到的气动参数更有说服力.经辨识构建的地面模型相对设计阶段的工程模型更接近真实状况,主要用来研究飞机的品质和进行后续改进的仿真,还可以用来搭建飞行模拟器训练飞行员.所以飞机气动参数辨识在研究及商业活动中都起关键作用.几十年来涌现出各种飞机气动参数的辨识方法,传统方法有线性回归、极大似然和频域方法等[1],但它们都有一定的局限,包括有稳态误差、对初值很敏感或数学形式复杂.文献[2]对传统辨识方法有系统性的论述,文献[3]介绍了用极大似然法处理飞机气动参数辨识的问题.近年来随着计算机技术的发展,越来越多的群体智能算法在飞机气动参数辨识领域中得以应用,其中不少取得理想结果.文献[4]使用了遗传算法,文献[5]使用神经网络方法,文献[6]使用动态惯性权重系数的粒子群算法(Particle Swarm Optimization, PSO)辨识气动力参数.粒子群算法因其控制参数少,收敛快得到很大关注,但它也有自身的缺点,最常见的包括易陷入早熟,跳出局部最小值困难.模拟退火算法是一种优化算法,其特点是只要参数设置合理,能在全局范围内搜索到最优值.
本文利用模拟退火算法优化的粒子群算法对飞机气动参数进行辨识,得到可靠的结果,并在搜索空间上对粒子群算法进行优化.相对标准粒子群算法,模拟退火粒子群有更好收敛性.相对自适应粒子群算法,模拟退火粒子群算法在相对极小地牺牲收敛速度同时,大大增大了搜索空间.
1飞机模型建立和参数辨识策略
飞机仿真采用飞机6自由度模型,飞机的动力学方程、运动学方程和空气动力学模型参考文献[7],飞机的气动数据来自某型大型客机的早期型号[8],为四发涡轮风扇喷气宽体客机.本文在研究飞机的气动参数辨识问题中,输入信号来自飞机的舵面输入,输出为飞机的响应.通过它们之间的对应关系辨识出飞机的气动参数.
飞机气动参数辨识分成两个部分: 仿真和辨识.仿真部分用于采集输入输出数据,如图1所示.仿真采用的输入信号分别是作用于升降舵的1123信号和作用于副翼及方向舵的偶极方波信号,3个信号在时间上依次载入[9].采用1123信号的原因是飞机的质量和惯性矩很大,若用3211信号相比得到的模态激励更少.
在飞机的输入端加入相对输入信号u,幅度为1%的噪声dp模拟真实系统的过程噪声,在飞机的输入和输出端分别加上测量噪声dm1和dm2,信噪比分别是60和50[10].y和ym分别是飞机仿真模型和参考模型的输出,error是两者间偏差,χ是辨识算法输出的参数向量.解耦后待辨识气动参数根据对应的力和力矩进行分组,本文辨识的参数见表1.
表1 辨识结果
注: (a) 为基本粒子群算法的结果;(b) 为自适应粒子群算法的结果;(c) 为模拟退火算法的结果.
先进行仿真,得到仿真时间内的输入输出数据对.再用得到的数据进行辨识.参考模型与飞机仿真模型在数学上一致,其输入除了带测量噪声的仿真模型输入还有飞机的气动参数,飞机的气动参数由粒子群算法辨识模块输出.
粒子群算法辨识模块是参数辨识的主要部分,其输入是参考模型和飞机仿真模型输出的差值,输出是气动参数的当前辨识结果.在每一次迭代中,辨识模块将得到的偏差求平方和,将其作为粒子群算法的适应度值,粒子群依据适应度值进行演化,输出当前最佳参数向量.参考模型依据这些再进行仿真得到新的偏差传给辨识模块.如此循环,直到达到迭代次数或者偏差小于一个定值.
飞机模型中含气动参数项的方程如(1)式所示,把最后两个进行代数运算得到结果如(2)式所示.此时每个微分方程等号右边只有一个气动力或气动力矩,可以把待辨识的气动参数分成6组分别辨识,降低了辨识的维度.比如在阻力相关的气动参数辨识中,已知仿真模型的输入和输出,未知的只是阻力相关的几个气动参数,参数个数就是此次辨识的维度数.
(1)
(2)
其中Ix、Iy、Iz和Ixz分别是对应体轴的转动惯量和惯性积.
2粒子群算法基本原理
粒子群算法的灵感来自鸟群的迁徙觅食活动,在1995年由Eberhart博士和Kenedy博士提出.他们对鸟类的群体活动进行数学建模,比拟鸟群的群体智能创立了粒子群算法,并将其用于复杂多维空间的优化问题[11-12].
算法体现了粒子间合作与竞争的群体智能.特点是采用了“速度-位移”模型,每个粒子根据自己的历史运行轨迹和群体的最佳位置来调整搜索策略.
在粒子种群X={X1,X2,…,XN}中,每个粒子的位置Xi={xi1,xi2,…,xin}就是一个解,每个位置对应一个适应度值fi判断其优劣,参考种群其他粒子的适应度值得出其此时的速度.粒子群初始值在解空间随机均匀分布.
在飞机气动参数辨识中,适应度值就是所有数据点的采样输出和辨识模型输出差值的平方和.
粒子的速度更新公式如下:
vid(t+1)=ωvid(t)+c1r1(pid-xid)+c2r2(pgd-xid).
(3)
式(3)中:ω是惯性系数,取值在0~1之间,代表粒子对自己速度的记忆程度,若取为0,则粒子的速度没有继承性,容易发散;r1和r2是两个0~1之间的随机数;c1和c2是学习因子,它们的大小有几种常用组合,代表粒子决定下一步速度时参考自身历史和群体最优的权重,分别体现粒子的个体性和社会性.
粒子的位置更新公式如下:
xid(t+1)=xid(t)+vid(t+1).
(4)
每个粒子在得到下一步的速度和位置之前要先进行边界检验.
3种粒子群算法的基本流程(如图2所示)包括下面几个步骤:
1) 算法开始,初始化种群,在解空间随机均匀分布粒子群体;
2) 求每个粒子的适应度值,初始化个体最优和全局最优;
3) 计算每个粒子的速度;
4) 更新每个粒子的位置;
5) 更新每个粒子的适应度值;
6) 更新个体最优和全局最优;
7) 检验结束条件,满足则输出结果,不满足返回第3)步继续迭代.
自适应粒子群采用了动态惯性权重系数,大小与当前的适应度值大小相关联.较大的ω可以加快收敛速度,较小的ω加强局部精细搜索,但相对收敛速度较慢.公式如下:
(5)
(5)式中:fitnessavg为种群的适应度值平均值.ω的最小值和最大值分别取0.4和0.9[11].
3模拟退火算法基本原理
模拟退火算法模拟高温金属降温的热力学过程,是一种智能算法.模拟退火算法在1953年由Metropolis提出,且在1983年由Kirkpatrick等将模拟退火算法运用于组合优化领域,并在工程实际应用中至今发挥广泛的作用.
模拟退火算法的基本思想是: 先把固体加热到足够高的温度,再慢慢冷却.固体中原子的热运动在固体被加热时不断地增强,伴随的是固体内能的增大.固体中原子在加热中变得越来越活跃,如此会破坏其原来的内部粒子有序的状态.而相应的冷却过程中,固体原子慢慢变回有序的状态,其中经过每个温度都有达到平衡状态,温度降到常温时,固体内部粒子内能又回到最小的状态.
在模拟退火算法中,常常将内能作为目标函数值,温度作为控制参数.从初始状态开始,在一个定解的邻域内随机产生一个新解,计算新解的目标函数值,通过独特的判断机制,系统有可能接受较差的新解.模拟退火算法的单次迭代概括如下: 产生新解——计算目标函数值之差——判断接受与否——决定接受与否.经过大量的迭代,能得到给定控制参数时优化问题的相对最优解,此时再减小控制参数继续迭代.控制参数降到零的过程模拟的就是固体温度降到零的过程.最后系统达到平衡状态时得到的解就是全局最优解.
数学上已有严格证明: 如果模拟退火算法在初始温度足够高而且温度下降足够慢的情况下,能以概率1收敛到全局最优值.
模拟退火算法跳出局部最优值的机制来源于在对目标函数值进行对比后,能以某种概率接受较差点.
在粒子群算法中,粒子群全体粒子会向全局最优点靠拢,当全体粒子都在当前全局最优位置的邻域内时,粒子的搜索空间大大压缩,群体失去活力,此时便陷入了局部最优解.粒子群算法的优化中很重要的部分就是使一部分粒子跳出全局最优解.在用模拟退火算法优化的粒子群算法中,每次迭代中以突跳概率修改全体最优解,以此突变了整个种群的偏离方向.更新全局最优位置的候选解来自于所有的个体最优解.选择机制为轮盘赌策略,突跳概率如下:
(6)
其中:fpi为当前粒子的历史最优位置的适应度值;fpg为种群最优位置的适应度值.这里的g在公式中按照文献[13]定义.
在每次执行模拟退火局部搜索的时候,产生一个随机数,若是该随机数大于当前的突跳概率,就判定用当前的个体历史最佳位置替换掉全局最佳位置.突跳概率如上面定义,粒子本身的历史最佳位置距离当前群体最佳位置最近,该粒子历史最佳位置被替换的概率越大[13].
新的速度更新如下所示:
vid(t+1)=χ{vid(t)+c1r1[pid(k)-xid(k)]+c2r2[pjd(k)-xid(k)]},
(7)
学习因子c1和c2均取为2.05,满足压缩因子的取值需求,对种群采取自身历史影响和种群最优指导并重的搜索策略.
辨识结果如前文表1所示.
4辨识结果分析
对同一架飞机,相同输入的条件下分别用基本粒子群算法、自适应粒子群算法和模拟退火粒子群算法进行了辨识,每种算法各运行5次,取平均值得到上面的结果.由于参数数量级较小,计算结果只保留到小数点后4位,更高精度区别参考误差,以Cmδe辨识结果为例,比较自适应粒子群算法和模拟退火粒子群算法,模拟退火粒子群算法更精确.
模拟退火粒子群算法相对基本粒子群算法在精度上有所提高,偶尔有几个误差相对基本算法稍大,是由于被辨识的气动参数和相对的输入或输出很小的缘故.特别是输入和响应本身很小时,结合信噪比考虑,误差的幅值显得特别大,所以结果的随机性更强.为了比对模拟退火粒子群算法结果本身的正确率,用自适应粒子群算法的结果比对,可以发现,大部分气动参数两者的辨识结果相近,相互验证了结果的正确性.
图3绘出了3种粒子群算法的种群全体粒子运动路径,其中带星号线的为算法中当前最佳粒子的位置连线.图3(a)为基本粒子群算法的粒子轨迹,有几个特点: 覆盖面积大,相对均匀,相对集中在一定区域而外面很少有粒子经过,收敛性较差.图3(b)为自适应粒子群算法的粒子轨迹,有很明显的收敛的过程,后期大部分粒子在相对较小的范围内活动,有部分粒子跳出最佳位置附近但覆盖的区域很小.图3(c)为模拟退火粒子群算法的粒子轨迹,有明显的收敛过程,其间不停地有粒子跳离种群最佳位置进行搜索,随着步数的推进,粒子跳离种群最佳位置附近的频率降低,但搜索范围不会减小.
结合之前的计算结果,进一步得到下面的结论.1) 基本粒子群算法的覆盖面积大但搜索到的结果并不如自适应粒子群算法和模拟退火粒子群算法,这是源于其无法智能调节每一步中粒子在空间上推进距离的幅值,其轨迹分布相对均匀的特点也可作为该论点的佐证.看似面积大,但只是空间上的大跨度无序运动,即使某个粒子的轨迹在一次运动中间恰好经过比当前种群最佳更好的位置,也不会停留而继续向前.基本粒子群算法的轨迹分布在相对集中的区域,很少有跳出去,说明其跳出局部最小值的能力较弱.2) 自适应粒子群算法在精度、收敛性和收敛速度上解决了基本粒子群算法的缺陷,其粒子收敛速度和幅度明显加快,这正是每一步粒子运动幅度考虑当前位置与种群最佳有多远的体现.随着演化步数的推进,粒子离最佳位置越来越近,下一步运动的幅度也越来越小,若是种群聚得很紧密,搜索较远区域只能依靠随机性,且跳出的距离有限,参考图3(b),此时收敛性过度,而随机性不足.3) 从模拟退火粒子群算法中可以看到代表当前最佳位置的带星号线有在真值上下波动的过程,即是模拟退火算法中有一定概率接受较差点的体现,最优值的偏移带来的结果是带着整个种群向次优可能性试探.直接影响有两点: 首先,大大加强了跳出局部最优点的可能性,因为相对于其他两种粒子群算法只是部分粒子随机跳离,模拟退火算法跳出局部最优值可能性大大提高;其次种群以一定概率接受次优值带来的副作用是一定程度上牺牲了收敛速度.除此以外,模拟退火粒子群算法相对自适应粒子群算法在送出粒子跳离种群最优邻域搜索更加有序,频率由大变小且搜索的范围始终充满整个解空间.结合辨识结果,使用模拟退火粒子群算法可以有效地解决该型飞机的气动参数辨识问题.
5总结与展望
在本文讨论的问题中,虽然模拟退火粒子群算法相对基本粒子群算法和自适应粒子群算法有很大改善.但该算法还有改善空间,可以通过引入学习因子的智能调节进一步平衡搜索范围和收敛速度.若算法中结合飞机气动参数辨识敏感度分析的信息,能自动设定当前辨识的气动参数的置信度,进而弹性调节搜索范围,甚至种群粒子数目,则可进一步提高搜索效率.还可以研究粒子群辨识算法辨识的效率和输入输出波形之间的关系.总之,模拟退火粒子群算法还能集成很多其他智能算法的优点,提高辨识精度和速度.
参考文献:
[1]KLEIN V, MORELLI E A. Aircraft system identification: Theory and practice [M]. Reston, VA, USA: American Institute of Aeronautics and Astronautics, 2006.
[2]蔡金狮.飞行器气动参数辨识进展 [J].力学进展,1987,17(4): 467-478.
[3]蔡金狮.飞行器系统辨识学 [M].北京: 国防工业出版社,2003.
[4]钱炜祺,汪清,王文正,等.遗传算法在气动力参数辨识中的应用 [J].空气动力学学报,2003,21(2): 196-201.
[5]LINSE D J, STENGEL R F. Identification of aerodynamic coefficients using computational neural networks [J].JournalofGuidance,Control,andDynamics, 1993,16(6): 1018-1025.
[6]张天姣,汪清,何开锋.粒子群算法在气动力参数辨识中的应用 [J].空气动力学学报,2010,28(6): 633-638.
[7]吴森堂.飞行控制系统(第二版) [M].北京: 北京航空航天大学出版社,2013.
[8]NELSON R C. Flight stability and automatic control [M]. New York: WCB/McGraw Hill, 1998.
[9]DONG Y, AI J. Inflight parameter identification and icing location detection of the aircraft: The time-varying case [J].JournalofControlScienceandEngineering, 2014, Article ID 396532, 11 pages. doi: 10.1155/2014/396532.
[10]庞中华,崔红.系统辨识与自适应控制MATLAB仿真 [M].北京: 北京航空航天大学出版社,2013.
[11]刘金琨,沈晓蓉,赵龙.系统辨识理论及MATLAB仿真 [M].北京: 电子工业出版社,2013.
[12]刘党辉,蔡远文,苏永芝,等.系统辨识方法及应用 [M].北京: 国防工业出版社,2010.
[13]高飞.MATLAB智能算法超级学习手册 [M].北京: 人民邮电出版社,2014.
文章编号:0427-7104(2016)03-0336-06
收稿日期:2015-09-28
作者简介:黄炯(1986—),男,硕士研究生,E-mail: hwanjiong@163.com.
中图分类号:O 35; V 1
文献标志码:A
Identification of Aircraft Aerodynamic Parameters Based on SA-PSO Algorithm
HUANG Jiong, AI Jianliang, WAN Jing
(DepartmentofAeronauticsandAstronautics,FudanUniversity,Shanghai200433,China)
Abstract:In the problem of aircraft aerodynamic parameter identification, classic methods such as maximum likelihood method have several disadvantages including slow convergence, too sensitive to the initial condition or too complex in math. In this article, the application of SA-PSO(Simulated Annealing-Particle Swarm Optimization) in aircraft aerodynamic parameter identification is discussed. In the simulation, the data is sampled one time and the algorithm is iterative. The simulated annealing algorithm can improve the convergence and expand the searching space. The algorithm is applied in the aerodynamic parameter identification of an aircraft in both longitude and latitude. The result shows that SA-PSO can cope with problem of aircraft aerodynamic parameter identification quite well and has more advantages in expansions of searching space comparing with standard PSO and adaptive PSO.
Keywords:aircraft aerodynamic parameter identification; PSO algorithm; SA-PSO algorithm