付京博,邵會兵,詹 韜
(北京控制與電子技術研究所,北京 100038)
隨著高速飛行器飛行包線的擴大、氣動外形的復雜化,使得飛行控制系統模型越來越復雜、不確定性越來越強、非線性特性更加明顯、擾動因素更加難以預測。與此同時,新一代高速飛行器對姿態控制系統的敏捷機動能力以及控制精度的要求越來越嚴格。對于復雜的非線性飛行器控制系統,通常采用的處理方式是:首先對研究對象進行精確的數學建模,然后在系統特征點附近進行小擾動線性化處理,將原來的非線性系統轉變成線性系統進行設計。這種方法對數學模型提出了很高的要求,需要建立的數學模型足夠精準,才能使后續的設計結果更符合原系統的實際情況。然而,對于復雜的高不確定性、嚴重非線性、強擾動性被控對象,建立精確的數學模型是一個非常困難的任務。
針對該類問題,韓京清提出了一種不依賴精確模型的控制方法,即自抗擾控制方法,它是一種能夠觀測系統總擾動并進行實時補償的控制器,在解決強擾動、高不確定性控制問題方面具有較強優勢。自抗擾控制器是以擴張狀態觀測器為核心的非線性魯棒控制器,擴張狀態觀測器不僅可以觀測系統的狀態變量,同時可以準確的估計出被控對象模型的誤差和環境的擾動,而擴張狀態觀測器的觀測品質好壞則直接影響自抗擾控制器的控制品質,因此觀測器參數的設計問題是自抗擾控制器設計的關鍵。文獻[1]提出一種依據控制周期h來設計觀測器參數——觀測誤差放大系數——的方法,但由于采用固定參數,適應性較差,應用于高速飛行器這樣的參數大范圍快變系統時穩定性較差、控制精度不高。
為了解決上述問題,本文提出了基于DDPG的飛行器自抗擾控制技術,應用深度強化學習強大的自學習能力,通過大量的訓練,獲得不同未知擾動、氣動參數大范圍攝動等情況下擴張狀態觀測器的最優參數,避免了因為不可變參數而導致的擾動估計不精準的問題,最后通過仿真驗證算法的有效性。
對于高速飛行器,寫出其姿態運動微分方程:

(1)
式中,ωx是角速度,Jx是轉動慣量,MxQ、Mxq、MxI、MxB分別是空氣動力矩、阻尼力矩、慣性力矩和結構干擾力矩。其中空氣動力矩是高速飛行器所受的主要力矩,其余力矩與之相比較小,且具有不確定性,因此將它們當作系統未知擾動的一部分。而對于主要的空氣動力矩MQ,將對其進行進一步的分解,分離出已知的部分和未知的部分,根據文獻[2]可以得到空氣動力矩的表達式如下

(2)


(3)


(4)
具有“擾動估計補償”功能的自抗擾控制器是由以下四個部分組成的:
1) 跟蹤微分器是根據系統設定的輸入值v安排過渡過程v1,并提取輸入的微分信號v2。
2) 擴張狀態觀測器根據被控對象的輸入輸出信號估計出被控對象和作用于被控對象的總的擾動。
3) 根據系統的狀態誤差設計非線性反饋控制律。
將以上安排過渡過程、非線性反饋、擴張狀態觀測器組合在一起,構成自抗擾控制器,如圖1。

圖1 自抗擾控制器原理框圖
跟蹤微分器用于對姿態角指令安排過渡過程,目的是有限時間單調地跟上輸入的姿態角指令信號,無超調的進入穩態,同時也給出此過程的微分信號,作為非線性反饋控制器的輸入。在飛行器姿態控制系統設計中,不可避免的需要考慮系統的噪聲干擾。對于經典的微分器來說,為了獲取更加精確的微分信號,需要更短的采樣時間,但會伴隨著“噪聲放大”的現象。為此文獻[1]提出一種最速跟蹤微分器,其有很好的噪聲抑制能力,離散后的形式如下
fh=fhan(x1(k)-v(k),x2(k),r,h).

