李 晨,代 笠
(1.海軍裝備部駐宜昌地區(qū)軍事代表局,湖北 宜昌 443003;2.海軍裝備部駐廣州地區(qū)軍事代表局,廣東 廣州 510000)
水下機(jī)器人作為重要的海洋裝備,被廣泛應(yīng)用于資源勘測(cè)、海洋工程、水下救助以及偵察打擊等軍民領(lǐng)域多種場(chǎng)景。為了在復(fù)雜多變的海洋環(huán)境中順利完成使命任務(wù),水下機(jī)器人需要能夠結(jié)合自身運(yùn)動(dòng)特性,以及周圍暗礁、錨鏈等危險(xiǎn)障礙物信息,基于路徑跟蹤實(shí)現(xiàn)有效的避碰控制。
國(guó)內(nèi)外圍繞水下機(jī)器人路徑跟蹤控制問題開展了廣泛研究,早期研究采用比例-積分-微分控制實(shí)現(xiàn)水下機(jī)器人運(yùn)動(dòng)控制和路徑跟蹤[1]。由于水下機(jī)器人運(yùn)動(dòng)具有強(qiáng)非線性,并且會(huì)受到復(fù)雜的外部環(huán)境干擾,該類方法往往效果有限。文獻(xiàn)[2]-[4]將滑??刂频确椒ㄒ肼窂礁櫩刂?,以改善傳統(tǒng)算法的穩(wěn)定性和收斂性,但在避碰控制場(chǎng)景下缺乏對(duì)外部環(huán)境與執(zhí)行機(jī)構(gòu)等約束進(jìn)行處理的有效手段。
模型預(yù)測(cè)控制(Model Predictive Control,MPC)具有能夠顯式處理系統(tǒng)約束的優(yōu)勢(shì)。文獻(xiàn)[5]構(gòu)建了MPC控制函數(shù),降低無人潛航器軌跡跟蹤控制的能耗,同時(shí)減小跟蹤誤差保證跟蹤精確性。文獻(xiàn)[6]開發(fā)了基于Lyapunov的 MPC框架,提高了無人潛航器的軌跡跟蹤精度。這些研究基本直接采用傳統(tǒng)動(dòng)力學(xué)模型作為預(yù)測(cè)模型,在模型誤差修正方面考慮有所欠缺。
有研究者進(jìn)一步將神經(jīng)網(wǎng)絡(luò)引入控制器,文獻(xiàn)[7]通過神經(jīng)網(wǎng)絡(luò)估計(jì)水動(dòng)力阻尼過程的逼近誤差,從而提升了控制器對(duì)模型不確定項(xiàng)的控制能力。文獻(xiàn)[8]利用遞歸神經(jīng)網(wǎng)絡(luò)的動(dòng)態(tài)特性辨識(shí)系統(tǒng),簡(jiǎn)化了僅辨識(shí)未知非線性函數(shù)帶來的控制器設(shè)計(jì)復(fù)雜性。文獻(xiàn)[9]改進(jìn)Elman網(wǎng)絡(luò)作為預(yù)測(cè)模型,提出并推導(dǎo)了用于求解預(yù)測(cè)控制律的靈敏度導(dǎo)數(shù)公式,用于水下機(jī)器人神經(jīng)廣義預(yù)測(cè)控制。
因此,本文提出了一種水下機(jī)器人避碰控制方法,以引入約束條件的MPC算法為基礎(chǔ),采用徑向基函數(shù)(Radial Basis Function,RBF)神經(jīng)網(wǎng)絡(luò)修正傳統(tǒng)動(dòng)力學(xué)預(yù)測(cè)模型,對(duì)水平面避碰規(guī)劃路徑進(jìn)行跟蹤控制。通過仿真試驗(yàn)證明了該方法能夠在避碰場(chǎng)景下實(shí)現(xiàn)有效的路徑跟蹤控制,并且相比傳統(tǒng)MPC方法控制精度有所提升。
本文以水下機(jī)器人水平面運(yùn)動(dòng)作為分析對(duì)象,僅考慮縱向運(yùn)動(dòng)、橫向運(yùn)動(dòng)與偏航運(yùn)動(dòng) 3個(gè)自由度。取慣性坐標(biāo)系與載體坐標(biāo)系下狀態(tài)向量分別為[x,y,ψ]T與 [u,v,r]T,則運(yùn)動(dòng)學(xué)方程為
式中:x為前向位移;y為側(cè)向位移;ψ為航向角;u為前向速度;v為側(cè)向速度;r為航向角速度。
動(dòng)力學(xué)方程為
式中:m11、m22與m33為慣性矩陣元素;d11、d22與d33為水動(dòng)力阻尼矩陣元素;X、Y與N分別為前向作用力、橫向作用力與偏航力矩。
根據(jù)式(1)與式(2)建立基礎(chǔ)動(dòng)力學(xué)預(yù)測(cè)模型,考慮到該預(yù)測(cè)模型建模誤差,采用 RBF神經(jīng)網(wǎng)絡(luò)建立誤差補(bǔ)償函數(shù)。RBF神經(jīng)網(wǎng)絡(luò)作為一種單隱層前饋網(wǎng)絡(luò),由輸入層、隱藏層、輸出層3層網(wǎng)絡(luò)結(jié)構(gòu)組成,具有較好的非線性函數(shù)的逼近功能,并且有利于降低水下機(jī)器人控制器的實(shí)時(shí)運(yùn)算負(fù)擔(dān)[10-11]。本文采用9輸入3輸出RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)建立誤差補(bǔ)償函數(shù)。
輸入層向量xi由狀態(tài)測(cè)量值、執(zhí)行機(jī)構(gòu)作用力與狀態(tài)預(yù)測(cè)值3部分組成,具體定義為
式中:um、vm與rm分別為前向速度、側(cè)向速度與航向角速度的狀態(tài)測(cè)量值;Xa、Ya與Na分別為執(zhí)行機(jī)構(gòu)產(chǎn)生的前向力、橫向力與偏航力矩;ub、vb與rb分別為基礎(chǔ)動(dòng)力學(xué)模型輸出的前向速度、側(cè)向速度與航向角速度狀態(tài)預(yù)測(cè)值。
通過將神經(jīng)網(wǎng)絡(luò)補(bǔ)償?shù)膭?dòng)力學(xué)模型作為 MPC預(yù)測(cè)模型,使預(yù)測(cè)模型更加逼近真實(shí)載體的動(dòng)力學(xué)響應(yīng)特征,從而提升基于 MPC的路徑跟蹤控制效果。
為驗(yàn)證基于RBF-MPC的水下機(jī)器人避碰控制算法,在MATLAB下開展運(yùn)動(dòng)控制仿真試驗(yàn),基于某型自研產(chǎn)品數(shù)值仿真設(shè)置動(dòng)力學(xué)模型參數(shù),具體如下表所示。
表1 動(dòng)力學(xué)模型參數(shù)表Table 1 Dynamic model parameters
采用傳統(tǒng)MPC與RBF-MFC 2種算法對(duì)預(yù)設(shè)的全局避碰規(guī)劃路徑進(jìn)行跟蹤控制,其中傳統(tǒng)MPC直接以動(dòng)力學(xué)模型作為預(yù)測(cè)模型,RBF-MFC采用離線訓(xùn)練神經(jīng)網(wǎng)絡(luò)修正后動(dòng)力學(xué)模型作為預(yù)測(cè)模型。設(shè)定初始艏向角為0,初始坐標(biāo)為原點(diǎn),水下機(jī)器人水平面避碰運(yùn)動(dòng)過程如圖1-6所示。
圖1 航行軌跡圖Fig.1 Trajectory graph
圖2 路徑跟蹤誤差曲線圖Fig.2 Curve graph of path tracking error
圖3 前向速度曲線圖Fig.3 Curve graph of forward velocity
圖4 航向角曲線圖Fig.4 Curve graph of heading angle
圖5 前向推力曲線圖Fig.5 Curve graph of forward thrust
圖6 轉(zhuǎn)艏力矩曲線圖Fig.6 Curve graph of turn stem torque
根據(jù)避碰航行軌跡可初步看出,2種方法均可控制水下機(jī)器人跟蹤避碰規(guī)劃路徑,先后左偏約5 m與12.5 m,依次避開2個(gè)障礙物。
進(jìn)一步分析避碰路徑跟蹤誤差,傳統(tǒng)MPC控制算法的均值為0.033 m,標(biāo)準(zhǔn)差為0.51 m,2次避碰最大值分別達(dá)到0.75 m與2.7 m;RBF-MPC控制算法的均值為0.006 m,標(biāo)準(zhǔn)差為0.17 m,2次避碰最大值分別為0.09 m與0.6 m,在平滑度與精確性方面的控制效果均有所提升。
本文針對(duì)水下機(jī)器人避碰場(chǎng)景下的路徑跟蹤控制問題,設(shè)計(jì)了一種RBF-MPC控制方法。通過RBF神經(jīng)網(wǎng)絡(luò)補(bǔ)償傳統(tǒng)動(dòng)力學(xué)模型的建模誤差,提高了預(yù)測(cè)控制模型精度。在滾動(dòng)優(yōu)化環(huán)節(jié)顯式考慮外部環(huán)境、執(zhí)行機(jī)構(gòu)等約束條件,求解避障路徑的跟蹤控制量。仿真結(jié)果證明該方法能夠有效控制水下機(jī)器人跟蹤避碰路徑規(guī)避障礙物,并且相比于傳統(tǒng)MPC控制方法路徑跟蹤誤差更小。