龔 波,周永華,艾矯燕
(廣西大學 電氣工程學院,廣西 南寧 530004)
近年來,隨著科學技術水平的提高,水面無人船(unmanned surface vessel,USV)的應用快速發展,以致其航向跟蹤控制問題受到大家的廣泛關注。文獻[1,2]基于魯棒穩定性理論分別設計了狀態反饋控制器和模糊數字PID控制器,實現了船舶航向的狀態保持與控制;文獻[3]考慮了系統的建模誤差和環境擾動,提出采用徑向基函數神經網絡(radial basis function neural network)逼近其帶來的不確定性信息,設計了一種USV航向跟蹤自適應RBF網絡控制器;文獻[4,5]基于級聯系統理論和李雅普諾夫理論設計了非對稱模型的欠驅動船航向誤差鎮定控制器,實現了任意參考軌跡下的USV路徑跟蹤控制;文獻[6]提出一種自適應動態滑模控制方法,使欠驅動無人船對直線和曲線路徑具備了良好的循跡性能。
以上文獻都是直接從船舶的系統響應模型出發,根據先進的控制理論設計了航向航跡控制方法,設計過程較為復雜。本文考慮控制器的魯棒性和設計簡捷方便的問題,采用系統描述精度更高,控制細節更加靈活的分數階PID設計無人船航向控制律,并給出一種適用于該控制律的參數自整定神經網絡學習算法。此外,為消除環境擾動對USV操縱性能產生的影響,還設計了相應的擴展卡爾曼濾波器,最后通過仿真實驗驗證了所提方法的可行性和有效性。

(1)
此外,水上航行時的風浪干擾是引起無人船搖蕩和偏航的主要因素,故而在對無人船的航向控制器進行設計時,風浪環境的擾動不可忽略。
對于風干擾,描述為一種舵角干擾信號,仿真時采用白噪聲替代,并將其作用于船舶運動控制的舵角指令中以模擬風對USV操縱的影響,該模型描述為
W(s)=Aw(s)
(2)
對于浪干擾,等效為對船舶航向的擾動,仿真時采用白噪聲驅動一個典型的二階振蕩環節來模擬[7],并將其作用于USV的實際航向,該模型描述為
(3)
其中,A為白噪聲的增益系數,Kω為海浪模型的增益系數,為海浪的阻尼系數,ω0為主導海浪的頻率,w(s)為零均值高斯白噪聲。
無人船在水面航行的時候,其運動方向會受到海風和海浪的隨機性擾動,而船舶上的傳感器設備又無法自動識別這些復雜的干擾信息,進而無法獲得船舶的真實航向。尤其是遇到大強度高頻率的擾動,無人船的航向控制難度會進一步加大。這些情況會最終表現為船舶的航向信息無規則振蕩,而偏航信息振蕩會使USV的舵機進行頻繁的動作,輕則發生機械損傷,影響舵機的使用壽命,重則能危及航行安全,引發嚴重的航海事故。本節就是針對這種情況設計出相應的卡爾曼濾波器,以濾除USV在水面航行過程中的環境噪聲,避免它們對于USV舵機操縱的不利影響。
工程中,卡爾曼濾波應用廣泛,但它必須在計算機上執行,因此需要知道被控對象的離散化數學模型。在風浪干擾仿真模型的基礎上,本文取采樣周期h為小于式(1)所給系統的最小時間常數1/10的較小值,根據一階導數的前向差分離散化定義可將該連續系統近似離散化為

