譚健美 王君秋



摘 要:????? 本文搭建了飛機(jī)仿真環(huán)境, 基于近端策略優(yōu)化(PPO)算法建立了尾旋改出算法測(cè)試模型, 設(shè)計(jì)了基準(zhǔn)版單階段、 基準(zhǔn)版雙階段、 加深版單階段、 加深版雙階段四種網(wǎng)絡(luò)結(jié)構(gòu), 用于探究網(wǎng)絡(luò)結(jié)構(gòu)和改出階段對(duì)尾旋改出效果的影響,設(shè)置了魯棒性測(cè)試試驗(yàn), 從時(shí)延、 誤差和高度等方面進(jìn)行了算法測(cè)試和結(jié)果分析。
關(guān)鍵詞:???? 尾旋改出; 深度學(xué)習(xí); 強(qiáng)化學(xué)習(xí); 近端策略優(yōu)化; 算法測(cè)試; 飛機(jī)
中圖分類號(hào):??? ??TJ760; V271.4
文獻(xiàn)標(biāo)識(shí)碼:??? A
文章編號(hào):??? ?1673-5048(2024)01-0077-12
DOI: 10.12132/ISSN.1673-5048.2023.0135
0 引? 言
現(xiàn)代先進(jìn)的作戰(zhàn)飛機(jī)為提高空戰(zhàn)效能, 在設(shè)計(jì)過(guò)程中更加注重其機(jī)動(dòng)性和敏捷性, 并要求具有一定的過(guò)失速機(jī)動(dòng)能力, 而在完成過(guò)失速機(jī)動(dòng)時(shí), 飛機(jī)表面流場(chǎng)變化復(fù)雜, 流動(dòng)的分離情況、 渦的不對(duì)稱性以及破裂位置的激烈變化, 導(dǎo)致作用在飛機(jī)上的氣動(dòng)力和力矩隨著狀態(tài)參數(shù)的變化呈現(xiàn)強(qiáng)烈的非線性、 非定常的遲滯特性, 出現(xiàn)抖振、 機(jī)翼非指令性的搖晃、 機(jī)頭非指令性的側(cè)偏、 全機(jī)非指令性的俯仰擺動(dòng)或突然抬頭、 迎角增加等不期望的危險(xiǎn)飛行狀態(tài)。 此時(shí), 飛機(jī)的操縱性明顯變差, 有時(shí)甚至完全喪失操縱性, 很有可能進(jìn)入過(guò)失速偏離、 尾旋等危險(xiǎn)狀態(tài), 給飛行安全造成隱患, 嚴(yán)重時(shí)可能導(dǎo)致致命事故[1]。
過(guò)失速偏離是飛機(jī)從可控飛行狀態(tài)向尾旋等失控狀態(tài)過(guò)渡的一種短暫運(yùn)動(dòng)過(guò)程, 可能增加飛機(jī)進(jìn)入尾旋的趨勢(shì)。 偏離過(guò)程通常是一種大振幅的、 非指令性的和發(fā)散的運(yùn)動(dòng)。 一般來(lái)說(shuō), 過(guò)失速偏離運(yùn)動(dòng)是不發(fā)散的。 但若駕駛員快速向后拉桿或采取順尾旋的橫航向操縱, 則有可能使飛機(jī)進(jìn)入尾旋狀態(tài)。
尾旋是飛機(jī)失速后發(fā)生的一種自發(fā)的持續(xù)偏航運(yùn)動(dòng), 且可能伴有繞飛機(jī)俯仰、 滾轉(zhuǎn)和偏航等三軸的振蕩運(yùn)動(dòng)。 飛機(jī)航跡沿半徑很小的、 很陡的垂直螺旋線軌跡急劇下降, 因而尾旋也稱為“螺旋”。 尾旋的產(chǎn)生與機(jī)翼自轉(zhuǎn)有很大關(guān)系。 當(dāng)飛機(jī)處于臨界迎角范圍時(shí), 可能具有一定的滾轉(zhuǎn)角速度。 若飛機(jī)發(fā)生右滾, 左側(cè)機(jī)翼迎角變小、 升力下降, 右側(cè)機(jī)翼迎角變大、 升力增加, 從而產(chǎn)生左滾力矩阻止飛機(jī)進(jìn)一步滾轉(zhuǎn), 起到阻尼作用。 然而, 當(dāng)飛機(jī)處于超臨界迎角范圍時(shí), 若具有一定的右滾角速率, 則左側(cè)機(jī)翼迎角減小, 由于迎角處于超臨界范圍, 迎角減小可能會(huì)使升力增加; 同理, 右側(cè)機(jī)翼的迎角增加可能引起升力減小, 二者共同作用會(huì)加劇飛機(jī)的右滾, 使得滾轉(zhuǎn)角速度不斷增大。 即使飛機(jī)初始沒(méi)有滾轉(zhuǎn)角速度, 但氣流不對(duì)稱或其他原因都有可能引起飛機(jī)的滾轉(zhuǎn)運(yùn)動(dòng), 并在機(jī)翼產(chǎn)生的不對(duì)稱升力的作用下加速滾轉(zhuǎn), 從而形成機(jī)翼自轉(zhuǎn)。 此外, 尾旋本身復(fù)雜的旋轉(zhuǎn)和振蕩, 使得慣性交感力矩在尾旋運(yùn)動(dòng)中也起到了重要作用。 慣性交感力矩一般起到不穩(wěn)定力矩的作用, 使飛機(jī)迎角有增大的趨勢(shì)。
研究尾旋特性的手段[2]較多, 如風(fēng)洞中的旋轉(zhuǎn)天平測(cè)量試驗(yàn)和動(dòng)態(tài)試驗(yàn)、 立式風(fēng)洞試驗(yàn)[3]、 模型飛行試驗(yàn)以及飛機(jī)試飛等。 此外, 還可通過(guò)數(shù)值計(jì)算、 在飛行模擬器上進(jìn)行尾旋運(yùn)動(dòng)的半物理仿真試驗(yàn)、 開(kāi)展尾旋預(yù)防與改出訓(xùn)練等方法[4], 掌握并驗(yàn)證飛機(jī)尾旋時(shí)的運(yùn)動(dòng)特性和改出方法。
考慮到飛機(jī)尾旋運(yùn)動(dòng)的非線性和不確定性較強(qiáng)、 氣動(dòng)特性的遲滯效應(yīng)較大, 且在尾旋的發(fā)展過(guò)程中飛機(jī)動(dòng)力學(xué)特性隨時(shí)間變化較大, 常規(guī)的研究方法存在一定的局限性。 隨著智能技術(shù)的發(fā)展, 特別是深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)的發(fā)展, 計(jì)算機(jī)在感知過(guò)程的數(shù)學(xué)建模及策略的學(xué)習(xí)問(wèn)題等取得了一定的進(jìn)步。 因此, 本文基于深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)方法, 開(kāi)展了飛機(jī)尾旋改出問(wèn)題的研究工作。
1 強(qiáng)化學(xué)習(xí)尾旋改出解決方案
飛機(jī)尾旋改出的主要目標(biāo)是減小迎角并盡快達(dá)到安全速度, 同時(shí)將高度損失降至最低。 雖然從尾旋中改出的具體技術(shù)取決于飛機(jī)和尾旋的類型, 但通常通過(guò)減少飛機(jī)自轉(zhuǎn)角速度、 恢復(fù)飛機(jī)迎角的策略可以改出大部分尾旋。 采用深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)技術(shù)能夠在發(fā)生尾旋時(shí)自動(dòng)執(zhí)行改出操作。 經(jīng)過(guò)多年研究, 強(qiáng)化學(xué)習(xí)發(fā)展出多種技術(shù)途徑。 Tomar D S等 [5]采用強(qiáng)化學(xué)習(xí)和監(jiān)督學(xué)習(xí)技術(shù)開(kāi)展了飛機(jī)失速改出技術(shù)研究;? Kolb S等[6]開(kāi)展了飛機(jī)深失速實(shí)時(shí)探測(cè)和改出程序研究; Cao H H等[7]采用強(qiáng)化學(xué)習(xí)技術(shù)開(kāi)展了雙階段飛機(jī)尾旋改出策略研究; Kim D等 [8]采用強(qiáng)化學(xué)習(xí)技術(shù)開(kāi)展了無(wú)人機(jī)平尾旋最優(yōu)改出策略研究; Chao H Y等[9]開(kāi)展了無(wú)人機(jī)失速/尾旋探測(cè)技術(shù)的飛行試驗(yàn)研究;? Bunge R A等[10-11]開(kāi)展了無(wú)人機(jī)的失速/尾旋探測(cè)與飛行試驗(yàn)技術(shù)研究。
強(qiáng)化學(xué)習(xí)通過(guò)智能體與環(huán)境的交互學(xué)習(xí)獲得好的策略, 在解決飛機(jī)尾旋改出具有廣闊前景。 強(qiáng)化學(xué)習(xí)控制方案有可能發(fā)展為常規(guī)尾旋改出的替代方案, 但強(qiáng)化學(xué)習(xí)也面臨一些問(wèn)題, 研究側(cè)重于解決相應(yīng)的問(wèn)題。 學(xué)習(xí)算法期望從當(dāng)前動(dòng)作中獲得累積獎(jiǎng)勵(lì), 因此它可以避免不希望的軌跡, 例如高迎角、 大角速率和大過(guò)載的狀態(tài)。 強(qiáng)化學(xué)習(xí)經(jīng)常被用來(lái)控制黑盒系統(tǒng), 包括不確定性, 它保證了在預(yù)定狀態(tài)空間和動(dòng)作空間上的最優(yōu)性。 然而, 在利用強(qiáng)化學(xué)習(xí)解決尾旋改出問(wèn)題時(shí), 存在相當(dāng)具有挑戰(zhàn)性的問(wèn)題。 一個(gè)問(wèn)題是維度爆炸的問(wèn)題。 隨著狀態(tài)空間和動(dòng)作空間維度的增加, 相應(yīng)的計(jì)算負(fù)載呈指數(shù)增長(zhǎng)。 另一個(gè)問(wèn)題是函數(shù)逼近器的復(fù)雜性。 由于學(xué)習(xí)技術(shù)通過(guò)使用單個(gè)狀態(tài)操作獎(jiǎng)勵(lì)集進(jìn)行迭代來(lái)更新連續(xù)狀態(tài)上的獎(jiǎng)勵(lì), 因此需要一個(gè)覆蓋整個(gè)狀態(tài)空間的函數(shù)逼近器。 函數(shù)逼近器的復(fù)雜性應(yīng)確定為正確反映目標(biāo)函數(shù), 而不會(huì)出現(xiàn)欠擬合和過(guò)擬合。
智能體獲得的策略需要滿足諸多要求。 強(qiáng)化學(xué)習(xí)算法應(yīng)當(dāng)學(xué)習(xí)以獲得更好的策略, 而更好的策略體現(xiàn)在如下三個(gè)方面:
(1) 強(qiáng)化學(xué)習(xí)獲得的策略應(yīng)當(dāng)符合安全性的要求。 符合安全性要求的策略應(yīng)當(dāng)盡量避免事故的發(fā)生。 對(duì)于尾旋改出這種從事故中解脫的策略而言, 安全性更是極其重要的方向。
(2) 強(qiáng)化學(xué)習(xí)獲得的策略應(yīng)具備穩(wěn)定系統(tǒng)的能力。 在系統(tǒng)控制過(guò)程中, 應(yīng)當(dāng)能夠?qū)⑾到y(tǒng)從不穩(wěn)定控制轉(zhuǎn)化為穩(wěn)定控制。 對(duì)于尾旋改出策略而言, 控制策略執(zhí)行后, 飛機(jī)應(yīng)當(dāng)能夠轉(zhuǎn)為平穩(wěn)飛行, 更要避免二次失速。
(3) 強(qiáng)化學(xué)習(xí)應(yīng)當(dāng)能夠完成目標(biāo)化的探索, 從而避免智能體學(xué)習(xí)到存在安全隱患的高獎(jiǎng)勵(lì)策略。 強(qiáng)化學(xué)習(xí)是通過(guò)最大化獲得獎(jiǎng)勵(lì)獲取策略, 如果對(duì)獎(jiǎng)勵(lì)的考慮不夠充分, 可獲得最大獎(jiǎng)勵(lì)的策略。
在利用深度強(qiáng)化學(xué)習(xí)技術(shù)進(jìn)行飛機(jī)尾旋改出的過(guò)程中, 需要著重解決強(qiáng)化學(xué)習(xí)的獎(jiǎng)勵(lì)函數(shù)無(wú)法兼顧策略安全性與穩(wěn)定性的問(wèn)題、 策略的探索與輸出難以預(yù)測(cè)和約束的問(wèn)題, 以及難以靈活地應(yīng)對(duì)動(dòng)態(tài)的多目標(biāo)控制問(wèn)題。
2 算法設(shè)計(jì)與實(shí)現(xiàn)
2.1 問(wèn)題建模
飛機(jī)的兩個(gè)相鄰時(shí)刻的飛行狀態(tài)可近似看成飛機(jī)在給定操作下?tīng)顟B(tài)之間的轉(zhuǎn)移, 飛機(jī)下一時(shí)刻的狀態(tài)僅和當(dāng)前時(shí)刻的狀態(tài)有關(guān), 與上一時(shí)刻的狀態(tài)無(wú)關(guān), 所以在理論層面上, 飛機(jī)的飛行狀態(tài)具有馬爾科夫性, 然后將飛機(jī)飛行過(guò)程在飛行時(shí)間的維度上離散化, 可以近似將飛機(jī)的飛行過(guò)程建模為離散時(shí)間的馬爾科夫鏈[12](Discrete-Time Markov Chain, DTMC)。 飛機(jī)的尾旋改出過(guò)程其本質(zhì)是通過(guò)操作桿對(duì)飛機(jī)的狀態(tài)轉(zhuǎn)移加以控制, 使飛機(jī)達(dá)到某個(gè)目標(biāo)狀態(tài), 故飛機(jī)的尾旋改出過(guò)程就是在飛機(jī)飛行過(guò)程的馬爾科夫鏈的基礎(chǔ)上加入決策控制, 故可將飛機(jī)尾旋改出過(guò)程建模為馬爾科夫決策過(guò)程(Markov Decision Process, MDP)。
將飛機(jī)的尾旋改出過(guò)程建模為馬爾科夫決策過(guò)程, MDP是一個(gè)序貫決策過(guò)程, 可以由一個(gè)5元組來(lái)表示, 具體建模內(nèi)容規(guī)范如下:
飛機(jī)的尾旋改出是一個(gè)連續(xù)控制問(wèn)題[13], 在MDP決策過(guò)程中, 采用強(qiáng)化學(xué)習(xí)方法去解決尾旋改出連續(xù)控制問(wèn)題。 以飛機(jī)進(jìn)入尾旋后的初始狀態(tài)作為強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)的環(huán)境初始化之后的第一個(gè)狀態(tài), 然后設(shè)計(jì)合理的強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)去擬合狀態(tài)和動(dòng)作的映射關(guān)系, 以強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)的輸出值(即動(dòng)作值)作為飛機(jī)控制桿的控制量, 飛機(jī)獲得新的控制量后對(duì)當(dāng)前狀態(tài)進(jìn)行更新并獲得新的狀態(tài), 此時(shí)環(huán)境會(huì)根據(jù)飛機(jī)的新?tīng)顟B(tài)對(duì)這次控制決策給出一個(gè)獎(jiǎng)勵(lì)值, 隨后以該新?tīng)顟B(tài)作為強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)的下一個(gè)輸入值, 如此每一次循環(huán), 飛機(jī)將完成識(shí)別當(dāng)前狀態(tài)—執(zhí)行控制指令—到達(dá)下一狀態(tài)—獲取獎(jiǎng)勵(lì)值這一完整流程, 強(qiáng)化學(xué)習(xí)的目的是讓每一輪中飛機(jī)獲得的累計(jì)獎(jiǎng)勵(lì)值達(dá)到最大, 在合理的獎(jiǎng)勵(lì)函數(shù)引導(dǎo)下, 就可以引導(dǎo)網(wǎng)絡(luò)做出有利于尾旋改出的決策, 直至將飛機(jī)改出尾旋狀態(tài), 恢復(fù)平穩(wěn)飛行。
在基于值函數(shù)的強(qiáng)化學(xué)習(xí)算法中, 深度神經(jīng)網(wǎng)絡(luò)的輸出是當(dāng)前狀態(tài)s的所有可執(zhí)行動(dòng)作的狀態(tài)-動(dòng)作價(jià)值Q(s, a; θ)所組成的向量, 因此該方法只能處理離散動(dòng)作空間問(wèn)題。 而本文的尾旋改出場(chǎng)景是連續(xù)動(dòng)作空間問(wèn)題, 比如動(dòng)作設(shè)定為飛機(jī)操縱桿的幅度值, 基于值函數(shù)的強(qiáng)化學(xué)習(xí)算法不適用。 策略梯度方法利用參數(shù)化的深度神經(jīng)網(wǎng)絡(luò)來(lái)近似策略, 從而可以輸出連續(xù)的動(dòng)作策略, 解決尾旋改出問(wèn)題中涉及的連續(xù)動(dòng)作問(wèn)題。 策略梯度方法在每次進(jìn)行策略更新前, 需要采用當(dāng)前的策略與環(huán)境進(jìn)行交互產(chǎn)生多條軌跡, 計(jì)算梯度后對(duì)模型進(jìn)行更新, 得到新的策略。
由此可見(jiàn), 策略梯度是一種在線策略(On-Policy)的更新方法, 導(dǎo)致該算法對(duì)樣本的利用率較低。 同時(shí), 由于策略梯度算法輸出的是動(dòng)作的概率分布, 而不是一個(gè)確定性的動(dòng)作, 導(dǎo)致改出算法收斂速度較慢且不穩(wěn)定, 而基于值函數(shù)的強(qiáng)化學(xué)習(xí)方法可以解決這個(gè)問(wèn)題。
綜上, 可以將策略梯度和值函數(shù)相結(jié)合, 構(gòu)建一個(gè)新的強(qiáng)化學(xué)習(xí)架構(gòu), 即Actor-Critic(AC)架構(gòu)[14-15]。 本文采用基于AC架構(gòu)建立的近端策略優(yōu)化算法[16](Proximal Policy Optimization, PPO)開(kāi)展尾旋改出試驗(yàn)。 PPO算法是一種新型的在線策略梯度方法, 它綜合了“策略梯度方法(PG)”和“置信域策略優(yōu)化(TRPO)”的優(yōu)點(diǎn)。
2.2 算法模型
2.2.1 狀態(tài)空間
在尾旋改出場(chǎng)景中, 強(qiáng)化學(xué)習(xí)狀態(tài)空間的變量由飛機(jī)的10個(gè)飛行狀態(tài)量構(gòu)成, 分別為空速、 迎角、 側(cè)滑角、 滾轉(zhuǎn)角、 俯仰角、 偏航角、 滾轉(zhuǎn)角速度、 俯仰角速度、 偏航角速度、 垂直速度。 在強(qiáng)化學(xué)習(xí)的網(wǎng)絡(luò)訓(xùn)練過(guò)程中, 狀態(tài)信息被表征為一個(gè)10維向量。 表1為強(qiáng)化學(xué)習(xí)狀態(tài)空間的變量表。
2.2.2 動(dòng)作空間
在尾旋改出場(chǎng)景下, 強(qiáng)化學(xué)習(xí)動(dòng)作空間的控制變量包含升降舵、 副翼、 方向舵和油門(mén)桿等4個(gè)操縱面。 表2通過(guò)對(duì)操縱面進(jìn)行歸一化處理, 給出了每一個(gè)控制變量的名稱、 含義及其取值范圍。
2.2.3 獎(jiǎng)勵(lì)函數(shù)
針對(duì)飛機(jī)尾旋改出場(chǎng)景, 獎(jiǎng)勵(lì)函數(shù)的設(shè)計(jì)目的是引導(dǎo)網(wǎng)絡(luò)做出最優(yōu)決策, 從而控制飛機(jī)完成改出。 因此, 獎(jiǎng)勵(lì)函數(shù)應(yīng)設(shè)計(jì)為一系列與狀態(tài)變量有關(guān)的函數(shù)。 為了使目標(biāo)網(wǎng)絡(luò)更容易收斂, 與各狀態(tài)變量相關(guān)的獎(jiǎng)勵(lì)函數(shù)應(yīng)統(tǒng)一, 獎(jiǎng)勵(lì)函數(shù)r的形式如下:
式中: 函數(shù)變量Curval表示智能體中當(dāng)前該狀態(tài)分量的值; Tarval表示智能體中該狀態(tài)分量的目標(biāo)值; Θ為縮放系數(shù)。 當(dāng)Θ為0.02時(shí), 該函數(shù)如圖1所示。
該獎(jiǎng)勵(lì)函數(shù)有以下特點(diǎn):
(1) 越靠近目標(biāo)值, 獎(jiǎng)勵(lì)值越大。 從圖中可以看出, 當(dāng)前狀態(tài)值與目標(biāo)值越接近, 函數(shù)值越大, 而且在目標(biāo)值附近時(shí)函數(shù)值變化十分劇烈, 這是為了讓強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)在目標(biāo)值附近決策時(shí), 依然可以獲取較大的獎(jiǎng)勵(lì)差值, 使網(wǎng)絡(luò)更容易收斂至最優(yōu)點(diǎn)。
(2) 通過(guò)調(diào)整Θ值來(lái)代替正向動(dòng)作獎(jiǎng)勵(lì)。 正向動(dòng)作獎(jiǎng)勵(lì)是指若當(dāng)前決策使得該狀態(tài)分量比上一次決策更接近目標(biāo)值, 則獲得正值的獎(jiǎng)勵(lì), 否則獲得負(fù)值的懲罰, 這會(huì)引導(dǎo)智能體在每一次決策中趨向于做出當(dāng)前狀態(tài)下的正向決策。 在該獎(jiǎng)勵(lì)函數(shù)中, 通過(guò)調(diào)整縮放系數(shù)Θ, 可以改變曲線與x軸的交點(diǎn), 而通過(guò)調(diào)整交點(diǎn)位置, 可以在一定程度上代替正向動(dòng)作獎(jiǎng)勵(lì), 同時(shí)又避免了正向動(dòng)作獎(jiǎng)勵(lì)在目標(biāo)值附近振蕩的缺點(diǎn)。 試驗(yàn)證明, 當(dāng)交點(diǎn)為(40, 0)左右時(shí), 訓(xùn)練效果最好, 此時(shí)對(duì)應(yīng)的縮放系數(shù)Θ取值為0.02。
(3) 將獎(jiǎng)勵(lì)值歸一到[-1, 1]。 獎(jiǎng)勵(lì)值歸一化有利于減少因各個(gè)獎(jiǎng)勵(lì)的標(biāo)量值不同對(duì)總體獎(jiǎng)勵(lì)的影響, 同時(shí)也更加方便對(duì)不同參數(shù)的獎(jiǎng)勵(lì)設(shè)置不同的權(quán)重, 設(shè)置更加明確的獎(jiǎng)勵(lì)函數(shù)和權(quán)重。
總獎(jiǎng)勵(lì)Rtot為各狀態(tài)分量相關(guān)獎(jiǎng)勵(lì)的加權(quán)和, 即
權(quán)重Wi表示網(wǎng)絡(luò)對(duì)第i個(gè)狀態(tài)分量的重視程度, 在實(shí)際的訓(xùn)練過(guò)程中, 各項(xiàng)權(quán)重將根據(jù)訓(xùn)練的不同階段進(jìn)行調(diào)整。
實(shí)際訓(xùn)練中, 使用空速、 迎角、 側(cè)滑角、 滾轉(zhuǎn)角、 俯仰角、 偏航角、 滾轉(zhuǎn)角速度、 俯仰角速度、 偏航角速度、 垂直速度等10個(gè)狀態(tài)變量進(jìn)行計(jì)算, 然后, 將各訓(xùn)練輪次的獎(jiǎng)勵(lì)函數(shù)取值進(jìn)行疊加, 得到最終的獎(jiǎng)勵(lì)函數(shù)取值, 即
Rtot=Rα+R+Rθ+RΨ+Rp+Rq+Rr+RVh(3)
式中: Rα, R, Rθ, Rψ, Rp, Rq, Rr, RVh分別表示迎角、 滾轉(zhuǎn)角、 俯仰角、 偏航角、 滾轉(zhuǎn)角速度、 俯仰角速度、 偏航角速度、 垂直速度對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)分量。 各分量對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)的參數(shù)設(shè)置如表3所示。
2.3 訓(xùn)練和測(cè)試環(huán)境
強(qiáng)化學(xué)習(xí)模型的訓(xùn)練和測(cè)試環(huán)境是基于開(kāi)源的飛機(jī)仿真程序, 其低保真模型迎角范圍為-20°~45°, 高保真模型[17]迎角范圍為-20°~90°。 為了研究飛機(jī)的尾旋運(yùn)動(dòng), 本文使用高保真模型進(jìn)行仿真。 其中飛機(jī)本體運(yùn)動(dòng)方程、 作動(dòng)器模型、 標(biāo)準(zhǔn)大氣模型等都基于飛機(jī)仿真程序說(shuō)明文檔及公開(kāi)資料[18]。 本文采用常規(guī)遍歷進(jìn)入方法, 生成若干尾旋軌跡, 作為強(qiáng)化學(xué)習(xí)尾旋改出算法的數(shù)據(jù)集。
尾旋軌跡構(gòu)建的主要過(guò)程是, 首先選定不同高度, 將飛機(jī)在規(guī)定速度下配平, 然后選擇控制升降舵使飛機(jī)到達(dá)超臨界迎角區(qū)域, 再通過(guò)不同副翼、 方向舵偏轉(zhuǎn)進(jìn)入尾旋。 高度取值方法為2 000 ft到20 000 ft中每2 000 ft取一個(gè)值, 速度均取為300 ft/s。
根據(jù)上述方法進(jìn)入尾旋, 生成了足夠數(shù)量的尾旋軌跡, 尾旋中飛機(jī)平均迎角60°左右, 平均偏航角速度80 (°)/s。 每條軌跡由北向位置、 東向位置、 高度、 空速、 迎角、 側(cè)滑角、 滾轉(zhuǎn)角、 俯仰角、 偏航角、 滾轉(zhuǎn)角速度、 俯仰角速度、 偏航角速度、 發(fā)動(dòng)機(jī)狀態(tài)、 升降舵偏轉(zhuǎn)、 副翼偏轉(zhuǎn)、 方向舵偏轉(zhuǎn)等16個(gè)時(shí)序數(shù)據(jù)構(gòu)成。 圖2展示了一條典型的尾旋軌跡三維圖, 圖3給出了在該軌跡上飛機(jī)狀態(tài)量的變化情況。
由圖3可見(jiàn), 10 s之后飛機(jī)迎角快速超過(guò)50°,進(jìn)入過(guò)失速狀態(tài), 并發(fā)生橫航向的向左偏離運(yùn)動(dòng)。 40 s左右, 飛機(jī)偏航速率達(dá)到100 (°)/s、 平均迎角約為70°, 開(kāi)始進(jìn)入較為典型的平尾旋狀態(tài), 飛機(jī)沿著一條半徑極小的螺旋線急速下墜, 如圖2所示。
3 智能體訓(xùn)練和測(cè)試
3.1 試驗(yàn)條件設(shè)置
3.1.1 訓(xùn)練初始狀態(tài)
在強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練過(guò)程中, 每個(gè)控制回合的開(kāi)始需要初始化環(huán)境, 然后控制網(wǎng)絡(luò)接受的第一個(gè)狀態(tài)量為初始狀態(tài)。 表4列出了訓(xùn)練中的部分初始條件, 其余條件可根據(jù)給出的要求和飛機(jī)尾旋時(shí)自身狀態(tài)計(jì)算得到。
3.1.2 訓(xùn)練終止條件
一輪循環(huán)中飛機(jī)控制步數(shù)達(dá)到給定數(shù)量(由超參數(shù)max_step指定)后將自動(dòng)結(jié)束本輪循環(huán), 若最后一個(gè)狀態(tài)仍未達(dá)到尾旋改出標(biāo)準(zhǔn), 則將此次控制視為改出失敗。
達(dá)到給定尾旋改出成功條件: 一輪循環(huán)中若控制輸出步數(shù)未達(dá)到最大執(zhí)行步數(shù), 且飛機(jī)狀態(tài)達(dá)到給定的尾旋改出成功狀態(tài)值, 則將此次控制視為改出成功。 表5為給定的尾旋改出成功狀態(tài)值表。
3.2 網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)
本文PPO算法設(shè)計(jì)了兩種動(dòng)作網(wǎng)絡(luò)(Actor)結(jié)構(gòu)。 其中, 基準(zhǔn)版的網(wǎng)絡(luò)結(jié)構(gòu)只有一個(gè)隱藏層, 其網(wǎng)絡(luò)寬度為64, 其結(jié)構(gòu)如圖4所示。
加深版Actor網(wǎng)絡(luò)中的隱藏層變?yōu)?層, 同時(shí)將網(wǎng)絡(luò)的寬度擴(kuò)增為128, 其結(jié)構(gòu)如圖5所示。
本文PPO算法設(shè)計(jì)了兩種評(píng)價(jià)網(wǎng)絡(luò)(Critic)結(jié)構(gòu)。 其中, 基準(zhǔn)版的網(wǎng)絡(luò)結(jié)構(gòu)只有一個(gè)隱藏層, 其網(wǎng)絡(luò)寬度為64, 其結(jié)構(gòu)如圖6所示。
加深版Critic網(wǎng)絡(luò)的隱藏層變?yōu)?層, 同時(shí)將網(wǎng)絡(luò)的寬度擴(kuò)增為128, 其結(jié)構(gòu)如圖7所示。
3.3 訓(xùn)練的超參數(shù)設(shè)置
飛機(jī)仿真積分時(shí)間: 0.001 s
強(qiáng)化學(xué)習(xí)算法決策控制間隔: 0.03 s
隨機(jī)種子: 10
經(jīng)驗(yàn)池大小(Batch_size): 2 048
單批次更新大小(Mini_batch): 64
單次經(jīng)驗(yàn)池的更新次數(shù)(K_epochs): 5
策略的熵(Policy Entropy): 0.01
優(yōu)化器eps參數(shù)(Adam Epsilon): 1×10-5
Actor和Critic網(wǎng)絡(luò)的學(xué)習(xí)率: 3×10-4
折扣因子(γ): 0.99
泛化優(yōu)勢(shì)估計(jì)器參數(shù)(λ): 0.95
PPO 截?cái)鄥?shù)(Epsilon): 0.2
網(wǎng)絡(luò)隱藏層寬度(Hidden_width): 64
最大步長(zhǎng)(Max_step): 50 000
3.4 訓(xùn)練過(guò)程的優(yōu)化方法
3.4.1 初始改出狀態(tài)點(diǎn)的隨機(jī)化處理
在訓(xùn)練過(guò)程中, 選取了16條不同的尾旋軌跡, 在尾旋軌跡上隨機(jī)選取了共計(jì)1 500個(gè)發(fā)生尾旋的飛機(jī)飛行狀態(tài)點(diǎn), 并在這1 500個(gè)飛行狀態(tài)點(diǎn)上隨機(jī)仿真0~10 s后, 再使智能體操縱飛機(jī)舵面, 開(kāi)始尾旋改出訓(xùn)練。 這樣就可以使智能體在盡可能多的狀態(tài)下開(kāi)展尾旋改出訓(xùn)練, 拓展智能體的狀態(tài)空間取值范圍, 增加初始狀態(tài)點(diǎn)的隨機(jī)性, 從而學(xué)習(xí)到更為全面的改出操縱方法, 提高智能體的改出成功率。
3.4.2 分階段的獎(jiǎng)勵(lì)函數(shù)設(shè)置
在尾旋改出過(guò)程中, 目前普遍適用的操縱方法是: 首先令飛機(jī)“止旋”, 然后再操縱飛機(jī)“拉平”。 因此, 在訓(xùn)練過(guò)程中可以將尾旋改出的獎(jiǎng)勵(lì)分為兩部分。 第一部分是在飛機(jī)姿態(tài)變化率較大(p, q或r的絕對(duì)值超過(guò)10 (°)/s)時(shí), 將p, q和r對(duì)應(yīng)的獎(jiǎng)勵(lì)值設(shè)置更大的權(quán)重; 第二部分是在飛機(jī)姿態(tài)變化率較小(p, q和r的絕對(duì)值小于10 (°)/s)時(shí), 則增加對(duì)滾轉(zhuǎn)角、 俯仰角和偏航角的獎(jiǎng)勵(lì)值, 鼓勵(lì)智能體完成“拉平”控制。
雙階段獎(jiǎng)勵(lì)函數(shù)的第一階段:
Rtot=Rp+Rq+Rr+RVh(4)
其中各分量對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)系數(shù)如表6所示。
雙階段獎(jiǎng)勵(lì)函數(shù)的第二階段:
Rtot=R+Rθ+RΨ+RVh(5)
式中各分量對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)系數(shù)如表7所示。
4 試驗(yàn)結(jié)果
4.1 訓(xùn)練與測(cè)試表現(xiàn)
在訓(xùn)練環(huán)境下將尾旋進(jìn)入-改出整個(gè)過(guò)程分為三個(gè)階段。 (1)第一階段: 平飛階段; (2)第二階段: 采用一定的控制操作使飛機(jī)進(jìn)入尾旋; (3)第三階段: 改出控制階段, 強(qiáng)化學(xué)習(xí)動(dòng)作網(wǎng)絡(luò)將輸出操縱動(dòng)作值, 控制飛機(jī)從尾旋狀態(tài)中改出。
此外, 本文在開(kāi)展尾旋改出控制時(shí), 通過(guò)改變獎(jiǎng)勵(lì)函數(shù)的設(shè)置, 提出了單階段改出和止旋-拉平雙階段改出等兩種改出策略。
4.1.1 單階段改出
圖8展示了采用單階段改出策略進(jìn)行智能體訓(xùn)練時(shí), 尾旋改出過(guò)程中飛機(jī)飛行狀態(tài)量的變化曲線。 圖8中標(biāo)注了多條垂直于橫軸的短豎線,? 代表在該狀態(tài)點(diǎn), 飛機(jī)已經(jīng)滿足改出訓(xùn)練設(shè)置的終止條件; 曲線的起始點(diǎn)代表智能體接管飛機(jī)控制的起點(diǎn),? 當(dāng)前程序設(shè)定的是進(jìn)入穩(wěn)態(tài)尾旋后10 s, 智能體開(kāi)始介入改出控制。
圖9和圖10分別展示了低空狀態(tài)和高空狀態(tài)下采用訓(xùn)練好的智能體進(jìn)行尾旋改出過(guò)程中飛機(jī)飛行狀態(tài)量的變化曲線。 從圖9中可以看出, 開(kāi)始改出操縱后飛機(jī)迎角逐漸穩(wěn)定到20°左右、 滾轉(zhuǎn)角和側(cè)滑振蕩收斂到0°附近, 飛機(jī)恢復(fù)到無(wú)側(cè)滑、 機(jī)翼水平的穩(wěn)定對(duì)稱飛行姿態(tài), 改出過(guò)程時(shí)長(zhǎng)為16 s, 高度損失為550 ft。 可見(jiàn), 通過(guò)強(qiáng)化學(xué)習(xí)訓(xùn)練得到的智能體能夠?qū)w機(jī)從尾旋狀態(tài)中改出, 過(guò)程耗時(shí)較短、 高度損失較小且沒(méi)有進(jìn)入其他的危險(xiǎn)狀態(tài)。 從圖10中可以看出, 開(kāi)始改出操縱后飛機(jī)迎角從60°減小到20°左右、 滾轉(zhuǎn)角和側(cè)滑振蕩快速收斂到0°附近, 飛機(jī)恢復(fù)到無(wú)側(cè)滑、 機(jī)翼水平的穩(wěn)定對(duì)稱飛行姿態(tài), 改出過(guò)程時(shí)長(zhǎng)為35 s, 高度損失為2 500 ft。 因此, 強(qiáng)化學(xué)習(xí)訓(xùn)練得到的智能體能夠?qū)w機(jī)從尾旋中改出。
與圖9的低空改出結(jié)果相比, 高空改出耗時(shí)更長(zhǎng)、 高度損失更多。 由于高空狀態(tài)下空氣密度較小, 導(dǎo)致飛機(jī)各操縱舵面的操縱效能較低; 而在智能體的訓(xùn)練過(guò)程中, 沒(méi)有考慮飛行高度變化對(duì)尾旋改出策略的影響, 導(dǎo)致智能體在高空和低空的改出操縱策略一致, 當(dāng)高空操縱效能降低后, 其改出效率也會(huì)隨之下降。 在后續(xù)研究中, 可嘗試將高度因素納入到智能體的狀態(tài)變量空間中, 使其在高空和低空具備不同的改出操縱策略, 并優(yōu)化高空的改出效果。
4.1.2 雙階段改出
圖11展示了采用雙階段改出策略進(jìn)行智能體訓(xùn)練時(shí), 尾旋改出過(guò)程中飛機(jī)飛行狀態(tài)量的變化曲線。 圖11中標(biāo)注了多條垂直于橫軸的短豎線, 代表在該狀態(tài)點(diǎn), 飛機(jī)已經(jīng)滿足改出訓(xùn)練設(shè)置的終止條件。 當(dāng)前程序設(shè)定的是進(jìn)入穩(wěn)態(tài)尾旋后10 s, 智能體開(kāi)始介入改出控制。 圖12和圖13則分別展示了低空和高空狀態(tài)下采用訓(xùn)練好的智能體進(jìn)行尾旋改出過(guò)程中飛機(jī)飛行狀態(tài)量的變化曲線。
從圖12中可以看出, 開(kāi)始改出操縱后飛機(jī)迎角逐漸穩(wěn)定到20°左右、 滾轉(zhuǎn)角和側(cè)滑振蕩收斂到0°附近, 飛機(jī)恢復(fù)到無(wú)側(cè)滑、 機(jī)翼水平的穩(wěn)定對(duì)稱飛行姿態(tài), 改出過(guò)程時(shí)長(zhǎng)為18 s, 高度損失約為550 ft; 與圖9中展示的單階段改出效果基本一致。 綜上, 單階段和雙階段的改出策略均能夠?qū)w機(jī)從尾旋狀態(tài)中改出, 且過(guò)程耗時(shí)較短、 改出過(guò)程中高度損失較小, 且沒(méi)有進(jìn)入其他的危險(xiǎn)狀態(tài)。
從圖13中可以看出, 開(kāi)始改出操縱后飛機(jī)迎角從60°減小到20°左右, 滾轉(zhuǎn)角和側(cè)滑振蕩快速收斂到0°附近, 飛機(jī)恢復(fù)到無(wú)側(cè)滑、 機(jī)翼水平的穩(wěn)定對(duì)稱飛行姿態(tài), 改出過(guò)程時(shí)長(zhǎng)為8 s, 高度損失約為1 000 ft。 與圖10對(duì)比可知, 雙階段改出策略的改出效率明顯高于單階段改出策略, 且單階段改出過(guò)程中飛機(jī)姿態(tài)會(huì)出現(xiàn)較大幅度的振蕩, 而在雙階段改出過(guò)程相對(duì)平穩(wěn)。 綜上, 雙階段的改出策略能夠更高效地將飛機(jī)從尾旋狀態(tài)中改出, 且過(guò)程耗時(shí)更短、 改出過(guò)程中高度損失更小, 且不會(huì)進(jìn)入其他的危險(xiǎn)狀態(tài)。
4.2 魯棒性試驗(yàn)設(shè)置
4.2.1 系統(tǒng)時(shí)延干擾試驗(yàn)
系統(tǒng)時(shí)延是指輸入智能體動(dòng)作網(wǎng)絡(luò)的飛機(jī)狀態(tài)時(shí)刻與飛機(jī)當(dāng)前的真實(shí)狀態(tài)時(shí)刻之間的時(shí)間間隔, 如圖14所示。
為了驗(yàn)證系統(tǒng)的魯棒性, 需要在不同的系統(tǒng)時(shí)延條件下進(jìn)行尾旋改出試驗(yàn)。
4.2.2 傳感器誤差干擾試驗(yàn)
傳感器誤差是指在現(xiàn)實(shí)環(huán)境中獲取飛機(jī)各項(xiàng)狀態(tài)值與飛機(jī)真實(shí)值之間存在無(wú)法消除的工程誤差。 在仿真環(huán)境下, 通過(guò)在獲取狀態(tài)值之后添加一個(gè)給定方差的白噪聲來(lái)模擬這一情況, 如圖15所示。 從仿真環(huán)境中獲得的飛機(jī)真實(shí)狀態(tài)為S*, 輸入到?jīng)Q策網(wǎng)絡(luò)的狀態(tài)為添加噪聲δ之后的狀態(tài)S, 即
S=S*+δ(6)
為了驗(yàn)證系統(tǒng)的魯棒性, 需要在不同的系統(tǒng)誤差條件下進(jìn)行尾旋改出試驗(yàn)。
4.2.3 不同高度下隨機(jī)初始化條件試驗(yàn)
為了驗(yàn)證網(wǎng)絡(luò)的泛化能力, 需要在不同高度下進(jìn)行隨機(jī)初始化條件的尾旋改出試驗(yàn)。
4.2.4 交叉試驗(yàn)
為了驗(yàn)證各因素對(duì)尾旋改出的影響, 需要在不同干擾項(xiàng)疊加因素下開(kāi)展交叉試驗(yàn)。
4.2.5 網(wǎng)絡(luò)結(jié)構(gòu)試驗(yàn)
由于基準(zhǔn)版的網(wǎng)絡(luò)結(jié)構(gòu)在初步試驗(yàn)中, 發(fā)現(xiàn)其效果不太理想, 故設(shè)計(jì)加深版網(wǎng)絡(luò)試驗(yàn), 進(jìn)行對(duì)照, 希望加深版網(wǎng)絡(luò)可以更好地?cái)M合尾旋改出操作, 帶來(lái)更好效果。
4.3 魯棒性試驗(yàn)改出效果
根據(jù)上述魯棒性試驗(yàn)設(shè)置, 本文對(duì)基準(zhǔn)版網(wǎng)絡(luò)單階段、 基準(zhǔn)版網(wǎng)絡(luò)雙階段、 加深版網(wǎng)絡(luò)單階段、 加深版網(wǎng)絡(luò)雙階段算法分別進(jìn)行了魯棒性試驗(yàn)。 結(jié)果證明, 強(qiáng)化學(xué)習(xí)可以應(yīng)用在飛機(jī)的尾旋改出中。
4.3.1 系統(tǒng)時(shí)延干擾試驗(yàn)
系統(tǒng)時(shí)延會(huì)使改出時(shí)間增加, 所以在低空狀態(tài)時(shí), 增加的操作時(shí)間會(huì)使得網(wǎng)絡(luò)沒(méi)有足夠的時(shí)間進(jìn)行尾旋改出, 降低尾旋改出的成功率, 但是在高空狀態(tài)時(shí), 由于高度足夠, 對(duì)尾旋改出的成功率幾乎沒(méi)有太大的影響。 這主要是因?yàn)橄到y(tǒng)時(shí)延會(huì)不可避免地增加模型的決策時(shí)間間隔, 但不影響決策的有效性, 因此增加系統(tǒng)時(shí)延對(duì)模型的決策干擾是十分有限的。
4.3.2 傳感器誤差干擾試驗(yàn)
傳感器誤差在達(dá)到50%時(shí), 對(duì)模型的尾旋改出性能會(huì)有較少影響; 在大于50%誤差后, 反而會(huì)使改出時(shí)間降低。 結(jié)合系統(tǒng)時(shí)延對(duì)比試驗(yàn)的數(shù)據(jù), 說(shuō)明模型對(duì)干擾的抵抗是很有效果的。
4.3.3 不同高度下隨機(jī)初始化條件試驗(yàn)
在大于3 000 ft的高度下尾旋, 盡管發(fā)生尾旋時(shí)飛機(jī)的初始狀態(tài)不同, 改出的成功率會(huì)普遍升高且改出時(shí)間相近, 但在2 500 ft以下的低空進(jìn)行改出時(shí), 成功率會(huì)隨著高度的降低而降低, 尤其是尾旋高度低于2 000 ft后, 改出成功將完全取決于發(fā)生尾旋時(shí)飛機(jī)的初始狀態(tài), 若初始狀態(tài)十分不利于改出, 則會(huì)改出失敗。
4.3.4 交叉試驗(yàn)
在高空情況下, 系統(tǒng)試驗(yàn)和傳感器誤差的干擾對(duì)模型決策的影響較小, 但在低空情況下, 這兩項(xiàng)干擾會(huì)顯著降低改出成功率, 說(shuō)明尾旋高度越低, 模型的抗干擾能力越差。
4.3.5 不同網(wǎng)絡(luò)結(jié)構(gòu)試驗(yàn)
通過(guò)基準(zhǔn)版單階段與加深版單階段的網(wǎng)絡(luò)對(duì)比發(fā)現(xiàn), 網(wǎng)絡(luò)的加深有利于更好地?cái)M合較為復(fù)雜的狀態(tài), 可以帶來(lái)更好的表現(xiàn)。
在基準(zhǔn)版單階段與雙階段的對(duì)比中可以發(fā)現(xiàn), 雙階段的效果是優(yōu)于單階段的效果, 但是在加深版的試驗(yàn)中上述表現(xiàn)卻恰恰相反。 其原因可能是, 由于網(wǎng)絡(luò)加深以及雙階段帶來(lái)的訓(xùn)練難度增加, 加深版的神經(jīng)網(wǎng)絡(luò)還未訓(xùn)練到最優(yōu)狀態(tài), 從而出現(xiàn)了加深版雙階段智能體的改出效果不如加深版單階段的智能體。
5 結(jié)? 論
本文基于飛機(jī)仿真環(huán)境, 形成了16組典型尾旋軌跡數(shù)據(jù)樣本, 采用通用性較強(qiáng)、 易于調(diào)參的PPO算法, 建立了深度強(qiáng)化學(xué)習(xí)尾旋改出算法模型, 設(shè)計(jì)了基準(zhǔn)版單階段、 基準(zhǔn)版雙階段、 加深版單階段、 加深版雙階段四種網(wǎng)絡(luò)結(jié)構(gòu), 開(kāi)展了低空和高空狀態(tài)的改出算法訓(xùn)練, 設(shè)置了魯棒性測(cè)試試驗(yàn), 從時(shí)延、 誤差和高度等方面給出了試驗(yàn)結(jié)果。 總體結(jié)論如下: 單階段和雙階段的改出策略均能將飛機(jī)從尾旋狀態(tài)中改出, 過(guò)程耗時(shí)較短, 改出過(guò)程中高度損失較小, 且沒(méi)有進(jìn)入其他的危險(xiǎn)狀態(tài); 單階段改出過(guò)程中飛機(jī)姿態(tài)會(huì)出現(xiàn)較大幅度的振蕩, 而在雙階段改出過(guò)程相對(duì)平穩(wěn); 雙階段改出策略的改出效率總體高于單階段改出策略, 改出過(guò)程耗時(shí)更短、 高度損失更小, 且不會(huì)進(jìn)入其他的危險(xiǎn)狀態(tài)。
現(xiàn)階段工作主要存在三個(gè)方面的問(wèn)題: 一是原型系統(tǒng)氣動(dòng)力模型精確度有限; 二是缺乏對(duì)尾旋改出難度的評(píng)估; 三是尾旋改出方案的設(shè)計(jì)還需進(jìn)一步優(yōu)化。 目前, 飛機(jī)原型系統(tǒng)氣動(dòng)力模型的精確度有限, 難以生成更接近于實(shí)際的足夠數(shù)量的尾旋軌跡數(shù)據(jù), 導(dǎo)致訓(xùn)練和測(cè)試樣本不足。 本文雖能進(jìn)入一定數(shù)量的不同的尾旋模態(tài), 但是對(duì)尾旋改出難度的劃分還缺乏一個(gè)明確的定量標(biāo)準(zhǔn), 僅通過(guò)偏航角速率的大小來(lái)判斷改出難度的方法不夠精確, 不利于后續(xù)建立統(tǒng)一的衡量改出方案效果的評(píng)價(jià)標(biāo)準(zhǔn)。 對(duì)于尾旋改出方案, 現(xiàn)階段嘗試了單階段和雙階段兩種改出方式, 兩種方案在不同規(guī)模的網(wǎng)絡(luò)中表現(xiàn)出一定的差異性, 其原因還有待進(jìn)一步分析, 同時(shí)單階段方案在“止旋”階段存在一定的往復(fù)振蕩, 雙階段方案則不存在這個(gè)問(wèn)題, 往復(fù)振蕩會(huì)大大增加尾旋改出的總時(shí)間, 姿態(tài)調(diào)整階段通常會(huì)花費(fèi)較多的時(shí)間, 該問(wèn)題有待進(jìn)一步解決。
針對(duì)大迎角氣動(dòng)力模型的精確度問(wèn)題, 當(dāng)前除了基于數(shù)學(xué)模型的傳統(tǒng)建模方法, 汪清[19-20]、 何磊[21]、 王超[22]等人嘗試了支持向量機(jī)等機(jī)器學(xué)習(xí)方法用于大迎角非定常氣動(dòng)力建模, 取得了較好的效果。 在后續(xù)研究中, 可嘗試上述方法改善氣動(dòng)力模型。 針對(duì)尾旋改出難度的評(píng)估, 可以嘗試將剩余舵效大小作為評(píng)估量。 尾旋改出的難度除了體現(xiàn)在其運(yùn)動(dòng)本身的復(fù)雜性外, 還體現(xiàn)在可使用的力和力矩的大小, 如剩余舵面效能足夠大, 則即使是復(fù)雜的尾旋運(yùn)動(dòng)也可較為簡(jiǎn)單地改出, 因此, 剩余舵效是衡量尾旋改出難度的重要指標(biāo)之一, 應(yīng)將其納入考慮范圍。 為了改進(jìn)尾旋方案設(shè)計(jì), 應(yīng)進(jìn)一步探究單階段中“止旋”往復(fù)振蕩出現(xiàn)的原因, 同時(shí)研究雙階段中各階段不同的任務(wù)目標(biāo)是否會(huì)影響改出時(shí)間。 明確不同階段的任務(wù)目標(biāo)應(yīng)有助于提高尾旋改出的效率, 可在姿態(tài)調(diào)整階段設(shè)計(jì)傳統(tǒng)的最優(yōu)控制來(lái)替換強(qiáng)化學(xué)習(xí)以達(dá)到更短的改出時(shí)間。
參考文獻(xiàn):
[1] Kenny D J, Collins J, Sable A. Stall and Spin Accidents: Keep the Wings Flying [EB/OL]. (2022-12-10)[2023-07-04].https:∥www.aopa.org/-/media/files/aopa/ home/pilot-resources/safety-and-proficiency/accident-analysis/special-reports/stall_spin.pdf
[2] Bihrle W, Barnhart B. Spin Prediction Techniques[C] ∥Proceedings of the 6th Atmospheric Flight Mechanics Conference, 1980.
[3] 顏巍. 立式風(fēng)洞與立式風(fēng)洞試驗(yàn)[J]. 民用飛機(jī)設(shè)計(jì)與研究, 2016(3): 52-55.
Yan Wei. Vertical Wind Tunnel and Vertical Wind Tunnel Experiments[J]. Civil Aircraft Design & Research, 2016(3): 52-55. (in Chinese)
[4] Sidoryuk M E, Khrabrov A N. Estimation of Regions of Attraction of Aircraft Spin Modes[J]. Journal of Aircraft, 2019, 56(1): 205-216.
[5] Tomar D S, Gauci J, Dingli A, et al. Automated Aircraft Stall Recovery Using Reinforcement Learning and Supervised Learning Techniques[C]∥IEEE/AIAA 40th Digital Avionics Systems Conference, 2021: 1-7.
[6] Kolb S, Montagnier O, Hétru L, et al. Real-Time Detection of an Aircraft Deep Stall and Recovery Procedure[J]. Journal of Gui-dance, Control, and Dynamics, 2019, 42(5): 1185-1194.
[7] Cao H H, Zeng W F, Jiang H T, et al. Two-Stage Strategy to Achieve a Reinforcement Learning-Based Upset Recovery Policy for Aircraft[C]∥2021 China Automation Congress (CAC), 2022.
[8] Kim D , Oh G , Seo Y ,et al.Reinforcement Learning-Based Optimal Flat Spin Recovery for Unmanned Aerial Vehicle[J].Journal of Guidance, Control, and Dynamics, 2017, 40(4): 1074-1081.
[9] Chao H Y, Flanagan H P, Tian P Z, et al. Flight Test Investigation of Stall/Spin Detection Techniques for a Flying Wing UAS[C]∥Proceedings of the AIAA Atmospheric Flight Mechanics Conferen-ce, 2017.
[10] Bunge R A, Kroo I. Automatic Spin Recovery with Minimal Altitude Loss[C]∥Proceedings of the AIAA Guidance, Navigation, and Control Conference, 2018.
[11] Bunge R A, Munera Savino F, Kroo I. Approaches to Automatic Stall/Spin Detection Based on Small-Scale UAV Flight Testing[C]∥Proceedings of the AIAA Atmospheric Flight Mechanics Conference, 2015.
[12] Sutton R S. Barto A G. Reinforcement Learning: An Introduction [J].IEEE Transactions on Neural Networks, 1998, 9(5): 1054.
[13] Lillicrap T P, Hunt J J, Pritzel A, et al. Continuous Control with Deep Reinforcement Learning[EB/OL]. (2019-07-05)[2023-07-04]. https:∥arxiv.org/abs/1509.02971.
[14] Haarnoja T, Zhou A, Abbeel P, et al. Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor[EB/OL]. (2019-08-08)[2023-07-04]. https:∥arxiv.org/abs/1801.01290.
[15] Fujimoto S, van Hoof H, Meger D. Addressing Function Approximation Error in Actor-Critic Methods[EB/OL]. (2018-10-22)[2023-07-04].https:∥arxiv.org/abs/1802.09477.
[16] Schulman J, Wolski F, Dhariwal P, et al. Proximal Policy Optimization Algorithms[EB/OL]. (2017-08- 28)[2023-07-04]. https:∥arxiv.org/abs/1707.06347.
[17] Russell R S. Non-Linear F-16 Simulation Using Simulink and MATLAB [R]. 2003.
[18] Gillert W P, Nguyen L T, Van Gunst R W. Simulator Study of the Effectiveness of an Automatic Control System Designed to Improve the High-Angle-of-Attack Characteristics of a Fighter Airplane: NASA TN- D-8176[R]. Hampton Va: Langley Research Center, 1976.
[19] 汪清, 錢煒祺, 丁娣. 飛機(jī)大迎角非定常氣動(dòng)力建模研究進(jìn)展[J]. 航空學(xué)報(bào), 2016, 37(8): 2331-2347.
Wang Qing, Qian Weiqi, Ding Di. A Review of Unsteady Aerodynamic Modeling of Aircrafts at High Angles of Attack[J]. Acta Aeronautica et Astronautica Sinica, 2016, 37(8): 2331-2347. (in Chinese)
[20] Wang Q, Qian W Q, He K F. Unsteady Aerodynamic Modeling at High Angles of Attack Using Support Vector Machines[J]. Chinese Journal of Aeronautics, 2015, 28(3): 659-668.
[21] 何磊, 錢煒祺, 汪清, 等. 機(jī)器學(xué)習(xí)方法在氣動(dòng)特性建模中的應(yīng)用[J]. 空氣動(dòng)力學(xué)學(xué)報(bào), 2019, 37(3): 470-479.
He Lei, Qian Weiqi, Wang Qing, et al. Applications of Machine Learning for Aerodynamic Characteristics Modeling[J]. Acta Aerodynamica Sinica, 2019, 37(3): 470-479. (in Chinese)
[22] 王超, 王貴東, 白鵬. 飛行仿真氣動(dòng)力數(shù)據(jù)機(jī)器學(xué)習(xí)建模方法[J]. 空氣動(dòng)力學(xué)學(xué)報(bào), 2019, 37(3): 488-497.
Wang Chao, Wang Guidong, Bai Peng. Machine Learning Method for Aerodynamic Modeling Based on Flight Simulation Data[J]. Acta Aerodynamica Sinica, 2019, 37(3): 488-497. (in Chinese)
Aircraft Spin Recovery Technique Based on Deep
Reinforcement Learning
Abstract: This paper builds an aircraft simulation environment, and establishes a test model of an automated spin recovery algorithm based on proximal policy optimization (PPO) algorithm. Four kinds of network structures are designed, that are basis single stage, basis double stage, deep single stage and deep double stage, to explore the influence of network structure and recovery stage on spin recovery effect. A robustness test experiment is set up, and the algorithm is tested and the results are analyzed from the aspects of delay, error and height.
Key words: spin recovery; deep learning; reinforcement learning; proximal policy optimization; algorithm test; aircraft