楊 琛,蔣 鑫*,白 波,宋秋紅
(1.上海海洋大學(xué) 工程學(xué)院,上海 201306;2.上海杰之能信息科技有限公司,上海 200030)
無人水面艇(Unmanned Surface Vessel,USV)作為一種能夠?qū)崿F(xiàn)自動(dòng)感知、運(yùn)動(dòng)控制以及目標(biāo)追蹤的智能平臺(tái),在軍事偵察,水質(zhì)檢測、資源勘探等多個(gè)領(lǐng)域得到了廣泛的應(yīng)用。由于無人艇在實(shí)際應(yīng)用過程中存在模型非線性、系統(tǒng)參數(shù)時(shí)變性以及外界環(huán)境的干擾,因此無人艇的運(yùn)動(dòng)控制是無人艇在研究中的一大難點(diǎn),也是諸多學(xué)者研究的熱點(diǎn)課題,其內(nèi)容主要包括路徑規(guī)劃,航速航向控制以及路徑跟蹤等[1]。
目前,對(duì)于路徑跟蹤控制的方法主要有PID控制及其改進(jìn)[2,3]、自抗擾控制[4]、滑模控制[5,6]以及模型預(yù)測控制[7,8]等,這些控制方法已經(jīng)在無人艇的控制研究中得到深入研究。鄭烈心[2]為了增強(qiáng)PID控制器對(duì)參數(shù)攝動(dòng)的魯棒性,提出魯棒PID控制的方案,并加入滑??刂七M(jìn)一步改善系統(tǒng)的控制性能。王雨迪[4]為增強(qiáng)系統(tǒng)抗干擾能力,引出自抗擾控制,在控制系統(tǒng)中加入了擾動(dòng)觀測器,從而對(duì)系統(tǒng)內(nèi)、外的干擾進(jìn)行補(bǔ)償。柳晨光[7]采用模型預(yù)測控制的方法來研究無人艇路徑跟蹤控制問題,提出了線性模型預(yù)測與非線性模型預(yù)測兩種控制方案并進(jìn)行對(duì)比試驗(yàn),通過仿真表明非線性模型預(yù)測控制方案有著更高的控制精確度。但由于船舶運(yùn)動(dòng)時(shí)的非線性、大時(shí)滯以及干擾隨機(jī)性等動(dòng)態(tài)特性,常規(guī)的控制方法在工程上的控制效果并不理想。而智能算法不依賴于精準(zhǔn)的對(duì)象模型且能提高系統(tǒng)的自適應(yīng)能力,無人艇的運(yùn)動(dòng)控制中常引入智能控制以滿足路徑跟蹤控制的要求。
基于此,本文提出一種基于遺傳算法優(yōu)化PID控制器的路徑跟蹤控制方案。在制導(dǎo)環(huán)節(jié)中,針對(duì)外界環(huán)境干擾引入積分操作,設(shè)計(jì)出一種改進(jìn)的ILOS(Integral Line of sight,ILOS)制導(dǎo)律;在PID控制環(huán)節(jié)中,采用遺傳算法(Genetic Algorithm,GA)對(duì)控制器參數(shù)進(jìn)行優(yōu)化。通過仿真表明,遺傳算法優(yōu)化PID控制器參數(shù)的路徑跟蹤控制方案能夠改善系統(tǒng)的控制性能。
研究USV的平面運(yùn)動(dòng)時(shí),通常只需要考慮三自由度運(yùn)動(dòng)學(xué)關(guān)系[9],此時(shí)可建立USV移動(dòng)速度及其時(shí)間導(dǎo)數(shù)、轉(zhuǎn)角速度及其時(shí)間導(dǎo)數(shù)以及舵角的狀態(tài)空間型運(yùn)動(dòng)數(shù)學(xué)模型
式(1)中X=[vrΨ]T是狀態(tài)變量,其中Ψ是USV艏向角,U=δ是控制輸入。
上式可轉(zhuǎn)化為二階響應(yīng)模型,即野本(Nomoto)模型[9]:
K、T均為USV的操縱性指數(shù),決定了艏向變化對(duì)操縱控制的響應(yīng)特性。K是從δ(s)到r(s)的靜態(tài)增益,稱為回轉(zhuǎn)性指數(shù),K越大,回轉(zhuǎn)性能越好。時(shí)間常數(shù)T是跟從性指數(shù),T越小,響應(yīng)越快,跟從性能越好。
研究USV運(yùn)動(dòng)模型在被控過程中的動(dòng)態(tài)特性,還需要考慮風(fēng)、浪、流造成的環(huán)境干擾。由于這些干擾具有不確定性,很難精準(zhǔn)地建立數(shù)學(xué)模型,本文定義干擾為w=[ω1ω2ω3]T近似描述環(huán)境干擾,并且滿足:
其中,α1、α2和α1分別為風(fēng)、浪、流對(duì)平面三自由度干擾的權(quán)重參數(shù)(α1≥0,α2≥0,α3≥0),rand1(t),rand2(t)和rand3(t)均表示[-1,1]的均勻隨機(jī)數(shù)。于是,獲得在干擾環(huán)境下的USV運(yùn)動(dòng)數(shù)學(xué)模型,使得USV運(yùn)動(dòng)數(shù)學(xué)模型從確定性系統(tǒng)變?yōu)殡S機(jī)系統(tǒng)。
整體控制方案設(shè)計(jì)如圖1所示。在制導(dǎo)環(huán)節(jié)中,無人艇首先獲得期望路徑的坐標(biāo)點(diǎn)信息以及無人艇的當(dāng)前位姿信息,通過ILOS制導(dǎo)律輸出無人船的理想艏向角。在PID控制環(huán)節(jié)中,將理想艏向角作為控制器的輸入信號(hào),同時(shí),利用遺傳算法結(jié)合當(dāng)前橫向誤差與航向誤差,優(yōu)化PID控制器的相關(guān)參數(shù)。最后,輸出無人艇推進(jìn)器的偏轉(zhuǎn)角作為無人船的運(yùn)動(dòng)指令,控制無人船進(jìn)行路徑跟蹤。
圖1 路徑跟蹤控制器結(jié)構(gòu)
LOS是一種經(jīng)典有效的制導(dǎo)算法,廣泛應(yīng)用于工程船舶。LOS制導(dǎo)算法不依賴于USV運(yùn)動(dòng)數(shù)學(xué)模型,但需要期望路徑和USV的實(shí)時(shí)位姿信息,來產(chǎn)生當(dāng)前USV運(yùn)動(dòng)控制所需的艏向角。
運(yùn)用LOS制導(dǎo)律應(yīng)當(dāng)考慮環(huán)境負(fù)荷引起的USV航向漂角,通常做法是:
1)運(yùn)用積分視距制導(dǎo)算法[10,11];
2)變前視距離策略[12,13]。本文為了對(duì)航向漂角進(jìn)行補(bǔ)償,首先在傳統(tǒng)的LOS制導(dǎo)算法引入積分操作,得到ILOS制導(dǎo)律,即:
式(5)中,ye是橫向偏差,Δ是前視距離。Ψd理想艏向角,Ψp是期望路徑的方位角。為了進(jìn)一步改善積分效果,采用變前視距離的策略,使得前視距離與橫向偏差呈非線性的變化關(guān)系,以此避免較大的超調(diào)量。
式(6)中,當(dāng)ye較大時(shí),以較小的Δ使得期望艏向變化更陡,顯著改善了USV收斂速度,而在ye較小時(shí),R較大,使得期望艏向變化平緩,有助于抑制USV頻繁打舵,增強(qiáng)控制性能。
構(gòu)建如下的Lyapunov函數(shù):
代入式子,并求導(dǎo):
根據(jù)PID控制器的三個(gè)參數(shù)對(duì)系統(tǒng)的作用特點(diǎn),以及控制目標(biāo)無人艇的艏向?qū)嶋H的控制需要,首先設(shè)計(jì)PD型艏向控制方法:
式(10)中,Ψe是航向誤差,Kp和Kd為PID控制器的控制參數(shù),將式(10)代入式(11),可得:
式(11)根據(jù)閉環(huán)控制系統(tǒng)設(shè)計(jì)方法可進(jìn)一步改寫為:
式(12)中,ξ系統(tǒng)的阻尼比,通常取值為0.8≤ξ≤1.0,ωn是無人艇的自然振蕩頻率。
根據(jù)上述的設(shè)計(jì)方法可以得出:
當(dāng)無人艇受到外界環(huán)境風(fēng)浪流等干擾時(shí),加入可消除偏差的積分項(xiàng),以使得系統(tǒng)獲得更好的抗干擾性能。于是,設(shè)計(jì)PID型艏向控制方法為:
Ki的取值根據(jù)文獻(xiàn)[14]介紹的方法滿足:
將式(13)代入式(14),則有:
為了滿足系統(tǒng)的穩(wěn)定性要求,Kp、Ki和Kd的取值需要使得該閉環(huán)控制系統(tǒng)特征方程的根具有負(fù)實(shí)部。
采用PID進(jìn)行艏向控制時(shí),參數(shù)的選取影響著系統(tǒng)的控制性能,傳統(tǒng)的經(jīng)驗(yàn)試湊法不能夠滿足處于無人艇控制需求。本文利用遺傳算法對(duì)控制參數(shù)進(jìn)行全局優(yōu)化,以使得無人船在實(shí)際運(yùn)動(dòng)過程中獲得更好的動(dòng)態(tài)特性。
1)參數(shù)編碼與種群初始化
控制器需要調(diào)整的參數(shù)有Kp、Ki以及Kd,通過遺傳算法對(duì)這三個(gè)控制參數(shù)進(jìn)行編碼,為了提高算法的運(yùn)行效率,根據(jù)無人船的初始狀態(tài)產(chǎn)生一組給定的控制器參數(shù)值,初始種群是基于該組給定的參數(shù)值并結(jié)合下式進(jìn)而產(chǎn)生50個(gè)個(gè)體,進(jìn)化100代。在接下來每次優(yōu)化中,保留最優(yōu)的個(gè)體用作產(chǎn)生下一次優(yōu)化的初始種群。
Pi是初始種群的個(gè)體,Kj是給定的一組參數(shù)值,rand(t)用于產(chǎn)生[-0.1,0.1]的隨機(jī)數(shù)。
2)目標(biāo)函數(shù)與適應(yīng)度函數(shù)
目標(biāo)函數(shù)是評(píng)價(jià)一個(gè)系統(tǒng)控制效果的性能指標(biāo),而適應(yīng)度函數(shù)是一個(gè)種群個(gè)體優(yōu)劣的衡量標(biāo)準(zhǔn)。橫向偏差ye與航向誤差Ψe均是無人船控制效果的實(shí)際表現(xiàn),為使得系統(tǒng)參數(shù)進(jìn)行有效合理的優(yōu)化,選取橫向偏差和航向誤差作為目標(biāo)函數(shù)的影響因素,故建立下式作為目標(biāo)函數(shù)。
式(16)中T′是采樣周期,目標(biāo)函數(shù)值越小說明系統(tǒng)控制性能越好,根據(jù)最大化原則選取目標(biāo)函數(shù)的倒數(shù)為對(duì)應(yīng)的適應(yīng)度函數(shù),即:
3)選擇、交叉與變異
根據(jù)各個(gè)個(gè)體的適應(yīng)度值,采用輪盤賭的方法選擇優(yōu)良的個(gè)體,并使用算術(shù)交叉和均勻變異得到下一代個(gè)體,產(chǎn)生下一代種群,其中將每一代最優(yōu)良的個(gè)體直接保留到下一代。將交叉概率設(shè)置為0.8,變異概率設(shè)置為0.1。
4)重復(fù)3)與4)步驟,直至達(dá)到收斂或者參數(shù)優(yōu)化的預(yù)期效果。
為了分析本文所提出的無人艇路徑跟蹤控制方案的控制效果,選擇基于傳統(tǒng)PID控制與LOS制導(dǎo)的無人艇路徑跟蹤的控制方案進(jìn)行對(duì)比,并利用MATLAB進(jìn)行仿真試驗(yàn)。其中無人艇模型、ILOS制導(dǎo)律以及控制器中所需參數(shù)詳如表1所示。操縱性指數(shù)K和T計(jì)算方法如文獻(xiàn)[9]所示,對(duì)比方案的PID控制器參數(shù)采用表1中的Kp、Ki和Kd,本文方案中則以該組參數(shù)產(chǎn)生初始種群。
表1 系統(tǒng)相關(guān)參數(shù)設(shè)定值
仿真結(jié)果圖2和圖3顯示的是對(duì)直線路徑跟蹤的航跡和航向誤差收斂的曲線。對(duì)比方案在缺少ILOS與遺傳算法優(yōu)化參數(shù)的情況下,航跡波動(dòng)較大且航向誤差有明顯超調(diào)量。相較于對(duì)比方案,本文提出的方案能夠使得無人艇在更短時(shí)間內(nèi)逼近期望路徑并達(dá)到平衡狀態(tài),且航向保持更加穩(wěn)定,具備更好的動(dòng)態(tài)性能與快速性能,表明本方案的先進(jìn)性。
圖2 直線路徑跟蹤控制效果
圖3 航向誤差收斂曲線
仿真結(jié)果圖4和圖5是對(duì)圓周路徑進(jìn)行跟蹤控制的效果,對(duì)于圓周路徑的跟蹤可以展示無人艇的跟從性能和回轉(zhuǎn)性能。本文提出的方案能夠自適應(yīng)調(diào)整無人艇的運(yùn)動(dòng)狀態(tài),表明該路徑跟蹤控制器能夠應(yīng)對(duì)路徑變化,具備對(duì)復(fù)雜路徑進(jìn)行準(zhǔn)確跟蹤的能力。
圖4 圓周路徑跟蹤控制效果
圖5 航向誤差收斂曲線
針對(duì)無人艇的路徑跟蹤過程中運(yùn)動(dòng)控制問題,本文設(shè)計(jì)一種基于遺傳算法優(yōu)化PID控制器參數(shù)的路徑跟蹤控制方案。通過改進(jìn)的ILOS制導(dǎo)律來抵消環(huán)境負(fù)荷對(duì)無人艇運(yùn)動(dòng)的干擾,增強(qiáng)系統(tǒng)的抗干擾能力,同時(shí)采用遺傳算法對(duì)PID控制器的參數(shù)進(jìn)行全局優(yōu)化,以使得無人艇在控制過程中獲得良好的動(dòng)態(tài)性能。最后,通過仿真結(jié)果表明本文的路徑跟蹤控制方案較于傳統(tǒng)方案,具備優(yōu)越性與先進(jìn)性。下一步將著重研究外界環(huán)境風(fēng)浪流的干擾,使得干擾模型更為精確,從而使得控制策略能夠被充分執(zhí)行。