黃 贊,何 真,仇靖雯
(南京航空航天大學自動化學院, 南京 211106)
降落是固定翼無人機飛行性能的關鍵階段,固定翼飛行器的降落通常需要一定的滑跑距離,才能保證安全著陸。鳥類的降落方式有著飛行器無法達到的優勢。文獻[1]觀察到鴿子可以從空中直接降落到棲木上,降落過程中翅膀和身體存在40°~90°之間的較大俯仰角。研究者借鑒鳥類的降落方式,提出了無人機棲落機動的概念。無人機在棲落機動過程中,通過大迎角過失速的機動,產生很大的空氣阻力,實現快速減速,并最終以較低的速度準確降落在預定落點[2]。棲落機動飛行的過程不再需要滑行跑道,能夠拓寬固定翼無人機的應用場合。
文獻[3-4]研究了無人機棲落機動的空氣動力學模型,文獻[5]研究了無人機棲落機動過程的軌跡優化,并設計了變體無人機用于改善棲落機動的性能。文獻[6]研究了基于擾動觀測器的無人機棲落機動控制方法,并建立了由高度非線性的縱向動力學轉化而成的分段線性模型。目前,棲落機動控制方面的研究思路大多是給定參考軌跡,基于近似線性化的模型設計軌跡跟蹤控制器[7-8]。這類方法有一個共同的特點,即所設計的控制器依賴于參考軌跡,只在參考軌跡附近有效。而棲落機動中的無人機是一個高度非線性快時變的系統,同時棲落機動需要滿足許多約束(尤其是落點處的位置和速度約束),這使得不同條件下的參考軌跡偏差很大,且不容易計算獲得。針對這個問題,本文研究了一種無需給定參考軌跡的棲落機動控制策略設計方法。
強化學習通過與環境之間的交互,更新控制策略。一些專家學者提出了基于強化學習的飛行控制方法,可以根據當前的飛行狀態直接得到控制量,具有良好的適應性。文獻[9]針對無人機自主飛行到熱上升氣流的問題,設計了基于強化學習的飛行器導航控制器。文獻[10]利用強化學習訓練無人機在野外自主導航到熱上升氣流,學習并驗證了局部垂直風加速度和滾轉力矩對于導航的重要性。文獻[11]將深度強化學習應用到無人機自動特技飛行領域,能夠顯著地縮短學習時間。但在現實環境中,希望無人機從學習開始就具有良好的在線性能,如果先利用良好的歷史數據進行預訓練,將會增加深度強化學習在真實環境中的應用場景。文獻[12]利用專家數據進行預訓練,加快深度Q學習的學習過程。文獻[13]基于演示數據中的深層確定性策略梯度算法,解決了機器人將柔性對象插入剛性對象的搬運問題。在學習的前期階段,加入少量的專家演示數據可以幫助智能體的探索和學習。
針對具有高非線性、多約束特性的無人機棲落機動過程,本文基于深度強化學習,提出了一種無需給定參考軌跡的棲落機動控制策略設計方法。本文第一章介紹了固定翼無人機棲落機動的縱向動力學建模;第二章設計了固定翼無人機棲落機動的強化學習模型;第三章設計了能從專家經驗數據中學習的基于深度強化學習中近端策略優化(Proximal Policy Optimization,PPO)的棲落機動控制策略設計方法;第四章進行了仿真實驗,驗證了本文設計方法的有效性;第五章總結了本文的工作。
本文研究的對象為固定翼無人機,為了簡化研究模型,僅針對固定翼無人機棲落機動的縱向動力學建模,假設橫向運動對縱向運動方程無影響,方程如下[5]
(1)
式中,V為固定翼無人機的飛行速度;μ為航跡傾斜角;α為迎角;q為俯仰角速度;x為無人機的水平位置;h為垂直高度;m為無人機的質量;T為發動機推力;M為空氣動力矩;Iy為俯仰轉動慣量;L和D分別為無人機所受的升力和阻力。
固定翼無人機縱向運動的空氣動力方程如下
(2)
式中,ρ為空氣密度;S為固定翼無人機的空氣動力面積;CL、CD和CM分別為升力、阻力和力矩系數,其中CL和CD可由平板模型方法[14-15]得到與α之間的表達式
(3)
假設固定翼無人機裝有全動水平尾翼,能夠幫助無人機在低速飛行的狀態下獲得較大的控制力矩,則空氣動力矩系數的表達式為
1.4sinαsin2(α+δe)+0.1sinα)
(4)
式中,Se為升降舵的表面積;le為升降舵空氣動力重心到無人機質心的距離;δe為升降舵偏轉角。
本文采用標準馬爾可夫決策過程(Markov Decision Process,MDP)形式對無人機的棲落機動控制過程進行闡述。MDP由狀態S、動作A、收益R、概率分布P以及折扣因子γ構成。
在每一個時間步t,無人機與環境進行交互,返回一個觀測值st∈S,觀測值包括無人機的速度V、航跡傾斜角μ、迎角α、俯仰角速率q、水平位移x以及縱向位移h,在這個觀測值的基礎上選擇并執行動作at∈A,動作包括推力T以及升降舵偏轉角δe。下一時刻,作為執行動作的結果,獲得一個數值化的收益rt+1∈R(獎勵函數的設計將在2.2節中給出),根據當前無人機的狀態和所執行的動作結合概率分布P(st+1|st,at),確定下一時刻無人機的狀態st+1。每一幕軌跡在無人機抵達目標點并成功棲落或達到時間上限值時終止。
在基于策略的強化學習方法中,無人機在每個狀態下所采取的動作都遵循策略π,優化的目標是在策略π下的收益累加和
(5)
式中,τ={(s0,a0,r1),(s1,a1,r2)…}是無人機在策略π下的運動軌跡。
采取帶參數θ的神經網絡近似描述策略π,記為π(a|s,θ)。
本文采用策略梯度法學習策略參數θ,其目標是最大化目標函數J(θ)
J(θ)=Et[logπ(at|st,θ)At]
(6)
式中,At為優勢函數,是動作價值函數Q(s,a)和價值函數V(s)的差值
At=Q(st,at)-V(st)
(7)
策略參數θ的更新近似于J(θ)的梯度上升
(8)

