張 佩 陸莫凡 陳 成,2* 徐 昊 苗 川
(1.中國船舶及海洋工程設計研究院 上海 200011;2.哈爾濱工程大學 船舶工程學院 哈爾濱 150001)
作為一種水下無人作戰平臺,無人水下航行器(unmanned underwater vehicles,UUV)具有隱蔽性強、活動受限小、無人員傷亡和成本低等特點,在情報偵察監視、反水雷等軍事領域以及海洋勘探、地質調查等民用領域發揮著重要作用。智能控制技術作為UUV 核心技術之一,是其順利完成各項任務的前提,開展UUV 智能控制策略研究意義重大[1]。目前,多種控制器因其具有結構簡單、魯棒性和可擴展性強等特點,已被廣泛開發并應用于UUV,如PID 控制器 (proportional-integral-derivative controller)、S 面控制器及基于模糊邏輯的控制器等。由于不基于模型,此類控制器對控制參數依賴性較強,在實際應用中,控制參數需手動調試,之后固定于控制器中,導致UUV 控制系統對復雜海洋環境的適應性降低[2-3]。因此,實現復雜海洋環境下控制參數自動優化,進而提升控制系統自適應能力成為本文研究的重點。
針對S 面控制器參數調整問題,研究人員將模糊控制、遺傳優化算法及預測控制等方法引入到S面控制器參數調整過程中,進行了大量研究工作。牛廣智[4]針對傳統S 面控制器參數調整能力不足的問題,提出基于模糊規則的S 面控制方法,并在無干擾和有干擾環境下進行了仿真試驗,試驗結果表明,所提方法具有較好的控制效果及魯棒性能。李曄等[5]針對特定載體選取最佳控制參數的問題,提出一種基于免疫遺傳優化的S 面控制方法,大量的仿真和湖上試驗表明,該方法響應速度快,魯棒性較好。何斌等[6]提出一種基于模型預測的參數模糊尋優方法,提高了控制器的環境適應能力,仿真試驗表明,改進后的S 面控制器具有較快的收斂速度。模糊控制技術可有效解決控制過程中模型不確定的問題,但建立完善的模糊規則庫難度較高,需要大量的試驗數據以及專家知識等先驗數據支撐。遺傳優化算法不依賴于精確的模型,對控制器優化具有重要意義,但容易陷入局部最優且實時性較差。基于模型預測的參數調整算法在反饋環節普遍存在在線計算量大的缺點。
相反,強化學習算法可通過與環境的交互并接收強化信號來生成最優策略[7]。控制器參數的調整過程是一個復雜的序貫決策問題,可利用強化學習的特點,解決S 面控制器參數調節過程中先驗數據不足的問題。本文提出一種基于Q 學習的參數自適應S 面控制方法,可根據環境變化實現控制參數的實時在線調整。
本文根據研究需要,建立以下2 種坐標系:E?ξηζ和O?xyz,如圖1所示。

圖1 大地坐標系和隨體坐標系示意圖
前者為大地坐標系,固聯于大地上,描述UUV 的位置和姿態;E為海平面上某一點,ξ軸、η軸及ζ軸兩兩垂直,分別指向地理北、地理東以及地心。后者為隨體坐標系,固聯于UUV 上,描述UUV 的運動信息;O為UUV 的重心,x軸、y軸及z軸兩兩垂直,分別指向UUV 的艏向、右舷以及底部[8]。
1.2.1 運動學方程
運動學模型研究的是UUV 在大地坐標系和隨體坐標系間的轉換關系,定義UUV 運動學方程為:

式中:R和T分別為線速度和角速度轉換矩陣;ν為速度向量,ν=[u,v,w,p,q,r]Τ;η為位姿向量,η=[x,y,z,?,θ,ψ]Τ。

1.2.2 動力學方程
根據牛頓第二定律和動量矩定理,可推導出UUV 動力學方程式為:

式中:MRB表示剛體慣性力矩陣;CRB(v)表示剛體科氏向心力矩陣;MA表示附加質量系數力矩陣;CA(v)表示科氏向心力系數矩陣;D(v)表示阻尼力矩陣;g(η)表示恢復力(力矩)矩陣;τ表示執行機構產生的力(力矩);τE表示由風浪流引起的環境干擾力(力矩)。
考慮到本文是基于UUV 水平面運動來進行強化學習控制算法的研究,因此基于某型UUV 特點將六自由度動力學模型簡化為三自由度運動模型[9]。該型UUV 采用舵槳聯合控制,則執行機構產生的力和力矩為:

式中:τu和τr分別表示縱向力和偏航力矩。
UUV 三自由度運動學和動力學模型為:

式中:du、dv、dr為水平面環境干擾力分量。
風、浪干擾力的大小取決于多種特征參數,其形成較為復雜,精確且便于控制器設計的干擾力模型往往難以獲得。因此,大多采用隨機干擾力模型或正、余弦疊加的波形干擾力模型進行等效[10],本文將在仿真試驗進行具體說明。
經典S 面控制器(conventional S plane controller,CSC)是在比例-微分和模糊控制的基礎上,采用Sigmoid 函數形式進行設計的一種簡單、高效且魯棒性較強的控制器,已通過大量湖上與海上試驗進行了驗證。CSC 控制公式如下:

