龔 波,周永華,艾矯燕
(廣西大學(xué) 電氣工程學(xué)院,廣西 南寧 530004)
近年來,隨著科學(xué)技術(shù)水平的提高,水面無人船(unmanned surface vessel,USV)的應(yīng)用快速發(fā)展,以致其航向跟蹤控制問題受到大家的廣泛關(guān)注。文獻(xiàn)[1,2]基于魯棒穩(wěn)定性理論分別設(shè)計了狀態(tài)反饋控制器和模糊數(shù)字PID控制器,實現(xiàn)了船舶航向的狀態(tài)保持與控制;文獻(xiàn)[3]考慮了系統(tǒng)的建模誤差和環(huán)境擾動,提出采用徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)(radial basis function neural network)逼近其帶來的不確定性信息,設(shè)計了一種USV航向跟蹤自適應(yīng)RBF網(wǎng)絡(luò)控制器;文獻(xiàn)[4,5]基于級聯(lián)系統(tǒng)理論和李雅普諾夫理論設(shè)計了非對稱模型的欠驅(qū)動船航向誤差鎮(zhèn)定控制器,實現(xiàn)了任意參考軌跡下的USV路徑跟蹤控制;文獻(xiàn)[6]提出一種自適應(yīng)動態(tài)滑??刂品椒?,使欠驅(qū)動無人船對直線和曲線路徑具備了良好的循跡性能。
以上文獻(xiàn)都是直接從船舶的系統(tǒng)響應(yīng)模型出發(fā),根據(jù)先進(jìn)的控制理論設(shè)計了航向航跡控制方法,設(shè)計過程較為復(fù)雜。本文考慮控制器的魯棒性和設(shè)計簡捷方便的問題,采用系統(tǒng)描述精度更高,控制細(xì)節(jié)更加靈活的分?jǐn)?shù)階PID設(shè)計無人船航向控制律,并給出一種適用于該控制律的參數(shù)自整定神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法。此外,為消除環(huán)境擾動對USV操縱性能產(chǎn)生的影響,還設(shè)計了相應(yīng)的擴(kuò)展卡爾曼濾波器,最后通過仿真實驗驗證了所提方法的可行性和有效性。
(1)
此外,水上航行時的風(fēng)浪干擾是引起無人船搖蕩和偏航的主要因素,故而在對無人船的航向控制器進(jìn)行設(shè)計時,風(fēng)浪環(huán)境的擾動不可忽略。
對于風(fēng)干擾,描述為一種舵角干擾信號,仿真時采用白噪聲替代,并將其作用于船舶運動控制的舵角指令中以模擬風(fēng)對USV操縱的影響,該模型描述為
W(s)=Aw(s)
(2)
對于浪干擾,等效為對船舶航向的擾動,仿真時采用白噪聲驅(qū)動一個典型的二階振蕩環(huán)節(jié)來模擬[7],并將其作用于USV的實際航向,該模型描述為
(3)
其中,A為白噪聲的增益系數(shù),Kω為海浪模型的增益系數(shù),為海浪的阻尼系數(shù),ω0為主導(dǎo)海浪的頻率,w(s)為零均值高斯白噪聲。
無人船在水面航行的時候,其運動方向會受到海風(fēng)和海浪的隨機(jī)性擾動,而船舶上的傳感器設(shè)備又無法自動識別這些復(fù)雜的干擾信息,進(jìn)而無法獲得船舶的真實航向。尤其是遇到大強度高頻率的擾動,無人船的航向控制難度會進(jìn)一步加大。這些情況會最終表現(xiàn)為船舶的航向信息無規(guī)則振蕩,而偏航信息振蕩會使USV的舵機(jī)進(jìn)行頻繁的動作,輕則發(fā)生機(jī)械損傷,影響舵機(jī)的使用壽命,重則能危及航行安全,引發(fā)嚴(yán)重的航海事故。本節(jié)就是針對這種情況設(shè)計出相應(yīng)的卡爾曼濾波器,以濾除USV在水面航行過程中的環(huán)境噪聲,避免它們對于USV舵機(jī)操縱的不利影響。
工程中,卡爾曼濾波應(yīng)用廣泛,但它必須在計算機(jī)上執(zhí)行,因此需要知道被控對象的離散化數(shù)學(xué)模型。在風(fēng)浪干擾仿真模型的基礎(chǔ)上,本文取采樣周期h為小于式(1)所給系統(tǒng)的最小時間常數(shù)1/10的較小值,根據(jù)一階導(dǎo)數(shù)的前向差分離散化定義可將該連續(xù)系統(tǒng)近似離散化為
(4)
此時,式(4)為含有風(fēng)干擾信號(過程噪聲)w(k)和浪干擾信號(觀測噪聲)l(k)的USV航向控制系統(tǒng)非線性離散化數(shù)學(xué)模型。
但單純的卡爾曼濾波方法只適用于線性系統(tǒng),而本文所給的無人船航向控制系統(tǒng)為非線性系統(tǒng),所以這里需要在Bucy等提出的擴(kuò)展卡爾曼濾波(extended Kalman filter, EKF)方法框架下進(jìn)一步設(shè)計USV航向跟蹤控制系統(tǒng)的擴(kuò)展卡爾曼濾波器[8]。假若定義風(fēng)浪干擾的白噪聲方差分別為R和Q,EKF的具體設(shè)計步驟為:
(1)USV初始狀態(tài)X(0),即無人船航向和轉(zhuǎn)艏角速度以及協(xié)方差矩陣P0的初始化;
(2)狀態(tài)預(yù)測:由USV的第k-1次狀態(tài)X(k-1|k-1) 預(yù)測第k次狀態(tài)X(k|k-1);
(3)觀測預(yù)測:根據(jù)狀態(tài)預(yù)測量X(k|k-1) 計算第k次的觀測預(yù)測值Y(k|k-1);
(4)一階線性化狀態(tài)方程和觀測方程,求解狀態(tài)轉(zhuǎn)移矩陣F(k)、控制矩陣B(k)和觀測矩陣H(k) 分別如下
(5)
(6)
(5)先驗估計誤差的協(xié)方差矩陣P(k|k-1) 計算
P(k|k-1)=F(k)P(k-1|k-1)FT(k)+B(k)QBT(k)
(7)
(6)求卡爾曼濾波增益
(8)
(7)USV狀態(tài)向量更新
X(k|k)=X(k|k-1)+K(k)(Y(k)-Y(k|k-1))
(9)
(8)協(xié)方差更新
P(k|k)=(In-K(k)H(k))P(k|k-1)
(10)
以上8個步驟為USV航向控制濾波器的一個計算周期,而對這個計算周期不斷循環(huán)的過程即是各個時刻EKF對航向非線性系統(tǒng)的處理過程。
PID控制是日常工程領(lǐng)域里一種使用較為頻繁的控制方法。而分?jǐn)?shù)階PID控制器就是由整數(shù)階PID控制器的積分項和微分項階次λ和μ由整數(shù)領(lǐng)域擴(kuò)展到分?jǐn)?shù)領(lǐng)域而產(chǎn)生的一種廣義PID控制器。在該類控制器的工程應(yīng)用過程中,考慮到分?jǐn)?shù)階控制器具有良好的全局相關(guān)性,對非線性系統(tǒng)的描述更為精確,且具有更高的控制精度,所以本文考慮引入分?jǐn)?shù)階控制理論設(shè)計USV航向跟蹤控制指令δ的控制律為
(11)
式中: 0<λ,μ<2,kp、ki和kd為控制器參數(shù),D為微積分算子,e(t) 為USV航向誤差。在時域范圍內(nèi),可通過Grunwal-Letnikov定義,對式(11)進(jìn)行時間離散化[9]。
Grunwal-Letnikov分?jǐn)?shù)階導(dǎo)數(shù)定義為
(12)
取時間步長為h,對式(12)去極限后進(jìn)行z變換,可推式(11)的時間離散表達(dá)式為
(13)
RBF神經(jīng)網(wǎng)絡(luò)是一種三層前向網(wǎng)絡(luò),具有較強的函數(shù)逼近能力,算法簡單,運行速度快,甚至能夠避免類似BP網(wǎng)絡(luò)中的局部極小問題,非常適用于實時控制的系統(tǒng)[10]。實現(xiàn)RBF神經(jīng)網(wǎng)絡(luò)整定分?jǐn)?shù)階PID控制器參數(shù)的原理框架如圖1所示。
圖1 RBF網(wǎng)絡(luò)整定控制器參數(shù)原理框架
由圖1可知,本文所設(shè)計的控制器由3部分組成:①分?jǐn)?shù)階PID控制器:直接對船舶航向進(jìn)行閉環(huán)控制,給出USV舵角指令跟隨偏航誤差在線調(diào)整的控制律;②擴(kuò)展卡爾曼濾波器EKF:濾除系統(tǒng)噪聲,估計船舶航向的真實值,保證無人船操縱性能;③RBF神經(jīng)網(wǎng)絡(luò):根據(jù)系統(tǒng)運行狀態(tài)在線調(diào)整網(wǎng)絡(luò)參數(shù)(中心點向量、基函數(shù)寬度和網(wǎng)絡(luò)權(quán)值)進(jìn)行自我訓(xùn)練,使其穩(wěn)定狀態(tài)對應(yīng)于所給最優(yōu)控制律下的分?jǐn)?shù)階PID控制器參數(shù)。也就是說同其它智能優(yōu)化算法一樣,給定一個RBF網(wǎng)絡(luò)需要優(yōu)化的系統(tǒng)性能指標(biāo)函數(shù);當(dāng)RBF網(wǎng)絡(luò)狀態(tài)穩(wěn)定時,其輸出對應(yīng)于該性能指標(biāo)函數(shù)趨于收斂時的控制律系數(shù),即分?jǐn)?shù)階PID控制器的5個可調(diào)參數(shù)。
實現(xiàn)RBF神經(jīng)網(wǎng)絡(luò)整定分?jǐn)?shù)階PID控制器參數(shù)的自調(diào)整學(xué)習(xí)算法如下[11]:
(1)控制器參數(shù)調(diào)整策略
神經(jīng)網(wǎng)絡(luò)整定指標(biāo)取為
(14)
采用梯度下降法計算分?jǐn)?shù)階控制器的參數(shù)修正量,公式如下
(15)
(16)
(17)
(18)
(19)
(2)Jacobian信息辨識算法
RBF神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)選為3-6-1,令i(i=1,2,3) 為輸入層結(jié)點數(shù),j(j=1,2,…,6) 為隱含層結(jié)點數(shù)。網(wǎng)絡(luò)辨識的3個輸入為X=[δ(k),ψ(k),ψ(k-1)]T, 網(wǎng)絡(luò)的第j個結(jié)點的中心矢量為Cj=[cj1,cj2,cj3]T, 高斯基函數(shù)的寬度向量為 [b1,b2,…,bj,…,b6]T, 網(wǎng)絡(luò)權(quán)向量為 [w1,w2,…,wj,…,w6]T, 徑向基向量為 [h1,h2,…,hj,…,h6]T, 其中hj為高斯基函數(shù)
(20)
定義RBF神經(jīng)網(wǎng)絡(luò)辨識的輸出為ψn(k), 無人船實際航向為ψ(k), 辨識器的性能指標(biāo)函數(shù)取為
(21)
同樣采用梯度下降法,對網(wǎng)絡(luò)權(quán)值、基寬向量和中心矢量進(jìn)行增量計算
(22)
(23)
(24)
USV輸出航向?qū)Χ娼侵噶钭兓腏acobian信息計算表達(dá)式為
(25)
(3)參數(shù)調(diào)整的加速策略
通過對控制器和RBF網(wǎng)絡(luò)的參數(shù)進(jìn)行合理的調(diào)整,可促進(jìn)網(wǎng)絡(luò)學(xué)習(xí)的效率,保證無人船航向跟蹤控制的快速性,這里從RBF網(wǎng)絡(luò)的學(xué)習(xí)速率和控制器參數(shù)修正步長兩個方面來說明。
首先可調(diào)的參數(shù)為RBF神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)速率,它代表了神經(jīng)網(wǎng)絡(luò)在時間推移的過程中,自身信息的累積速度。學(xué)習(xí)速率若是設(shè)置太低,網(wǎng)絡(luò)的訓(xùn)練進(jìn)展也會比較緩慢,其所耗費的時間也就會延長;反之,學(xué)習(xí)速率若是設(shè)置太高,網(wǎng)絡(luò)的訓(xùn)練就可能會產(chǎn)生較不理想的結(jié)果,而通常較為普遍做法是選取學(xué)習(xí)速率隨訓(xùn)練進(jìn)度由高到低取值[12]??紤]到本文的實際應(yīng)用情況,對于參數(shù)p(p為kp、ki、kd、λ、μ),在設(shè)定修正步長為Δp(k-2) 時,記錄USV的航向誤差為e(k-1), 在修正步長取Δp(k-1) 時,記錄USV的航向誤差為e(k),比較e(k-1) 和e(k),若航向誤差逐漸減小,說明參數(shù)更新的方向正確,可以適當(dāng)?shù)脑黾覴BF網(wǎng)絡(luò)的學(xué)習(xí)速率,讓其乘以增量因子kinc;反之,若航向誤差逐漸增加,說明參數(shù)修正過頭,應(yīng)適當(dāng)?shù)臏p小學(xué)習(xí)速率,迫使其學(xué)習(xí)速率乘以減量因子kdec,也即是說
(26)
其次,在航向控制系統(tǒng)工作的過程中,參考信息越多,系統(tǒng)調(diào)整的速率越快,若同時考慮Δp(k-2) 和Δp(k-1) 兩次修正量的符號以及e(k-1) 和e(k)兩次航向誤差的變化情況,則可以給出控制器參數(shù)更高質(zhì)量的第k次修正步長。設(shè)控制器參數(shù)p的第k次修正量為cp(k),則第k次修正步長p(k)=p(k-1)+cp(k), 當(dāng)Δp(k-2) 和Δp(k-1) 兩次修正量的符號相同時,若誤差減小,則將Δp(k-2)、 Δp(k-1) 和Δp(k) 作正向的線性疊加,反之則作負(fù)向的線性疊加;當(dāng)Δp(k-2) 和Δp(k-1) 兩次修正量的符號相反時,若誤差減小,則將Δp(k-1) 和Δp(k) 作正向的線性疊加,反之取Δp(k-2) 和Δp(k) 進(jìn)行線性疊加。令慣性因子為ρ,代表每一次線性疊加的過程中,步長參考Δp(k-2) 和Δp(k-1) 兩次修正量信息的多少程度,得到參數(shù)p的第k次修正量cp(k)的取值公式見表1。
表1 修正量cp(k)取值計算方法
選取某USV船模進(jìn)行仿真實驗,其具體參數(shù)為K=1,T=2,非線性系數(shù)α=0.5,考慮舵角的機(jī)械飽和限制條件:-35°≤δ≤35°控制器參數(shù)中的學(xué)習(xí)率初值η=0.3,增量因子kinc=1.2,減量因子kdec=0.7,仿真中的時間采樣周期h=0.01s,修正量慣性因子ρ=0.9。仿真實驗在Matlab/Simulink軟工平臺上進(jìn)行。
仿真實驗1:無環(huán)境擾動下,系統(tǒng)(1)和系統(tǒng)(4)的仿真對比實驗。系統(tǒng)(1)即式(1)所示的連續(xù)型USV航向跟蹤控制系統(tǒng),系統(tǒng)(4)即該連續(xù)型系統(tǒng)經(jīng)離散化后所得的離散型控制系統(tǒng),如式(4)所示。在常規(guī)PID控制器作用下,分別取控制器參數(shù)為:kp=4,ki=1,kd=3,設(shè)置實驗過程中的期望參考航向以40 s為周期做±10°的交替變換,在100 s內(nèi)得到兩個系統(tǒng)的航向控制響應(yīng)曲線如圖2所示。
圖2 兩種系統(tǒng)下的航向響應(yīng)曲線
由圖2可知,在被控對象、實驗背景和控制方式相同的情況下,離散型USV航向跟蹤控制系統(tǒng)和連續(xù)型USV航向跟蹤控制系統(tǒng)的航向響應(yīng)曲線除超調(diào)量有少量不同以外,其上升時間和調(diào)節(jié)時間基本一致,且兩條航向響應(yīng)曲線的走向總體相同,說明了本文對連續(xù)型USV航向跟蹤控制系統(tǒng)(1)所采用的近似離散化方法有效可行。
仿真實驗2:無環(huán)境擾動下,常規(guī)PID控制器、模糊PID控制器、RBF神經(jīng)網(wǎng)絡(luò)PID控制器和本文方法的仿真對比實驗。分別取各控制器的初始參數(shù)值為:kp=4,ki=1,kd=3,λ=1,μ=1,設(shè)置實驗過程中的期望參考航向以40 s為周期做±10° 的交替變換,在60 s內(nèi)得到離散系統(tǒng)(4)的航向控制響應(yīng)曲線如圖3所示。
圖3 不同控制器作用下的航向響應(yīng)曲線
根據(jù)圖3可以發(fā)現(xiàn),模糊PID控制器和常規(guī)PID控制器的控制結(jié)果較不理想,主要體現(xiàn)在調(diào)節(jié)時間較長,超調(diào)量較大;而比較之下的RBF神經(jīng)網(wǎng)絡(luò)PID控制器和本文方法基本做到無靜差調(diào)節(jié),調(diào)節(jié)速度快而且精度高。同時還可以發(fā)現(xiàn)在所比較的4種方法中,本文所設(shè)計的控制方法具有最快的調(diào)節(jié)速度和更好的控制品質(zhì)。
仿真實驗3:有環(huán)境擾動下,不含EKF的RBF神經(jīng)網(wǎng)絡(luò)分?jǐn)?shù)階控制器、含有EKF的RBF神經(jīng)網(wǎng)絡(luò)分?jǐn)?shù)階控制器和模糊PID控制器的仿真對比實驗。根據(jù)式(2)和式(3),本文選取風(fēng)擾動模型為均值等于0,增益等于0.1,方差等于1的高斯白噪聲信號;選取海浪干擾模型的傳遞參數(shù)Kω=0.4198,=0.3,ω0=0.60625,其激勵源是功率譜密度為0.01的高斯白噪聲,以上參數(shù)設(shè)定基本能夠模擬該USV可能遭遇的較危險環(huán)境。另取控制器各初始參數(shù)為:kp=4,ki=0.1,kd=3,λ=1,μ=1,設(shè)置實驗過程中的期望參考航向以40 s為周期做±10°的交替變換,在60 s內(nèi)得到離散系統(tǒng)(4)的航向響應(yīng)曲線和舵角指令曲線分別如圖4和圖5所示。
圖4 不同控制方式下的航向響應(yīng)曲線
圖5 不同控制方式下的舵角指令曲線
由圖4可以看出,當(dāng)采用RBF神經(jīng)網(wǎng)絡(luò)分?jǐn)?shù)階控制器對USV的航向進(jìn)行控制時,擴(kuò)展卡爾曼濾波器并不影響其航向控制的實際結(jié)果。因為,在不含EKF和含有EKF的情況下,RBF神經(jīng)網(wǎng)絡(luò)分?jǐn)?shù)階控制器對USV的航向均做出了有效控制,體現(xiàn)了較強的魯棒性,在控制效果上也明顯優(yōu)于模糊PID控制器,其調(diào)節(jié)速度快而且穩(wěn)態(tài)精度較高。
由圖5可以看出,擴(kuò)展卡爾曼濾波器對船舶舵機(jī)的操舵影響比較明顯。在不含EKF時,RBF神經(jīng)網(wǎng)絡(luò)分?jǐn)?shù)階控制器和模糊PID控制器作用下的操舵指令均出現(xiàn)了高頻率大范圍的振蕩,這是一種非常不合理的操舵現(xiàn)象。因為船舶在水面航行時,環(huán)境干擾是長期存在的,而頻繁的操縱船舶舵機(jī),長期以來會對舵機(jī)產(chǎn)生機(jī)械損傷,從而影響船舶的使用壽命,嚴(yán)重的甚至于危及水上航行安全。但在分?jǐn)?shù)階控制器中引入擴(kuò)展卡爾曼濾波器以后,不僅保證了分?jǐn)?shù)階控制器更好的航向跟蹤控制品質(zhì),而且使得無人船舵機(jī)響應(yīng)為一條連續(xù)接近光滑的曲線,沒有出現(xiàn)高頻率大范圍的振蕩,有效保護(hù)了舵機(jī)結(jié)構(gòu),是一種較為理想的操舵方式。
針對無人船航向跟蹤控制系統(tǒng),有效結(jié)合了卡爾曼濾波器和徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的優(yōu)點,設(shè)計了RBF神經(jīng)網(wǎng)絡(luò)分?jǐn)?shù)階航向控制器。其中,RBF神經(jīng)網(wǎng)絡(luò)解決了控制器參數(shù)的整定問題,卡爾曼濾波器的引入避免了舵機(jī)響應(yīng)高頻率大范圍的振蕩,分?jǐn)?shù)階PID和RBF神經(jīng)網(wǎng)絡(luò)的結(jié)合保證了USV的航向控制質(zhì)量。最后通過仿真對比實驗,驗證了本文所提出的航向控制方法較常規(guī)PID控制器、模糊PID控制器和RBF神經(jīng)網(wǎng)絡(luò)PID控制器具有更好的調(diào)節(jié)品質(zhì):船舶航向跟蹤穩(wěn)定,抗擾能力強,調(diào)節(jié)速度快,在有環(huán)境擾動的情況下也能保證較強的自適應(yīng)性和魯棒性。