在強化學習中,根據控制任務設計適當的獎勵函數非常重要。獎勵函數選取是否恰當,對學習過程的收斂性以及可行性有著重大影響,它的選取與任務的目標、控制對象所受的約束條件,以及所希望達到的性能指標密切相關。根據無人機無跑道降落的需求,要求棲落機動的無人機在規定的時間內到達預設棲落點完成棲落機動,并希望終點時刻的速度、俯仰角以及與目標值的誤差越小越好。因此,無人機棲落機動強化學習算法的獎勵函數如下所示:

(9)
式中,xf為終點位置;xmax為允許的最大水平位移。無人機棲落機動的最終目的是降落到預設地點,算法鼓勵無人機越接近預設棲落點越好。

(10)
式中,vf為終點速度;vmax為過程中允許的最大速度。無人機棲落機動在終點時刻時,速度越小越好,算法鼓勵無人機接近預設降落速度。

(11)
即無人機離終點位置的距離和終點時刻的速度變小,算法鼓勵無人機朝著棲落點接近。

(12)


≤σx&&|ht-hf|≤σh
(13)
式中,σv、σx和σh分別是終點速度、終點位置和終點高度的允許誤差;hf為終點高度;符號&&表示邏輯運算符與。

(14)

(15)
本文利用模仿強化學習(Imitation Reinforcement Learning,IRL)對無人機的棲落機動進行軌跡優化。該學習通過從人類專家的演示數據中學習,并促進深度強化學習。對無人機棲落機動的軌跡優化設計分為兩個階段,一個是模仿學習階段,另一個是使用PPO算法的強化學習階段。整體架構如圖1所示。

圖1 從模仿中進行強化學習的框架圖Fig.1 Architecture of reinforcement learning from demonstration
IRL基于PPO算法學習實現,但傳統的PPO算法會在大的動作空間中進行過多的失敗探索,往往會陷入局部最優。IRL則通過為行動器網絡的動作空間搜索提供更好的探索方向,以解決陷入局部最優的問題[16]。
在第一階段,本文使用模仿學習的方法對網絡進行預訓練,并在訓練結束后,將學習到的神經網絡權重共享到下一階段的行動器網絡中。該階段首先使用廣義偽譜GPOPS(General Pseudospectral Optimization Software)工具包生成學習所需的軌跡,得到N個參考軌跡序列τ。利用生成的軌跡通過模仿學習來訓練策略網絡,以模仿專家數據。策略π的網絡結構如圖2所示。策略網絡中的輸入為無人機棲落機動的狀態量,即飛行時的速度、航跡傾斜角、迎角、俯仰角速率、水平位移以及縱向位移,輸出為升降舵偏轉角的變化量。
通過模仿學習訓練無人機棲落機動飛行策略時,需要大量的演示數據,但過多相似的數據反而會影響訓練的效率。參考優先經驗回放,對訓練的輸入樣本進行非均勻抽樣,這樣既能讓收斂更快,也能讓收斂時的平均回報更高。先對所有的樣本根據重要度降序排列,每個樣本抽取的概率為
pj∝1/rank(j)
(16)
其中,rank(j)為樣本的序號。
由于演示的數據必然只會覆蓋狀態空間的一部分,也沒有采取所有可能的動作,因此有很多狀態動作從未被采取過,所以對模仿學習時的損失函數增加了一個監督損失
(17)
式中,ae為演示數據中所采取的動作,當a=ae時,l(ae,a)=0,否則為正。增加的監督損失能夠誘導無人機智能體的行為靠近演示數據。
在第二階段,本文使用PPO算法訓練策略網絡,以提高無人機棲落機動策略的泛化能力。該策略通過與仿真環境的互動獲得收益,并使用反饋回來的獎勵函數優化策略網絡。在從第一階段得到的策略網絡的基礎上學習,能夠提高該階段的強化學習樣本利用率以及學習效率,從而獲得更加通用的策略。由于無人機棲落飛行系統需要連續的預測動作,因此采用行動器-評判器的框架更新策略。用帶參數ω的神經網絡近似價值函數,記為V(s,ω)。則策略參數和價值函數參數的更新公式如下
(18)
(19)
式中,δt為t時刻的回報和以價值函數作為基準線的差值
δt=rt+1+γV(st+1,ω)-V(st,ω)
(20)
采用PPO算法優化此策略網絡,可以實現多次的小批量更新,并且能夠更好地應對復雜的環境情況。將經過模仿學習預先訓練好的θI加載到θ中,代替隨機初始化策略網絡參數,有助于減少PPO在早期階段探索所耗費的時間。
為了更好地利用更新策略時所得到的軌跡數據,可以使用重要性采樣構建目標函數[17]
(21)
式中,θold是更新之前的策略參數。
為了防止前后更新的策略差異較大,PPO算法通過使用超參數裁剪目標函數的形式來解決這類問題。
Jclip(θ)=E[min(pt(θ)At,clip(pt(θ),
1-ε,1+ε)At)]
(22)

