夏云鵬 楊田田
(1.中船重工第七一三研究所 鄭州 450000)(2.武漢理工大學(xué) 武漢 430070)
水面無人船是構(gòu)建海洋智能體系的重要組成部分。隨著無人船智能控制技術(shù)的發(fā)展,無人船在海事領(lǐng)域中的應(yīng)用也越來越廣泛[1]。無人船在推進(jìn)海事智能管理、提高海洋搜救應(yīng)急成功率等方面都有重要的應(yīng)用價(jià)值。
模型預(yù)測(cè)控制(MPC)算法因其先預(yù)測(cè)后控制的思想,使得其對(duì)于被控對(duì)象的控制響應(yīng)更加敏感,能夠更快地針對(duì)外部擾動(dòng)變化調(diào)整控制動(dòng)作;同時(shí)控制動(dòng)作產(chǎn)生于其內(nèi)部?jī)?yōu)化控制器的在線優(yōu)化過程,進(jìn)一步提高了控制系統(tǒng)對(duì)被控對(duì)象存在的不確定性的處理能力[2~4]。預(yù)測(cè)函數(shù)控制被稱為第3代MPC,其保留了MPC的基本特征,并加入對(duì)控制輸入進(jìn)行結(jié)構(gòu)化的步驟,將控制量分解為基函數(shù)的線性組合,提高控制輸入的規(guī)律性,降低算法參數(shù)在線計(jì)算量。依據(jù)MPC的上述特點(diǎn),模型預(yù)測(cè)控制算法在無人船航向控制領(lǐng)域極具應(yīng)用價(jià)值。水面無人船本身存在操舵約束,其航行過程中還存在風(fēng)浪流等擾動(dòng),針對(duì)上述問題,本章采用預(yù)測(cè)函數(shù)控制算法設(shè)計(jì)無人船航向控制器,實(shí)現(xiàn)對(duì)航向的有效控制,并為間接航跡控制算法的設(shè)計(jì)提供支撐[5]。
經(jīng)典PID控制算法設(shè)計(jì)結(jié)構(gòu)簡(jiǎn)單,在工程上已獲得廣泛的應(yīng)用。圖1表示了基于經(jīng)典PID算法的無人船航向控制系統(tǒng)。無人船航向控制系統(tǒng)為典型的負(fù)反饋系統(tǒng),其輸入信號(hào)為無人船的目標(biāo)航向角ψd,輸出信號(hào)為無人船的實(shí)際航向角ψ;PID航向控制器的輸入信號(hào)為無人船目標(biāo)航向角ψd與實(shí)際航向角之間的偏差,輸出信號(hào)為無人船的舵角控制量。
如圖1所示,基于經(jīng)典PID算法的無人船航向控制器包括比例、積分和微分三個(gè)環(huán)節(jié)。基于經(jīng)典PID算法的無人船航向控制器的輸出信號(hào)與輸入信號(hào)之間的關(guān)系,可用式(1)表示。

在進(jìn)行控制器設(shè)計(jì)時(shí),為方便分析和整定參數(shù),一般令 Ki=KpTi,Kd=Kp*Td,進(jìn)一步改寫式(2)為

其中,Kp為比例系數(shù),Ki為積分系數(shù),Kd為微分系數(shù)。

圖1 基于PID的無人船航向控制系統(tǒng)框圖
基于預(yù)測(cè)函數(shù)控制(PFC)的水面無人船航向控制系統(tǒng)總體框圖如圖3所示。其中,航向控制系統(tǒng)的輸入信號(hào)為無人船的目標(biāo)航向角ψd,航向控制系統(tǒng)的輸出信號(hào)為無人船的實(shí)際航向角ψ,基于預(yù)測(cè)函數(shù)控制的航向控制器的輸入信號(hào)為無人船的目標(biāo)航向角ψd和無人船的實(shí)際航向角ψ,基于預(yù)測(cè)函數(shù)控制的航向控制器的輸出信號(hào)為無人船的輸入舵角控制量δ。水面無人船航向控制系統(tǒng)中的預(yù)測(cè)函數(shù)控制器的控制過程主要包括以下幾個(gè)步驟:
1)無人船預(yù)測(cè)模型根據(jù)當(dāng)前舵角控制量計(jì)算預(yù)測(cè)時(shí)域內(nèi)的無人船航向角預(yù)測(cè)輸出值。
2)根據(jù)無人船的當(dāng)前實(shí)際航向角輸出與預(yù)測(cè)輸出值的偏差對(duì)預(yù)測(cè)時(shí)域內(nèi)的預(yù)測(cè)輸出值進(jìn)行校正。
3)優(yōu)化控制器根據(jù)優(yōu)化性能指標(biāo)函數(shù)以及當(dāng)前無人船的目標(biāo)航向來計(jì)算控制時(shí)域內(nèi)無人船舵角控制量的最優(yōu)控制序列,并根據(jù)計(jì)算出的無人船舵角控制量的最優(yōu)控制序列確定當(dāng)前時(shí)刻施加于無人船上的舵角控制信號(hào)。
4)采用滾動(dòng)優(yōu)化策略持續(xù)上述計(jì)算過程(如圖2),重復(fù)步驟1)~3)。

