耿令波,霍雨佳,趙海闊,胡志強
(1.中國科學院沈陽自動化研究所 機器人學國家重點實驗室,遼寧 沈陽 110016;2.中國科學院機器人智能制造與創新研究院,遼寧 沈陽 110169;3.中國科學院沈陽自動化研究所,遼寧 沈陽 110016)
目前水下潛航器大都采用基于PID 的控制方法,PID控制方法大都不基于模型,參數調試嚴重依賴調試人員經驗,對于單自由度系統或靜態目標控制,可以實現較高的控制精度。但對于多自由度耦合、強非線性系統,難以簡單通過狀態量的變化實現參數整定,人工調參費時費力。基于模型的控制可以將人工調參轉換為數值優化問題,模型的主要作用是為控制律設計及控制參數優化提供指導,尤其是對多自由度耦合系統。
除此之外,PID控制僅依賴當前時間步的誤差,對于靜態或緩變目標控制可以取得較高的精度,但難以實現對快速變化控制目標的準確跟蹤。面向未來高機動水下潛航器的控制需求,本文主要研究MPC及基于模型的強化學習控制技術。MPC在控制時考慮未來多步的目標,動態性能好,在無人機[1-2]、雙足機器人等領域取得了廣泛應用,波士頓動力、MIT等多足機器人控制算法均以 MPC為主[3-4]。目前,強化學習方法在空中和水下機器人的運動控制均有著不同程度的應用,Hwuang等[5]利用確定性策略搜索方法實現了四旋翼無人機空中三維位置的跟蹤。Koch[6]利用ROS和Gazebo仿真軟件,分別運用DDPG、TRPO和PPO 3種深度強化學習算法實現對Iris四旋翼機器人的姿態控制,并與充分調參的PID控制器進行對比,獲得了更好的控制效果。Song等利用PPO算法實現了四旋翼無人機的競速任務[7]。
在水下航行器控制方面,MPC多應用于軌跡規劃[8],直接應用于運動控制的較少。一方面是由于目前水下航行器多為弱機動,而PID本身對靜態或緩變目標控制效果較好。另一方面,受水動力非線性影響,水下航行器動力學建模困難,限制了MPC等基于模型控制技術的發展。
模型是制約MPC在水下潛航器應用的主要障礙,為此,本文首先研究了數據驅動的水下潛航器建模方法,可以根據航行器歷史數據實現對未來運動狀態的長時預報。基于此建模方法,本文基于仿真平臺研究了MPC及基于模型的強化學習兩種運動控制技術,并基于無人機進行了控制試驗。
精確的模型是基于模型運動控制的基礎,受水動力影響,水下潛航器運動學具有強非線性特點,水下潛航器常見的建模方法包括基于數值仿真(computional fluid dynamics,CFD)的建模方法、基于實航數據的參數辨識方法[9]以及數據驅動的在線建模方法。基于 CFD的建模方法多用于性能評估,由于仿真環境與真實環境的差異以及仿真過程中的模型簡化,導致基于CFD建立的模型與真實模型存在一定差異,影響控制精度。基于實航數據的參數辨識方法利用觀測狀態數據來計算未知的水動力系數,主要包括卡爾曼濾波、最大似然估計等,該方法需要事先提供水動力模型表達式,參數辨識精度受水動力模型表達式精度影響很大,而水動力模型表達式一般由CFD計算得到,與實際有一定偏差,影響最終辨識精度。
水下潛航器水動力受運動狀態影響很大,當機器人跟蹤動態目標或進行強機動時,其水動力參數是實時變化的,此時需要對水動力模型進行實時在線辨識,計算量過大,影響實時性。隨著深度學習技術的發展,基于深度學習的數據驅動建模方法也得到了一定發展,數據驅動建模本質是把傳統泰勒級數水動力模型用神經網絡表示,神經網絡離線訓練過程相當于傳統建模方法的參數辨識過程,由于神經網絡具有強非線性擬合能力,數據驅動建模方法可實現水下潛航器全工況建模,無需在線實時辨識過程,計算量大大減小。
現有數據驅動建模方法大都屬單步預報[2],模型預測控制需要潛航器未來多個時間步的狀態信息,單步預報模型會帶來較大的累積誤差,本文提出一種多步預報模型,可以對潛航器未來運動狀態進行長時預報,為智能決策、規劃以及基于模型的運動控制提供基礎。
水下潛航器運動學可以表示為

