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