張鵬鵬,魏長赟,張愷睿,歐陽勇平
(河海大學 機電工程學院,江蘇 常州 213022)
無人機可以應用于不同的場景,例如日常的便民生活應用[1],農業生產過程[2],礦場的偵探和挖掘過程[3]等。單一的無人機不受地形的限制,但是由于攜帶電池能量的限制,執行任務時間短,并且難以承擔較重的負載。無人車(船)移動范圍受限于地形,難以到達特定的位置。無人機-無人車(船)的組合系統可以結合兩者的優點,完成復雜的任務[4-5]。在執行任務結束后,無人機如何移動到指定位置是協同系統實際應用的關鍵問題[6],因此本文聚焦于無人機的自主降落問題。
在文獻[7-8]中,作者將多種傳統的控制方法應用于無人機降落任務,這些方法具有穩定和低算力需求的優點,但是較難實現最優的控制效果。文獻[9-12]將強化學習理論應用于無人機降落問題,并取得良好的效果。在文獻[13-16]中,使用強化學習原理調整控制算法的參數,面對不同的控制情形,能夠實現較優的控制效果,但是并沒有進行真實無人機實驗。
針對以上方法的不足,本文結合深度強化學習理論和比例積分微分(proportional-integral-derivative, PID)控制方法,解決無人機降落至移動平臺的問題,本方法既有PID方法的穩定性,又能夠發揮強化學習尋找最優控制策略的優點,迅速完成無人機降落到無人移動平臺的任務。
在多機器人無人系統中,無人機在完成特定任務后需要降落至特定平臺,本文基于上述任務,針對無人機降落問題,提出一種結合深度強化學習算法和比例積分微分(proportional-integral-derivative, PID)原理的控制方法。文中首先介紹多機器人協同系統以及實現無人機降落任務的必要性,并詳細介紹傳統控制方法和機器學習方法在無人機降落問題上的應用現狀。
在如今的機器人學研究中,單一的機器人難以完成復雜任務。在所有的無人設備中,無人機有著多項優點,其他設備難以替代無人機執行任務。首先無人機運動不受地形限制,可以輕易地到達特定的位置,并且無人機在空中懸停可以為地面無人設備和工作人員提供高處視角的圖像信息,為發現和定位目標物品提供可能。同時,無人機由于自身結構的原因也有特定的缺點,包括由于電池能量不足造成的執行任務時間短和無法攜帶較重負載的問題等。對單一的無人機設備添加無人車(船)組成協同系統可以有效地解決無人機的上述缺點。實際應用中,無人機完成任務,須自動返回,以備下次任務的執行。因此,在這些協同系統中,如何將無人機降落到特定的平臺上是一項必須解決的任務。在文獻[17]中,作者提出一種無人機和無人車的協同系統,該系統作業于建筑行業,收集建筑區域內的各種關鍵數據。該方法結合了兩種機器人的優點,彌補單一機器人的不足,高效地實現建筑行業數據收集任務,不過在文中提到的無人機降落方法依然有進步的空間,難以在復雜的環境中實行降落任務。
文獻[18]提出一種比例微分(proportional-integral, PD)控制器,該控制方法針對無人機自主降落問題,實現了無人機降落到固定平臺的任務。在文獻[8]中,作者將模型預測控制方法應用于無人機降落問題,該方法結構輕量,響應迅速,能夠在低算力的平臺中運行。同時,作者在文中使用仿真環境進行驗證,且效果良好,但是并沒有在真實的場景中進行降落效果的測試。PID控制方法在控制任務中廣泛使用,但是固定參數的PID控制方法對非線性問題適應性差,在文獻[7]中,作者提出一種基于模糊邏輯的PID控制方法,結果顯示,該方法優于傳統的控制方法,不足之處在于該方法未考慮無人機降落到移動的平臺的情形。
許多學者應用強化學習算法尋找解決問題的最優策略。強化學習算法能夠實現在干擾和復雜情況下的最優控制,這是傳統控制方法難以比擬的。理論上,基于馬爾可夫過程的強化學習算法有潛力找到最優的控制策略,當算法訓練充分后就可以實現對于無人機降落問題的最優控制。在文獻[9,11]中,作者將確定性策略梯度方法[19]應用于無人機降落問題中,該方法在虛擬環境中進行訓練,并且可以在仿真和真實環境中,實現對無人機降落過程的控制。確定性策略梯度方法能夠根據不同的狀態輸入輸出不同的動作,進而完成當前的任務。文獻[11]中,輸入狀態包含x、y兩個方向上的位置信息,算法根據不同的位置信息控制無人機降落,以連續的狀態作為輸入并輸出連續動作,有潛力實現精確控制,由于文章中的方法未使用z方向的位置信息,當面對不同高度的輸入時可能有相同的輸出,影響控制無人機降落的效果。文獻[9]中,作者同樣使用確定性策略梯度方法,該方法的輸入包括三軸的位置信息,可根據無人機高度改變輸出動作,從而實現精準控制,同上面的方法一樣,此方法以連續的狀態作為輸入并輸出連續的動作,保證無人機的精確控制。
在文獻[16,20]中,一種結合PID理論和強化學習原理的方法被應用于移動機器人的路徑規劃問題,在仿真實驗中,對比傳統PID方法,文中提出的Q學習-PID方法在路徑規劃實驗的結果中優勢明顯,面對不同環境和干擾時,表現出魯棒性強的優點。文獻[21-22]將參數自學習調節方法應用于無人機降落至靜止平臺的任務,由于控制器參數隨當前狀態自適應調節,因此取得的無人機路徑控制效果均優于傳統PID方法。目前類似的方法還沒有應用于無人機降落至移動平臺任務,在無人機降落問題中,使用結合PID理論和強化學習原理的方法,具有創新性和可行性。在文獻[23]中,作者提出一種矯正糾偏(corrective advice communicated humans, COACH)框架,使用人類建議,用于幫助強化學習算法尋找最優的控制策略,效果顯著,能優化獲得的最終策略。
本文提出一種結合PID原理和強化學習理論的方法,完成無人機降落到移動平臺的任務,應用矯正糾偏框架,優化最終訓練得到的策略。上層的控制策略選擇確定性策略梯度方法,該方法有著連續的輸入和輸出,在連續空間上,有潛力實現優秀的控制效果。下層應用PID方法,用于保證無人機降落的穩定性。
人工智能領域中,強化學習通常根據特定的狀態尋找最優動作,并將動作執行進而完成相應的任務。基于強化學習原理的方法已經在多個領域取得亮眼表現,包括圍棋[24]、電腦游戲[25-26]等。在理論上,基于強化學習的方法在經過一定回合的訓練后,所獲得的智能體可以在不同場景實現特定的任務。一個標準的強化學習問題可以由S、A、P、r、γ定義。其中S和A分別代表輸入狀態和輸出動作的集合,s和a表示某一時間的狀態和動作,P表示狀態轉移概率,r是獎勵信息,γ是折扣因子,同時定義總體獎勵其中f是最后的回合數。
智能體在環境中進行訓練,不斷優化當前的策略,對于一個特定的策略π,本文以公式Vπ(st)=E[Rt|s=st,π]定義價值函數Vπ。同樣由公式Qπ(st,at)=E[Rt|s=st,a=at,π]定義動作價值函數。同時本文使用J(π)定義策略π的評價標準,具體為J(π)=E[Rt|π]。最后使用 π*來代表最優的控制策略,即,