圖2 預(yù)測(cè)控制基本思想
根據(jù)以上控制過程,該航向控制器的設(shè)計(jì)主要涉及無人船預(yù)測(cè)模型的確定、優(yōu)化性能指標(biāo)的確定、反饋校正策略的制定以及預(yù)測(cè)時(shí)域和控制時(shí)域的參數(shù)選擇幾個(gè)方面。下面將從這幾個(gè)方面具體介紹基于預(yù)測(cè)函數(shù)控制的無人船航向控制器的設(shè)計(jì)過程。

圖3 基于PFC的無人船航向控制系統(tǒng)框圖
無人船航向控制系統(tǒng)的預(yù)測(cè)模型是指能夠正確描述航向控制系統(tǒng)輸入和輸出關(guān)系的模型。在進(jìn)行無人船航向控制研究時(shí),采用能夠描述無人船操縱性特點(diǎn)的野本方程作為預(yù)測(cè)模型。野本方程表示為

其中,K表示無人船的旋回性指數(shù),T表示無人船的追隨性指數(shù)。δ為無人船的舵角;ψ為無人船的艏向角。
取采樣時(shí)間為Ts,對(duì)方程式(3)進(jìn)行離散化,可得無人船預(yù)測(cè)模型的差分方程式表示為

在方程式(3)中,無人船的旋回性指數(shù)K和無人船的追隨性指數(shù)T可以通過對(duì)已有實(shí)驗(yàn)船進(jìn)行10°10°的Z形操縱性試驗(yàn)來獲得。本文中的實(shí)驗(yàn)船的基本參數(shù)如表1所示。

表1 無人船主要參數(shù)
在平靜的湖面進(jìn)行了實(shí)驗(yàn)船的Z形(10°10°)試驗(yàn),獲得的實(shí)驗(yàn)船艏向角和舵角關(guān)系變化曲線如圖4所示,根據(jù)文獻(xiàn)[6]中提到的計(jì)算方法,對(duì)無人船試驗(yàn)數(shù)據(jù)進(jìn)行擬合,求得實(shí)驗(yàn)船的K、T參數(shù)的值為K=0.49,T=1.94。

圖4 10°10°Z形操縱試驗(yàn)結(jié)果
無人船在海上航行時(shí)容易受到風(fēng)、浪的干擾,將這些干擾 fa等效成舵角干擾添加到預(yù)測(cè)模型中,即將式(3)改寫為

基于預(yù)測(cè)函數(shù)控制(PFC)的無人船航向控制器中的反饋校正環(huán)節(jié)主要是對(duì)無人船預(yù)測(cè)模型給出的預(yù)測(cè)時(shí)域內(nèi)的航向預(yù)測(cè)輸出值進(jìn)行校正,以使其預(yù)測(cè)值更接近實(shí)際輸出值。此處采用k時(shí)刻已知無人船預(yù)測(cè)模型的預(yù)測(cè)輸出航向角ψm()k與系統(tǒng)實(shí)際輸出航向角ψ()k之間的誤差來校正系統(tǒng)未來預(yù)測(cè)時(shí)域內(nèi)的預(yù)測(cè)輸出航向角ψ^( )k+i。誤差表達(dá)式為

則校正后的系統(tǒng)未來預(yù)測(cè)時(shí)域內(nèi)的無人船預(yù)測(cè)模型的輸出航向角ψ^( )k+i表達(dá)式為

