付軍泉, 史志偉, 陳 坤, 朱佳晨, 陳 杰, 董益章
(南京航空航天大學(xué) 航空宇航學(xué)院, 江蘇 南京 210016)
飛機(jī)在大迎角過(guò)失速機(jī)動(dòng)飛行時(shí),氣動(dòng)力具有非定常和非線性的特性,而非線性、非定常氣動(dòng)力的預(yù)測(cè),對(duì)新一代戰(zhàn)斗機(jī)設(shè)計(jì)具有十分重要的意義。隨著人工智能技術(shù)的發(fā)展,神經(jīng)網(wǎng)絡(luò)在非線性系統(tǒng)辨識(shí)中得到了一定應(yīng)用,如徑向基神經(jīng)網(wǎng)絡(luò)[1]、模糊神經(jīng)網(wǎng)絡(luò)[2]和自適應(yīng)神經(jīng)網(wǎng)絡(luò)[3]。但這些網(wǎng)絡(luò)本質(zhì)上都是前向的靜態(tài)網(wǎng)絡(luò),并不能很好的反映系統(tǒng)的動(dòng)態(tài)特性。而循環(huán)神經(jīng)網(wǎng)絡(luò)是一種具有反饋結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò),可以反映系統(tǒng)隨時(shí)間變化的動(dòng)態(tài)特性,并且可以儲(chǔ)存信息。網(wǎng)絡(luò)的輸出不僅與當(dāng)前的網(wǎng)絡(luò)輸入和權(quán)值有關(guān),還與網(wǎng)絡(luò)之前的輸入有關(guān),從而可以表現(xiàn)出非線性系統(tǒng)的動(dòng)態(tài)特性。循環(huán)神經(jīng)網(wǎng)絡(luò)在非線性系統(tǒng)辨識(shí)中已得到應(yīng)用[4-6],能夠?qū)Υ蟛糠址蔷€性系統(tǒng)進(jìn)行建模,但找到一種權(quán)值修正的方法使其收斂到有效的模型仍是一個(gè)亟待解決的問(wèn)題。
EKF算法具有較快的收斂速度,但是收斂精度
不高[7],已經(jīng)被用在循環(huán)神經(jīng)網(wǎng)絡(luò)[8],而實(shí)時(shí)遞歸學(xué)習(xí)算法[9]作為一種在線訓(xùn)練算法,對(duì)于樣本數(shù)據(jù)可以進(jìn)行不斷的學(xué)習(xí),在每一時(shí)間節(jié)點(diǎn)都對(duì)網(wǎng)絡(luò)權(quán)值進(jìn)行調(diào)整,對(duì)復(fù)雜非線性問(wèn)題的處理具有一定優(yōu)勢(shì),能更精確的模擬非線性系統(tǒng)的動(dòng)態(tài)特性,但是其計(jì)算量大,訓(xùn)練速度較慢[10]。
本文采用循環(huán)神經(jīng)網(wǎng)絡(luò),結(jié)合EKF和實(shí)時(shí)遞歸學(xué)習(xí)算法的特點(diǎn),提出一種基于EKF的實(shí)時(shí)遞歸學(xué)習(xí)算法,該算法既具有較快的收斂速度又具有較高的收斂精度, 十分適合于非線性動(dòng)力學(xué)系統(tǒng)的辨識(shí)。文中給出了循環(huán)神經(jīng)網(wǎng)絡(luò)在應(yīng)用此學(xué)習(xí)算法下的仿真結(jié)果,驗(yàn)證了本文所提算法的有效性。
本文中循環(huán)神經(jīng)網(wǎng)絡(luò)是一種全聯(lián)接的Elman網(wǎng)絡(luò)[11],一般由輸入層、隱含層、關(guān)聯(lián)層和輸出層組成,如圖1。
圖1 循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 The structure of RNN
第一層是輸入層,輸入層中的第i個(gè)節(jié)點(diǎn)的輸入為:
關(guān)聯(lián)層的輸入為隱含層上一時(shí)刻的輸出,輸出等于輸入,其第i個(gè)節(jié)點(diǎn)的輸入輸出分別為
第三層為輸出層,其第i個(gè)節(jié)點(diǎn)的輸入輸出分別為:
實(shí)時(shí)遞歸學(xué)習(xí)算法是一種基于梯度下降法的學(xué)習(xí)算法,屬于在線學(xué)習(xí),對(duì)k時(shí)刻的網(wǎng)絡(luò)誤差函數(shù)進(jìn)行定義:
e(k)=yd(k)-y(k)(9)
yd(k)為k時(shí)刻的期望輸出,e(k)即為k時(shí)刻期望輸出與網(wǎng)絡(luò)實(shí)際輸出之間的誤差。則網(wǎng)絡(luò)權(quán)值修正的誤差梯度為:
ω可表示輸入層、隱含層和輸出層的權(quán)值。實(shí)時(shí)遞歸學(xué)習(xí)算法在每一時(shí)間節(jié)點(diǎn)都通過(guò)誤差梯度對(duì)網(wǎng)絡(luò)權(quán)值進(jìn)行修正,是一種實(shí)時(shí)計(jì)算,計(jì)算量極大。本文引入擴(kuò)展卡爾曼濾波計(jì)算網(wǎng)絡(luò)權(quán)值誤差協(xié)方差矩陣P,每次計(jì)算只保留卡爾曼增益K和誤差協(xié)方差矩陣P,用來(lái)對(duì)網(wǎng)絡(luò)權(quán)值進(jìn)行修正,因此網(wǎng)絡(luò)的運(yùn)行速度很快,可以很好的解決實(shí)時(shí)計(jì)算帶來(lái)的計(jì)算量大的問(wèn)題。對(duì)網(wǎng)絡(luò)權(quán)值的變化由文獻(xiàn)[12]確定:
ω(k)=ω(k-1)+Δω(11)
ω(k)不僅與k時(shí)刻的期望值和網(wǎng)絡(luò)輸出值之間的誤差有關(guān),還與上一時(shí)刻的網(wǎng)絡(luò)權(quán)值有關(guān),其學(xué)習(xí)過(guò)程根據(jù)文獻(xiàn)[13]進(jìn)行:
K(k)=P(k-1)HT(k)·
[H(k)P(k-1)HT(k)+R(k)]-1(12)
Δω=Ke(k)(13)
P(k)=P(k-1)-K(k)H(k)P(k-1)+Q(k)(14)
其中,Q(k)為網(wǎng)絡(luò)噪聲的協(xié)方差矩陣,R(k)為實(shí)驗(yàn)噪聲的協(xié)方差矩陣。K時(shí)刻網(wǎng)絡(luò)權(quán)值的修正值Δω由此時(shí)的卡爾曼增益K(k)和誤差e(k)求得,接下來(lái)對(duì)該時(shí)刻的誤差協(xié)方差矩陣P(k)進(jìn)行更新,以便用到對(duì)下一時(shí)刻的網(wǎng)絡(luò)權(quán)值的預(yù)測(cè)。由此不斷把誤差協(xié)方差矩陣進(jìn)行遞歸,每一次運(yùn)算都只保留上一時(shí)刻的P,如此自回歸運(yùn)算下去,使得網(wǎng)絡(luò)運(yùn)行速度快。H可由網(wǎng)絡(luò)誤差梯度確定。
對(duì)于輸出層:
隱含層:
同理,關(guān)聯(lián)層:
在EKF-RTRL學(xué)習(xí)算法中,網(wǎng)絡(luò)噪聲協(xié)方差矩陣Q(k)、實(shí)驗(yàn)噪聲協(xié)方差矩陣R(k)、網(wǎng)絡(luò)權(quán)值誤差協(xié)方差矩陣初始值P(1)對(duì)算法收斂性是有影響的。根據(jù)參考文獻(xiàn)[14],初始方差矩陣P(1)對(duì)濾波效果影響很小,算法都能較快收斂,所以P(1)可以任意取一個(gè)不為零的矩陣,本文中P(1)取為單位對(duì)角陣。網(wǎng)絡(luò)噪聲協(xié)方差矩陣對(duì)結(jié)果誤差影響較大,隨著Q(K)增大而增大,變換較為顯著。所以網(wǎng)絡(luò)噪聲協(xié)方差矩陣的取值越小越好,可以使用一個(gè)很小但不為零的矩陣,本文取Q(K)=10-4×diag([1,1])。實(shí)驗(yàn)噪聲協(xié)方差矩陣R(K)的取值變大或變小,效果不一定好,在計(jì)算時(shí)進(jìn)行了多次的選值調(diào)整,使結(jié)果最好。
本文實(shí)驗(yàn)動(dòng)態(tài)機(jī)構(gòu)如圖2,由支撐機(jī)構(gòu)、振蕩機(jī)構(gòu)、運(yùn)動(dòng)控制機(jī)構(gòu)和數(shù)據(jù)采集系統(tǒng)組成。支撐機(jī)構(gòu)運(yùn)動(dòng)由計(jì)算機(jī)通過(guò)液壓傳動(dòng)機(jī)構(gòu)控制,可按任意規(guī)律變化。該機(jī)構(gòu)可以實(shí)現(xiàn)偏航、滾轉(zhuǎn)以及偏航滾轉(zhuǎn)耦合運(yùn)動(dòng)。③和⑧分別是模型偏航角φ和滾轉(zhuǎn)角φ的角度編碼器??蓽y(cè)量模型運(yùn)動(dòng)的偏航角和滾轉(zhuǎn)角。模型迎角θ人工測(cè)量。
可得迎角α和側(cè)滑角β:
sinβ=sinθsinφcosφ+sinφcosφ(20)
該實(shí)驗(yàn)在南京航空航天大學(xué)NH-2低速風(fēng)洞進(jìn)行。
圖2 動(dòng)態(tài)試驗(yàn)機(jī)構(gòu)Fig.2 Dynamic testing mechanism
該神經(jīng)網(wǎng)絡(luò)的建模數(shù)據(jù)來(lái)自于某飛機(jī)模型支撐迎角為50°時(shí),不同振動(dòng)頻率下的大振幅動(dòng)態(tài)實(shí)驗(yàn)數(shù)據(jù),包括單自由度的偏航、滾轉(zhuǎn)運(yùn)動(dòng)和兩自由度的偏航滾轉(zhuǎn)耦合運(yùn)動(dòng)。其中單自由度偏航和兩自由度偏航滾轉(zhuǎn)耦合運(yùn)動(dòng)的動(dòng)態(tài)實(shí)驗(yàn)頻率為0.2、0.4、0.6、0.8,將0.2、0.4和0.8三組數(shù)據(jù)作為訓(xùn)練樣本進(jìn)行建模,0.6頻率數(shù)據(jù)作為模型仿真驗(yàn)證;單獨(dú)滾轉(zhuǎn)運(yùn)動(dòng)的動(dòng)態(tài)實(shí)驗(yàn)頻率為0.4、0.8、1.2、1.6,將0.4、0.8、1.6三組數(shù)據(jù)作為訓(xùn)練樣本進(jìn)行建模,1.2頻率數(shù)據(jù)作為模型的仿真驗(yàn)證。
本文實(shí)驗(yàn)數(shù)據(jù)較多,數(shù)據(jù)跨度較大,各變量間的量級(jí)相差較大,為了使實(shí)驗(yàn)數(shù)據(jù)跨度縮小,便于建模仿真,對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行了歸一化處理,將其處理為[-1,1]之間的數(shù)據(jù),采用如下公式:
本文在運(yùn)用循環(huán)神經(jīng)網(wǎng)絡(luò)對(duì)非定常氣動(dòng)力建模時(shí),將單自由度偏航、滾轉(zhuǎn)以及偏航滾轉(zhuǎn)耦合運(yùn)動(dòng)數(shù)據(jù)放在一起進(jìn)行網(wǎng)絡(luò)訓(xùn)練,建立統(tǒng)一的模型,對(duì)于橫航向運(yùn)動(dòng),主要考慮其滾轉(zhuǎn)力矩系數(shù)和偏航力矩系數(shù),具體模型為:
Mx=F(β,p,r,f),My=F(β,p,r,f),其中p為滾轉(zhuǎn)角速度,r為偏航角速度,f為振動(dòng)頻率。
對(duì)于單自由度偏航運(yùn)動(dòng),f=0.4的實(shí)驗(yàn)數(shù)據(jù)在建模時(shí)已經(jīng)作為訓(xùn)練樣本使用,圖3是建模結(jié)束后,使用建立好的神經(jīng)網(wǎng)絡(luò)模型重新對(duì)此頻率數(shù)據(jù)進(jìn)行仿真的結(jié)果。圖4是建模時(shí)未使用的f=0.6的實(shí)驗(yàn)數(shù)據(jù)在此神經(jīng)網(wǎng)絡(luò)模型下的仿真預(yù)測(cè)結(jié)果。對(duì)于單自由度的滾轉(zhuǎn)運(yùn)動(dòng),圖5、圖6為仿真結(jié)果與仿真預(yù)測(cè)結(jié)果同實(shí)驗(yàn)結(jié)果的比較。對(duì)于兩自由度的偏航滾轉(zhuǎn)耦合運(yùn)動(dòng),圖7、圖8為仿真結(jié)果與仿真預(yù)測(cè)結(jié)果同實(shí)驗(yàn)結(jié)果的比較。
由以上各對(duì)比結(jié)果圖可以看出,不管是對(duì)訓(xùn)練時(shí)使用過(guò)的數(shù)據(jù)進(jìn)行仿真,還是用訓(xùn)練時(shí)未使用過(guò)的數(shù)據(jù)進(jìn)行仿真預(yù)測(cè),其得到的偏航力矩系數(shù)和滾轉(zhuǎn)力矩
圖3 偏航運(yùn)動(dòng)仿真結(jié)果與實(shí)驗(yàn)結(jié)果對(duì)比(f=0.4)Fig.3 The comparison between the simulation results and the testing results in yaw motion (f=0.4)
圖4 偏航運(yùn)動(dòng)仿真預(yù)測(cè)結(jié)果與實(shí)驗(yàn)結(jié)果對(duì)比(f=0.6)Fig.4 The comparison between the simulation prediction results and the testing results in yaw motion (f=0.6)
圖5 滾轉(zhuǎn)運(yùn)動(dòng)仿真結(jié)果與實(shí)驗(yàn)結(jié)果對(duì)比(f=0.8)Fig.5 The comparison between the simulation results and the testing results in roll motion (f=0.8)
系數(shù)與實(shí)驗(yàn)所得的數(shù)據(jù)都幾乎重合,這充分證明了該神經(jīng)網(wǎng)絡(luò)模型在非定常氣動(dòng)力建模上的可行性。
本文建模采用大振幅動(dòng)態(tài)數(shù)據(jù),得到了很好的結(jié)果,為進(jìn)一步驗(yàn)證該神經(jīng)網(wǎng)絡(luò)模型適用性,將大振幅下建立好的模型運(yùn)用到對(duì)小振幅數(shù)據(jù)的仿真預(yù)測(cè)。圖9、圖10分別是小振幅單獨(dú)偏航(f=0.4)、滾轉(zhuǎn)(f=0.8)運(yùn)動(dòng)的仿真預(yù)測(cè)結(jié)果和實(shí)驗(yàn)結(jié)果的對(duì)比。
圖6 滾轉(zhuǎn)運(yùn)動(dòng)仿真預(yù)測(cè)結(jié)果與實(shí)驗(yàn)結(jié)果對(duì)比(f=1.2)Fig.6 The comparison between the simulation prediction results and the testing results in roll motion (f=1.2)
圖7 偏航滾轉(zhuǎn)耦合運(yùn)動(dòng)仿真結(jié)果與實(shí)驗(yàn)結(jié)果對(duì)比(f=0.4)Fig.7 The comparison between the simulation results and the testing results in yaw-roll motion (f=0.4)
圖8 偏航滾轉(zhuǎn)耦合運(yùn)動(dòng)仿真預(yù)測(cè)結(jié)果與實(shí)驗(yàn)結(jié)果對(duì)比(f=0.6)Fig.8 The comparison between the simulation prediction results and the testing results in yaw-roll motion (f=0.6)
由圖9和圖10可以看出,小振幅下實(shí)驗(yàn)結(jié)果和仿真預(yù)測(cè)結(jié)果的擬合程度較好,說(shuō)明用大振幅數(shù)據(jù)建立的神經(jīng)網(wǎng)絡(luò)模型在小振幅情況下可以較好的適用。
圖9 小振幅偏航運(yùn)動(dòng)(f=0.4)Fig.9 Small-amplitude yaw motion(f=0.4)
圖10 小振幅滾轉(zhuǎn)運(yùn)動(dòng)(f=0.8)Fig.10 Small-amplitude roll motion(f=0.8)
以單自由度滾轉(zhuǎn)運(yùn)動(dòng)為例,對(duì)于相同的單自由度滾轉(zhuǎn)運(yùn)動(dòng)的實(shí)驗(yàn)數(shù)據(jù),我們?cè)俨捎梦墨I(xiàn)[2]中基于RTRL算法的循環(huán)神經(jīng)網(wǎng)絡(luò)對(duì)其滾轉(zhuǎn)力矩系數(shù)進(jìn)行建模,模型訓(xùn)練次數(shù)與本文所提EKF-RTRL循環(huán)神經(jīng)網(wǎng)絡(luò)一樣。比較兩種算法在相同的訓(xùn)練次數(shù)下的擬合程度和誤差值。圖11是分別采用兩種算法時(shí)對(duì)滾轉(zhuǎn)力矩系數(shù)的仿真預(yù)測(cè)結(jié)果與實(shí)驗(yàn)結(jié)果的比較,圖12是兩種算法的誤差曲線比較。
圖11 兩種算法仿真預(yù)測(cè)結(jié)果與實(shí)驗(yàn)結(jié)果對(duì)比Fig.11 The comparison between the simulation results of two algorithms and the testing results
圖12 兩種算法的誤差曲線對(duì)比Fig.12 The error curves of two algorithms
由圖11可以看出,EKF-RTRL算法比RTRL算法的擬合程度更高,同時(shí)由圖12的誤差曲線可以看出,EKF-RTRL算法相對(duì)于RTRL算法,具有更快的收斂速度和更高的收斂精度,說(shuō)明本文所提EKF-RTRL的循環(huán)神經(jīng)網(wǎng)絡(luò)模型在非定常氣動(dòng)力建模上的有效性。
本文討論了循環(huán)神經(jīng)網(wǎng)絡(luò)在非定常氣動(dòng)力建模中的應(yīng)用,結(jié)合擴(kuò)展卡爾曼濾波與實(shí)時(shí)遞歸學(xué)習(xí)算法提出一種EKF-RTRL算法。利用飛機(jī)大迎角大振幅單自由度滾轉(zhuǎn)、偏航以及兩自由度滾轉(zhuǎn)偏航耦合運(yùn)動(dòng)實(shí)驗(yàn)數(shù)據(jù)驗(yàn)證了該循環(huán)神經(jīng)網(wǎng)絡(luò)模型在對(duì)一些非定常氣動(dòng)力建模上的可行性。運(yùn)用大振幅運(yùn)動(dòng)數(shù)據(jù)建立的神經(jīng)網(wǎng)絡(luò)模型在對(duì)小振幅運(yùn)動(dòng)進(jìn)行仿真驗(yàn)證時(shí),也同樣具有較好的結(jié)果,表明該循環(huán)神經(jīng)網(wǎng)絡(luò)具有一定的適用性。而通過(guò)與RTRL算法的對(duì)比,說(shuō)明其既具有RTRL算法收斂精度高的特點(diǎn),又具備EKF收斂速度快的優(yōu)點(diǎn),可以很好的應(yīng)用在飛機(jī)復(fù)雜機(jī)動(dòng)的非定常氣動(dòng)力建模上。