智能體不斷地在環境中訓練,并使用貝爾曼方程:

不斷更新狀態價值函數,因此智能體在強化學習算法的規則下不斷訓練并獲得最優的控制策略。
在強化學習的發展過程中,最具有代表性的算法[27]是Q學習算法[28],算法本身結構簡單,并為其后的算法帶來啟發,這些算法包括深度Q學習[29]、雙Q學習[30]、決斗Q學習算法[31],但是Q學習算法由于其離散的輸入和輸出,只能解決復雜度低的低維度問題。
在實際任務執行時,狀態和動作的表示是連續的,由于維度爆炸的問題,在連續的動作狀態空間中使用離散的狀態和動作難以實現。因此,本文使用神經網絡非線性擬合的特點,對動作價值函數進行估計,為了更好的表示動作價值函數,本方法定義損失函數L(θQ)=E[(yt-Q(st,at|θQ))2]來優化網絡參數 θQ, 其中yt=r(st,at)+γQ(st+1,at+1|θQ)。如果策略是確定的,則可以將狀態映射到動作上,即 μ :S→A,之后本文定義動作網絡 θμ,其遵循J(π)進 行 更 新 , 使 得J(π)變 大 , 即 根 據?θμJ(π)≈E[?θμQ(s,a|θQ)|s=si,a=μ(si|θμ)]=E[?aQ(s,a|θQ)|s=si,a=μ(si)?θμμ(s|θμ)|s=si]進行更新。
確定性策略梯度方法[19]是一種解決在連續狀態空間和動作空間的無模型算法。此方法使用動作-評論家的結構,有兩個主要的人工神經網絡,一個用于擬合動作價值函數,稱為價值網絡 θQ,另一個網絡用于產生動作,成為動作網絡 θμ。在這兩個網絡進行更新時,網絡的迭代會不穩定和發散,因此,使用兩個目標網絡(目標價值網絡 θQ′和目標動作網絡 θμ′)對更新的兩個主網絡進行軟更新,提高其穩定性。兩個目標網絡分別與價值網絡和動作網絡有著相同的結構。在訓練時,每個輸出動作有隨機的干擾,用于增加算法探索的空間,動作作用于環境后,智能體會將觀察數組(sstep,astep,rstep,sstep+1)儲存到記憶庫中,記憶庫達到一定數量后,按公式更新價值網絡參數 θQ使得L減小,其中B是樣本取樣個數,yt=r(st,at)+ γQ(st+1,μ(st+1|θμ′)|θQ′),之后按照?θμJ≈對 動 作 網 絡 θμ進行更新,使得J增大,接著,本方法對兩個目標網絡進行軟更新,具體公式為: θQ′= τθQ+(1-τ)θQ′和θμ′= τθμ+(1-τ)θμ′。最后經過不斷地訓練,會得到兩個主網絡,用于實際問題的解決。
使用深度強化學習算法需要大量的時間進行訓練,并且訓練的時間隨著動作空間維度的增加而顯著增加。為了減少訓練的時間并提升訓練的效果,一種矯正糾偏框架用于提升訓練的效率,在智能體輸出動作時,使用人類的建議(一個二值化的量)對智能體產生的動作進行增強或者減弱。在矯正糾偏框架下的確定性策略梯度方法具體結構如圖1所示,使用人類建議指導智能體探索,使用確定性策略梯度方法對網絡進行更新,最終迅速獲得最優策略。

