唐寧,白雪
(中國飛行試驗(yàn)研究院 飛機(jī)所, 西安 710089)
飛機(jī)結(jié)構(gòu)載荷測量是驗(yàn)證飛機(jī)結(jié)構(gòu)強(qiáng)度設(shè)計(jì)、實(shí)施飛行安全監(jiān)控及飛機(jī)疲勞壽命估算的重要手段,國軍標(biāo)及相關(guān)適航條例均對此做出了具體要求[1-2]。目前,通常采用應(yīng)變法對飛機(jī)結(jié)構(gòu)載荷進(jìn)行測量,該方法通過地面校準(zhǔn)試驗(yàn)建立結(jié)構(gòu)載荷-應(yīng)變模型,并在此基礎(chǔ)上通過飛行實(shí)測應(yīng)變得到真實(shí)飛行環(huán)境下的飛機(jī)結(jié)構(gòu)載荷。該方法的關(guān)鍵在于結(jié)構(gòu)應(yīng)變測量,但應(yīng)變電橋在使用中存在使用壽命限制,并且可能會(huì)遭受無法修復(fù)的意外損壞,從而導(dǎo)致無法進(jìn)行長期可靠的載荷測量。因此,有必要在應(yīng)變法所測量飛機(jī)結(jié)構(gòu)載荷的基礎(chǔ)上發(fā)展一種基于飛機(jī)飛行參數(shù)的飛機(jī)結(jié)構(gòu)載荷模型。采用該模型,可對同一型號多架飛機(jī)在無需進(jìn)行應(yīng)變改裝及校準(zhǔn)試驗(yàn)的情況下,實(shí)施載荷監(jiān)控及結(jié)構(gòu)強(qiáng)度分析,并為飛機(jī)疲勞壽命評估積累相關(guān)數(shù)據(jù)。
飛機(jī)結(jié)構(gòu)在真實(shí)飛行過程中同時(shí)受到氣動(dòng)力、慣性力及約束力影響,其中約束力即所測量的飛機(jī)結(jié)構(gòu)載荷。根據(jù)達(dá)朗貝爾原理[3],三者合力恒為零,即飛機(jī)結(jié)構(gòu)載荷取決于飛機(jī)結(jié)構(gòu)所受氣動(dòng)力及慣性力,其中慣性力與結(jié)構(gòu)重力及其過載線性相關(guān);而氣動(dòng)力在低馬赫數(shù)及小迎角情況下與飛行迎角及動(dòng)壓呈線性關(guān)系,但在高馬赫數(shù)或大迎角條件下,該線性關(guān)系并不存在,氣動(dòng)力呈現(xiàn)較為復(fù)雜的非線性特征[4]。在該條件下,可通過空氣動(dòng)力學(xué)及飛行力學(xué)理論方法建立基于飛行參數(shù)的非線性飛機(jī)結(jié)構(gòu)載荷模型,但實(shí)現(xiàn)難度較高,而以人工神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)為代表的基于數(shù)據(jù)的非線性建模方法可在已知相關(guān)飛行參數(shù)及其對應(yīng)結(jié)構(gòu)載荷數(shù)據(jù)的情況下進(jìn)行建模。目前,國內(nèi)外已在該領(lǐng)域開展了相關(guān)研究工作[5-7],其中神經(jīng)網(wǎng)絡(luò)模型具有較好的適應(yīng)性及非線性特征,但建模過程中網(wǎng)絡(luò)結(jié)構(gòu)的確定并無明確方法且模型對樣本敏感,存在過擬合問題[8];而支持向量機(jī)回歸(SVR)方法則較好地避免了上述問題,該方法數(shù)學(xué)理論基礎(chǔ)完善,具有較強(qiáng)的魯棒性,在引入核函數(shù)的條件下具有較好的非線性建模能力,基于該方法的建模工作研究已于眾多領(lǐng)域開展[9]。因此,針對基于飛行參數(shù)的飛機(jī)結(jié)構(gòu)載荷建模問題,可在SVR方法的基礎(chǔ)上展開應(yīng)用研究。
本文在原始SVR方法基礎(chǔ)上,通過改進(jìn)序列最小優(yōu)化(Sequential Minimal Optimization,簡稱SMO)算法及基于粒子群算法的模型參數(shù)優(yōu)選方法得到一種飛機(jī)結(jié)構(gòu)載荷模型的建立方法,并以某型飛機(jī)跨聲速俯仰對稱機(jī)動(dòng)為例進(jìn)行該建模方法的仿真驗(yàn)證計(jì)算。
飛機(jī)在飛行過程中的結(jié)構(gòu)載荷包含關(guān)鍵部位的彎矩、剪力、扭矩及拉壓力等,而結(jié)構(gòu)載荷受飛行高度、速度、迎角、側(cè)滑角、舵面偏角、各向角速度及過載等眾多因素影響。建立飛機(jī)結(jié)構(gòu)載荷模型的目的是使用SVR方法基于飛行實(shí)測載荷及飛參數(shù)據(jù)準(zhǔn)確建立表述結(jié)構(gòu)載荷與重要飛行參數(shù)之間關(guān)系的非線性模型。
飛機(jī)飛行過程中所記錄的飛行參數(shù)種類較多,如果將所有參數(shù)均作為飛機(jī)結(jié)構(gòu)載荷模型的輸入變量,首先會(huì)因變量過多,樣本容量過大而降低運(yùn)算速度;其次,過多的變量類型中必然包含冗余變量,會(huì)對模型精度造成不利影響。因此,在構(gòu)建模型過程中,應(yīng)明確與模型輸出有較好相關(guān)性的輸入變量,以保證模型精度及效率。
為確定有效輸入變量,首先應(yīng)依據(jù)空氣動(dòng)力學(xué)及飛行動(dòng)力學(xué)理論定性地對飛機(jī)進(jìn)行動(dòng)力學(xué)分析,得到影響飛機(jī)姿態(tài)及運(yùn)動(dòng)狀態(tài)的主要參數(shù),例如速度、高度、迎角、舵面偏角等,以初步確定輸入變量。在此基礎(chǔ)上,對于輸入變量與輸出變量之間的相關(guān)性,采用兩者間的皮爾遜相關(guān)系數(shù)R(X,Y)進(jìn)行量化判定,其表達(dá)式如下[10]
(1)
式中:cov(X,Y)為兩變量的協(xié)方差;var(X)、var(Y)分別為變量方差,其取值范圍為[-1,1]。
|R|越大,則兩變量間相關(guān)性越強(qiáng),一般以|R|是否大于0.7判斷兩變量間是否具有較強(qiáng)相關(guān)性,取具有強(qiáng)相關(guān)性的參數(shù)作為建模參數(shù)可保證所建立的模型精度不受冗余參數(shù)影響。
回歸是研究變量間函數(shù)關(guān)系的一種方法[11],其目的是通過相應(yīng)估算方法得到給定的訓(xùn)練樣本集xi∈Rn,yi∈R(i=1,…,l)之間的回歸方程:
f(x)=ωTk(x)+b
(2)
式中:ω為回歸參數(shù)向量;函數(shù)k為非線性回歸中對樣本在高維空間中的非線性映射。
傳統(tǒng)回歸模型一般通過模型輸出f(x)與真實(shí)輸出y之間的差別來計(jì)算精度損失,而SVR模型則以f(x)為中心,構(gòu)建寬為2ε的間隔帶,訓(xùn)練樣本在此間隔帶內(nèi)則認(rèn)為預(yù)測正確,不計(jì)入損失,該方法保證了模型的魯棒性?;趽p失最小的原則,SVR問題在支持向量機(jī)(SVM)問題的基礎(chǔ)上形式化為[12]
(3)
式中:C為正則化常數(shù);lε為不敏感損失函數(shù),當(dāng)訓(xùn)練樣本落入間隔帶內(nèi)時(shí)該值為0,否則計(jì)入損失。
損失為
loss=|f(xi)-yi|-ε
(4)
(5)
0≤αi≤C
其中k(xi,xj)=φ(xi)Tφ(xj)為核函數(shù),采用核函數(shù)可簡化低維空間樣本點(diǎn)映射到高維空間的運(yùn)算,是該方法可進(jìn)行非線性回歸的關(guān)鍵因素。求解式(5)優(yōu)化問題,可得SVR問題解的形式為
(6)
SMO算法是針對SVR問題的快速學(xué)習(xí)算法[14],在樣本容量較大時(shí),其效率高于傳統(tǒng)凸二次規(guī)劃問題求解算法,該算法包括兩部分:啟發(fā)式雙變量選擇和變量解析計(jì)算。以下將給出該算法實(shí)現(xiàn)的主要步驟,并對其進(jìn)行改進(jìn),以進(jìn)一步提升效率。
對式(5)進(jìn)行變量替換:
(7)
則式(5)可寫為
(8)
首先對(-C,C)區(qū)間內(nèi)的訓(xùn)練樣本點(diǎn)進(jìn)行遍歷,選擇違反KKT條件最嚴(yán)重的點(diǎn)作為第一個(gè)變量;若該區(qū)間內(nèi)不存在違反KKT條件的點(diǎn),則以相同方法對區(qū)間邊界樣本點(diǎn)進(jìn)行檢驗(yàn);若仍不存在這樣的樣本點(diǎn),則已得到問題的最優(yōu)解,程序結(jié)束。
(9)
雖然SMO算法可實(shí)現(xiàn)SVR問題的高效求解,但實(shí)踐表明,僅以KKT條件為停機(jī)準(zhǔn)則過于嚴(yán)格,使得訓(xùn)練時(shí)間較長,而模型在訓(xùn)練到一定程度時(shí)已滿足精度要求,因此有必要基于停機(jī)準(zhǔn)則對SMO算法進(jìn)行改進(jìn)以提高建模效率。
根據(jù)對偶問題(式(8))與原始問題(式(2))的關(guān)系,當(dāng)對偶問題與原始問題對偶間隙為0時(shí),所得的對偶問題解為原始問題的全局最優(yōu)解,因此當(dāng)對偶間隙小于給定閾值時(shí),即可認(rèn)為已得到目標(biāo)解,可停止建模計(jì)算。在此基礎(chǔ)上對SMO算法進(jìn)行改進(jìn),具體方法如下:
(10)
則原始問題的目標(biāo)函數(shù)可寫為
(11)
(12)
當(dāng)σ小于指定值時(shí)則停止模型訓(xùn)練。因此,定義如下三個(gè)停機(jī)條件:①所有變量滿足KKT條件;②σ小于指定值;③迭代循環(huán)次數(shù)到達(dá)制定上限。當(dāng)上述任一停機(jī)條件達(dá)到時(shí),均停止建模,以此提升SMO算法效率。
SVR模型參數(shù)包括正則化常數(shù)C及核函數(shù)K的相關(guān)參數(shù),模型參數(shù)選擇的合理性會(huì)直接影響模型精度及計(jì)算效率,但SVR方法并未提供模型參數(shù)優(yōu)選方法,一般為任意給定或通過經(jīng)驗(yàn)給定。本文采用粒子群優(yōu)化(PSO)算法[15]對飛機(jī)結(jié)構(gòu)載荷SVR模型參數(shù)進(jìn)行優(yōu)化選取。
PSO算法假設(shè)待優(yōu)化變量處于范圍給定的D維搜索空間內(nèi),由n個(gè)粒子組成粒子群X=(X1,X2,…,Xn),其中每個(gè)粒子均為D維向量,是該粒子在搜索空間中的位置,同時(shí)也是原始優(yōu)化問題的潛在解。依據(jù)優(yōu)化目標(biāo)函數(shù)可計(jì)算出每個(gè)粒子的適應(yīng)度,并依此判斷目標(biāo)優(yōu)化情況。在迭代過程中,為使粒子群向優(yōu)化目標(biāo)運(yùn)動(dòng),定義第i個(gè)粒子的速度Vi=[Vi1,Vi2,…,ViD],并定義單個(gè)粒子在尋優(yōu)過程中的極值變量Pi=[Pi1,Pi2,…,PiD],整個(gè)粒子群極值變量Pg=[Pg1,Pg2,…,PgD]。在迭代過程中,粒子通過Pi和Pg更新Vi及X,更新方法為
(13)
式中:ρ為慣性權(quán)重常數(shù);c1和c2為非負(fù)的加速度因子常數(shù);r1和r2為[0,1]之間的隨機(jī)數(shù)。
當(dāng)?shù)螖?shù)達(dá)到最大限制或連續(xù)多次適應(yīng)度函數(shù)迭代結(jié)果保持不變時(shí),則停止計(jì)算。
采用PSO算法對飛機(jī)結(jié)構(gòu)載荷SVR模型相關(guān)參數(shù)進(jìn)行優(yōu)選,定義適應(yīng)度函數(shù)F為模型的平均誤差,其形式為
(14)
式中:f(xi)為第i個(gè)樣本點(diǎn)的計(jì)算值;yi為與之對應(yīng)的樣本目標(biāo)值。
每組模型參數(shù)對應(yīng)單個(gè)粒子,其優(yōu)化目標(biāo)是得到使適應(yīng)度函數(shù)最小的SVR模型參數(shù)。由此,采用PSO算法優(yōu)化的飛機(jī)結(jié)構(gòu)載荷SVR模型建立方法如圖1所示。
圖1 建模流程
以某型飛機(jī)在基本飛行重量且無外掛構(gòu)型下跨聲速俯仰對稱機(jī)動(dòng)過程中機(jī)翼某一測載剖面處結(jié)構(gòu)剪力實(shí)測數(shù)據(jù)為原始數(shù)據(jù),采用上述改進(jìn)支持向量機(jī)回歸方法進(jìn)行建模,為確保所建立模型的泛化能力得到檢驗(yàn),未對正負(fù)過載進(jìn)行區(qū)分,取36個(gè)法向過載較小的俯仰機(jī)動(dòng)數(shù)據(jù)作為建模數(shù)據(jù)集,9個(gè)法向過載較大的俯仰機(jī)動(dòng)數(shù)據(jù)作為測試數(shù)據(jù)集。建模前對原始實(shí)測數(shù)據(jù)進(jìn)行清零、去跳點(diǎn)及各參數(shù)時(shí)間統(tǒng)一性檢驗(yàn)等預(yù)處理工作。
飛機(jī)在對稱俯仰機(jī)動(dòng)過程中,繞質(zhì)心運(yùn)動(dòng)為其主要運(yùn)動(dòng)形式,運(yùn)動(dòng)中飛機(jī)除受自身轉(zhuǎn)動(dòng)慣量Iy影響外,還受到翼身氣動(dòng)力矩Mwb、平尾氣動(dòng)力矩Mt、俯仰阻尼力矩Mq及洗流時(shí)差力矩Mα等外部因素影響。根據(jù)空氣動(dòng)力學(xué)理論,上述外力矩的主要影響飛行參數(shù)包括氣壓高度H、指示空速V、迎角α、升降舵或全動(dòng)平尾偏度δe、俯仰角速度q及其他可對飛機(jī)氣動(dòng)力產(chǎn)生影響的舵面偏度。在機(jī)動(dòng)過程中,飛機(jī)會(huì)形成法向過載,這是俯仰機(jī)動(dòng)的主要特征。初步將上述參數(shù)確定為主要建模參數(shù),對剖面結(jié)構(gòu)剪力與上述參數(shù)的相關(guān)性進(jìn)行分析,相關(guān)系數(shù)計(jì)算結(jié)果如表1所示。
表1 相關(guān)性計(jì)算結(jié)果
從表1可以看出:氣壓高度及空速與結(jié)構(gòu)載荷的相關(guān)系數(shù)很小,表明其在機(jī)動(dòng)過程中與機(jī)翼結(jié)構(gòu)載荷相關(guān)性并不強(qiáng),究其原因,雖然它們是決定氣動(dòng)力的關(guān)鍵因素,但建模采用俯仰機(jī)動(dòng)過程數(shù)據(jù),在該時(shí)間段內(nèi)飛機(jī)高度和速度基本保持不變,而實(shí)測結(jié)構(gòu)載荷隨機(jī)動(dòng)過程必然產(chǎn)生相應(yīng)變化,因此兩參數(shù)與載荷間呈現(xiàn)低相關(guān)性是合理的,故在給定飛機(jī)狀態(tài)俯仰機(jī)動(dòng)結(jié)構(gòu)載荷建模中不將其作為建模參數(shù);而根據(jù)空氣動(dòng)力學(xué)理論,該過程中引起氣動(dòng)力改變的主要因素是迎角,相關(guān)系數(shù)計(jì)算結(jié)果也證明了這一點(diǎn)。
對于參與建模的參數(shù),因其量級差異較大,在開始建模前,為保證后續(xù)建模工作的計(jì)算效率,需對其進(jìn)行歸一化處理。針對各參數(shù),在飛行實(shí)測中均有對應(yīng)的測量范圍[Ximin,Ximax],故歸一化方式為
(15)
在確定建模參數(shù)并對其進(jìn)行歸一化的基礎(chǔ)上,采用改進(jìn)支持向量機(jī)回歸方法建立飛機(jī)結(jié)構(gòu)載荷模型,選擇高斯核函數(shù)作為核函數(shù),其表達(dá)式為
(16)
給定支持向量機(jī)回歸間隔帶半帶寬ε為0.05,σ的臨界值為0.001,因此PSO算法需要確定的參數(shù)為正則化常數(shù)C和核函數(shù)參數(shù)γ,搜索空間為二維空間。設(shè)定粒子群中粒子數(shù)量為50,最大迭代數(shù)為100,采用圖1所示算法,使用建模數(shù)據(jù)集進(jìn)行建模,每代最優(yōu)個(gè)體適應(yīng)度如圖2所示,根據(jù)迭代結(jié)果確定C=30.476,γ=3.223。
圖2 個(gè)體適應(yīng)度迭代結(jié)果
作為對比,采用網(wǎng)格搜索及原始SVR方法對參數(shù)C、γ進(jìn)行尋優(yōu),尋優(yōu)目標(biāo)仍為平均誤差(式(14)),尋優(yōu)過程如圖3所示,目標(biāo)仍為使誤差最小的參數(shù)組合。受計(jì)算時(shí)間限制,C的變化步長為1,γ的變化步長為0.1,最終確定C=32,γ=3.5。
圖3 網(wǎng)格搜索法誤差
分別使用兩組C和γ進(jìn)行建模計(jì)算, 并使用測試數(shù)據(jù)集對所建立的模型進(jìn)行測試,結(jié)果如圖4所示。
圖4 模型預(yù)測結(jié)果與載荷實(shí)測值對比
基于原始SVR算法與改進(jìn)后的SVR算法的模型計(jì)算結(jié)果對比如表2所示,模型訓(xùn)練精度及測試精度均使用平均誤差(式(14))進(jìn)行評價(jià)。
表2 模型精度對比
從表2可以看出:基于改進(jìn)SVR算法的飛機(jī)結(jié)構(gòu)載荷模型與原始SVR算法模型相比,雖然訓(xùn)練精度相差不大,但測試精度明顯優(yōu)于后者,證明通過模型參數(shù)優(yōu)選可提高模型泛化能力,并且建模過程中參數(shù)尋優(yōu)速度明顯優(yōu)于原始SVR算法,因此改進(jìn)SMO算法停機(jī)條件并通過PSO算法優(yōu)化模型參數(shù)是有必要的。
(1) 通過改進(jìn)支持向量機(jī)回歸方法可獲得精度較高的非線性飛機(jī)結(jié)構(gòu)載荷模型,相較于原始支持向量機(jī)算法,該方法建模效率高,且所得到的模型泛化能力較強(qiáng),可更為準(zhǔn)確地對飛機(jī)結(jié)構(gòu)載荷進(jìn)行預(yù)測。
(2) 通過建立泛化能力較好的飛機(jī)結(jié)構(gòu)載荷模型,可對同一型號多架飛機(jī)進(jìn)行結(jié)構(gòu)載荷監(jiān)控及結(jié)構(gòu)疲勞壽命評估數(shù)據(jù)積累,對飛行數(shù)據(jù)進(jìn)行深層次挖掘。
(3) 采用改進(jìn)支持向量機(jī)方法所建立的基于試飛數(shù)據(jù)的飛機(jī)載荷模型避免了采用空氣動(dòng)力學(xué)及飛行動(dòng)力學(xué)理論進(jìn)行建模所需的復(fù)雜理論推導(dǎo)工作,充分利用了飛行數(shù)據(jù)。