劉俊輝,單家元,榮吉利,鄭 雄
(1.北京理工大學宇航學院,北京 100081;2.北京理工大學飛行器動力學與控制教育部重點實驗室,北京100081;3.中國運載火箭技術(shù)研究院,北京100076)
近年來,導彈、火箭等飛行器自主學習飛行控制問題得到廣泛關(guān)注,未來復雜任務迫切需要增強彈/箭復雜飛行環(huán)境適應能力及突發(fā)事件的應對能力??缬驈妼弓h(huán)境作戰(zhàn),未知環(huán)境與非預定任務場景下偵察、打擊或?qū)?,由于飛行場景和任務變化,大氣密度、飛行速度、環(huán)境溫度、障礙物發(fā)生很大改變以及飛行器本體動力學發(fā)生突變等,傳統(tǒng)的針對預先已知使用場景和作戰(zhàn)任務而進行增益調(diào)度設計的飛行控制器需要各特征點下精確的系統(tǒng)模型,在未知、未探明環(huán)境中很難獲得,并且設計過程非常繁瑣,亟需突破以智能控制為核心的自主學習飛行控制技術(shù),以彌補程序化控制策略帶來的局限性,提升飛行器在復雜未知環(huán)境與突發(fā)事件下的自主性、強適應性與魯棒飛行控制能力。
強化學習控制方法是一種不依賴于對象動力學模型并對環(huán)境變化與模型時變特性具有較強魯棒性的控制方法,為飛行器自主飛行控制提供了有效可行的思路。強化學習方法起源于計算機領(lǐng)域,幾乎同一時期最優(yōu)控制領(lǐng)域?qū)W者Werbos, Bertsekas等開展了類似的近似動態(tài)規(guī)劃和神經(jīng)元動態(tài)規(guī)劃的研究。這些方法的理論根基是1956年Bellman提出的動態(tài)規(guī)劃方法。為了解決動態(tài)規(guī)劃方法的維度災難及逆向求解問題,Werbos在1977年提出了近似/自適應動態(tài)規(guī)劃方法,該方法融合了強化學習和動態(tài)規(guī)劃的思想。后續(xù),強化學習方法在計算機和控制領(lǐng)域分別迅速發(fā)展,并且在航空航天領(lǐng)域進行了廣泛探索研究,包括直升機、運載器、變體飛行器、制導系統(tǒng)的自適應飛行控制。為了實現(xiàn)在線求解飛行控制律,通常采用時序差分法(TD)來求解強化學習問題。TD結(jié)合了動態(tài)規(guī)劃法和蒙特卡洛法(MC)的優(yōu)勢,既不需要對象與環(huán)境的模型,也不用端到端的訓練過程,可以實現(xiàn)飛行控制器實時迭代更新。
自適應Actor critic designs(ACD)是一種基于TD的方法,結(jié)合Actor-Critic結(jié)構(gòu)、動態(tài)規(guī)劃、和神經(jīng)網(wǎng)絡的自適應/近似動態(tài)規(guī)劃方法,是設計自適應最優(yōu)飛行控制器的有效方法。ACD將策略評價(critic)和策略更新(actor)分離設計,能適應未知環(huán)境得到最優(yōu)控制策略。ACD方法可以分為:啟發(fā)式動態(tài)規(guī)劃(HDP)、雙啟發(fā)式動態(tài)規(guī)劃(DHP)、全局雙啟發(fā)式動態(tài)規(guī)劃(GDHP)。DHP與HDP方法的區(qū)別在于DHP評價網(wǎng)絡用于近似值函數(shù)相對于狀態(tài)的偏導,而HDP的評價網(wǎng)絡用于近似值函數(shù)。GDHP方法是結(jié)合DHP與HDP的一種強化學習方法。但是這些方法都需要在線或離線辨識被控對象的精確模型。直接在線辨識對象的精確模型耗時較長,很難在線完成,而事先的離線辨識又由于環(huán)境或模型不確定性無法獲得對象的精確模型。文獻[11-12]通過輸入-輸出數(shù)據(jù)辨識被控對象增量模型,提出了基于增量模型的雙啟發(fā)式動態(tài)規(guī)劃方法(IDHP),很好地解決了模型精度與在線實時計算的矛盾,并應用于飛行控制器設計。相比于直接辨識被控對象模型的DHP方法,IDHP具有更快的在線學習速度和更高的控制精度。
IDHP自主學習飛行控制律分為控制律學習階段和飛行控制運行階段。在控制律學習階段,IDHP基于一定的學習策略,通過施加持續(xù)激勵,采集系統(tǒng)響應數(shù)據(jù)來迭代更新行動和評價權(quán)值網(wǎng)絡的權(quán)值,實現(xiàn)控制器的學習。但是并不是所有的控制器參數(shù)都能通過學習獲得,在實施神經(jīng)網(wǎng)絡權(quán)值系數(shù)迭代學習之前需要根據(jù)一定的經(jīng)驗和收斂性分析確定動作和評價神經(jīng)網(wǎng)絡權(quán)值、學習率等超參數(shù)。不同的學習率對系統(tǒng)穩(wěn)定性和控制精度有較大影響。文獻[13]提出了兩階段切換控制策略,在預先訓練階段采用PID控制器輔助,并基于粗精度-高精度訓練不斷迭代訓練神經(jīng)網(wǎng)絡權(quán)值系數(shù),運行階段采用IDHP控制器,此方法減輕了訓練階段控制的振蕩,提高了學習成功率。但是,現(xiàn)有的方法大多是事先設定學習率、神經(jīng)網(wǎng)絡初值等超參數(shù),而事先設定超參數(shù)的方式無法適應飛行器速度、大氣密度大幅變化以及變體飛行器氣動特性等被控對象動力學特性大范圍變化情況下的自主飛行控制。文獻[4]結(jié)合監(jiān)督學習與強化學習,提出了監(jiān)督Actor-Critic控制結(jié)構(gòu),監(jiān)督結(jié)構(gòu)提供額外的信息來進行評價反饋以“成形”最優(yōu)學習策略,加速收斂。Dias等提出一種針對飛行器容錯控制的基于監(jiān)督器觸發(fā)在線自適應學習控制。受文獻[4,14]啟發(fā),本文提出一種自適應調(diào)整學習率的增量強化學習飛行控制方法,以適應飛行器動力學特性大范圍變化時的自主學習飛行控制。
本文的主要貢獻在于設計了一種基于梯度下降法的在線調(diào)整強化學習動作網(wǎng)絡學習率超參數(shù)的算法。具體為:
1)在強化學習評價網(wǎng)絡、動作網(wǎng)絡和模型網(wǎng)絡三層結(jié)構(gòu)的基礎上增加性能監(jiān)督器,提出了基于實時控制性能監(jiān)督評估的學習率在線調(diào)整框架;
2)利用小波分析方法構(gòu)造飛行控制器穩(wěn)定度實時量化評估指標,在線評估不同學習率參數(shù)下控制系統(tǒng)穩(wěn)定度,為學習率參數(shù)實時調(diào)整提供依據(jù);
3)將學習率在線調(diào)整轉(zhuǎn)化為非線性優(yōu)化問題,基于梯度下降法實現(xiàn)了學習率參數(shù)在線優(yōu)化,提高了增量強化學習飛行控制律的成功率及在飛行器動力學特性大范圍變化下的適應性,減輕了IRL飛行控制算法對預先設定學習率參數(shù)的依賴。
圖1 增量強化學習簡略圖(實線表示前向信號流,虛線代表自適應調(diào)整路徑)
利用強化學習來求解飛行控制問題,首先要明確狀態(tài)轉(zhuǎn)移關(guān)系和價值函數(shù)。在高頻采樣假設條件下,基于離散時間模型描述非線性系統(tǒng)狀態(tài)轉(zhuǎn)移函數(shù)(,)∈×1,如式(1)所示。其中∈×1表示狀態(tài)向量,∈×1為動作向量,和分別為狀態(tài)向量和動作向量維數(shù)。
+1=(,)
(1)
式中:下標表示當前時刻,下標+1表示下一時刻。
(2)
控制的目標是使飛行狀態(tài)跟蹤參考指令信息,因此一步回報函數(shù)設計為下一步狀態(tài)與參考狀態(tài)偏差的二次型形式
(3)
式中:∈×為給定的正定矩陣,下一步狀態(tài)+1需要基于在線辨識模型進行預測。的取值將影響強化學習控制律的收斂性,較大的能夠加快學習算法的收斂速度,而過大的容易使學習算法發(fā)散。
最優(yōu)化控制策略為使價值函數(shù)取最大值的控制策略,如下式所示
(4)
基于最小化TD誤差原理來更新評價網(wǎng)絡權(quán)值系數(shù)。評價網(wǎng)絡更新的目標是使誤差函數(shù)(5)最小。
(5)
其中,誤差定義為價值函數(shù)相對于狀態(tài)量偏導的時序差分誤差。
(6)
(7)
誤差函數(shù)相對于權(quán)值系數(shù)的梯度計算公式為
(8)
動作網(wǎng)絡更新的目標是最大化值函數(shù),基于Bellman最優(yōu)性定理可以得到:
(9)
(10)
價值函數(shù)相對于動作網(wǎng)絡權(quán)值系數(shù)的梯度計算公式為:
(11)
在增量強化學習控制律中,利用增量模型來近似非線性系統(tǒng)在時刻運行點(,)鄰域內(nèi)的模型。假設當前時刻→,基于一階泰勒展開,得到離散的近似線性化模型為
+1≈(,)+(,)Δ+(,)Δ
(12)
進一步,得到增量式動力學模型為
Δ+1≈-1Δ+-1Δ
(13)
其中,Δ=--1∈×1,Δ=--1∈×1分別為狀態(tài)量增量和控制量增量。
在增量強化學習算法中,利用實時測量得到的狀態(tài)量和控制輸入數(shù)據(jù),在線辨識狀態(tài)轉(zhuǎn)移矩陣和控制效果矩陣。基于辨識的增量模型來預測下一步系統(tǒng)狀態(tài),具體為
(14)
(15)
(16)
本文中參數(shù)矩陣應用參考文獻[11]的遞推最小二乘方法(RLS)來進行在線辨識。
進一步,可以得到式(6)和式(11)中,狀態(tài)向量+1相對于上一步狀態(tài)量和上一步控制量的偏導為
(17)
(18)
以不同動壓下飛行器參考攻角指令跟蹤飛行控制為例來驗證增量強化學習控制律,說明已有固定學習率算法存在的問題,并提出改進思路。將攻角和俯仰角速度作為系統(tǒng)狀態(tài),升降舵輸入作為控制輸入。并作如下假設:1)假設舵面偏轉(zhuǎn)產(chǎn)生的控制力在攻角控制通道所起的作用可以忽略;2)假設飛行器機體本身產(chǎn)生的俯仰阻尼力矩足夠小,可以忽略不計;3)假設推力與阻力平衡,由推力產(chǎn)生的攻角控制分量可以忽略不計。
建立飛行器縱向平面俯仰姿態(tài)運動非線性動力學模型為
(19)
式(19)中升力系數(shù)和俯仰力矩計算公式為
(20)
式中:0,0為零攻角升力和俯仰力矩系數(shù);,為升力系數(shù)、力矩系數(shù)相對于攻角的偏導;,為升力系數(shù)、力矩系數(shù)相對于舵偏角的偏導。
外環(huán)采用PID控制,得到參考俯仰角速度指令:
(21)
式中:=-;,,分別為比例項、積分項和微分項系數(shù)。
影響IRL算法的參考指令跟蹤速度,過大的將使系統(tǒng)趨于不穩(wěn)定,引入可以減小常值跟蹤誤差,有助于減弱參考指令跟蹤振蕩。根據(jù)PID參數(shù)調(diào)整原則,通過數(shù)學仿真確定,本文中取=188,=02,=015。
令強化學習算法中狀態(tài)量、參考狀態(tài)量和動作向量為
=[],=[],=[]
(22)
(23)
(24)
式中:函數(shù):2→和:2→分別為選取的光滑的基底函數(shù);,分別為評價網(wǎng)絡與動作神經(jīng)網(wǎng)絡神經(jīng)元個數(shù),也可以選用多層神經(jīng)網(wǎng)絡結(jié)構(gòu)來提高神經(jīng)網(wǎng)絡的非線性擬合能力。
為防止權(quán)值系數(shù)訓練過程容易發(fā)散,選取具有有界性的雙曲正切函數(shù)tanh(),∈(0, ∞]與tanh(),∈(0, ∞]組成的多項式作為評價網(wǎng)絡和動作網(wǎng)絡的基底函數(shù)。
=[[tanh()],[tanh()],
[tanh()]?[tanh()]]
(25)
=[[tanh()]?[tanh()]]
(26)
其中,?表示矩陣直積,下標,,,∈1,2,3,…,。
和的選取可以根據(jù)經(jīng)驗和仿真數(shù)據(jù)分析確定,從而確定神經(jīng)元個數(shù),(基底函數(shù)的總個數(shù))和基底函數(shù)形式。神經(jīng)元個數(shù)太多容易導致過擬合,太少將使擬合精度不夠。因此,第一步,根據(jù)控制系統(tǒng)特性選取足夠多的神經(jīng)元;第二步,通過仿真剔除權(quán)值系數(shù)發(fā)散的神經(jīng)元;從而可以確定動作網(wǎng)絡和評價網(wǎng)絡基底函數(shù)。本文中,取02,08,14,20,26,32;取02, 12, 24;取02, 32;取14, 26, 32。
進一步,計算得到
(27)
(28)
(29)
參考文獻[12],選取增量強化學習算法中的超參數(shù),并根據(jù)經(jīng)驗及仿真結(jié)果,設定為常值,具體數(shù)值見表1。飛行階段前20 s進行在線訓練,在舵控指令上疊加掃頻激勵信號作為舵控指令,以滿足充分激勵(PE)條件,用于充分激勵飛行器動力學模態(tài),加快控制律學習過程和模型辨識過程。掃頻信號的具體形式為:
=ej2π(+()2)
(30)
式中:初始頻率取為=0.001 Hz;調(diào)制率取為=0.5。
參考文獻[16]中飛行器的參數(shù),取切換模態(tài)6下飛行器動力學參數(shù)。取回報函數(shù)權(quán)重=[50],取任意參考攻角指令為:0~30 s 為3°,30~80 s為5°,80~120 s 為4°。初始狀態(tài)取為=0, q=0,舵控指令限幅±10,飛行環(huán)境參數(shù)為0~50 s 動壓為312.2 kg/(m·s),50 s 以后動壓變設為1311.2 kg/(m·s)。采用歐拉法進行數(shù)學仿真,仿真步長取為0.02 s,0~20 s 訓練階段在舵控指令上疊加掃頻指令,并且動作與評價網(wǎng)絡以較大學習率運行,以增強學習算法的探索能力,見表1,20 s以后的運行階段調(diào)整動作網(wǎng)絡學習率為較小值,以充分利用已學習到的經(jīng)驗。
表1 超參數(shù)設定值
仿真結(jié)果如圖2-3所示,可得到以下幾點結(jié)論:
圖2 固定學習率下飛行控制效果圖
圖3 固定學習率下評價網(wǎng)絡與動作網(wǎng)絡權(quán)值系數(shù)收斂結(jié)果
1)在20 s內(nèi)的訓練過程中,評價和動作網(wǎng)絡權(quán)值系數(shù)較快收斂;
2)運行階段,飛控能夠跟蹤不同于訓練時刻的參考攻角指令;
3)在飛行器動壓變化較大的情況下,基于預先設定學習率參數(shù)會導致IRL控制算法失效,評價網(wǎng)絡權(quán)值系數(shù)發(fā)散。
飛行控制系統(tǒng)的穩(wěn)定性可以通過觀察飛行狀態(tài)的振蕩情況來進行分析,工程上通常采用階躍響應振蕩次數(shù)來作為飛行控制器設計輸入。因此,本文的思路是實時監(jiān)測飛行狀態(tài)跟蹤誤差的振蕩情況,根據(jù)飛行狀態(tài)振蕩程度迭代優(yōu)化行動網(wǎng)絡學習率超參數(shù)?;谛阅鼙O(jiān)測的自適應學習率增量強化學習算法的結(jié)構(gòu)如圖4。本文改進的自適應學習率調(diào)整部分用于在線優(yōu)化調(diào)整學習率參數(shù)。
圖4 自適應學習率增量強化學習算法框架(實線表示前向信號流,虛線代表自適應調(diào)整路徑)
小波分析是在20世紀80年代Morlet、Arens、Grossmannn等的研究基礎上發(fā)展起來的應用數(shù)學領(lǐng)域成果。復Morlet小波在時頻兩域均具有良好的辨別能力,復Morlet小波母函數(shù)具有隨頻率參數(shù)改變而自動調(diào)節(jié)時、頻分辨率的能力,在頻域內(nèi),可將其視為一個窄帶濾波器。本文利用其特性,分析評估飛行控制性能。
:在平方可積的實數(shù)空間(),即能量有限的信號空間中,設()∈(),其傅里葉變換為(),若()滿足如下容許性條件:
(31)
則稱()為基本小波或母小波。
將基本小波()經(jīng)過伸縮和平移后,便可以得到小波函數(shù)族:
(32)
式中:為伸縮因子;為平移因子。
給定任意平方可積信號(),即()∈(),則經(jīng)過小波變換后,得到
(33)
式中:()為小波函數(shù)()的復共軛;(,)稱為小波變換系數(shù)。
在時域和頻域范圍內(nèi),復Morlet小波函數(shù)的定義如式(34)和式(35)。
(34)
()=eπ(-)
(35)
式中:為中心頻率;為帶寬,需要根據(jù)實際信號特性來確定這兩個參數(shù)。
飛行狀態(tài)的振蕩幅值及振蕩次數(shù)反映了飛行控制系統(tǒng)的穩(wěn)定性和穩(wěn)定裕度?;诖怂悸?,本文利用小波分析強大的時頻分析能力,以俯仰角速度跟蹤誤差為輸入,在線分析計算不同學習率下飛行器穩(wěn)定性指標,然后基于梯度下降法迭代更新增量強化學習飛控算法的學習率。
(36)
(37)
式中:,為小波分析輸入信號的起始和終止時刻;0<<1為遺忘因子,用于增大靠近當前時刻的小波系數(shù)權(quán)值。
式(37)中為小波系數(shù)取最大值時所對應的頻率值,計算公式為
(38)
得到飛控系統(tǒng)穩(wěn)定度評估指標后,基于梯度下降法設計學習率的更新率
(39)
式中:上標+1表示第+1步;為更新率步長。
.
1)設置小波分析時間窗口Δ及學習率更新容許誤差;
7)利用式(39)的更新率計算得到第步的學習率參數(shù);
步驟5設置閾值主要是為了防止小波誤差引起的學習率頻繁更新。
在這一部分,將采用第二節(jié)提到的飛行器非線性模型及不同仿真條件來驗證文中提出的自適應學習率的增量強化學習控制算法。
通過數(shù)學仿真對比分析固定學習率和自適應學習率下小波分析結(jié)果,校驗控制系統(tǒng)穩(wěn)定性小波分析的合理性。采用本文第二節(jié)中相同的仿真條件,在50 s時飛行器的動壓突變,動作網(wǎng)絡學習率為0.02和自適應學習率情況下小波系數(shù)如圖5和圖6所示。圖5a和圖6a分別為固定學習率和自適應學習率下小波系數(shù)圖,圖5b和圖6b分別為式(38)最大小波系數(shù)對應頻率下的小波系數(shù)。分析可知,固定學習率下小波系數(shù)在頻率4 Hz附近取值最大,并且隨著時間變化基本不衰減,而在自適應學習率下小波系數(shù)較小,并且衰減很快。圖5和圖6對應的時域軌跡曲線分別如圖2和圖7所示。對比分析可知,基于小波系數(shù)建立的評價函數(shù)能有效反映控制系統(tǒng)振蕩程度,為控制系統(tǒng)穩(wěn)定性實時評價提供性能指標。
圖5 固定學習率下小波系數(shù)圖
圖6 自適應學習率下小波系數(shù)圖
A.動壓大范圍變化下算法對比
圖7 自適應學習率下飛行控制效果圖
圖8 自適應學習率下權(quán)值系數(shù)收斂結(jié)果
圖9 自適應學習率與評價函數(shù)變化結(jié)果
B.ALRIRL與IRL算法穩(wěn)定性對比
學習算法的收斂性和穩(wěn)定性對于評估在線學習算法至關(guān)重要。目前,基于強化學習的飛行控制算法穩(wěn)定性還沒有得到嚴格的證明。本文中采用常用的蒙特卡洛打靶法來評價控制器收斂效果。利用運行階段(仿真時間大于20 s為起始到仿真結(jié)束)回報函數(shù)式(3)的累積值來衡量控制器的性能。采用與上一節(jié)相同的仿真條件,而初值,隨機生成,運行仿真程序。如果一次運行的累計回報值超過4000則認為此次控制失敗,并進行標記。一次運行累計回報值4000對應俯仰角速度常值誤差為≈0.89°。
隨機生成初始狀態(tài),∈([-6 6],[-8 8]),運行100次仿真,統(tǒng)計累計回報值來評價學習算法的穩(wěn)定性。在隨機初始狀態(tài)下,ALRIRL與IRL算法的累計回報值統(tǒng)計結(jié)果對比如圖10-a所示。由仿真結(jié)果可知,ALRIRL算法下,累計回報值分布區(qū)域更小,大部分在2000以內(nèi),成功率由IRL的88%提高到99%,較大提高了學習算法的穩(wěn)定性。
飛行器飛行動壓在50 s隨機變化,變化范圍為1.4~4.2倍,運行100次仿真,統(tǒng)計累計回報值來評價學習算法的穩(wěn)定性。ALRIRL與IRL算法的累計回報值統(tǒng)計結(jié)果對比如圖10-b所示。由仿真結(jié)果可知,隨機動壓變化下,ALRIRL算法累計回報值更小,大部分在2000以內(nèi),成功率由IRL的0%提高到100%,大大提高了學習算法在動壓突變情況下算法穩(wěn)定性。
圖10 ALRIRL與IRL算法累計回報值直方圖
對于預先設定動作網(wǎng)絡學習率參數(shù)的IRL方法飛行控制失敗率較高,并且無法適應飛行器動力學參數(shù)大范圍變化情況下的姿態(tài)穩(wěn)定控制問題,本文提出利用小波分析方法在線監(jiān)測IRL飛行姿態(tài)控制穩(wěn)定度,基于梯度下降法在線自適應調(diào)整增量強化學習控制器學習率的方法。仿真實例表明,通過小波變換設計的飛行控制穩(wěn)定度評價指標能夠有效地反映飛控系統(tǒng)的穩(wěn)定度。利用梯度下降法在線優(yōu)化調(diào)整學習率參數(shù)快速有效。本文提出的ALRIRL飛行控制律能夠有效提升強化學習飛行控制算法在隨機初值及隨機動壓變化下的飛行成功率,減輕了強化學習飛行控制算法對于精確學習率參數(shù)的依賴。