式中:e和e˙為歸一化后的控制器輸入;k1和k2為控制參數;u為歸一化后的控制器輸出;Δu為環境干擾補償。
對于CSC,只需對k1和k2進行調整,即可實現局部最優控制,但人工調整CSC 參數具有一定缺陷。因此,本文對基于強化學習的S 面控制方法進行研究,實現速度和艏向控制器參數的自動優化和在線調整。
強化學習(reinforcement learning,RL)是一種目標導向的問題解決方法,屬于機器學習方法的一種,只需通過與環境的不斷交互,以累計回報值達到最大為導向,生成最優控制策略[11-12]。RL 問題可以定義為如圖2所示的智能體-環境交互過程。

圖2 RL 環境交互示意圖
在交互過程中,智能體在狀態st∈S處,采取動作at∈A,環境接收動作后更新智能體狀態為st+1∈S,并輸出對動作at的評價rt+1∈?。智能體接收環境評價后,在狀態st+1∈S處選擇下一時刻動作at+1∈A,如此循環直至達到設定的最終狀態[13-14]。智能體的最終目標是得到一個最優控制策略,使折扣累計回報值最大化,折扣累計回報值tG如式(9)所示。

式中:γ為折扣率,γ∈[0,1]。
RL 問題基于馬爾可夫決策過程(Markov decision process,MDP)進行決策,其特點在于下一狀態所采取的動作只與當前狀態有關,而與上一時刻狀態無關。MDP 如圖3所示。

圖3 MDP 示意圖
RL 算法主要有基于策略的算法和基于值的算法兩大類。在基于值的RL 算法中,使用狀態值函數來對策略進行評價。在某一策略π 下,狀態值函數如式(10)所示。

式中:Eπ為策略π 下函數的期望;表示狀態轉移矩陣。
同理,在某一策略π 下,狀態-動作值函數如式(11)所示。

最佳策略下的狀態值等于此狀態下采取最優動作得到的回報期望值,因此有:

式中:V*(s)為最優狀態值函數;Q*(s,a)為最優狀態-動作值函數。
Q 學習算法是通過狀態-動作值函數Q(s,a)來衡量所選策略的優劣,算法的更新函數可表示為:

式中:Qm(s,a)為當前時刻狀態-動作值函數,Qm?1(st+1,a)為前一次在狀態st+1處狀態-動作值函數集。
為避免Q 學習算法更新時數值變化過于劇烈,可在式(13)中加入學習率α,α∈(0,1]。

基于Q 學習的參數自適應S 面控制器(parameteradaptive S plane controller based on Q-learning,QSC)指的是將Q 學習與S 面控制器相結合,利用Q 學習算法可依據環境變化自適應學習的特點,對S 面控制器的參數調節進行訓練,進而使改進后的S 面控制器在不同環境中具備自主學習決策能力,通過參數調節達到較好的控制性能,控制器結構如圖4所示。

圖4 QSC 結構圖
2.3.1 狀態和動作空間設計
QSC 對控制參數的調節是基于Q 值表進行的,因此需要離散化QSC 中的狀態和動作區間。QSC 的輸入為離散化后的偏差及偏差變化率,即輸入的狀態區間表示為S=(e,),其中e為偏差,為偏差變化率。將控制器的輸出定義為需調節的控制參數,即輸出的動作空間表示為A=(?k1,?k2),其中?k1和?k2為Q 學習算法訓練輸出值。將訓練輸出值?k1和?k2與CSC 的參數基準值和進行線性疊加,得到QSC 的控制參數的最終輸出,如下式所示:

式中:k1*和k2*為CSC 的參數基準值;k1和k2為QSC 參數的最終輸出。
2.3.2 回報函數設計
控制系統具備自主學習和決策能力的關鍵在于回報函數的設計,回報函數是對控制性能優劣的量化評價,控制系統通過回報函數半監督意義上的指導,可在變化的外部環境中學習到適宜此種環境下的最優控制器參數。控制器在實際作用過程中,其偏差及偏差變化率可在一定程度上反映控制效果的好壞,因此本文將回報函數設計為式 (16)所示形式:

式中:σ為下一時刻的誤差向量,σ=[e,];Λ為二階對角矩陣,表示偏差及偏差變化率對回報函數的影響系數;a可以調節回報函數變化速率,避免QSC 控制器在訓練過程中因回報函數達到飽和而不穩定。
2.3.3 動作選擇策略
QSC 的控制參數調節訓練時,將式(17)所示的ε貪婪策略作為參數調節時的動作選擇策略。

式中:ε為貪婪系數;g為[ 0,1] 間的均勻分布;step為控制回合數。
QSC 的控制參數調節在訓練初始階段探索能力較強,但隨著學習次數增加,探索能力下降而利用能力提升,因此貪婪系數ε應為一個隨著控制回合數的增加而不斷減小的動態值,如式(18)所示。