(4)
此時,式(4)為含有風干擾信號(過程噪聲)w(k)和浪干擾信號(觀測噪聲)l(k)的USV航向控制系統非線性離散化數學模型。
但單純的卡爾曼濾波方法只適用于線性系統,而本文所給的無人船航向控制系統為非線性系統,所以這里需要在Bucy等提出的擴展卡爾曼濾波(extended Kalman filter, EKF)方法框架下進一步設計USV航向跟蹤控制系統的擴展卡爾曼濾波器[8]。假若定義風浪干擾的白噪聲方差分別為R和Q,EKF的具體設計步驟為:
(1)USV初始狀態X(0),即無人船航向和轉艏角速度以及協方差矩陣P0的初始化;
(2)狀態預測:由USV的第k-1次狀態X(k-1|k-1) 預測第k次狀態X(k|k-1);
(3)觀測預測:根據狀態預測量X(k|k-1) 計算第k次的觀測預測值Y(k|k-1);
(4)一階線性化狀態方程和觀測方程,求解狀態轉移矩陣F(k)、控制矩陣B(k)和觀測矩陣H(k) 分別如下
(5)
(6)
(5)先驗估計誤差的協方差矩陣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狀態向量更新
X(k|k)=X(k|k-1)+K(k)(Y(k)-Y(k|k-1))
(9)
(8)協方差更新
P(k|k)=(In-K(k)H(k))P(k|k-1)
(10)
以上8個步驟為USV航向控制濾波器的一個計算周期,而對這個計算周期不斷循環的過程即是各個時刻EKF對航向非線性系統的處理過程。
PID控制是日常工程領域里一種使用較為頻繁的控制方法。而分數階PID控制器就是由整數階PID控制器的積分項和微分項階次λ和μ由整數領域擴展到分數領域而產生的一種廣義PID控制器。在該類控制器的工程應用過程中,考慮到分數階控制器具有良好的全局相關性,對非線性系統的描述更為精確,且具有更高的控制精度,所以本文考慮引入分數階控制理論設計USV航向跟蹤控制指令δ的控制律為
(11)
式中: 0<λ,μ<2,kp、ki和kd為控制器參數,D為微積分算子,e(t) 為USV航向誤差。在時域范圍內,可通過Grunwal-Letnikov定義,對式(11)進行時間離散化[9]。
Grunwal-Letnikov分數階導數定義為
(12)

取時間步長為h,對式(12)去極限后進行z變換,可推式(11)的時間離散表達式為

(13)

RBF神經網絡是一種三層前向網絡,具有較強的函數逼近能力,算法簡單,運行速度快,甚至能夠避免類似BP網絡中的局部極小問題,非常適用于實時控制的系統[10]。實現RBF神經網絡整定分數階PID控制器參數的原理框架如圖1所示。

圖1 RBF網絡整定控制器參數原理框架
由圖1可知,本文所設計的控制器由3部分組成:①分數階PID控制器:直接對船舶航向進行閉環控制,給出USV舵角指令跟隨偏航誤差在線調整的控制律;②擴展卡爾曼濾波器EKF:濾除系統噪聲,估計船舶航向的真實值,保證無人船操縱性能;③RBF神經網絡:根據系統運行狀態在線調整網絡參數(中心點向量、基函數寬度和網絡權值)進行自我訓練,使其穩定狀態對應于所給最優控制律下的分數階PID控制器參數。也就是說同其它智能優化算法一樣,給定一個RBF網絡需要優化的系統性能指標函數;當RBF網絡狀態穩定時,其輸出對應于該性能指標函數趨于收斂時的控制律系數,即分數階PID控制器的5個可調參數。
實現RBF神經網絡整定分數階PID控制器參數的自調整學習算法如下[11]:
(1)控制器參數調整策略
神經網絡整定指標取為
(14)
采用梯度下降法計算分數階控制器的參數修正量,公式如下
(15)
(16)
(17)
(18)
(19)