(5)
為了有效的消除微分信號進入穩態后的高頻振蕩,上式中的函數選擇最速控制綜合函數記做fh=fhan(x1,x2,r,h),其算法公式如下

(6)
式中:h為積分步長,r可用于控制跟蹤速度的快慢,r越大,跟蹤速度越快。
本文采用誤差和誤差微分的適當非線性組合設計反饋控制率,形式如下
u=β0fal(e0,a0,δ0)+β1fal(e1,a1,δ1)
(7)
采用冪次函數fal(e,a,δ),在a<1時,fal函數具有小誤差大增益、大誤差小增益的特性,避免了控制器因為誤差過大造成控制飽和的現象。引入δ把函數fal改造成原點附近具有線性段的連續函數,避免了高頻顫振現象。實際工程中,通常取a1=0.5、a2=0.25、δ=0.01。
對于自抗擾控制器來說,最核心是擴張狀態觀測器,通過建立擴張狀態觀測量的觀測方程,使系統具有擾動估計和補償的能力。
對式(4)狀態方程,建立其擴張狀態觀測器方程

(8)
式中:z1是x1的觀測值,z2是x2的觀測值、z3為擴張狀態變量x3的觀測值,也是“總擾動”的觀測值。β01、β02、β03是擴張狀態觀測器的誤差反饋增益。通過合理的選擇參數β01、β02、β03能夠使得“總擾動”的觀測值更加接近真實值。
對被控系統來說,當未知擾動變化范圍過大,變化速度過快時,采用固定擴張狀態觀測器參數的方法控制精度不高,因此結合深度強化學習,設計出了改進的自抗擾控制器。
強化學習是使智能體在與環境的交互過程中,根據不同的觀測值采取不同的行為,以最大限度地提高累積獎勵的一種算法。如圖2。

圖2 強化學習框圖
早期強化學習主要基于表格的方法來求解智能體狀態空間和動作空間離散且有限的任務,在實際的環境中,大部分的任務的狀態和動作的數量非常龐大,無法用表格的方法進行處理,比如圍棋大約有10170種狀態等等,這些問題都難以用傳統的強化學習算法進行求解。
為了解決上述的問題,學者們提出深度強化學習方法,利用深度學習極強的表征能力,使得智能體能夠感知更加復雜的環境狀態并且建立更加復雜的行動策略,從而進一步提高強化學習算法的求解與泛化的能力。針對NESO參數在線調節問題,本文采用可以處理連續動作控制的深度確定性策略梯度算法,即DDPG,如圖3。

圖3 DDPG算法框架
DDPG是基于actor-critic框架的深度強化學習算法,其有兩個網絡,分別是actor網絡、critic網絡,其中actor網絡負責根據環境反饋的狀態,輸出系統的連續動作;critic網絡是根據系統輸出的動作結合反饋的狀態,來生成該動作的價值。系統將實際得到的獎勵和critic網絡輸出的獎勵進行對比,得到獎勵的誤差,根據誤差,調整critic網絡的權值和偏置,使得critic網絡的輸出估計值更加準確。使用策略梯度算法,沿著提高動作價值的方向更新actor網絡的參數。在智能體與環境交互的過程中,兩個神經網絡的學習參數將得到不斷的更新,直到策略收斂。
DDPG算法的目標函數被定義為折扣累積獎勵的期望,即
Jβ(μ)=Eμ[r1+γr1+γ2r2+γ3r3+…+γnrn]
(9)
為了找到最優確定性行為策略μ*,等價于最大化上式目標函數Jβ(μ),即
μ*=argmaxJ(μ)
(10)
根據文獻[3]可知,目標函數Jβ(μ)關于策略網絡參數θμ的梯度,等價于動作值函數Q(s,a;θQ)關于θμ的期望梯度,因此根據鏈式求導法則,對目標函數進行求導,得到actor網絡的更新方式
?θ μJ≈Est~ρβ[?θ μQμ(st,μ(st))]
=Est~ρβ[?θ μQμ(s,a;θQ)|s=st,a=μ(st;θμ)]
(11)
式中Qμ(s,μ(s))表示在狀態s下,按照確定性策略μ選擇動作時,能夠產生的動作狀態值Q;Es~ρβ表示狀態s符合分布ρβ的情況下Q值的期望。
又因為確定性策略可以表示為a=μ(s,θμ)的形式,上式可以寫成