式中:ε0為初值;μ和ξ均為正常數。
2.3.4 學習和更新過程
將經過離散化處理后的狀態和動作區間代表的Q 值表初始化為-1,控制器初始狀態為st;然后經過ε貪婪策略選擇動作at,該動作作用于UUV上,得到下一時刻狀態st+1以及回報函數rt;最終根據式(14)進行Q 值表更新。
為驗證本文設計的QSC 算法的有效性,本次仿真實驗設計速度和艏向控制器,分別在無干擾和有干擾環境下,與CSC 算法進行對比。仿真模型艇長3.5 m、質量為2.1 t,具體水動力參數見表1。

表1 UUV 水動力參數
在QSC 控制參數調節訓練過程中,設置速度和艏向角的期望值分別為ud=1 m/s,?d=1 rad。二階對角矩陣設置為:Λ=diag([0.5,1]),其余QSC訓練參數設置如表2所示。

表2 QSC 訓練參數
3.2.1 無干擾仿真試驗
無干擾仿真試驗時,速度和艏向角的初始值設置為u0=0 m/s,?0=0 rad。同時,選取一組CSC經驗參數:速度控制器參數設置為k1=5,k2=7.5;艏向控制器參數設置為k1=5,k2=5。分別對QSC和CSC 進行無干擾環境下的對比試驗,試驗結果如圖5至圖10所示。
圖5和圖6分別為無干擾環境下速度和艏向響應曲線。從速度和艏向跟蹤結果可知,CSC 和QCS最終都能使速度和艏向達到收斂狀態,但相比于CSC,QSC 的控制效果更好。速度控制器的收斂時間由原來的29 s 降低為23 s,艏向控制器的收斂時間由原來的62 s 降低為54 s;同時QSC 的超調量也明顯減少,速度控制器的超調量由6.2%減少為5.6%,艏向控制器的超調量由原來的9.9%降低為8.8%。

圖5 無干擾環境下的速度響應曲線

圖6 無干擾環境下的航向響應曲線
圖7和圖8分別為無干擾環境下縱向推力和轉艏力矩曲線。從圖中可知,QSC 開始就以較大的推力和力矩使UUV 收斂于期望速度和艏向,在偏差接近于0 時,提前制動效果明顯,有效降低了控制器的超調。

圖7 無干擾環境下的速度縱向推力

圖8 無干擾環境下的航向轉艏力矩
圖9和下頁圖10分別為無干擾環境下速度和艏向控制器參數調整結果,反映了一個控制回合內速度和艏向控制器的參數調節情況,這說明Q 學習的訓練效果是明顯的。在一定訓練次數后,控制器的控制參數均為各狀態下的相對最優參數,體現了QSC 的自學習和決策能力。

圖9 無干擾環境下速度參數調整

圖10 無干擾環境下艏向參數調整
圖11和圖12分別為速度和艏向控制器在訓練過程中隨著訓練回合數的增加回報函數值的收斂情況。從圖中可以看出,隨著訓練回合數的增加,速度和艏向控制器的回報函數值不斷增加,并最終穩定在最大值附近,說明QSC 訓練已趨于穩定。

圖11 速度控制器回報值變化

圖12 艏向控制器回報值變化
3.2.2 有干擾仿真試驗
為有效驗證在有干擾環境下QSC 控制參數的調節效果,分別對QSC 和CSC 進行有干擾環境下的對比試驗,試驗結果如圖13至圖16所示。UUV的初始位姿、速度和艏向控制器的參數、期望速度和航向設置無變化,同時將海洋環境干擾力設置為如式(19)所示等效形式:

圖13、圖14分別為有干擾環境下速度和艏向響應曲線。從圖中可知,QSC 相較于CSC 能夠更加快速地收斂到期望航速和航向角,魯棒性較強,受外界干擾影響較小,經訓練的速度、艏向控制器的超調量分別由原來的7.5%和11%降低為6.4%和9%。

圖13 有干擾環境下速度響應曲線

圖14 有干擾環境下速度響應曲線
下頁圖15、圖16分別為有干擾環境下速度和艏向參數調整結果。為保證UUV 在有干擾環境下對航速和艏向進行穩定跟蹤,強化學習可以根據輸入狀態的變化,不斷調整控制參數。對比無干擾環境下和有干擾環境下QSC 控制參數的變化,可以看出,在不同環境下,控制參數均可作出自適應調節,進而達到較好的控制效果。

圖15 有干擾環境下速度參數調整

圖16 有干擾環境下艏向參數調整
本文提出了一種基于Q學習的參數自適應S面控制方法,詳細介紹了利用該方法對S 面控制器的參數在線調整的過程;同時,在無干擾環境和有干擾環境下進行了仿真試驗,驗證了該方法的有效性。仿真試驗結果表明:通過Q 學習與S 面控制器相結合,QSC 具備自學習和自適應能力,并隨著學習次數增加,較大程度優化了QSC 動態性能。
QSC 具有較好的控制性能,但由于Q 學習機制是基于離散狀態和動作空間進行的,會導致控制輸出不穩定,因而需要在未來的研究中加以改進。