黃 炯,艾劍良,萬 婧
(復(fù)旦大學(xué) 航空航天系,上海 200433)
?
基于模擬退火粒子群算法的飛機氣動參數(shù)辨識
黃炯,艾劍良,萬婧
(復(fù)旦大學(xué) 航空航天系,上海 200433)
摘要:針對飛機氣動參數(shù)辨識中如極大似然法等常規(guī)方法存在收斂慢、對初值敏感或數(shù)學(xué)形式復(fù)雜等缺點,討論了模擬退火粒子群算法及其在氣動參數(shù)識別中的應(yīng)用,該方法主要辨識策略是一次采集多次迭代,增強了粒子群算法的收斂性和全局性.對某飛機縱橫向氣動參數(shù)辨識進行了仿真研究,結(jié)果表明模擬退火粒子群算法對飛機氣動參數(shù)辨識問題行之有效,并且在擴展搜索空間上,比基本粒子群算法和自適應(yīng)粒子群算法更有優(yōu)勢.
關(guān)鍵詞:飛機氣動參數(shù)辨識; 粒子群算法; 模擬退火粒子群算法
飛機氣動參數(shù)的辨識在飛機的實時仿真模型建立中有重大意義,特別是在基于真實飛行試驗數(shù)據(jù)建立模型的過程中.通過辨識得到的飛機氣動參數(shù)相比風(fēng)洞實驗和計算空氣動力學(xué)得到的氣動參數(shù)更有說服力.經(jīng)辨識構(gòu)建的地面模型相對設(shè)計階段的工程模型更接近真實狀況,主要用來研究飛機的品質(zhì)和進行后續(xù)改進的仿真,還可以用來搭建飛行模擬器訓(xùn)練飛行員.所以飛機氣動參數(shù)辨識在研究及商業(yè)活動中都起關(guān)鍵作用.幾十年來涌現(xiàn)出各種飛機氣動參數(shù)的辨識方法,傳統(tǒng)方法有線性回歸、極大似然和頻域方法等[1],但它們都有一定的局限,包括有穩(wěn)態(tài)誤差、對初值很敏感或數(shù)學(xué)形式復(fù)雜.文獻[2]對傳統(tǒng)辨識方法有系統(tǒng)性的論述,文獻[3]介紹了用極大似然法處理飛機氣動參數(shù)辨識的問題.近年來隨著計算機技術(shù)的發(fā)展,越來越多的群體智能算法在飛機氣動參數(shù)辨識領(lǐng)域中得以應(yīng)用,其中不少取得理想結(jié)果.文獻[4]使用了遺傳算法,文獻[5]使用神經(jīng)網(wǎng)絡(luò)方法,文獻[6]使用動態(tài)慣性權(quán)重系數(shù)的粒子群算法(Particle Swarm Optimization, PSO)辨識氣動力參數(shù).粒子群算法因其控制參數(shù)少,收斂快得到很大關(guān)注,但它也有自身的缺點,最常見的包括易陷入早熟,跳出局部最小值困難.模擬退火算法是一種優(yōu)化算法,其特點是只要參數(shù)設(shè)置合理,能在全局范圍內(nèi)搜索到最優(yōu)值.
本文利用模擬退火算法優(yōu)化的粒子群算法對飛機氣動參數(shù)進行辨識,得到可靠的結(jié)果,并在搜索空間上對粒子群算法進行優(yōu)化.相對標準粒子群算法,模擬退火粒子群有更好收斂性.相對自適應(yīng)粒子群算法,模擬退火粒子群算法在相對極小地犧牲收斂速度同時,大大增大了搜索空間.
1飛機模型建立和參數(shù)辨識策略
飛機仿真采用飛機6自由度模型,飛機的動力學(xué)方程、運動學(xué)方程和空氣動力學(xué)模型參考文獻[7],飛機的氣動數(shù)據(jù)來自某型大型客機的早期型號[8],為四發(fā)渦輪風(fēng)扇噴氣寬體客機.本文在研究飛機的氣動參數(shù)辨識問題中,輸入信號來自飛機的舵面輸入,輸出為飛機的響應(yīng).通過它們之間的對應(yīng)關(guān)系辨識出飛機的氣動參數(shù).
飛機氣動參數(shù)辨識分成兩個部分: 仿真和辨識.仿真部分用于采集輸入輸出數(shù)據(jù),如圖1所示.仿真采用的輸入信號分別是作用于升降舵的1123信號和作用于副翼及方向舵的偶極方波信號,3個信號在時間上依次載入[9].采用1123信號的原因是飛機的質(zhì)量和慣性矩很大,若用3211信號相比得到的模態(tài)激勵更少.
在飛機的輸入端加入相對輸入信號u,幅度為1%的噪聲dp模擬真實系統(tǒng)的過程噪聲,在飛機的輸入和輸出端分別加上測量噪聲dm1和dm2,信噪比分別是60和50[10].y和ym分別是飛機仿真模型和參考模型的輸出,error是兩者間偏差,χ是辨識算法輸出的參數(shù)向量.解耦后待辨識氣動參數(shù)根據(jù)對應(yīng)的力和力矩進行分組,本文辨識的參數(shù)見表1.
表1 辨識結(jié)果
注: (a) 為基本粒子群算法的結(jié)果;(b) 為自適應(yīng)粒子群算法的結(jié)果;(c) 為模擬退火算法的結(jié)果.
先進行仿真,得到仿真時間內(nèi)的輸入輸出數(shù)據(jù)對.再用得到的數(shù)據(jù)進行辨識.參考模型與飛機仿真模型在數(shù)學(xué)上一致,其輸入除了帶測量噪聲的仿真模型輸入還有飛機的氣動參數(shù),飛機的氣動參數(shù)由粒子群算法辨識模塊輸出.
粒子群算法辨識模塊是參數(shù)辨識的主要部分,其輸入是參考模型和飛機仿真模型輸出的差值,輸出是氣動參數(shù)的當前辨識結(jié)果.在每一次迭代中,辨識模塊將得到的偏差求平方和,將其作為粒子群算法的適應(yīng)度值,粒子群依據(jù)適應(yīng)度值進行演化,輸出當前最佳參數(shù)向量.參考模型依據(jù)這些再進行仿真得到新的偏差傳給辨識模塊.如此循環(huán),直到達到迭代次數(shù)或者偏差小于一個定值.
飛機模型中含氣動參數(shù)項的方程如(1)式所示,把最后兩個進行代數(shù)運算得到結(jié)果如(2)式所示.此時每個微分方程等號右邊只有一個氣動力或氣動力矩,可以把待辨識的氣動參數(shù)分成6組分別辨識,降低了辨識的維度.比如在阻力相關(guān)的氣動參數(shù)辨識中,已知仿真模型的輸入和輸出,未知的只是阻力相關(guān)的幾個氣動參數(shù),參數(shù)個數(shù)就是此次辨識的維度數(shù).
(1)
(2)
其中Ix、Iy、Iz和Ixz分別是對應(yīng)體軸的轉(zhuǎn)動慣量和慣性積.
2粒子群算法基本原理
粒子群算法的靈感來自鳥群的遷徙覓食活動,在1995年由Eberhart博士和Kenedy博士提出.他們對鳥類的群體活動進行數(shù)學(xué)建模,比擬鳥群的群體智能創(chuàng)立了粒子群算法,并將其用于復(fù)雜多維空間的優(yōu)化問題[11-12].
算法體現(xiàn)了粒子間合作與競爭的群體智能.特點是采用了“速度-位移”模型,每個粒子根據(jù)自己的歷史運行軌跡和群體的最佳位置來調(diào)整搜索策略.
在粒子種群X={X1,X2,…,XN}中,每個粒子的位置Xi={xi1,xi2,…,xin}就是一個解,每個位置對應(yīng)一個適應(yīng)度值fi判斷其優(yōu)劣,參考種群其他粒子的適應(yīng)度值得出其此時的速度.粒子群初始值在解空間隨機均勻分布.
在飛機氣動參數(shù)辨識中,適應(yīng)度值就是所有數(shù)據(jù)點的采樣輸出和辨識模型輸出差值的平方和.
粒子的速度更新公式如下:
vid(t+1)=ωvid(t)+c1r1(pid-xid)+c2r2(pgd-xid).
(3)
式(3)中:ω是慣性系數(shù),取值在0~1之間,代表粒子對自己速度的記憶程度,若取為0,則粒子的速度沒有繼承性,容易發(fā)散;r1和r2是兩個0~1之間的隨機數(shù);c1和c2是學(xué)習(xí)因子,它們的大小有幾種常用組合,代表粒子決定下一步速度時參考自身歷史和群體最優(yōu)的權(quán)重,分別體現(xiàn)粒子的個體性和社會性.
粒子的位置更新公式如下:
xid(t+1)=xid(t)+vid(t+1).
(4)
每個粒子在得到下一步的速度和位置之前要先進行邊界檢驗.
3種粒子群算法的基本流程(如圖2所示)包括下面幾個步驟:
1) 算法開始,初始化種群,在解空間隨機均勻分布粒子群體;
2) 求每個粒子的適應(yīng)度值,初始化個體最優(yōu)和全局最優(yōu);
3) 計算每個粒子的速度;
4) 更新每個粒子的位置;
5) 更新每個粒子的適應(yīng)度值;
6) 更新個體最優(yōu)和全局最優(yōu);
7) 檢驗結(jié)束條件,滿足則輸出結(jié)果,不滿足返回第3)步繼續(xù)迭代.
自適應(yīng)粒子群采用了動態(tài)慣性權(quán)重系數(shù),大小與當前的適應(yīng)度值大小相關(guān)聯(lián).較大的ω可以加快收斂速度,較小的ω加強局部精細搜索,但相對收斂速度較慢.公式如下:
(5)
(5)式中:fitnessavg為種群的適應(yīng)度值平均值.ω的最小值和最大值分別取0.4和0.9[11].
3模擬退火算法基本原理
模擬退火算法模擬高溫金屬降溫的熱力學(xué)過程,是一種智能算法.模擬退火算法在1953年由Metropolis提出,且在1983年由Kirkpatrick等將模擬退火算法運用于組合優(yōu)化領(lǐng)域,并在工程實際應(yīng)用中至今發(fā)揮廣泛的作用.
模擬退火算法的基本思想是: 先把固體加熱到足夠高的溫度,再慢慢冷卻.固體中原子的熱運動在固體被加熱時不斷地增強,伴隨的是固體內(nèi)能的增大.固體中原子在加熱中變得越來越活躍,如此會破壞其原來的內(nèi)部粒子有序的狀態(tài).而相應(yīng)的冷卻過程中,固體原子慢慢變回有序的狀態(tài),其中經(jīng)過每個溫度都有達到平衡狀態(tài),溫度降到常溫時,固體內(nèi)部粒子內(nèi)能又回到最小的狀態(tài).
在模擬退火算法中,常常將內(nèi)能作為目標函數(shù)值,溫度作為控制參數(shù).從初始狀態(tài)開始,在一個定解的鄰域內(nèi)隨機產(chǎn)生一個新解,計算新解的目標函數(shù)值,通過獨特的判斷機制,系統(tǒng)有可能接受較差的新解.模擬退火算法的單次迭代概括如下: 產(chǎn)生新解——計算目標函數(shù)值之差——判斷接受與否——決定接受與否.經(jīng)過大量的迭代,能得到給定控制參數(shù)時優(yōu)化問題的相對最優(yōu)解,此時再減小控制參數(shù)繼續(xù)迭代.控制參數(shù)降到零的過程模擬的就是固體溫度降到零的過程.最后系統(tǒng)達到平衡狀態(tài)時得到的解就是全局最優(yōu)解.
數(shù)學(xué)上已有嚴格證明: 如果模擬退火算法在初始溫度足夠高而且溫度下降足夠慢的情況下,能以概率1收斂到全局最優(yōu)值.
模擬退火算法跳出局部最優(yōu)值的機制來源于在對目標函數(shù)值進行對比后,能以某種概率接受較差點.
在粒子群算法中,粒子群全體粒子會向全局最優(yōu)點靠攏,當全體粒子都在當前全局最優(yōu)位置的鄰域內(nèi)時,粒子的搜索空間大大壓縮,群體失去活力,此時便陷入了局部最優(yōu)解.粒子群算法的優(yōu)化中很重要的部分就是使一部分粒子跳出全局最優(yōu)解.在用模擬退火算法優(yōu)化的粒子群算法中,每次迭代中以突跳概率修改全體最優(yōu)解,以此突變了整個種群的偏離方向.更新全局最優(yōu)位置的候選解來自于所有的個體最優(yōu)解.選擇機制為輪盤賭策略,突跳概率如下:
(6)
其中:fpi為當前粒子的歷史最優(yōu)位置的適應(yīng)度值;fpg為種群最優(yōu)位置的適應(yīng)度值.這里的g在公式中按照文獻[13]定義.
在每次執(zhí)行模擬退火局部搜索的時候,產(chǎn)生一個隨機數(shù),若是該隨機數(shù)大于當前的突跳概率,就判定用當前的個體歷史最佳位置替換掉全局最佳位置.突跳概率如上面定義,粒子本身的歷史最佳位置距離當前群體最佳位置最近,該粒子歷史最佳位置被替換的概率越大[13].
新的速度更新如下所示:
vid(t+1)=χ{vid(t)+c1r1[pid(k)-xid(k)]+c2r2[pjd(k)-xid(k)]},
(7)
學(xué)習(xí)因子c1和c2均取為2.05,滿足壓縮因子的取值需求,對種群采取自身歷史影響和種群最優(yōu)指導(dǎo)并重的搜索策略.
辨識結(jié)果如前文表1所示.
4辨識結(jié)果分析
對同一架飛機,相同輸入的條件下分別用基本粒子群算法、自適應(yīng)粒子群算法和模擬退火粒子群算法進行了辨識,每種算法各運行5次,取平均值得到上面的結(jié)果.由于參數(shù)數(shù)量級較小,計算結(jié)果只保留到小數(shù)點后4位,更高精度區(qū)別參考誤差,以Cmδe辨識結(jié)果為例,比較自適應(yīng)粒子群算法和模擬退火粒子群算法,模擬退火粒子群算法更精確.
模擬退火粒子群算法相對基本粒子群算法在精度上有所提高,偶爾有幾個誤差相對基本算法稍大,是由于被辨識的氣動參數(shù)和相對的輸入或輸出很小的緣故.特別是輸入和響應(yīng)本身很小時,結(jié)合信噪比考慮,誤差的幅值顯得特別大,所以結(jié)果的隨機性更強.為了比對模擬退火粒子群算法結(jié)果本身的正確率,用自適應(yīng)粒子群算法的結(jié)果比對,可以發(fā)現(xiàn),大部分氣動參數(shù)兩者的辨識結(jié)果相近,相互驗證了結(jié)果的正確性.
圖3繪出了3種粒子群算法的種群全體粒子運動路徑,其中帶星號線的為算法中當前最佳粒子的位置連線.圖3(a)為基本粒子群算法的粒子軌跡,有幾個特點: 覆蓋面積大,相對均勻,相對集中在一定區(qū)域而外面很少有粒子經(jīng)過,收斂性較差.圖3(b)為自適應(yīng)粒子群算法的粒子軌跡,有很明顯的收斂的過程,后期大部分粒子在相對較小的范圍內(nèi)活動,有部分粒子跳出最佳位置附近但覆蓋的區(qū)域很?。畧D3(c)為模擬退火粒子群算法的粒子軌跡,有明顯的收斂過程,其間不停地有粒子跳離種群最佳位置進行搜索,隨著步數(shù)的推進,粒子跳離種群最佳位置附近的頻率降低,但搜索范圍不會減小.
結(jié)合之前的計算結(jié)果,進一步得到下面的結(jié)論.1) 基本粒子群算法的覆蓋面積大但搜索到的結(jié)果并不如自適應(yīng)粒子群算法和模擬退火粒子群算法,這是源于其無法智能調(diào)節(jié)每一步中粒子在空間上推進距離的幅值,其軌跡分布相對均勻的特點也可作為該論點的佐證.看似面積大,但只是空間上的大跨度無序運動,即使某個粒子的軌跡在一次運動中間恰好經(jīng)過比當前種群最佳更好的位置,也不會停留而繼續(xù)向前.基本粒子群算法的軌跡分布在相對集中的區(qū)域,很少有跳出去,說明其跳出局部最小值的能力較弱.2) 自適應(yīng)粒子群算法在精度、收斂性和收斂速度上解決了基本粒子群算法的缺陷,其粒子收斂速度和幅度明顯加快,這正是每一步粒子運動幅度考慮當前位置與種群最佳有多遠的體現(xiàn).隨著演化步數(shù)的推進,粒子離最佳位置越來越近,下一步運動的幅度也越來越小,若是種群聚得很緊密,搜索較遠區(qū)域只能依靠隨機性,且跳出的距離有限,參考圖3(b),此時收斂性過度,而隨機性不足.3) 從模擬退火粒子群算法中可以看到代表當前最佳位置的帶星號線有在真值上下波動的過程,即是模擬退火算法中有一定概率接受較差點的體現(xiàn),最優(yōu)值的偏移帶來的結(jié)果是帶著整個種群向次優(yōu)可能性試探.直接影響有兩點: 首先,大大加強了跳出局部最優(yōu)點的可能性,因為相對于其他兩種粒子群算法只是部分粒子隨機跳離,模擬退火算法跳出局部最優(yōu)值可能性大大提高;其次種群以一定概率接受次優(yōu)值帶來的副作用是一定程度上犧牲了收斂速度.除此以外,模擬退火粒子群算法相對自適應(yīng)粒子群算法在送出粒子跳離種群最優(yōu)鄰域搜索更加有序,頻率由大變小且搜索的范圍始終充滿整個解空間.結(jié)合辨識結(jié)果,使用模擬退火粒子群算法可以有效地解決該型飛機的氣動參數(shù)辨識問題.
5總結(jié)與展望
在本文討論的問題中,雖然模擬退火粒子群算法相對基本粒子群算法和自適應(yīng)粒子群算法有很大改善.但該算法還有改善空間,可以通過引入學(xué)習(xí)因子的智能調(diào)節(jié)進一步平衡搜索范圍和收斂速度.若算法中結(jié)合飛機氣動參數(shù)辨識敏感度分析的信息,能自動設(shè)定當前辨識的氣動參數(shù)的置信度,進而彈性調(diào)節(jié)搜索范圍,甚至種群粒子數(shù)目,則可進一步提高搜索效率.還可以研究粒子群辨識算法辨識的效率和輸入輸出波形之間的關(guān)系.總之,模擬退火粒子群算法還能集成很多其他智能算法的優(yōu)點,提高辨識精度和速度.
參考文獻:
[1]KLEIN V, MORELLI E A. Aircraft system identification: Theory and practice [M]. Reston, VA, USA: American Institute of Aeronautics and Astronautics, 2006.
[2]蔡金獅.飛行器氣動參數(shù)辨識進展 [J].力學(xué)進展,1987,17(4): 467-478.
[3]蔡金獅.飛行器系統(tǒng)辨識學(xué) [M].北京: 國防工業(yè)出版社,2003.
[4]錢煒祺,汪清,王文正,等.遺傳算法在氣動力參數(shù)辨識中的應(yīng)用 [J].空氣動力學(xué)學(xué)報,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]張?zhí)戽?汪清,何開鋒.粒子群算法在氣動力參數(shù)辨識中的應(yīng)用 [J].空氣動力學(xué)學(xué)報,2010,28(6): 633-638.
[7]吳森堂.飛行控制系統(tǒng)(第二版) [M].北京: 北京航空航天大學(xué)出版社,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]龐中華,崔紅.系統(tǒng)辨識與自適應(yīng)控制MATLAB仿真 [M].北京: 北京航空航天大學(xué)出版社,2013.
[11]劉金琨,沈曉蓉,趙龍.系統(tǒng)辨識理論及MATLAB仿真 [M].北京: 電子工業(yè)出版社,2013.
[12]劉黨輝,蔡遠文,蘇永芝,等.系統(tǒng)辨識方法及應(yīng)用 [M].北京: 國防工業(yè)出版社,2010.
[13]高飛.MATLAB智能算法超級學(xué)習(xí)手冊 [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