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