王永濤
(東海航海保障中心 連云港航標處, 江蘇 連云港 222042)
20世紀50年代,隨著控制理論的發展,出現了由電子學和伺服機構理論結合的比例-微分-積分(Proportional Integral Derivative, PID)自動舵。[1]為補償船舶狀態和風流環境的改變,傳統的自動舵需要手動調節其參數,這種調節無法實現參數精確的調整,更難做到實時調節。針對這一問題,STRAN等[2]提出一種反步法控制器設計方法,解決李亞普諾夫(Lyapunov)方法缺乏構造性的問題,并應用于船舶航向控制中。WANG等[3]和DU等[4]分別提出自適應反步法用于保持船舶航向,其控制器具有較強的適應性和魯棒性。ZHANG等[5]和ZHAO等[6]應用反步法設計船舶航向控制器,并加入干擾項進行對比,但沒有對算法進一步優化。EJAZ等[7]針對外部干擾,采用反步法與擾動觀測器結合設計控制器,提高了算法的魯棒性。關巍[8]將單輸入單輸出(Single-Input and Single-Output, SISO)系統和多輸入多輸出(Multiple-Input and Multiple-Output, MIMO)系統閉環增益成形算法與反步法相融合,但仍需進一步驗證該方法的有效性。此外,葉寶玉等[9]針對非線性船舶航向控制中船舶參數和擾動不確定性問題提出帶有積分器的非線性自適應魯棒控制算法。林郁等[10]將反步算法和濾波算法相結合提出一種非線性神經網絡自適應控制器設計方法,這兩種控制器在實時控制過程中計算量較大。目前,反步法在船舶航向控制上取得較好的應用,大多研究采用復雜的算法側重于對船舶狀態參數進行優化,通常計算量較大,實時性不是很強。
本文在介紹船舶運動響應型模型基礎上,首先介紹反步法航向運動控制器的設計方法,然后具體描述基于粒子群優化PSO(Particle Swarm Optimization, PSO)反步法的航向控制器設計方法,最后通過仿真試驗與PID和傳統反步法控制器性能對比,驗證本文所提航向控制器的性能。
船舶運動模型可簡化成一種只有3個自由度的平面運動問題,即前進運動、橫漂運動和艏搖運動。[11]船舶平面運動坐標系見圖1。圖1中:Oxy為船舶運動的慣性坐標系;ox0y0為船舶本身的附體坐標系;δ為舵角;ψ為船舶航向角;r為回轉率。

圖1 船舶平面運動坐標系
建立非線性船舶運動響應模型,系統輸入為舵角δ,輸出為航向角ψ,具體為
(1)
(2)
式(1)和式(2)中:K、T為二階野本模型的常數;航向偏差為e=ψ-ψd(ψd為設定的航向);ni(i=0,1,2,3)為非線性系數,對于中心軸對稱的船舶n0=n2=0。
反步法設計的基本原理是利用坐標轉換,將Lyapunov函數和鎮定控制器用系統化的方法逐步地進行構造,直至系統在平衡點漸進穩定。[12]主要應用范圍為具有嚴格反饋控制結構系統,即系統具有下三角結構。具體過程是將高階系統分解成多個低于系統階數的子系統,然后從前往后的對子系統進行設計,把前一個系統的控制輸入當作下個系統的狀態變量,重復后推直至出現整個系統真正的控制量。經過逐步推導設計出的控制器,可實現全局的鎮定與系統調節。[13]

(3)

1) 作變量代換,有
z1=x1-ψd
(4)
假設x2為虛擬控制量,則有
z2=x2-φ(z1)
(5)
式(4)和式(5)中:φ(z1)是使z1→0的鎮定方程,生成狀態變量z2。為使e=z1→0,即:
(6)
式(6)中:
(7)

(8)
構造第一個Lyapunov函數為
(9)

2) 鎮定z2子系統,
(10)
根據式(9)構造第二個Lyapunov函數為
(11)

(12)
式(12)中:k2(k2>0)為控制器參數;n2(z2)>0為非線性阻尼項,可得

?z1≠0;z2≠0
(13)
由Lyapunov穩定性定理可知:上面求得的控制器使z2子系統被鎮定,也使z1子系統被鎮定,從而系統在平衡點(x1=ψd,x2=0)一致漸進穩定,控制系統的狀態反饋結構見圖2。

圖2 反步法系統的狀態反饋結構
聯立式(7)、式(8)、式(10)和式(12),得控制律為

(14)
PSO是基于群體協作與信息共享的一種啟發式算法,由EBERHER和KENNEDY共同提出,其靈感來源于鳥群的覓食行為。PSO算法在待優化問題的約束條件下,構造適應度函數(fitness value)并計算各種群中各個體的適應度值,根據計算結果挑選出最佳的個體,完成一個周期,之后根據自身和同伴飛行經驗動態的調整飛行速度和位置,如此迭代,直至滿足迭代條件或找到全局最優解。PSO算法具有原易于實現和較強的全局搜索能力等優點。[14-16]
PSO算法中粒子分別由式(15)、式(16)進行速度和位置更新為
(15)
(16)
式(15)和式(16)中:粒子數目i=1,2,…,n;搜索空間維度d=1,2,…,D;X為粒子的位置;v為粒子的速度;w為慣性因子;c1、c2為加速度常數;r1、r2為[0,1]內的隨機數;k為迭代步數;Pid為當前循環的搜索到的最優粒子位置;Pgd為搜索當前整個粒子群中的粒子最優位置。
本文PSO反步法控制器的工作流程見圖3,具體說明如下:
1) 設定種群的粒子數n、可搜索的范圍[umin,umax]、粒子的初始位置[xmin,xmax]及其初始速度[vmin,vmax]。