(12)
對上式使用梯度策略算法,沿著提高動作值Q(s,a,θQ)的方向更新策略網絡的參數θμ。
價值網絡的損失函數:
L(θQ)=E[(TargetQ-Q(s,a,θQ))2]
(13)
基于式(14)計算神經網絡模型參數θQ的梯度
?θQL(θQ)=E(TargetQ-Q(s,a,θQ)) ?θQQ(s,a,θQ)(14)
上式中目標函數表示為:
TargetQ=r+γQ′(s′,μ(s′;θμ′))
(15)
式中Q′ 為目標Q值,θQ′和θμ′分別表示目標策略網絡和目標價值網絡的神經網絡參數。價值網絡參數的更新和策略網絡參數的更新交替迭代,只使用單一的神經網絡進行強化學習時,動作值的學習過程很容易出現不穩定現象,所以DDPG算法為價值網絡和策略網絡各設計兩個神經網絡,分別是:在線網絡和目標網絡。
訓練價值網絡的過程,就是尋找價值網絡中參數θQ的最優解的過程,DDPG算法訓練的目標是最大化目標函數Jβ(μ),同時最小化價值網絡Q的損失函數。DDPG偽代碼如下。
DDPG算法偽代碼
初始化:
1) 隨機初始化actor網絡Q(s,a;θQ)和actor網絡μ(s;θμ)的權重參數θQ、θμ
2) 初始化目標網絡Q′ 和μ′ ,其中網絡的權重參數為θQ→θQ′、θμ→θμ′
3) 初始化經驗回放池R
在M個回合內:
隨機初始化過程N以進行動作探索
獲得初始狀態值s0
在次數T內:
1) 根據當前帶有噪聲的策略計算當前時間步的動作at=μ(st;θμ)+Nt。
2) 執行動作at,并獲得獎勵值rt和新的狀態st+1。
3) 將當前狀態st,當前動作值at,當前獎勵值rt和下一個狀態st+1存儲在經驗池R中
4) 從經驗池R中隨機采樣小批量的N個轉換經驗樣本(si,ai,ri,si+1)。設
yi=ri+γQ′(si+1,μ′(si+1;θμ′);θQ′)。
5) 最小化損失函數更新critic網絡。

6) 使用梯度策略算法更新actor網絡。

?θQμ(st;θμ)|sist
7) 更新目標網絡。
θQ′←τθQ+(1-τ)θQ′
θμ′←τθμ+(1-τ)θQμ′
結束循環
結束循環
針對飛行器姿態控制系統的擴張狀態觀測器方程(9),通過對方程進行拉普拉斯變化和消元整理,可以求出狀態觀測器輸出Z3和被控對象輸出y之間的傳遞函數

(16)
特征方程為
s3+β01s2+β02s+β03
(17)


