魏 瓊, 周 剛, 金 鵬, 張金姣, 胡新宇
(湖北工業(yè)大學機械工程學院, 湖北 武漢 430068)
無人船在海洋航行時受到風、浪、流的影響,出現(xiàn)軌跡偏離的情況,因此一個具有抗干擾能力的航向控制器是至關(guān)重要的[1]。目前,無人船航向控制算法主要有傳統(tǒng)PID、模糊PID自適應控制、神經(jīng)網(wǎng)絡控制和其他一些基于專家經(jīng)驗智能算法的結(jié)合算法等[2]。但是這些算法與無人船航向控制器的設(shè)計結(jié)合時大都采用Nomoto線性無人船模型[3]。由于無人船裝載狀態(tài)、外界干擾等時常發(fā)生變化,線性模型已經(jīng)不能精確描述系統(tǒng)的動態(tài)響應特性[4]。針對上述問題,本文在具有非線性特性的船舶運動模型中考慮了相關(guān)參數(shù)和外部干擾的不確定性,設(shè)計了非線性Backstepping自適應控制算法,并使用Lyapunov函數(shù)進性論證,仿真驗證該算法合理可行。
由于無人船裝載狀態(tài)、外界干擾等時常發(fā)生變化,僅線性無人船Nomoto模型已經(jīng)不能準確地描述系統(tǒng)的動態(tài)響應特性,所以應采用無人船非線性Norrbin模型。
Norrbin模型[5]可表示為:
(1)
(2)
其中,θ1=-1/T,θ2=-α/T,b=K/T。假設(shè)外界干擾是有界的[7-8],因此|ω|≤Φ,Φ為常數(shù)。
本設(shè)計選取無人船相關(guān)參數(shù)[9]如表1所示。
表1 無人船相關(guān)參數(shù)
為了使仿真效果更符合實際情況,在仿真中加入風浪流的干擾。通過查閱文獻可知,海流對無人船的干擾為一恒值,對船體模型影響較小可不考慮。而風浪對無人船的干擾可以通過白噪聲和一個二階波浪傳遞函數(shù)實現(xiàn)[10]:
(3)
(4)
圖 1 干擾信號
傳統(tǒng)PID控制算法多應用在線性Nomoto船體模型中,而將其應用到非線性Norrbin模型中發(fā)現(xiàn)超調(diào)量較大。模糊PID控制算法也大多用在線性Nomoto無人船模型中,相比傳統(tǒng)PID控制算法具有更好的控制效果,但將其應用到非線性Norrbin無人船模型中時,超調(diào)量和穩(wěn)定時間欠佳,抗干擾性能也較差。針對無人船航向控制系統(tǒng)模型存在模型參數(shù)和外界干擾不確定性的特點,也為了解決傳統(tǒng)PID控制算法和模糊PID控制算法應用在非線性無人船模型抗干擾能力差、超調(diào)量和穩(wěn)定時間欠佳的問題,本文提出了一種基于Backstepping的非線性無人船自適應航向控制算法。
定理 對于一個由微分方程(2)表征的系統(tǒng),通過構(gòu)造一個正定的Lyapunov函數(shù)(7),使該函數(shù)對時間的全導數(shù)負定(式(7))或半負定(式(10)),證明該系統(tǒng)的漸近穩(wěn)定性。
證明 該航向控制算法穩(wěn)定性證明過程由兩步組成。
第一步 設(shè)定偏差變量
e1=x1-xd
(5)
e2=x2-Λ
(6)
其中:Λ為虛擬鎮(zhèn)定函數(shù),ξ為引入的積分項。構(gòu)造無人船模型(5)(6)的第一個Lyapunov函數(shù)[12]
(7)
則V1對時間的導數(shù)
(8)
取虛擬鎮(zhèn)定函數(shù)
(9)
其中,c1為大于0的待設(shè)定系數(shù)。將式(9)帶入式(8) 可得
(10)
第二步 設(shè)定無人船模型全系統(tǒng)的Lyapunov函數(shù)
(11)
綜上可得,無人船模型全系統(tǒng)Lyapunov函數(shù)對時間的導數(shù)
(12)
設(shè)定
F(x)=[x2x23]
(13)
(14)
將式(13)、(14)帶入式(12)可得
(15)
設(shè)定θ的自適應控制率
(16)
設(shè)定舵角的控制律
(17)
(18)
將式(17)代入式(14)得
(19)
查閱資料可得
|γ|-1γ=sgn(γ)=sgn(b)
(20)
設(shè)定γ的控制律
(21)
將式(16)、(17)和(21)代入式(15),并利用不等式x2+y2≥2xy可得
(22)
(23)
(24)
(25)
(26)
由上式可得
(27)
可知V2是呈指數(shù)形式衰減的,同時
(28)
因此,閉環(huán)系統(tǒng)的解是一致且最終有界的,且c1,c2,k1,k2,ρ,r1,r2,ε均為大于0的待設(shè)計參數(shù)。
通過查閱無人船船體參數(shù)[9],計算可得Norrbin船舶非線性模型參數(shù),其中K=8.2369,T=14.66,α=30°。
取定設(shè)計參數(shù)為c1=0.8,c2=5,k1=10,k2=10,ρ=10,r1=2,r2=2,ε=0.45,θ10=-0.012,θ20=-0.045。為了避免仿真結(jié)果的偶然性,實驗設(shè)定了三組預期航向角,分別為30°,45°,60°,分別在Matlab里進行非線性Backstepping自適應航向控制算法、PID控制算法、模糊PID控制算法的航向控制仿真,結(jié)果如圖2-7所示。
圖 2 30°時航向控制算法對應的航向角變化
圖 3 30°時航向控制算法對應的舵角變化
圖 4 45°時航向控制算法對應的航向角變化
圖 5 45°時航向控制算法對應的舵角變化
圖 6 60°時航向控制算法對應的航向角變化
圖 7 60°時航向控制算法對應的舵角變化
從圖2-圖7的仿真結(jié)果可得表2。
表2 仿真數(shù)據(jù)
由表2仿真結(jié)果可知:
1)在初始航向角為30°時,PID航向控制算法較其他兩種算法超調(diào)量高15%;非線性Backstepping自適應航向控制算法的航向角穩(wěn)定時間較其他兩種算法至少減少61 s,且該航向控制算法較其他兩種算法在舵角超調(diào)量上減少5;同時該航向控制算法在航向角穩(wěn)定時間上僅為8 s。
2)在初始航向角為45°時,PID航向控制算法較其他兩種算法超調(diào)量高25%;非線性Backstepping自適應航向控制算法在航向角穩(wěn)定時間上較優(yōu),僅為11 s,且該航向控制算法較其他兩種算法在舵角超調(diào)量上減少9;同時該航向控制算法在航向角穩(wěn)定時間上僅為11 s。
3)在初始航向角為60°時,PID航向控制算法較非線性Backstepping自適應航向控制算法超調(diào)量高34%;非線性Backstepping自適應航向控制算法的航向角穩(wěn)定時間較其他兩種算法至少減少60 s,且該航向控制算法較其他兩種算法在舵角超調(diào)量上減少14;同時該航向控制算法在航向角穩(wěn)定時間上僅為11 s。
由上述數(shù)據(jù)分析可知,該非線性Backstepping自適應航向控制算法較其他兩種航向控制算法具有較好的保持性能和動態(tài)品質(zhì)。該航向控制算法不因初始航向角的不同而有過大的超調(diào)量。同時在參數(shù)變動及外來干擾的影響下,該控制系統(tǒng)具有較小的超調(diào)量和較短的穩(wěn)定時間,說明該系統(tǒng)具有良好的抗干擾性能[13]。
本文針對無人船航向控制Norrbin非線性系統(tǒng),設(shè)計了一種基于非線性無人船的Backstepping自適應控制算法,借助Lyapunov函數(shù)驗證了該算法可以使系統(tǒng)為最終一致且有界,并將該航向控制算法與PID航向控制算法和模糊PID航向控制算法進行對比,得出該控制算法在無人船非線性模型航向控制方面相比PID控制算法和模糊PID控制算法具有更好的抗干擾性能。