3) 通過式(15)和式(16)更新粒子的速度和位子。若粒子更新后的位置超出搜索范圍,則將粒子位置設為(xmax+xmin)/2;否則,下一循環中初始位置為更新后的位置。將更新后的位置參數代入粒子群優化的反步法控制律,輸出航向角作為反饋,從而形成閉環控制。
4) 第一次迭代完成后,根據種群更新的位置進入下一次循環,繼續計算粒子的適應度值。新的適應度值根據其大小可分為大于全局最優、介于全局最優與局部最優之間、小于局部最優和陷入局部最優等4種。若大于全局最優值,則將其位置更新為全局最優值,之前的全局最優值成為局部最優值;若介于全局最優值和局部最優值之間,則取代局部最優值成為新的局部最優;若小于局部最優,則進入下次一迭代。同時,為避免粒子陷入局部最優,若

(17)
有
(18)
式(17)和式(18)中:fli為局部最優值的適應度值;n為允許停滯迭代數。通過更新粒子位置使其脫離局部最優。
5) 按上述規則使程序不斷循環,滿足迭代次數,輸出最優值ki。
在MATLAB仿真條件下,開展船舶航向控制仿真研究,分別對PID、反步法、PSO反步法設計的控制器進行航向跟蹤并進行控制性能對比。
試驗仿真對象的船舶響應型模型基本參數為K=0.5,T=0.6,n1=1,n3=0.4,仿真步長均為0.1 s。試驗中期望航向均設定為20°。
1) PID控制器參數設置。在PID控制器中,選取比例系數Kp=5,積分系數Ki=1,微分系數Kd=30。

圖3 基于反步法的PSO控制系統框圖

3) PSO控制器參數設置。設置50個種群,進行500次迭代優,粒子的搜索范圍為[0,100],初始位置為[0,5],初始速度為[-2,2],其他參數與反步法中保持一致。
二階慣性環節的信號發生器結構見圖4,輸入端為階躍信號,輸出結果見圖5。

圖4 二階慣性環節信號發生器結構
1) 在無干擾的條件下,PID控制器、反步法控制器及PSO反步法控制器的航向跟蹤曲線及誤差曲線分別見圖6和圖7。在粒子群優化的反步法控制器中,適應度函數迭代曲線見圖8。
2) 在加入隨機干擾下,干擾曲線見圖9,振幅約為-2.5°~2.5°,干擾頻率為10 Hz。各控制器其他參數與無干擾環境保持一致,輸出航向曲線和誤差分別見圖10和圖11。

圖9 隨機干擾曲線
評價控制器性能指標有確定性指標、隨機性指標與魯棒性。[17]確定性指標有穩定時間td、平均絕對誤差eave等,能夠反映系統的快速性與準確性。隨機性能指標反映系統抑制噪聲擾動的能力,主要針對有噪聲的擾動過程,本文以標準差S為基準。針對不同條件下PID算法、反步法以及PSO反步法分別進行穩定時間、平均絕對誤差和標準差進行比較分析,控制器性能指標見表1和表2。

表1 在無干擾條件下航向控制器性能

表2 在隨機干擾條件下航向控制器性能
在無干擾環境下,設定穩定時間td,為航向絕對誤差達到0.01°內經歷的時間。在干擾環境下,由于干擾一直存在,設定基本穩定時間td為航向絕對誤差達到0.1°內所需時間。
由試驗計算結果比較可知:PSO反步法在不同的環境下收斂速度最快,反步法次之;對于系統的控制精度和穩定性,在相同環境下,反步法優于PSO算法,通過PSO優化其增益系數,消除部分冗余控制,PSO反步法具有更高的控制精度和穩定性。
本文提出一種基于PSO反步法的控制器設計方法,可用于提高船舶航向控制器的精度和魯棒性并通過仿真進行驗證該算法的有效性,得到以下結論:
1) 反步法控制器達到期望航向的控制時間較短,響應速度較快,通過不斷減小跟蹤誤差,能夠滿足靜態和動態性能。
2) 通過跟蹤誤差和穩定性分析可看出,反步法的船舶航向跟蹤效果較PID控制好,尤其是存在外界干擾的情況下,反步法能保證閉環系統狀態、控制信號全局有界,具有較強的魯棒性,從而提高航向的穩定性和船舶的安全性。
3) 由于反步法構造特性,對于高階系統需要很大的增益參數,可能使系統產生冗余控制。針對未知參數的不確定項,將反步法與粒子群優化算法結合,根據適應度函數最小值,選擇參數自適應更新律,消除部分冗余控制,可獲得更好的控制性能。