圖1 使用矯正糾偏框架的確定性策略梯度方法Fig.1 DDPG with COACH
在本文提出的方法中,使用人類的建議增加或者減弱智能體生成的動作,最終動作作用于環境中,并儲存在 (st,at,rt,st+1)中,且與確定性策略梯度方法一致,對網絡權重進行更新。總體來看,將人類的建議用于修正智能體產生的動作,會使得智能體在相同的訓練回合下,獲得更佳的策略。
傳統的PID方法結構如圖2所示,誤差信號e(t)是設定值和測量值的差值,有比例、積分、微分3個環節,分別由kP、kI、kD∫ 3個參數對輸入的誤差信號按公式u(t)=ke(t)+kte(τ)dτ+處理,

圖2 標準PID控制器Fig.2 Standard structure of a PID controller
PI0最終獲得所需的輸出控制量。
本文提出的方法將強化學習算法應用在PID控制算法的上層,方法的結構如圖3所示,有兩個控制模塊,左邊框為強化學習模塊,右邊框為PID控制模塊,強化學習的輸入狀態由3個方向上的位置組成,輸出a為PID控制模塊的參數kP、kI、kD。

圖3 強化學習與PID結合方法Fig.3 RL-based PID
強化學習模塊時刻調節PID控制器的參數,具體的獎勵函數由公式

定義,其中dt是t時刻無人機與目標點的歐式距離。當無人機降落到指定的地點,獎勵值為1,當降落失敗(目標消失或未降落至目標點)時,獎勵值為-1,其他情況下,獎勵值為與上一時刻歐式距離和當前時刻歐式距離的差值。一旦記憶庫存滿,評價網絡和動作網絡便開始更新。
由于強化學習模塊能時刻輸出動作a對PID控制模塊的參數進行調整,因此本方法可在多個場景控制無人機進行降落。PID模塊輸出控制命令u,包含x和y方向上的控制位置,無人機在z方向上的目標降落速度為0.3m/s保持不變,Ref代表無人機的目標位置,x是當前機器人的位置,s是無人機在圖像中相對目標點的位置,包含x、y和z三軸的信息。由于強化學習算法的加入,本方法能夠在復雜環境中更加有效地控制無人機降落。
本文的方法使用矯正糾偏框架優化訓練過程,強化學習算法和矯正糾偏框架的結構如圖4所示,矯正糾偏框架使用人的建議代替干擾信號,用于智能體探索環節,因為人類建議的加入,所以增強了最終獲得策略的魯棒性。

