周則興
(中國船舶科學(xué)研究中心,江蘇 無錫 214082)
過去一二十年中,AUV的軌跡跟蹤控制系統(tǒng)的設(shè)計方法一直是研究的熱點之一。Yuh等[1]對此進行了全面而細致的研究。同時,各類生產(chǎn)活動對AUV的自主能力要求越來越高,例如使用AUV定期檢查海上平臺的圓柱形樁基,往往需要AUV沿螺旋線下沉以提高作業(yè)效率。欠驅(qū)動機器人軌跡跟蹤主要的難點在于缺少能夠?qū)θ杂啥戎苯舆M行控制的獨立推進器。因此,欠驅(qū)動機器人受漂移力或波浪力等非線性時變擾動的影響更大。Nakamura等[2]較早開展了對欠驅(qū)動AUV非線性控制方法的研究,但是其動力學(xué)模型比較粗糙,沒有考慮強非線性和強耦合的離心力、科氏力項的影響。
隨著非線性控制理論的發(fā)展,有很多專家學(xué)者基于更為完整的動力學(xué)模型對欠驅(qū)動AUV的運動控制穩(wěn)定性和控制律進行了廣泛的研究,包括軌跡跟蹤[3-5]、路徑點跟蹤[6]、水下管道跟蹤[7-8]、水下入塢控制、水下避障[9]等,但是這些運動控制研究通?;谌杂啥鹊娜?qū)動或欠驅(qū)動AUV動力學(xué)模型,著重關(guān)注AUV三自由度的運動特性,忽略了其他的運動特性。如Xiang等[10]基于反步法和李雅普諾夫直接法設(shè)計了AUV水平面運動控制器。Xu等[11]針對欠驅(qū)動AUV的水平面軌跡跟蹤問題設(shè)計了自適應(yīng)動態(tài)滑??刂破?。也有一些研究者直接基于五或六自由度AUV動力學(xué)模型進行控制器設(shè)計,如Khoshnam等[12]設(shè)計了神經(jīng)網(wǎng)絡(luò)自適應(yīng)魯棒控制器,進行了海流擾動下AUV三維軌跡跟蹤運動仿真,取得了較好的跟蹤效果。王宏健等[13]設(shè)計了濾波反步法控制器,完成了水下三維曲線軌跡的跟蹤運動仿真。賈鳴鶴等[14]設(shè)計了神經(jīng)網(wǎng)絡(luò)自適應(yīng)反饋控制器,完成了AUV對三維螺旋下潛軌跡的跟蹤。
本文首先給出了欠驅(qū)動六自由度AUV動力學(xué)模型和大部分該AUV的水動力導(dǎo)數(shù)。之后,通過虛擬目標(biāo)法建立了欠驅(qū)動AUV的軌跡跟蹤誤差方程,并設(shè)計了DRNN-S控制器。最后,本文在Matlab平臺上進行了欠驅(qū)動AUV三維曲線軌跡跟蹤運動仿真,展示了軌跡跟蹤過程中的AUV姿態(tài)變化、AUV舵角響應(yīng)、推力響應(yīng)。仿真結(jié)果顯示,DRNN-S控制器可用于欠驅(qū)動AUV的三維軌跡跟蹤控制。
水下機器人六自由度動力學(xué)與運動學(xué)方程[15]如下:
式中:M為慣量矩陣,包含AUV的質(zhì)量屬性和慣性類水動力系數(shù);C和D陣為離心力和科氏力矩陣,包含眾多粘性項水動力導(dǎo)數(shù); τ為驅(qū)動力和力矩;f為擾動力和力矩項;JΘ為艇體坐標(biāo)系到固定坐標(biāo)系的變換矩陣; ? ={u,v,w,p,q,r}為機器人的六自由度速度和角速度分量,其中,u為艇體軸向速度,v為艇體側(cè)向速度,w為艇體垂向速度,p為艇體橫搖角速度,q為縱搖角速度,r為首搖角速度;G為艇體回復(fù)力矩;η={x,y,z,φ,θ,ψ}為固定坐標(biāo)系下的AUV位姿,x,y,z為AUV重心位置坐標(biāo),φ為橫滾角, θ為縱傾角, ψ 為回轉(zhuǎn)角。
zg為艇體坐標(biāo)系下重心的垂向坐標(biāo),本文默認艇體坐標(biāo)系原點在AUV重心,且忽略運動過程中AUV重心位置的變化,有zg=0。zb為艇體坐標(biāo)系下AUV浮心垂向坐標(biāo),對于水下機器人,通常有zb>0。
如圖1所示,{N}為固定坐標(biāo)系,{B}為艇體坐標(biāo)系,{V}為跟蹤軌跡上的虛擬坐標(biāo)系。要保證AUV能夠?qū)崟r跟蹤三維曲線軌跡,{B}應(yīng)與{V}一直保持重合。
圖1 {N},{B},{V}坐標(biāo)系Fig.1 {N}, {B} and {V} coordinate system
定義{N}坐標(biāo)系下的跟蹤誤差為ηe=[x-xdy-yd z-zd]T。{B}坐標(biāo)系下的跟蹤誤差為 εe=[xeyeze]T,兩坐標(biāo)系下的運動誤差有如下關(guān)系[16-17]:
對式(2)微分可得:
展開式(4)可化簡如式(5)所示,經(jīng)以上述變換后得到{B}坐標(biāo)系下的誤差方程以及誤差微分方程。之后,將根據(jù)運動誤差方程,針對欠驅(qū)動AUV設(shè)計DRNN-S控制器,控制器輸出軸向驅(qū)動力 τx,垂直舵角 δr和水平舵角 δs。本文運動仿真中,設(shè)定軸向驅(qū)動力取值范圍為 τx∈[0, 500],N。設(shè)定舵角范圍為δr/δs∈ [-25, 25]。
由于欠驅(qū)動AUV動力學(xué)模型的強非線性和耦合性,三維軌跡跟蹤運動中使用線性控制器往往無法取得較好的跟蹤效果。本文設(shè)計了DRNN-S控制器,使用混合控制器可以避免DRNN在線迭代學(xué)習(xí)過程中不容易發(fā)散,而神經(jīng)網(wǎng)絡(luò)又能補償S面控制器的輸出,提高S面控制器的魯棒性。S面控制器是一種非線性無模型控制器,類似模糊PD控制器,對于非線性系統(tǒng)有較好的效果,得到了大量的應(yīng)用和改進。李岳明等[18]在S面基礎(chǔ)上改進提出了自適應(yīng)S面控制器,并基于李雅普諾夫穩(wěn)定性理論進行了穩(wěn)定性分析。仿真表明自適應(yīng)S面控制可以顯著減小超調(diào)、加速收斂。自適應(yīng)S面位置跟蹤方程如下[18]:
式中:us為S面控制器的輸出量,k1和k2是增益參數(shù),e,e˙ 為輸入位置偏差和偏差微分, Δf為適應(yīng)環(huán)境干擾的自適應(yīng)調(diào)整項。S(Δe0)為S控制函數(shù),et為t時刻位置偏差, γ 為使能因子, δ為低通濾波因子。 αt為時間漸消因子。 βt為時刻t速消因子。仿真中取增益參數(shù)如下:
DRNN是一種3層在線學(xué)習(xí)神經(jīng)網(wǎng)絡(luò),相對于傳統(tǒng)的前饋神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)對非線性系統(tǒng)有更好的擬合效果。DRNN的性能指標(biāo)函數(shù)如下:
其中混合控制器總輸出ut(k)=ud(k)+us(k)。仿真初始階段,自適應(yīng)S面輸出作為總輸出的主要部分。隨著DRNN的不斷迭代,神經(jīng)網(wǎng)絡(luò)對非線性動力學(xué)模型的擬合度提高,均方誤差E(k)趨于零,DRNN的輸出量ud(k)逐漸作為總輸出的主要部分。當(dāng)環(huán)境發(fā)生改變時,DRNN擬合效果變差,自適應(yīng)S面控制器再次作為總輸出的主要部分。
仿真實驗在Matlab平臺上進行。仿真使用的流線型AUV動力學(xué)方程如式(1),AUV驅(qū)動方式為尾部單螺旋槳推進器和尾部十字形舵。方程所用到的系數(shù)如表1所示,包括了AUV全部慣性類水動力系數(shù)和部分粘性類水動力系數(shù)。動力學(xué)模型中的不確定部分使用下式模擬:
表1 AUV水動力系數(shù)表Tab.1 The hydrodynamic coefficients for an AUV
其中,cw1=0.5,cw2=0.25,cw3=0.5。
AUV質(zhì)量屬性為特征長度L=2.38 m,m=167 kg,Ixx= 4.73 kg·m2,Iyy= 70.27 kg·m2,Izz= 71.38 kg·m2。忽略AUV非對角轉(zhuǎn)動慣量。
三維曲線軌跡方程如下:
圖2~圖4為了欠驅(qū)動AUV三維軌跡跟蹤效果。圖2中,AUV從[-50 50 0]位置出發(fā),開始跟蹤三維曲線軌跡,軌跡起點為[ 0 0 0],終點為[500 -200 50]。圖3和圖4為軌跡跟蹤運動在x-y和x-z平面的投影,可以看出在x=200和x=400處,由于AUV十字舵的耦合效應(yīng),導(dǎo)致水平舵受到較大影響,舵效變差,垂直跟蹤誤差變大。圖5為AUV在x,y,z方向的跟蹤誤差ex,ey,ez,在跟蹤軌跡曲率變化劇烈的地方,跟蹤誤差也變大了。但總體來看,跟蹤誤差還是較小的。結(jié)合圖6,由于欠驅(qū)動AUV動力學(xué)模型的強耦合性,軌跡曲率變化劇烈的地方,尾舵操舵幅度也變大了,垂直舵和水平舵呈現(xiàn)了類似的操舵響應(yīng)。圖7和圖8為AUV軸向速度跟蹤誤差和推力變化,在仿真初始階段,由于AUV的起點與軌跡起點不重合,AUV保持了較大的推力400N,以超過期望值的速度趨向期望軌跡,當(dāng)接近期望軌跡后,推力下降,軸向速度逐漸跟蹤上期望速度。
圖2 AUV三維軌跡跟蹤Fig.2 Three-dimensional trajectory tracking for an AUV
圖3 三維軌跡跟蹤x-y平面投影Fig.3 XY plane prejection for three-dimensional trajectory tracking
圖4 三維軌跡跟蹤x-z平面投影Fig.4 XZ plane prejection for three-dimensional trajectory tracking
圖5 位置跟蹤偏差Fig.5 Tracking errors
圖6 舵角響應(yīng)Fig.6 Rudder response
圖7 軸向速度跟蹤偏差Fig.7 X-axis velocity error
圖8 推力響應(yīng)Fig.8 Thrust response
綜上,基于DRNN-S自適應(yīng)控制器,欠驅(qū)動AUV能以較小誤差實時跟蹤三維曲線軌跡。
本文通過在Matlab平臺進行仿真,驗證了DRNNS非線性無模型控制器在欠驅(qū)動AUV三維軌跡跟蹤任務(wù)中有良好的控制效果,基于虛擬目標(biāo)法建立的跟蹤誤差方程,AUV能保持較小的跟蹤誤差對曲線軌跡進行實時跟蹤。通過組合DRNN與自適應(yīng)S面控制器,建立了DRNN-S混合控制器。通過組合兩種非線性魯棒控制器,一方面提高了神經(jīng)網(wǎng)絡(luò)對非線性強耦合動力學(xué)模型的擬合效果,克服了神經(jīng)網(wǎng)絡(luò)直接擬合動力學(xué)模型時容易發(fā)散的問題。另一方面,由于DRNN在線學(xué)習(xí)后可以補償S面控制器的輸出,減少了手動調(diào)整S面控制器增益參數(shù)的工作量。