At=δt+γλδt+1+…+(γλ)T-t+1δT-1
(23)
式中,λ為廣義優勢估計的平滑系數。
為驗證提出的軌跡規劃算法的有效性,本節進行了仿真實驗研究。仿真中所采用的無人機動力學方程如式(1),氣動參數如式(2)~式(4),無人機的物理參數如表1所示。初始時間為t0=0s,離散化采樣時間為Δt=0.01s,棲落機動軌跡優化最大完成時間為tf=2s。

表1 無人機的各項物理參數
在仿真過程中,無人機的理想初始狀態為s0=[10,0,0.2544,0,0,0],初始控制量a0=[3.7698,-0.15]。為了檢驗算法在初始狀態不確定的情況下的軌跡優化效果,設定初始情況下的水平位置與理想狀態的偏差范圍在0.5m以內。無人機在棲落機動飛行過程中以及終點位置的約束參數如表2所示,并且希望終點的速度、俯仰角、水平以及縱向位移的偏差越小越好。IRL算法的超參數設置如表3所示。

表2 狀態以及控制量約束參數

表3 算法超參數
IRL在訓練無人機過程中的獎勵變化曲線如圖3所示。其中,藍色曲線為沒有經過模仿學習,直接用策略梯度優化算法的獎勵變化曲線;紅色曲線為經過模仿學習再用策略梯度優化(即IRL)的獎勵變化曲線;黃色曲線則為不包含迎角獎勵模塊的IRL獎勵變化曲線。

圖3 訓練時的獎勵曲線Fig.3 Reward curves during training
由圖3可知, RL的方法需要在早期對狀態動作空間進行大量的探索,而IRL則利用專家演示數據對神經網絡進行預訓練,并與行動器網絡共享網絡權重,大大加快了學習的進程,并且IRL在訓練到8萬幕時,平均的獎勵函數值就已達到了預期的目標。在IRL方法的獎勵函數中加入迎角獎勵模塊,則能夠進一步加快早期學習的過程,并能夠減少無人機在中期對不確定狀態的試探。
在采用IRL對無人機的棲落飛行訓練完后,進行仿真測試,測試集為1000幕。在訓練達到14萬幕時,仿真測試成功率達到可接受的范圍。在訓練幕數達到20萬幕時,仿真測試的成功率能夠達到97.5%。圖4給出了100幕不同初始條件下成功和失敗案例的降落點分布圖。圖5則分別給出了不同初始條件下無人機在棲落機動飛行過程中的不同狀態量變化曲線,且無人機棲落機動飛行過程中的狀態量滿足設定的過程約束和終點約束。

圖4 降落點分布圖Fig.4 The distribution of landing

(a)水平位置變化曲線
1)基于IRL的控制策略設計方法,只在模仿學習階段需要專家經驗軌跡(可以離線生成),在強化學習階段和在線運行中都不需要參考軌跡。利用該方法得到的控制器不依賴于參考軌跡,可以根據當前的飛行狀態直接得到控制量,具有良好的適應性。
2)棲落機動軌跡規劃的仿真結果表明,采用IRL設計的控制器不僅能夠實現無人機的棲落機動,同時經過離線學習后,能夠根據不同的狀態實時在線調整軌跡,保證軌跡滿足預先給定的要求。
本文針對固定翼無人機棲落運動的非線性問題,在深度強化學習的基礎上考慮了模仿控制策略。后續工作中,將會考慮根據自身條件做出決策的無人機個體性的學習方案。今后也將進一步研究在各種外部風擾動情況下無人機的棲落機動飛行,以增強面對各種復雜環境的適應能力。