圖4 使用矯正糾偏框架的強化學習方法Fig.4 RL with COACH
當智能體選擇動作a′t,然后根據人類當前指導獲得最終的輸出at,其中a′t的取值范圍為[0,1.0]疊加人類的經驗ah,其取值為0.2或者-0.2,最終輸出的結果at區間為 [0 ,1.0],當at超出1.0時,認為輸出結果為1.0,當at小于0時,認為輸出結果為0。當誤差范圍較大時,人類經驗認為可以增大比例參數,此時ah=0.2,進而加速無人機到達目標點,當誤差范圍較小時,人類經驗認為需減小比例參數,即取ah=-0.2,進而實現精準的降落,對于積分和微分參數并沒有使用人類的經驗進行調節。
控制參數自學習調節方法具體流程如圖5所示,由傳感器獲得無人機相對移動平臺的坐標,深度強化學習模塊對狀態進行處理,輸出底層控制器的x、y方向上的控制參數,之后底層控制模塊根據當前誤差和控制參數計算獲得無人機位置控制指令并執行。無人機在降落過程中不斷檢測當前狀態,若無人機位置合適,則旋翼停止運動,無人機降落至目標區域,否則無人機繼續執行位置控制的步驟,直至無人機降落至目標區域。

圖5 無人機自主降落流程Fig.5 Autonomous landing process for an UAV
本文提出的方法,在Gazebo仿真環境中訓練并在仿真和真實環境中進行測試。此外,PID模塊和強化學習模塊之間的通信使用機器人操作系統(robot operation system)[32],如圖6所示,圖6(a)給出的是仿真環境,圖6(b)給出的是真實降落的場景。

圖6 降落環境搭建Fig.6 Training and testing environment
降落實驗中,靜止平臺比無人機稍大,無人機具體尺寸為0.4 m×0.4 m,平臺具體的尺寸為0.6 m×0.8 m,用于無人機降落。在仿真實驗中,搭建了一個簡單的環境,如圖6(a)所示。為了得到無人機與目標位置的相對信息,在無人機的底部加裝有攝像頭傳感器,并通過ROS框架進行信息交互。無人機在這個仿真環境中訓練和測試,對于強化學習PID方法和應用矯正糾偏COACH方法的強化學習PID方法,本實驗對智能體進行了200回合的訓練。當無人機降落至平臺并保持靜止后,本實驗認為無人機成功完成降落任務,經過共600次仿真實驗測試表明,3種方法都能夠有效地(>99%)實現無人機降落任務。
3種方法控制無人機降落的軌跡如圖7所示。

圖7 3種方法的降落軌跡(仿真)Fig.7 Trajectories of three approaches for landing in a simulated situation
紅色的軌跡為傳統PID方法,本方法軌跡平滑,證明本方法的3個控制參數人工選擇合理,能夠有效完成無人機降落到固定平臺的任務。綠色的軌跡是深度強化學習PID方法,本方法同樣可以將無人機降落到規定的區域,但是在最終降落時,與靜止平臺中心的距離較大。藍色軌跡曲線為應用矯正糾偏框架的深度強化學習PID方法,能迅速地對當前誤差進行調整并且最終降落時與靜止平臺中心的距離較近,本方法有效應用了深度強化學習理論和PID控制方法,并使用矯正糾偏框架對兩者進行結合,實現最佳的軌跡控制。無人機從坐標(0.3 m,0.3 m,3 m)出發,目標點為(0 m,0 m,0.2 m),3種方法在各200次的測試實驗中都能夠有著較高的成功率(>99%),穩定完成無人機降落的任務。圖8給出了3種方法控制下,無人機執行降落任務的時間,從結果上看,兩種結合強化學習原理的方法能夠有效地減少無人機降落的時間(傳統PID方法時間平均值為29 s,強化學習PID方法平均降落時間為17 s,使用矯正糾偏框架的強化學習PID方法平均時間為11 s),并且使用矯正糾偏框架,能夠使得強化學習算法最終得到的策略控制效果更好,有效提升控制策略。最后,傳統PID方法如果要達到控制要求,本身的參數是需要合理選擇的,并且參數的選擇是一個耗費時間的過程,在結合強化學習原理后,通過在虛擬環境中訓練,可以實現智能體代替人類進行參數的選擇,并且控制無人機降落效果比人類調節參數的PID方法效果更佳。

圖8 3種方法控制無人機至平臺的時間(仿真)Fig.8 Time for UAV landing on a simulated static platform
實驗設置從靜止的平臺改變為移動的平臺,移動平臺前進和后退并不斷循環,其他的設置同之前靜止實驗相同,且使用了先前實驗的訓練模型和參數設置。
無人機初始坐標為(0.3 m,0.3 m,3 m),降落目標點坐標為(0 m,0 m,0.2 m),在移動平臺降落實驗中,3種方法的成功率如表1所示。當平臺移動后,由于各種不穩定性因素,無人機降落至平臺的難度加大,固定參數PID方法的成功率在99%附近,結合強化學習原理的方法成功率分別是89%和100%,本結果表明在訓練合適的情況下,強化學習原理能夠提高無人機降落的穩定性。