(2)Jacobian信息辨識算法
RBF神經網絡的結構選為3-6-1,令i(i=1,2,3) 為輸入層結點數,j(j=1,2,…,6) 為隱含層結點數。網絡辨識的3個輸入為X=[δ(k),ψ(k),ψ(k-1)]T, 網絡的第j個結點的中心矢量為Cj=[cj1,cj2,cj3]T, 高斯基函數的寬度向量為 [b1,b2,…,bj,…,b6]T, 網絡權向量為 [w1,w2,…,wj,…,w6]T, 徑向基向量為 [h1,h2,…,hj,…,h6]T, 其中hj為高斯基函數
(20)
定義RBF神經網絡辨識的輸出為ψn(k), 無人船實際航向為ψ(k), 辨識器的性能指標函數取為
(21)
同樣采用梯度下降法,對網絡權值、基寬向量和中心矢量進行增量計算
(22)
(23)
(24)
USV輸出航向對舵角指令變化的Jacobian信息計算表達式為
(25)
(3)參數調整的加速策略
通過對控制器和RBF網絡的參數進行合理的調整,可促進網絡學習的效率,保證無人船航向跟蹤控制的快速性,這里從RBF網絡的學習速率和控制器參數修正步長兩個方面來說明。
首先可調的參數為RBF神經網絡的學習速率,它代表了神經網絡在時間推移的過程中,自身信息的累積速度。學習速率若是設置太低,網絡的訓練進展也會比較緩慢,其所耗費的時間也就會延長;反之,學習速率若是設置太高,網絡的訓練就可能會產生較不理想的結果,而通常較為普遍做法是選取學習速率隨訓練進度由高到低取值[12]。考慮到本文的實際應用情況,對于參數p(p為kp、ki、kd、λ、μ),在設定修正步長為Δp(k-2) 時,記錄USV的航向誤差為e(k-1), 在修正步長取Δp(k-1) 時,記錄USV的航向誤差為e(k),比較e(k-1) 和e(k),若航向誤差逐漸減小,說明參數更新的方向正確,可以適當的增加RBF網絡的學習速率,讓其乘以增量因子kinc;反之,若航向誤差逐漸增加,說明參數修正過頭,應適當的減小學習速率,迫使其學習速率乘以減量因子kdec,也即是說

(26)
其次,在航向控制系統工作的過程中,參考信息越多,系統調整的速率越快,若同時考慮Δp(k-2) 和Δp(k-1) 兩次修正量的符號以及e(k-1) 和e(k)兩次航向誤差的變化情況,則可以給出控制器參數更高質量的第k次修正步長。設控制器參數p的第k次修正量為cp(k),則第k次修正步長p(k)=p(k-1)+cp(k), 當Δp(k-2) 和Δp(k-1) 兩次修正量的符號相同時,若誤差減小,則將Δp(k-2)、 Δp(k-1) 和Δp(k) 作正向的線性疊加,反之則作負向的線性疊加;當Δp(k-2) 和Δp(k-1) 兩次修正量的符號相反時,若誤差減小,則將Δp(k-1) 和Δp(k) 作正向的線性疊加,反之取Δp(k-2) 和Δp(k) 進行線性疊加。令慣性因子為ρ,代表每一次線性疊加的過程中,步長參考Δp(k-2) 和Δp(k-1) 兩次修正量信息的多少程度,得到參數p的第k次修正量cp(k)的取值公式見表1。

表1 修正量cp(k)取值計算方法
選取某USV船模進行仿真實驗,其具體參數為K=1,T=2,非線性系數α=0.5,考慮舵角的機械飽和限制條件:-35°≤δ≤35°控制器參數中的學習率初值η=0.3,增量因子kinc=1.2,減量因子kdec=0.7,仿真中的時間采樣周期h=0.01s,修正量慣性因子ρ=0.9。仿真實驗在Matlab/Simulink軟工平臺上進行。
仿真實驗1:無環境擾動下,系統(1)和系統(4)的仿真對比實驗。系統(1)即式(1)所示的連續型USV航向跟蹤控制系統,系統(4)即該連續型系統經離散化后所得的離散型控制系統,如式(4)所示。在常規PID控制器作用下,分別取控制器參數為:kp=4,ki=1,kd=3,設置實驗過程中的期望參考航向以40 s為周期做±10°的交替變換,在100 s內得到兩個系統的航向控制響應曲線如圖2所示。

