王永濤
(東海航海保障中心 連云港航標(biāo)處, 江蘇 連云港 222042)
20世紀(jì)50年代,隨著控制理論的發(fā)展,出現(xiàn)了由電子學(xué)和伺服機(jī)構(gòu)理論結(jié)合的比例-微分-積分(Proportional Integral Derivative, PID)自動舵。[1]為補(bǔ)償船舶狀態(tài)和風(fēng)流環(huán)境的改變,傳統(tǒng)的自動舵需要手動調(diào)節(jié)其參數(shù),這種調(diào)節(jié)無法實(shí)現(xiàn)參數(shù)精確的調(diào)整,更難做到實(shí)時調(diào)節(jié)。針對這一問題,STRAN等[2]提出一種反步法控制器設(shè)計方法,解決李亞普諾夫(Lyapunov)方法缺乏構(gòu)造性的問題,并應(yīng)用于船舶航向控制中。WANG等[3]和DU等[4]分別提出自適應(yīng)反步法用于保持船舶航向,其控制器具有較強(qiáng)的適應(yīng)性和魯棒性。ZHANG等[5]和ZHAO等[6]應(yīng)用反步法設(shè)計船舶航向控制器,并加入干擾項進(jìn)行對比,但沒有對算法進(jìn)一步優(yōu)化。EJAZ等[7]針對外部干擾,采用反步法與擾動觀測器結(jié)合設(shè)計控制器,提高了算法的魯棒性。關(guān)巍[8]將單輸入單輸出(Single-Input and Single-Output, SISO)系統(tǒng)和多輸入多輸出(Multiple-Input and Multiple-Output, MIMO)系統(tǒng)閉環(huán)增益成形算法與反步法相融合,但仍需進(jìn)一步驗證該方法的有效性。此外,葉寶玉等[9]針對非線性船舶航向控制中船舶參數(shù)和擾動不確定性問題提出帶有積分器的非線性自適應(yīng)魯棒控制算法。林郁等[10]將反步算法和濾波算法相結(jié)合提出一種非線性神經(jīng)網(wǎng)絡(luò)自適應(yīng)控制器設(shè)計方法,這兩種控制器在實(shí)時控制過程中計算量較大。目前,反步法在船舶航向控制上取得較好的應(yīng)用,大多研究采用復(fù)雜的算法側(cè)重于對船舶狀態(tài)參數(shù)進(jìn)行優(yōu)化,通常計算量較大,實(shí)時性不是很強(qiáng)。
本文在介紹船舶運(yùn)動響應(yīng)型模型基礎(chǔ)上,首先介紹反步法航向運(yùn)動控制器的設(shè)計方法,然后具體描述基于粒子群優(yōu)化PSO(Particle Swarm Optimization, PSO)反步法的航向控制器設(shè)計方法,最后通過仿真試驗與PID和傳統(tǒng)反步法控制器性能對比,驗證本文所提航向控制器的性能。
船舶運(yùn)動模型可簡化成一種只有3個自由度的平面運(yùn)動問題,即前進(jìn)運(yùn)動、橫漂運(yùn)動和艏搖運(yùn)動。[11]船舶平面運(yùn)動坐標(biāo)系見圖1。圖1中:Oxy為船舶運(yùn)動的慣性坐標(biāo)系;ox0y0為船舶本身的附體坐標(biāo)系;δ為舵角;ψ為船舶航向角;r為回轉(zhuǎn)率。
圖1 船舶平面運(yùn)動坐標(biāo)系
建立非線性船舶運(yùn)動響應(yīng)模型,系統(tǒng)輸入為舵角δ,輸出為航向角ψ,具體為
(1)
(2)
式(1)和式(2)中:K、T為二階野本模型的常數(shù);航向偏差為e=ψ-ψd(ψd為設(shè)定的航向);ni(i=0,1,2,3)為非線性系數(shù),對于中心軸對稱的船舶n0=n2=0。
反步法設(shè)計的基本原理是利用坐標(biāo)轉(zhuǎn)換,將Lyapunov函數(shù)和鎮(zhèn)定控制器用系統(tǒng)化的方法逐步地進(jìn)行構(gòu)造,直至系統(tǒng)在平衡點(diǎn)漸進(jìn)穩(wěn)定。[12]主要應(yīng)用范圍為具有嚴(yán)格反饋控制結(jié)構(gòu)系統(tǒng),即系統(tǒng)具有下三角結(jié)構(gòu)。具體過程是將高階系統(tǒng)分解成多個低于系統(tǒng)階數(shù)的子系統(tǒng),然后從前往后的對子系統(tǒng)進(jìn)行設(shè)計,把前一個系統(tǒng)的控制輸入當(dāng)作下個系統(tǒng)的狀態(tài)變量,重復(fù)后推直至出現(xiàn)整個系統(tǒng)真正的控制量。經(jīng)過逐步推導(dǎo)設(shè)計出的控制器,可實(shí)現(xiàn)全局的鎮(zhèn)定與系統(tǒng)調(diào)節(jié)。[13]
(3)
1) 作變量代換,有
z1=x1-ψd
(4)
假設(shè)x2為虛擬控制量,則有
z2=x2-φ(z1)
(5)
式(4)和式(5)中:φ(z1)是使z1→0的鎮(zhèn)定方程,生成狀態(tài)變量z2。為使e=z1→0,即:
(6)
式(6)中:
(7)
(8)
構(gòu)造第一個Lyapunov函數(shù)為
(9)
2) 鎮(zhèn)定z2子系統(tǒng),
(10)
根據(jù)式(9)構(gòu)造第二個Lyapunov函數(shù)為
(11)
(12)
式(12)中:k2(k2>0)為控制器參數(shù);n2(z2)>0為非線性阻尼項,可得
?z1≠0;z2≠0
(13)
由Lyapunov穩(wěn)定性定理可知:上面求得的控制器使z2子系統(tǒng)被鎮(zhèn)定,也使z1子系統(tǒng)被鎮(zhèn)定,從而系統(tǒng)在平衡點(diǎn)(x1=ψd,x2=0)一致漸進(jìn)穩(wěn)定,控制系統(tǒng)的狀態(tài)反饋結(jié)構(gòu)見圖2。
圖2 反步法系統(tǒng)的狀態(tài)反饋結(jié)構(gòu)
聯(lián)立式(7)、式(8)、式(10)和式(12),得控制律為
(14)
PSO是基于群體協(xié)作與信息共享的一種啟發(fā)式算法,由EBERHER和KENNEDY共同提出,其靈感來源于鳥群的覓食行為。PSO算法在待優(yōu)化問題的約束條件下,構(gòu)造適應(yīng)度函數(shù)(fitness value)并計算各種群中各個體的適應(yīng)度值,根據(jù)計算結(jié)果挑選出最佳的個體,完成一個周期,之后根據(jù)自身和同伴飛行經(jīng)驗動態(tài)的調(diào)整飛行速度和位置,如此迭代,直至滿足迭代條件或找到全局最優(yōu)解。PSO算法具有原易于實(shí)現(xiàn)和較強(qiáng)的全局搜索能力等優(yōu)點(diǎn)。[14-16]
PSO算法中粒子分別由式(15)、式(16)進(jìn)行速度和位置更新為
(15)
(16)
式(15)和式(16)中:粒子數(shù)目i=1,2,…,n;搜索空間維度d=1,2,…,D;X為粒子的位置;v為粒子的速度;w為慣性因子;c1、c2為加速度常數(shù);r1、r2為[0,1]內(nèi)的隨機(jī)數(shù);k為迭代步數(shù);Pid為當(dāng)前循環(huán)的搜索到的最優(yōu)粒子位置;Pgd為搜索當(dāng)前整個粒子群中的粒子最優(yōu)位置。
本文PSO反步法控制器的工作流程見圖3,具體說明如下:
1) 設(shè)定種群的粒子數(shù)n、可搜索的范圍[umin,umax]、粒子的初始位置[xmin,xmax]及其初始速度[vmin,vmax]。
3) 通過式(15)和式(16)更新粒子的速度和位子。若粒子更新后的位置超出搜索范圍,則將粒子位置設(shè)為(xmax+xmin)/2;否則,下一循環(huán)中初始位置為更新后的位置。將更新后的位置參數(shù)代入粒子群優(yōu)化的反步法控制律,輸出航向角作為反饋,從而形成閉環(huán)控制。
4) 第一次迭代完成后,根據(jù)種群更新的位置進(jìn)入下一次循環(huán),繼續(xù)計算粒子的適應(yīng)度值。新的適應(yīng)度值根據(jù)其大小可分為大于全局最優(yōu)、介于全局最優(yōu)與局部最優(yōu)之間、小于局部最優(yōu)和陷入局部最優(yōu)等4種。若大于全局最優(yōu)值,則將其位置更新為全局最優(yōu)值,之前的全局最優(yōu)值成為局部最優(yōu)值;若介于全局最優(yōu)值和局部最優(yōu)值之間,則取代局部最優(yōu)值成為新的局部最優(yōu);若小于局部最優(yōu),則進(jìn)入下次一迭代。同時,為避免粒子陷入局部最優(yōu),若
(17)
有
(18)
式(17)和式(18)中:fli為局部最優(yōu)值的適應(yīng)度值;n為允許停滯迭代數(shù)。通過更新粒子位置使其脫離局部最優(yōu)。
5) 按上述規(guī)則使程序不斷循環(huán),滿足迭代次數(shù),輸出最優(yōu)值ki。
在MATLAB仿真條件下,開展船舶航向控制仿真研究,分別對PID、反步法、PSO反步法設(shè)計的控制器進(jìn)行航向跟蹤并進(jìn)行控制性能對比。
試驗仿真對象的船舶響應(yīng)型模型基本參數(shù)為K=0.5,T=0.6,n1=1,n3=0.4,仿真步長均為0.1 s。試驗中期望航向均設(shè)定為20°。
1) PID控制器參數(shù)設(shè)置。在PID控制器中,選取比例系數(shù)Kp=5,積分系數(shù)Ki=1,微分系數(shù)Kd=30。
圖3 基于反步法的PSO控制系統(tǒng)框圖
3) PSO控制器參數(shù)設(shè)置。設(shè)置50個種群,進(jìn)行500次迭代優(yōu),粒子的搜索范圍為[0,100],初始位置為[0,5],初始速度為[-2,2],其他參數(shù)與反步法中保持一致。
二階慣性環(huán)節(jié)的信號發(fā)生器結(jié)構(gòu)見圖4,輸入端為階躍信號,輸出結(jié)果見圖5。
圖4 二階慣性環(huán)節(jié)信號發(fā)生器結(jié)構(gòu)
1) 在無干擾的條件下,PID控制器、反步法控制器及PSO反步法控制器的航向跟蹤曲線及誤差曲線分別見圖6和圖7。在粒子群優(yōu)化的反步法控制器中,適應(yīng)度函數(shù)迭代曲線見圖8。
2) 在加入隨機(jī)干擾下,干擾曲線見圖9,振幅約為-2.5°~2.5°,干擾頻率為10 Hz。各控制器其他參數(shù)與無干擾環(huán)境保持一致,輸出航向曲線和誤差分別見圖10和圖11。
圖9 隨機(jī)干擾曲線
評價控制器性能指標(biāo)有確定性指標(biāo)、隨機(jī)性指標(biāo)與魯棒性。[17]確定性指標(biāo)有穩(wěn)定時間td、平均絕對誤差eave等,能夠反映系統(tǒng)的快速性與準(zhǔn)確性。隨機(jī)性能指標(biāo)反映系統(tǒng)抑制噪聲擾動的能力,主要針對有噪聲的擾動過程,本文以標(biāo)準(zhǔn)差S為基準(zhǔn)。針對不同條件下PID算法、反步法以及PSO反步法分別進(jìn)行穩(wěn)定時間、平均絕對誤差和標(biāo)準(zhǔn)差進(jìn)行比較分析,控制器性能指標(biāo)見表1和表2。
表1 在無干擾條件下航向控制器性能
表2 在隨機(jī)干擾條件下航向控制器性能
在無干擾環(huán)境下,設(shè)定穩(wěn)定時間td,為航向絕對誤差達(dá)到0.01°內(nèi)經(jīng)歷的時間。在干擾環(huán)境下,由于干擾一直存在,設(shè)定基本穩(wěn)定時間td為航向絕對誤差達(dá)到0.1°內(nèi)所需時間。
由試驗計算結(jié)果比較可知:PSO反步法在不同的環(huán)境下收斂速度最快,反步法次之;對于系統(tǒng)的控制精度和穩(wěn)定性,在相同環(huán)境下,反步法優(yōu)于PSO算法,通過PSO優(yōu)化其增益系數(shù),消除部分冗余控制,PSO反步法具有更高的控制精度和穩(wěn)定性。
本文提出一種基于PSO反步法的控制器設(shè)計方法,可用于提高船舶航向控制器的精度和魯棒性并通過仿真進(jìn)行驗證該算法的有效性,得到以下結(jié)論:
1) 反步法控制器達(dá)到期望航向的控制時間較短,響應(yīng)速度較快,通過不斷減小跟蹤誤差,能夠滿足靜態(tài)和動態(tài)性能。
2) 通過跟蹤誤差和穩(wěn)定性分析可看出,反步法的船舶航向跟蹤效果較PID控制好,尤其是存在外界干擾的情況下,反步法能保證閉環(huán)系統(tǒng)狀態(tài)、控制信號全局有界,具有較強(qiáng)的魯棒性,從而提高航向的穩(wěn)定性和船舶的安全性。
3) 由于反步法構(gòu)造特性,對于高階系統(tǒng)需要很大的增益參數(shù),可能使系統(tǒng)產(chǎn)生冗余控制。針對未知參數(shù)的不確定項,將反步法與粒子群優(yōu)化算法結(jié)合,根據(jù)適應(yīng)度函數(shù)最小值,選擇參數(shù)自適應(yīng)更新律,消除部分冗余控制,可獲得更好的控制性能。