基于預(yù)測(cè)函數(shù)控制的航向控制器通過滾動(dòng)優(yōu)化的方式來求解對(duì)應(yīng)于每一個(gè)時(shí)刻的最優(yōu)控制舵角輸入量,該舵角控制量的求取標(biāo)準(zhǔn)是控制器對(duì)于預(yù)設(shè)航向的跟蹤效果。另外,舵角控制量的選取在考慮航向最大化跟蹤的同時(shí),要考慮舵角的變化量符合無人船操舵的實(shí)際情況[7]。因此,構(gòu)造如式(8)所示的標(biāo)準(zhǔn)函數(shù)J,對(duì)預(yù)測(cè)時(shí)域內(nèi)航向跟蹤誤差的平方以及控制時(shí)域內(nèi)舵角控制量變化增量的平方求加權(quán)平均值,并以標(biāo)準(zhǔn)函數(shù)J的最小化來獲得無人船最優(yōu)舵角輸入控制量。通過調(diào)整標(biāo)準(zhǔn)函數(shù)中的加權(quán)因子來反應(yīng)航向誤差以及舵角增量在求解控制時(shí)域內(nèi)最優(yōu)舵角控制量時(shí)的重要程度。通常情況下,在滿足無人船舵角約束的條件下,更注重航向控制效果,因此在式(8)中,航向誤差加權(quán)因子ai要設(shè)置的比舵角控制量誤差加權(quán)因子bi大。

其中,ψ是航向控制器的實(shí)際輸出航向角,ψr是無人船的參考航向角,Hp是預(yù)測(cè)函數(shù)控制的預(yù)測(cè)時(shí)域,Hc是預(yù)測(cè)函數(shù)控制的控制時(shí)域,且滿足Hc≤Hp,ai是航向誤差加權(quán)因子,bi是舵角控制增量加權(quán)因子。
另外,根據(jù)無人船本身的控制特點(diǎn),模型預(yù)測(cè)航向控制器在輸出無人船的舵角控制量的過程中要考慮舵角約束。本文中使用的無人船模型舵角約束為

則滾動(dòng)優(yōu)化中求取k時(shí)刻最優(yōu)舵角控制量問題可轉(zhuǎn)化為如式(10)表示的局部最優(yōu)控制問題,將k時(shí)刻式(10)求得的最優(yōu)控制序列的第一個(gè)控制值作為k時(shí)刻最優(yōu)舵角控制量作用于無人船航向控制系統(tǒng),實(shí)現(xiàn)無人船的航向控制[8]。

本節(jié)以表1中介紹的無人船為基礎(chǔ),在Matlab仿真環(huán)境中對(duì)所設(shè)計(jì)的航向控制系統(tǒng)進(jìn)行系統(tǒng)仿真,以驗(yàn)證控制器的可行性。系統(tǒng)仿真主要涉及航向保持和航向跟蹤兩個(gè)方面。具體參數(shù)設(shè)置如下:
1)無人船初始參數(shù)設(shè)置為:航速v=1m/s,航向角ψ=0°。
2)PID航向控制器參數(shù)設(shè)置:Kp=0.5,Ki=0.00005,Kd=0.9 。
3)PFC航向控制器參數(shù)設(shè)置:預(yù)測(cè)時(shí)域Hp=10;控制時(shí)域Hc=2。目標(biāo)函數(shù)J中的航向誤差加權(quán)因子 ai=1,i=1,2,…Hp,舵角控制增量加權(quán)因子 bi=0.1,i=1,2,…Hc[9]。
在無干擾的理想情況下,對(duì)兩種無人船航向控制器進(jìn)行航向保持效果仿真。給定目標(biāo)航向角ψd=10°的常值輸入,獲得的航向控制效果如圖5所示,舵角控制量變化情況如圖6所示。

圖5 航向保持效果圖(無干擾)

