耿令波,霍雨佳,趙海闊,胡志強(qiáng)
(1.中國(guó)科學(xué)院沈陽(yáng)自動(dòng)化研究所 機(jī)器人學(xué)國(guó)家重點(diǎn)實(shí)驗(yàn)室,遼寧 沈陽(yáng) 110016;2.中國(guó)科學(xué)院機(jī)器人智能制造與創(chuàng)新研究院,遼寧 沈陽(yáng) 110169;3.中國(guó)科學(xué)院沈陽(yáng)自動(dòng)化研究所,遼寧 沈陽(yáng) 110016)
目前水下潛航器大都采用基于PID 的控制方法,PID控制方法大都不基于模型,參數(shù)調(diào)試嚴(yán)重依賴(lài)調(diào)試人員經(jīng)驗(yàn),對(duì)于單自由度系統(tǒng)或靜態(tài)目標(biāo)控制,可以實(shí)現(xiàn)較高的控制精度。但對(duì)于多自由度耦合、強(qiáng)非線(xiàn)性系統(tǒng),難以簡(jiǎn)單通過(guò)狀態(tài)量的變化實(shí)現(xiàn)參數(shù)整定,人工調(diào)參費(fèi)時(shí)費(fèi)力。基于模型的控制可以將人工調(diào)參轉(zhuǎn)換為數(shù)值優(yōu)化問(wèn)題,模型的主要作用是為控制律設(shè)計(jì)及控制參數(shù)優(yōu)化提供指導(dǎo),尤其是對(duì)多自由度耦合系統(tǒng)。
除此之外,PID控制僅依賴(lài)當(dāng)前時(shí)間步的誤差,對(duì)于靜態(tài)或緩變目標(biāo)控制可以取得較高的精度,但難以實(shí)現(xiàn)對(duì)快速變化控制目標(biāo)的準(zhǔn)確跟蹤。面向未來(lái)高機(jī)動(dòng)水下潛航器的控制需求,本文主要研究MPC及基于模型的強(qiáng)化學(xué)習(xí)控制技術(shù)。MPC在控制時(shí)考慮未來(lái)多步的目標(biāo),動(dòng)態(tài)性能好,在無(wú)人機(jī)[1-2]、雙足機(jī)器人等領(lǐng)域取得了廣泛應(yīng)用,波士頓動(dòng)力、MIT等多足機(jī)器人控制算法均以 MPC為主[3-4]。目前,強(qiáng)化學(xué)習(xí)方法在空中和水下機(jī)器人的運(yùn)動(dòng)控制均有著不同程度的應(yīng)用,Hwuang等[5]利用確定性策略搜索方法實(shí)現(xiàn)了四旋翼無(wú)人機(jī)空中三維位置的跟蹤。Koch[6]利用ROS和Gazebo仿真軟件,分別運(yùn)用DDPG、TRPO和PPO 3種深度強(qiáng)化學(xué)習(xí)算法實(shí)現(xiàn)對(duì)Iris四旋翼機(jī)器人的姿態(tài)控制,并與充分調(diào)參的PID控制器進(jìn)行對(duì)比,獲得了更好的控制效果。Song等利用PPO算法實(shí)現(xiàn)了四旋翼無(wú)人機(jī)的競(jìng)速任務(wù)[7]。
在水下航行器控制方面,MPC多應(yīng)用于軌跡規(guī)劃[8],直接應(yīng)用于運(yùn)動(dòng)控制的較少。一方面是由于目前水下航行器多為弱機(jī)動(dòng),而PID本身對(duì)靜態(tài)或緩變目標(biāo)控制效果較好。另一方面,受水動(dòng)力非線(xiàn)性影響,水下航行器動(dòng)力學(xué)建模困難,限制了MPC等基于模型控制技術(shù)的發(fā)展。
模型是制約MPC在水下潛航器應(yīng)用的主要障礙,為此,本文首先研究了數(shù)據(jù)驅(qū)動(dòng)的水下潛航器建模方法,可以根據(jù)航行器歷史數(shù)據(jù)實(shí)現(xiàn)對(duì)未來(lái)運(yùn)動(dòng)狀態(tài)的長(zhǎng)時(shí)預(yù)報(bào)。基于此建模方法,本文基于仿真平臺(tái)研究了MPC及基于模型的強(qiáng)化學(xué)習(xí)兩種運(yùn)動(dòng)控制技術(shù),并基于無(wú)人機(jī)進(jìn)行了控制試驗(yàn)。
精確的模型是基于模型運(yùn)動(dòng)控制的基礎(chǔ),受水動(dòng)力影響,水下潛航器運(yùn)動(dòng)學(xué)具有強(qiáng)非線(xiàn)性特點(diǎn),水下潛航器常見(jiàn)的建模方法包括基于數(shù)值仿真(computional fluid dynamics,CFD)的建模方法、基于實(shí)航數(shù)據(jù)的參數(shù)辨識(shí)方法[9]以及數(shù)據(jù)驅(qū)動(dòng)的在線(xiàn)建模方法?;?CFD的建模方法多用于性能評(píng)估,由于仿真環(huán)境與真實(shí)環(huán)境的差異以及仿真過(guò)程中的模型簡(jiǎn)化,導(dǎo)致基于CFD建立的模型與真實(shí)模型存在一定差異,影響控制精度?;趯?shí)航數(shù)據(jù)的參數(shù)辨識(shí)方法利用觀(guān)測(cè)狀態(tài)數(shù)據(jù)來(lái)計(jì)算未知的水動(dòng)力系數(shù),主要包括卡爾曼濾波、最大似然估計(jì)等,該方法需要事先提供水動(dòng)力模型表達(dá)式,參數(shù)辨識(shí)精度受水動(dòng)力模型表達(dá)式精度影響很大,而水動(dòng)力模型表達(dá)式一般由CFD計(jì)算得到,與實(shí)際有一定偏差,影響最終辨識(shí)精度。
水下潛航器水動(dòng)力受運(yùn)動(dòng)狀態(tài)影響很大,當(dāng)機(jī)器人跟蹤動(dòng)態(tài)目標(biāo)或進(jìn)行強(qiáng)機(jī)動(dòng)時(shí),其水動(dòng)力參數(shù)是實(shí)時(shí)變化的,此時(shí)需要對(duì)水動(dòng)力模型進(jìn)行實(shí)時(shí)在線(xiàn)辨識(shí),計(jì)算量過(guò)大,影響實(shí)時(shí)性。隨著深度學(xué)習(xí)技術(shù)的發(fā)展,基于深度學(xué)習(xí)的數(shù)據(jù)驅(qū)動(dòng)建模方法也得到了一定發(fā)展,數(shù)據(jù)驅(qū)動(dòng)建模本質(zhì)是把傳統(tǒng)泰勒級(jí)數(shù)水動(dòng)力模型用神經(jīng)網(wǎng)絡(luò)表示,神經(jīng)網(wǎng)絡(luò)離線(xiàn)訓(xùn)練過(guò)程相當(dāng)于傳統(tǒng)建模方法的參數(shù)辨識(shí)過(guò)程,由于神經(jīng)網(wǎng)絡(luò)具有強(qiáng)非線(xiàn)性擬合能力,數(shù)據(jù)驅(qū)動(dòng)建模方法可實(shí)現(xiàn)水下潛航器全工況建模,無(wú)需在線(xiàn)實(shí)時(shí)辨識(shí)過(guò)程,計(jì)算量大大減小。
現(xiàn)有數(shù)據(jù)驅(qū)動(dòng)建模方法大都屬單步預(yù)報(bào)[2],模型預(yù)測(cè)控制需要潛航器未來(lái)多個(gè)時(shí)間步的狀態(tài)信息,單步預(yù)報(bào)模型會(huì)帶來(lái)較大的累積誤差,本文提出一種多步預(yù)報(bào)模型,可以對(duì)潛航器未來(lái)運(yùn)動(dòng)狀態(tài)進(jìn)行長(zhǎng)時(shí)預(yù)報(bào),為智能決策、規(guī)劃以及基于模型的運(yùn)動(dòng)控制提供基礎(chǔ)。
水下潛航器運(yùn)動(dòng)學(xué)可以表示為
下一時(shí)刻的運(yùn)動(dòng)狀態(tài)取決于歷史狀態(tài)及當(dāng)前時(shí)刻的控制量輸入,可以看作序列到序列的翻譯任務(wù),本文借鑒機(jī)器翻譯領(lǐng)域廣泛使用的Transformer網(wǎng)絡(luò)結(jié)構(gòu),在其基礎(chǔ)上進(jìn)行一定適應(yīng)性改造,得到用于水下潛航器建模的神經(jīng)網(wǎng)絡(luò)模型,如圖2所示。編碼器由一維卷積構(gòu)成,主要接收歷史數(shù)據(jù),用于對(duì)潛航器當(dāng)前所處狀態(tài)進(jìn)行學(xué)習(xí)。解碼器由LSTM構(gòu)成,主要接收未來(lái)輸入數(shù)據(jù),用于在歷史狀態(tài)基礎(chǔ)上驅(qū)動(dòng)潛航器達(dá)到未來(lái)的狀態(tài)。
圖1 不同建模方法Fig.1 Different methods for hydrodynamic modeling
圖2 水下潛航器運(yùn)動(dòng)建模網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Network structure for underwater vehicle motion modeling
Encoder輸入為過(guò)去10個(gè)時(shí)間步的狀態(tài)量及操縱控制量,狀態(tài)量包括俯仰角、橫滾角、加速度及角速度,操縱控制量包括舵角控制量、推進(jìn)器控制量、輪緣推進(jìn)器控制量。Decoder輸入為未來(lái)50時(shí)間步的操縱控制量,網(wǎng)絡(luò)輸出為未來(lái)50時(shí)間步的待預(yù)報(bào)狀態(tài)量,本文以俯仰角預(yù)報(bào)為例說(shuō)明該建模方法的效果。圖3給出的是在訓(xùn)練集上的擬合效果,擬合優(yōu)度為0.97,圖3給出在預(yù)報(bào)集上的預(yù)報(bào)效果,擬合優(yōu)度為0.82,由圖4可知,在50時(shí)間步預(yù)報(bào)周期內(nèi),網(wǎng)絡(luò)可以對(duì)俯仰角的動(dòng)態(tài)變化準(zhǔn)確預(yù)報(bào),預(yù)報(bào)趨勢(shì)與實(shí)際變化趨勢(shì)完全一致。
圖3 訓(xùn)練集預(yù)報(bào)效果Fig.3 Prediction result of pitch angle on the training dataset
圖4 俯仰角50步預(yù)報(bào)Fig.4 50-step ahead prediction of pitch angle on the testing dataset
水下潛航器一般借助聲學(xué)傳感器實(shí)現(xiàn)速度預(yù)報(bào),聲學(xué)測(cè)速存在以下限制:1)隱蔽作業(yè)時(shí)不可用;2)微小型水下機(jī)器人難以搭載聲學(xué)傳感器;3)近海面時(shí),聲信號(hào)難以打底;4)強(qiáng)機(jī)動(dòng)運(yùn)動(dòng)時(shí),載體俯仰或橫滾較大,聲學(xué)測(cè)速信息不準(zhǔn)確?;谝陨舷拗?,本文提出一種不利用聲學(xué)傳感信息的速度預(yù)報(bào)技術(shù),僅利用慣導(dǎo)數(shù)據(jù)及機(jī)器人執(zhí)行機(jī)構(gòu)控制信號(hào),實(shí)現(xiàn)對(duì)機(jī)器人未來(lái)速度的長(zhǎng)時(shí)預(yù)報(bào)。
所采用的網(wǎng)絡(luò)結(jié)構(gòu)與第1節(jié)一致,Encoder輸入為慣導(dǎo)歷史數(shù)據(jù)及操縱機(jī)構(gòu)控制信號(hào),decoder輸入為未來(lái)50步的操縱機(jī)構(gòu)控制信號(hào),輸出為未來(lái)50步的前向速度。所采用的水下潛航器如圖5所示。
圖5 微小型水下潛航器Fig.5 Micro vehicle for the field test
該潛航器直徑為124 mm,長(zhǎng)1.8 m,重量為18 kg。本文采用其水面航行數(shù)據(jù)進(jìn)行建模,水面航行受波浪影響,航行條件更加惡劣,采用水面數(shù)據(jù)驗(yàn)證建模方法能更加說(shuō)明本文方法的合理性。該潛航器頭部安裝有多普勒聲學(xué)測(cè)速儀,該數(shù)據(jù)僅用于訓(xùn)練及測(cè)試,并不作為網(wǎng)絡(luò)輸入。值得指出的是,傳統(tǒng)基于物理的建模方法均需要推進(jìn)器轉(zhuǎn)速、舵板轉(zhuǎn)角作為輸入,對(duì)于微小型潛航器來(lái)說(shuō),受限于有限的內(nèi)部空間,加裝用于測(cè)量轉(zhuǎn)速或舵角的編碼器無(wú)法實(shí)現(xiàn)。本文所提出的建模方法僅需要控制器發(fā)出的控制信號(hào),如圖6(a),無(wú)需測(cè)量推進(jìn)器轉(zhuǎn)速及舵角,更加適用于微小型水下潛航器。
圖6 所采用的控制輸入及訓(xùn)練集擬合效果Fig.6 The control input and the fitting result on the training dataset
圖 6(b)給出了本文建模方法在訓(xùn)練集上的擬合效果,在訓(xùn)練集上擬合優(yōu)度可達(dá)0.98,在測(cè)試集上的擬合效果如圖7,擬合優(yōu)度分別為0.82與0.71。圖7給出的測(cè)試集屬于不同天、不同航次的試驗(yàn)數(shù)據(jù)。由圖7可以看出,在50步預(yù)報(bào)周期內(nèi),網(wǎng)絡(luò)對(duì)潛航器減速過(guò)程及加速過(guò)程以及減速加速轉(zhuǎn)折點(diǎn)均可準(zhǔn)確預(yù)報(bào),對(duì)于如圖7(b)出現(xiàn)的前向速度小幅波動(dòng)也能實(shí)現(xiàn)預(yù)報(bào)趨勢(shì)完全一致。預(yù)報(bào)集上誤差來(lái)源可能是不同航次試驗(yàn)水面波浪情況有所差別,而建模時(shí)波浪載荷沒(méi)有作為輸入。
圖7 不同航次前向速度預(yù)報(bào)效果Fig.7 Prediction results of surging velocity in different field tests
面向未來(lái)高機(jī)動(dòng)水下航行器的控制需求,本文研究水下航行器 MPC控制技術(shù),本節(jié)所用到的模型均采用第2節(jié)建模方法得到。MPC控制原理如圖 8,基于歷史數(shù)據(jù)建立機(jī)器人運(yùn)動(dòng)模型,基于該模型對(duì)機(jī)器人未來(lái)狀態(tài)進(jìn)行預(yù)報(bào),通過(guò)優(yōu)化算法優(yōu)化出最接近目標(biāo)的控制量。本文所采取的優(yōu)化算法為粒子群算法,在仿真環(huán)境下實(shí)現(xiàn)對(duì)AUV定速、定深及定向控制,控制效果如圖8,可以看出 MPC控制器可以實(shí)現(xiàn)對(duì)階躍及正弦目標(biāo)的有效跟蹤。
圖8 水下潛航器三自由度空間運(yùn)動(dòng)MPC控制效果Fig.8 Dynamic control of underwater vehicle based on MPC
MPC控制需要對(duì)控制量進(jìn)行在線(xiàn)優(yōu)化,優(yōu)化器的選擇及優(yōu)化目標(biāo)設(shè)計(jì)對(duì)最終結(jié)果有較大影響,受限于機(jī)器人較高的控制頻率和有限的在線(xiàn)計(jì)算資源,這種優(yōu)化往往無(wú)法取得最優(yōu)解,這也是限制MPC在機(jī)器人大規(guī)模應(yīng)用的一個(gè)主要因素。而基于模型的強(qiáng)化學(xué)習(xí)采用離線(xiàn)優(yōu)化方式,對(duì)計(jì)算量和優(yōu)化步數(shù)沒(méi)有限制,可以取得更優(yōu)的控制策略。采用本文第2節(jié)提出的建模方法,利用有限的試驗(yàn)數(shù)據(jù)即可構(gòu)建出精確的預(yù)報(bào)模型,基于該模型進(jìn)行虛擬訓(xùn)練,大大提升數(shù)據(jù)的利用效率和學(xué)習(xí)速率。
本文利用仿真平臺(tái),采用LSTMDPG算法對(duì)機(jī)器人控制策略進(jìn)行訓(xùn)練。實(shí)驗(yàn)對(duì)象為傳統(tǒng)的舵槳布局的水下機(jī)器人,通過(guò)控制水下機(jī)器人的方向舵實(shí)現(xiàn)機(jī)器人在水平面的航向控制,并與傳統(tǒng)的PID可控制器和DDPG控制器相較,如圖9(a)。實(shí)驗(yàn)結(jié)果表明:當(dāng)前航向軌跡與目標(biāo)航向軌跡不一致時(shí),通過(guò)優(yōu)化,強(qiáng)化學(xué)習(xí)(包括DDPG和LSTMDPG)方法可以實(shí)現(xiàn)較小的跟蹤誤差,如圖9(b)。同時(shí)LSTMDPG可以保證航向控制的快速性,并減少了方向舵的反復(fù)調(diào)節(jié),如圖9(c)。
圖9 不同控制方法軌跡跟蹤性能對(duì)比Fig.9 Trajectory tracking with different control methods
即使在有風(fēng)環(huán)境下,機(jī)器人依然可以實(shí)現(xiàn)精確的定點(diǎn)控制,驗(yàn)證了該方法的有效性。機(jī)器人起飛后,保持穩(wěn)定在高度2 m,如圖11,期間實(shí)驗(yàn)現(xiàn)場(chǎng)有微風(fēng),風(fēng)速約為2 m/s。由圖12可以看出,機(jī)器人姿態(tài)角始終保持在較小值,說(shuō)明機(jī)器人在有風(fēng)干擾條件下始終可以保持姿態(tài)平穩(wěn)。
圖10 試驗(yàn)無(wú)人機(jī)平臺(tái)Fig.10 UAV platform
圖11 無(wú)人機(jī)定點(diǎn)控制實(shí)驗(yàn)Fig.11 Position control of UAV
圖12 無(wú)人機(jī)定點(diǎn)控制姿態(tài)及軌跡Fig.12 Attitude and trajectory of UAV
傳統(tǒng)控制方法僅針對(duì)當(dāng)前誤差進(jìn)行優(yōu)化,動(dòng)態(tài)控制精度差,這本質(zhì)是由控制算法“短視”造成的?;谀P偷目刂仆ㄟ^(guò)模型的引入,使控制器具備對(duì)未來(lái)狀態(tài)的“預(yù)見(jiàn)”能力,可將對(duì)未來(lái)的影響引入當(dāng)前控制量的優(yōu)化過(guò)程,進(jìn)而提升動(dòng)態(tài)控制精度。利用本文提出的數(shù)據(jù)驅(qū)動(dòng)建模方法,研究了 MPC及基于模型的強(qiáng)化學(xué)習(xí)控制,并基于無(wú)人機(jī)試驗(yàn)平臺(tái)初步驗(yàn)證了控制方法可行性。
模型是數(shù)據(jù)驅(qū)動(dòng)建模方法在機(jī)器人應(yīng)用的基礎(chǔ),可極大提升數(shù)據(jù)利用率及訓(xùn)練效率。傳統(tǒng)基于物理的建模方法難以處理環(huán)境或工況改變引起的強(qiáng)非線(xiàn)性,針對(duì)這一問(wèn)題,本文基于神經(jīng)網(wǎng)絡(luò),在無(wú)任何先驗(yàn)知識(shí)前提下,僅利用機(jī)器人歷史數(shù)據(jù)實(shí)現(xiàn)對(duì)機(jī)器人未來(lái)狀態(tài)的長(zhǎng)時(shí)預(yù)報(bào)。該方法僅利用機(jī)器人自身感知數(shù)據(jù),具備在線(xiàn)學(xué)習(xí)能力,可有效克服傳統(tǒng)建模方法適應(yīng)性差的不足。
深度學(xué)習(xí)與控制技術(shù)相結(jié)合是機(jī)器人發(fā)展的必然趨勢(shì),深度學(xué)習(xí)強(qiáng)大的擬合能力及學(xué)習(xí)能力使復(fù)雜控制策略設(shè)計(jì)變?yōu)榭赡?,可?shí)現(xiàn)機(jī)器人控制由“通用化”向“個(gè)性化”轉(zhuǎn)變,必將極大提升機(jī)器人智能水平及環(huán)境適應(yīng)能力。