表1 無人機移動平臺降落測試結果Table 1 The result of UAV landing on a moving platform
圖9給出的是無人機降落過程中,3種方法PID參數的變化情況,傳統PID方法的參數是固定的,kP、kI、kD分別是0.4、0.08、0.08。使用矯正糾偏COACH方法的強化學習PID方法,kP時刻改變,并且范圍在區間(0.0,0.6),kI、kD也在不斷地更新來適應不同的環境。對于強化學習PID方法,kP同樣時刻改變,范圍為區間(0.0,0.2)。

圖9 3種方法的PID參數Fig.9 PID control gains in every sample time of three approaches

兩種基于強化學習原理的方法面對相同的降落問題,同樣的訓練過程,具有不同的效果,主要的原因在于輸出的PID控制參數不同,應用矯正糾偏框架的強化學習方法能夠在無人機處于高處時,輸出大的比例參數,有助于跟隨目標平臺,在處于較低的高度時,輸出較低的比例參數,有助于無人機實現精準降落。
圖10給出的仿真環境中,無人機降落至移動平臺的軌跡。如圖10(a)、(b)、(c)所示,藍色“×”表示無人機降落的初始位置,紅色點線是3種方法控制下,無人機降落至移動平臺的軌跡,紫色點表示無人機降落時,平臺的位置,綠色線為移動平臺的移動軌跡。無人機降落軌跡的終點與移動平臺的終點距離是評判無人機降落效果的重要標準,兩者距離近則認為降落的效果優。圖10(b)和(c)中無人機軌跡終點與移動平臺的距離更近,因此兩種應用強化學習原理的方法有著更佳的控制效果。

圖10 3種方法降落至移動目標Fig.10 Trajectories of three approaches for landing on a moving platform
圖10(d)是3種方法控制下無人機的降落軌跡對比圖,在高處,使用矯正糾偏方法的強化學習PID方法控制無人機,控制無人機的動作幅度大,有助于無人機在高處跟隨平臺進行移動;在較低高度,本方法控制無人機的動作幅度小,從而實現精準降落。實驗結果表明應用矯正糾偏框架的強化學習PID方法既能及時跟隨平臺移動,也能有比其他兩種方法更高的降落精度,因此,使用矯正糾偏方法的強化學習PID方法在仿真環境中控制無人機降落的效果最佳。
在真實世界的設置與仿真環境中一致,并且模型的輸入和輸出也與仿真時相同。無人機降落的初始高度為3 m,并且初始位置偏離目標平臺0.3 m。首先測試在靜止平臺上的降落,基于強化學習的方法不斷輸出動作,直到無人機降落至目標平臺,具體軌跡如圖11所示,無人機可以穩定地降落至目標平臺的中心附近,在20次的測試中,無人機可以全部降落至目標點0.3 m半徑內,認為無人機降落任務執行成功。

圖11 無人機(實體)降落至靜止平臺Fig.11 Trajectories of our approach for landing on a static platform
在協同系統執行任務時,大部分情況是移動或者不穩定的降落平臺,因此,本文設置了無人機降落至移動平臺的實驗。實體實驗設置為無人機降落的初始高度為3 m,并且初始位置偏離目標平臺0.3 m,并且降落的平臺在前后循環移動,速度在0.05~0.1 m/s范圍內變化。如圖12所示,實驗結果證明使用矯正糾偏框架的深度強化學習方法能夠控制無人機降落至移動的目標平臺,有效完成移動平臺在不穩定情況下的無人機降落任務。通過20次的測試,無人機都能夠在平臺移動的情況下,降落至偏離目標平臺0.4 m半徑內,認為無人機降落成功。綜上,靜止平臺和移動平臺的實驗都證明了本文提出方法的有效性和穩定性。

圖12 無人機降落至速度為0.05~0.1m/s的平臺Fig.12 Trajectories of our approach for landing on a moving platform
本文提出一種用于無人機降落的深度強化學習方法。上層使用在矯正糾偏框架下的深度確定性策略梯度方法,用于不斷輸出PID參數,提高PID方法的實用性,在底層使用PID方法,直接輸出控制量,用于控制無人機實現降落任務。強化學習模型在環境中不斷訓練,不斷輸出PID參數值,區別于固定PID方法,獲得的模型有更優的控制效果。矯正糾偏框架將人類經驗應用于強化學習模型訓練中,在人類的指導下,得到的強化學習模型控制無人機降落時間更短,降落成功率更高。仿真實驗和真實實驗的實驗結果都表明本文提出的結合矯正糾偏COACH框架的深度強化學習PID方法能有效完成無人機移動平臺降落任務。