下一時刻的運動狀態取決于歷史狀態及當前時刻的控制量輸入,可以看作序列到序列的翻譯任務,本文借鑒機器翻譯領域廣泛使用的Transformer網絡結構,在其基礎上進行一定適應性改造,得到用于水下潛航器建模的神經網絡模型,如圖2所示。編碼器由一維卷積構成,主要接收歷史數據,用于對潛航器當前所處狀態進行學習。解碼器由LSTM構成,主要接收未來輸入數據,用于在歷史狀態基礎上驅動潛航器達到未來的狀態。

圖1 不同建模方法Fig.1 Different methods for hydrodynamic modeling

圖2 水下潛航器運動建模網絡結構Fig.2 Network structure for underwater vehicle motion modeling
Encoder輸入為過去10個時間步的狀態量及操縱控制量,狀態量包括俯仰角、橫滾角、加速度及角速度,操縱控制量包括舵角控制量、推進器控制量、輪緣推進器控制量。Decoder輸入為未來50時間步的操縱控制量,網絡輸出為未來50時間步的待預報狀態量,本文以俯仰角預報為例說明該建模方法的效果。圖3給出的是在訓練集上的擬合效果,擬合優度為0.97,圖3給出在預報集上的預報效果,擬合優度為0.82,由圖4可知,在50時間步預報周期內,網絡可以對俯仰角的動態變化準確預報,預報趨勢與實際變化趨勢完全一致。

圖3 訓練集預報效果Fig.3 Prediction result of pitch angle on the training dataset

圖4 俯仰角50步預報Fig.4 50-step ahead prediction of pitch angle on the testing dataset
水下潛航器一般借助聲學傳感器實現速度預報,聲學測速存在以下限制:1)隱蔽作業時不可用;2)微小型水下機器人難以搭載聲學傳感器;3)近海面時,聲信號難以打底;4)強機動運動時,載體俯仰或橫滾較大,聲學測速信息不準確。基于以上限制,本文提出一種不利用聲學傳感信息的速度預報技術,僅利用慣導數據及機器人執行機構控制信號,實現對機器人未來速度的長時預報。
所采用的網絡結構與第1節一致,Encoder輸入為慣導歷史數據及操縱機構控制信號,decoder輸入為未來50步的操縱機構控制信號,輸出為未來50步的前向速度。所采用的水下潛航器如圖5所示。

圖5 微小型水下潛航器Fig.5 Micro vehicle for the field test
該潛航器直徑為124 mm,長1.8 m,重量為18 kg。本文采用其水面航行數據進行建模,水面航行受波浪影響,航行條件更加惡劣,采用水面數據驗證建模方法能更加說明本文方法的合理性。該潛航器頭部安裝有多普勒聲學測速儀,該數據僅用于訓練及測試,并不作為網絡輸入。值得指出的是,傳統基于物理的建模方法均需要推進器轉速、舵板轉角作為輸入,對于微小型潛航器來說,受限于有限的內部空間,加裝用于測量轉速或舵角的編碼器無法實現。本文所提出的建模方法僅需要控制器發出的控制信號,如圖6(a),無需測量推進器轉速及舵角,更加適用于微小型水下潛航器。

圖6 所采用的控制輸入及訓練集擬合效果Fig.6 The control input and the fitting result on the training dataset
圖 6(b)給出了本文建模方法在訓練集上的擬合效果,在訓練集上擬合優度可達0.98,在測試集上的擬合效果如圖7,擬合優度分別為0.82與0.71。圖7給出的測試集屬于不同天、不同航次的試驗數據。由圖7可以看出,在50步預報周期內,網絡對潛航器減速過程及加速過程以及減速加速轉折點均可準確預報,對于如圖7(b)出現的前向速度小幅波動也能實現預報趨勢完全一致。預報集上誤差來源可能是不同航次試驗水面波浪情況有所差別,而建模時波浪載荷沒有作為輸入。