圖4 基于深度強化學習的自抗擾控制器結構框圖
根據圖(4)設計的控制系統結構框圖設置深度強化學習智能體的各項參數:
狀態空間:輸入的指令姿態角v、跟蹤微分器跟蹤的指令姿態角的值x1與狀態觀測器觀測值z1的差(記做e1)、跟蹤微分器跟蹤的指令姿態角的微分的值x2與狀態觀測器觀測值z2的差(記做e2)、跟蹤微分器跟蹤的指令姿態角的值x1與控制對象的輸出y的差(記做ey)、
動作空間:擴張狀態觀測器的極點
獎勵函數:設置獎勵函數R=-(20|e1|+5|e2|+40|ey|)-100d+g(ey).式子中g(ey)是相鄰兩個時刻的ey的積分差的函數,d為設置的截至因子,一般d=0,但當系統誤差ey過大時,返回值d=1。
智能體中的由狀態空間到動作空間的映射函數、狀態空間和動作空間到動作值得映射函數用神經網絡代替。
在simulink中搭建控制系統仿真模型,采用離線訓練的方法,給定系統期望姿態角輸入,系統中人為的增加方波干擾,設計深度強化學習與自抗擾控制相結合的控制器,使得輸出可以跟蹤期望姿態角,提高控制系統精度,增強系統魯棒性。
針對深度強化學習自抗擾控制器,采用正弦信號作為系統的輸入,同時為了模擬強干擾的環境,在仿真中增加了大小為[-1,1]的單位方波信號作為干擾信號,設置強化學習模塊的仿真次數450次,仿真步長為0.01s,智能體每一回合時間為5s。通過對智能體450回合的訓練,可以得到一個在有模型誤差,強未知擾動等干擾的情況下,仍能自動調節擴張狀態觀測器極點ωn,得到精確的“總擾動”的觀測值,進而控制系統可以精準的跟蹤輸入信號,得到更好的控制效果的控制器。訓練完成之后,通過改變干擾信號的大小和被控對象氣動參數測試智能體的訓練與泛化的效果。
測試基于深度強化學習自抗擾控制器與固定參數的傳統的自抗擾控制器對高不確定性、嚴重非線性、強擾動性的系統的控制效果,采取以下3種方法:
1) 將狀態方程中的模型參數b增大50%。
2) 將狀態方程中的模型參數b縮小50%
3) 僅將干擾信號增大5倍,頻率增加1倍。


圖5 傳統自抗擾控制器控制效果圖

圖6 改進的自抗擾控制器控制效果圖

圖7 誤差大小對比
當模型參數b縮小50%時,對比傳統控制器與改進的控制器的控制效果,如圖8、圖9和圖10。

圖8 傳統自抗擾控制器控制效果圖

圖9 改進的自抗擾控制器控制效果圖

圖10 誤差大小對比
當干擾信號增大5倍,頻率增大1倍,如圖11。對比傳統控制器與改進的控制器的控制效果。如圖12、圖13和圖14。

圖11 擾動方波信號

圖12 傳統自抗擾控制器控制效果圖

圖13 改進的自抗擾控制器控制效果圖

圖14 誤差大小對比
通過對以上仿真結果的分析可以得出,當系統的氣動參數攝動到-50%時,兩種方法的跟蹤效果均很好,改進的自抗擾控制器的跟蹤誤差略小于傳統的自抗擾控制,結果如圖10所示。當人為增大干擾信號的大小和頻率時,兩種方法的跟蹤效果均很好,改進的自抗擾控制器在仿真時間大于3.5s之后,跟蹤誤差小于傳統的自抗擾控制,結果如圖14所示。
當系統的氣動參數攝動到+50%時,兩種方法的跟蹤效果有明顯的差別,如圖7所示,傳統的自抗擾控制器的跟蹤誤差在[-0.4,0.4]之間浮動,基于深度強化學習的自抗擾控制器由于其強大的自學習能力,可以根據氣動參數的變化,自動的調整到擴張狀態觀測器的最優參數,使得跟蹤誤差在[-0.2,0.2]之間浮動,且越來越小。對比傳統的自抗擾控制器,跟蹤誤差有明顯的減小,控制效果更好。
本文針對高超聲速飛行器飛行過程中存在快變的擾動,大范圍的氣動參數攝動,且飛行需要精確控制的要求,提出了一種深度強化學習的自抗擾控制技術,通過深度強化學習算法離線訓練智能體,使智能體在與復雜環境的交互中,獲得擴張狀態觀測器的最優參數。對比傳統的固定參數的自抗擾控制器,大大節省了繁瑣的人工調參時間,對未知快變擾動的估計更加精準,極大的增加了算法的可適應性。仿真結果表明:基于深度強化學習的自抗擾控制技術對高不確定性、嚴重非線性、強擾動性的高超聲速飛行器的控制精度更高,魯棒性更好。