圖2 兩種系統下的航向響應曲線
由圖2可知,在被控對象、實驗背景和控制方式相同的情況下,離散型USV航向跟蹤控制系統和連續型USV航向跟蹤控制系統的航向響應曲線除超調量有少量不同以外,其上升時間和調節時間基本一致,且兩條航向響應曲線的走向總體相同,說明了本文對連續型USV航向跟蹤控制系統(1)所采用的近似離散化方法有效可行。
仿真實驗2:無環境擾動下,常規PID控制器、模糊PID控制器、RBF神經網絡PID控制器和本文方法的仿真對比實驗。分別取各控制器的初始參數值為:kp=4,ki=1,kd=3,λ=1,μ=1,設置實驗過程中的期望參考航向以40 s為周期做±10° 的交替變換,在60 s內得到離散系統(4)的航向控制響應曲線如圖3所示。

圖3 不同控制器作用下的航向響應曲線
根據圖3可以發現,模糊PID控制器和常規PID控制器的控制結果較不理想,主要體現在調節時間較長,超調量較大;而比較之下的RBF神經網絡PID控制器和本文方法基本做到無靜差調節,調節速度快而且精度高。同時還可以發現在所比較的4種方法中,本文所設計的控制方法具有最快的調節速度和更好的控制品質。
仿真實驗3:有環境擾動下,不含EKF的RBF神經網絡分數階控制器、含有EKF的RBF神經網絡分數階控制器和模糊PID控制器的仿真對比實驗。根據式(2)和式(3),本文選取風擾動模型為均值等于0,增益等于0.1,方差等于1的高斯白噪聲信號;選取海浪干擾模型的傳遞參數Kω=0.4198,=0.3,ω0=0.60625,其激勵源是功率譜密度為0.01的高斯白噪聲,以上參數設定基本能夠模擬該USV可能遭遇的較危險環境。另取控制器各初始參數為:kp=4,ki=0.1,kd=3,λ=1,μ=1,設置實驗過程中的期望參考航向以40 s為周期做±10°的交替變換,在60 s內得到離散系統(4)的航向響應曲線和舵角指令曲線分別如圖4和圖5所示。

圖4 不同控制方式下的航向響應曲線

圖5 不同控制方式下的舵角指令曲線
由圖4可以看出,當采用RBF神經網絡分數階控制器對USV的航向進行控制時,擴展卡爾曼濾波器并不影響其航向控制的實際結果。因為,在不含EKF和含有EKF的情況下,RBF神經網絡分數階控制器對USV的航向均做出了有效控制,體現了較強的魯棒性,在控制效果上也明顯優于模糊PID控制器,其調節速度快而且穩態精度較高。
由圖5可以看出,擴展卡爾曼濾波器對船舶舵機的操舵影響比較明顯。在不含EKF時,RBF神經網絡分數階控制器和模糊PID控制器作用下的操舵指令均出現了高頻率大范圍的振蕩,這是一種非常不合理的操舵現象。因為船舶在水面航行時,環境干擾是長期存在的,而頻繁的操縱船舶舵機,長期以來會對舵機產生機械損傷,從而影響船舶的使用壽命,嚴重的甚至于危及水上航行安全。但在分數階控制器中引入擴展卡爾曼濾波器以后,不僅保證了分數階控制器更好的航向跟蹤控制品質,而且使得無人船舵機響應為一條連續接近光滑的曲線,沒有出現高頻率大范圍的振蕩,有效保護了舵機結構,是一種較為理想的操舵方式。
針對無人船航向跟蹤控制系統,有效結合了卡爾曼濾波器和徑向基函數神經網絡的優點,設計了RBF神經網絡分數階航向控制器。其中,RBF神經網絡解決了控制器參數的整定問題,卡爾曼濾波器的引入避免了舵機響應高頻率大范圍的振蕩,分數階PID和RBF神經網絡的結合保證了USV的航向控制質量。最后通過仿真對比實驗,驗證了本文所提出的航向控制方法較常規PID控制器、模糊PID控制器和RBF神經網絡PID控制器具有更好的調節品質:船舶航向跟蹤穩定,抗擾能力強,調節速度快,在有環境擾動的情況下也能保證較強的自適應性和魯棒性。