圖7 不同航次前向速度預報效果Fig.7 Prediction results of surging velocity in different field tests
面向未來高機動水下航行器的控制需求,本文研究水下航行器 MPC控制技術,本節所用到的模型均采用第2節建模方法得到。MPC控制原理如圖 8,基于歷史數據建立機器人運動模型,基于該模型對機器人未來狀態進行預報,通過優化算法優化出最接近目標的控制量。本文所采取的優化算法為粒子群算法,在仿真環境下實現對AUV定速、定深及定向控制,控制效果如圖8,可以看出 MPC控制器可以實現對階躍及正弦目標的有效跟蹤。

圖8 水下潛航器三自由度空間運動MPC控制效果Fig.8 Dynamic control of underwater vehicle based on MPC
MPC控制需要對控制量進行在線優化,優化器的選擇及優化目標設計對最終結果有較大影響,受限于機器人較高的控制頻率和有限的在線計算資源,這種優化往往無法取得最優解,這也是限制MPC在機器人大規模應用的一個主要因素。而基于模型的強化學習采用離線優化方式,對計算量和優化步數沒有限制,可以取得更優的控制策略。采用本文第2節提出的建模方法,利用有限的試驗數據即可構建出精確的預報模型,基于該模型進行虛擬訓練,大大提升數據的利用效率和學習速率。
本文利用仿真平臺,采用LSTMDPG算法對機器人控制策略進行訓練。實驗對象為傳統的舵槳布局的水下機器人,通過控制水下機器人的方向舵實現機器人在水平面的航向控制,并與傳統的PID可控制器和DDPG控制器相較,如圖9(a)。實驗結果表明:當前航向軌跡與目標航向軌跡不一致時,通過優化,強化學習(包括DDPG和LSTMDPG)方法可以實現較小的跟蹤誤差,如圖9(b)。同時LSTMDPG可以保證航向控制的快速性,并減少了方向舵的反復調節,如圖9(c)。

圖9 不同控制方法軌跡跟蹤性能對比Fig.9 Trajectory tracking with different control methods
即使在有風環境下,機器人依然可以實現精確的定點控制,驗證了該方法的有效性。機器人起飛后,保持穩定在高度2 m,如圖11,期間實驗現場有微風,風速約為2 m/s。由圖12可以看出,機器人姿態角始終保持在較小值,說明機器人在有風干擾條件下始終可以保持姿態平穩。

圖10 試驗無人機平臺Fig.10 UAV platform

圖11 無人機定點控制實驗Fig.11 Position control of UAV

圖12 無人機定點控制姿態及軌跡Fig.12 Attitude and trajectory of UAV
傳統控制方法僅針對當前誤差進行優化,動態控制精度差,這本質是由控制算法“短視”造成的。基于模型的控制通過模型的引入,使控制器具備對未來狀態的“預見”能力,可將對未來的影響引入當前控制量的優化過程,進而提升動態控制精度。利用本文提出的數據驅動建模方法,研究了 MPC及基于模型的強化學習控制,并基于無人機試驗平臺初步驗證了控制方法可行性。
模型是數據驅動建模方法在機器人應用的基礎,可極大提升數據利用率及訓練效率。傳統基于物理的建模方法難以處理環境或工況改變引起的強非線性,針對這一問題,本文基于神經網絡,在無任何先驗知識前提下,僅利用機器人歷史數據實現對機器人未來狀態的長時預報。該方法僅利用機器人自身感知數據,具備在線學習能力,可有效克服傳統建模方法適應性差的不足。
深度學習與控制技術相結合是機器人發展的必然趨勢,深度學習強大的擬合能力及學習能力使復雜控制策略設計變為可能,可實現機器人控制由“通用化”向“個性化”轉變,必將極大提升機器人智能水平及環境適應能力。