圖6 航向保持舵角控制量(無干擾)
由圖5和圖6的仿真結(jié)果可以看出,在無干擾的理想情況下,基于PFC的航向控制器和基于PID的航向控制器都可以無超調(diào)的達(dá)到給定的目標(biāo)航向角,基于PFC的航向控制器響應(yīng)速度比基于PID的航向控制器要快,但是其舵角控制變化量較大。
在進(jìn)行存在外部干擾的航向控制仿真中,風(fēng)浪干擾項(xiàng)用一個(gè)白噪聲乘以二階波浪函數(shù)來代替[10],干擾信號(hào)中白噪聲信號(hào)的均值為2,功率譜密度為0.5;二階波浪函數(shù)表達(dá)式如式(11)所示,參數(shù)取值如下:增益常數(shù) Kω=0.42,主導(dǎo)海浪頻率ω0=0.606,阻尼系數(shù)ζ=0.3。

仿真實(shí)驗(yàn)中的干擾信號(hào)如圖7所示。存在外部干擾情況下,兩種航向控制器的控制效果如圖8所示,對(duì)應(yīng)的舵角控制量變化情況如圖9所示。

圖7 風(fēng)浪干擾信號(hào)

圖8 航向保持效果(存在干擾)
根據(jù)圖8和圖9所示的仿真結(jié)果可以看出,當(dāng)無人船航向控制系統(tǒng)存在外界風(fēng)浪干擾時(shí),預(yù)測(cè)函數(shù)控制的控制效果要優(yōu)于經(jīng)典PID控制。由圖8的航向跟蹤曲線可以看出,基于預(yù)測(cè)函數(shù)控制的航向控制系統(tǒng)能夠更快地跟蹤到目標(biāo)航向,且在跟蹤目標(biāo)航向時(shí)的航向抖動(dòng)更小[11~12]。由圖9的舵角控制量變化曲線可以看出,基于預(yù)測(cè)函數(shù)控制的航向控制器的輸出舵角控制量變化更加平滑。

圖9 航向保持舵角控制量(存在干擾)
在無干擾的理想情況下,對(duì)兩種航向控制系統(tǒng)的航向跟蹤效果進(jìn)行仿真。航向跟蹤仿真實(shí)驗(yàn)給定無人船的目標(biāo)航向角為幅值為90°、頻率為0.02rad/s的正弦信號(hào)。仿真實(shí)驗(yàn)獲得的兩種控制器的航向跟蹤效果如圖10所示,舵角控制量變化曲線如圖11所示。

圖10 航向跟蹤效果(無干擾)

圖11 航向跟蹤舵角控制量(無干擾)
為了進(jìn)一步分析基于PID的航向控制器和基于PFC的航向控制器的控制效果,表2給出了兩種控制器的航向平均跟蹤誤差。從圖10、圖11以及表2可以看出,基于PFC的航向控制器能夠?qū)崿F(xiàn)穩(wěn)定的航向跟蹤性能,且跟蹤速度和跟蹤精度都高于傳統(tǒng)的PID航向控制器。

表2 航向跟蹤誤差
在存在外部干擾的情況下,給定無人船的目標(biāo)航向角輸入為幅值為90°,頻率為0.02rad/s的正弦信號(hào),進(jìn)行兩種航向控制器的航向跟蹤效果仿真。干擾信號(hào)仍然采用式(11)所述的風(fēng)浪干擾,干擾信號(hào)如圖7所示。獲得的航向跟蹤效果如圖12所示,舵角控制量變化如圖13所示。

圖12 航向跟蹤效果(存在干擾)

圖13 航向跟蹤舵角控制量(存在干擾)
為了進(jìn)一步分析基于PID的航向控制器和基于PFC的航向控制器的控制效果,表3給出了兩種控制器的航向跟蹤誤差。從圖12、圖13以及表3可以看出,基于PFC的航向控制器在有干擾的情況下也能夠?qū)崿F(xiàn)穩(wěn)定的航向跟蹤性能,且跟蹤速度和跟蹤精度都高于傳統(tǒng)的PID航向控制器。

表3 航向跟蹤誤差(有干擾)
基于預(yù)測(cè)函數(shù)控制的算法原理,與無人船航向控制的要求相結(jié)合,提出了一種基于預(yù)測(cè)函數(shù)控制的水面無人船航向控制器。通過將該航向控制器與基于經(jīng)典PID算法的水面無人船航向控制器進(jìn)行航向保持和航向跟蹤的對(duì)比仿真實(shí)驗(yàn),驗(yàn)證了基于預(yù)測(cè)函數(shù)控制的航向控制器有更好的航向保持和航向跟蹤效果。