陳 卓,金建海,張 波,包 濤,周則興
(1.中國(guó)船舶科學(xué)研究中心,江蘇 無(wú)錫 214082;2.深海技術(shù)科學(xué)太湖實(shí)驗(yàn)室,江蘇 無(wú)錫 214082)
近年來(lái),隨著計(jì)算機(jī)技術(shù)和人工智能的飛速發(fā)展,無(wú)人系統(tǒng)得到了廣泛的研究和應(yīng)用。無(wú)人艇作為一種專(zhuān)用于水面任務(wù)的無(wú)人化平臺(tái),可通過(guò)搭載航行控制單元,實(shí)現(xiàn)水域內(nèi)的智能航行和自主作業(yè)[1]。與有人船艇相比,無(wú)人艇具有體積小、快速靈活、自主可靠等優(yōu)勢(shì),被越來(lái)越廣泛地應(yīng)用于軍民用領(lǐng)域,如海域偵察、探雷、反潛、水質(zhì)監(jiān)測(cè)、資源勘探等。在各種復(fù)雜的任務(wù)場(chǎng)景下,航向控制是無(wú)人艇完成自主航行的關(guān)鍵和基礎(chǔ)技術(shù)。無(wú)人艇的控制問(wèn)題有以下特點(diǎn):(1)無(wú)人艇總是受船舶慣性、水動(dòng)力等非線性項(xiàng)的影響,運(yùn)動(dòng)響應(yīng)過(guò)程復(fù)雜,難以精確建模;(2)極易受到風(fēng)浪流等因素的動(dòng)態(tài)干擾,造成無(wú)人艇偏離期望位置,具有一定的不可預(yù)測(cè)性。這些特點(diǎn)給無(wú)人艇的運(yùn)動(dòng)控制提出了更高的要求,設(shè)計(jì)出快速穩(wěn)定且具有環(huán)境自適應(yīng)性的航向控制器是當(dāng)前無(wú)人艇領(lǐng)域的研究熱點(diǎn)之一。
在無(wú)人艇航向控制的研究方面,國(guó)內(nèi)外學(xué)者均進(jìn)行了廣泛的探索。主流的控制方法包括滑??刂?、模糊控制、反步法、神經(jīng)網(wǎng)絡(luò)方法、Lyapunov 直接法等[2~5]。但是在工程領(lǐng)域內(nèi),使用最多的還是經(jīng)典的PID控制方法。與其他方法相比,PID方法具有結(jié)構(gòu)簡(jiǎn)單、參數(shù)含義明確等優(yōu)點(diǎn),不需要系統(tǒng)的精確模型,更易于工程實(shí)現(xiàn)[6]。在應(yīng)用PID 方法時(shí),參數(shù)的調(diào)節(jié)是一個(gè)關(guān)鍵問(wèn)題,常規(guī)的經(jīng)驗(yàn)調(diào)參方式效率低下,已無(wú)法滿(mǎn)足無(wú)人艇高精度、自適應(yīng)的航向控制要求。為解決此問(wèn)題,李光宇等[7]設(shè)計(jì)了一種基于分?jǐn)?shù)階PIλDμ控制器,積分階次λ 和微分階次μ的引入使得分?jǐn)?shù)階比例積分微分控制器具有更好的魯棒性和抗擾動(dòng)能力,但同時(shí)也加大了算法設(shè)計(jì)的難度。龔波等[8]提出了一種基于P系統(tǒng)的非線性航向跟蹤控制方法,并引入粒子群優(yōu)化細(xì)胞型膜算法對(duì)P 系統(tǒng)進(jìn)行參數(shù)尋優(yōu);范云生等[9]設(shè)計(jì)并實(shí)現(xiàn)了一種基于模糊自適應(yīng)PID 的無(wú)人水面艇航向跟蹤控制器,并通過(guò)實(shí)船試驗(yàn)證明了該跟蹤控制器良好的動(dòng)靜態(tài)控制性能和抗干擾能力;胡志強(qiáng)等[10]提出了在線自?xún)?yōu)化PID 控制算法,以狀態(tài)誤差與系統(tǒng)縱向速度為自變量,構(gòu)建各控制參數(shù)的在線調(diào)整函數(shù);包濤等[11]設(shè)計(jì)了一種基于廣義動(dòng)態(tài)模糊神經(jīng)網(wǎng)絡(luò)和參考模型的魯棒自適應(yīng)控制器,利用廣義動(dòng)態(tài)模糊神經(jīng)網(wǎng)絡(luò)建立了環(huán)境干擾的逆動(dòng)態(tài)模型,并結(jié)合無(wú)人艇運(yùn)動(dòng)控制的參考模型設(shè)計(jì)了魯棒自適應(yīng)控制器;葛貝貝[12]將免疫遺傳算法(IGA)應(yīng)用到了船舶航向PID控制器的離線優(yōu)化中,控制效果良好,但收斂較慢,魯棒性差,無(wú)法適應(yīng)于在線優(yōu)化過(guò)程。
針對(duì)以上問(wèn)題,本文提出一種基于多策略融合改進(jìn)的免疫遺傳算法(Multi-Strategy Fusion Immune Genetic Algorithm,MSFIGA),引入混沌初始化、向量角相似度及自適應(yīng)差分接種等策略,以改善基本免疫遺傳算法收斂緩慢、易陷入局部最優(yōu)的缺點(diǎn)。在此基礎(chǔ)上,設(shè)計(jì)基于MSFIGA 的無(wú)人艇航向自適應(yīng)控制器及性能評(píng)價(jià)函數(shù),實(shí)現(xiàn)對(duì)PID 控制參數(shù)的自適應(yīng)優(yōu)化。最后進(jìn)行對(duì)比仿真試驗(yàn)以驗(yàn)證方法的有效性。
在無(wú)人艇航向控制器的設(shè)計(jì)中,響應(yīng)型船舶運(yùn)動(dòng)模型是最常用的一種數(shù)學(xué)模型。該模型由野本謙作(Nomoto)提出,從控制工程的角度描述了船舶操縱的動(dòng)態(tài)響應(yīng)過(guò)程。無(wú)人艇的二階Nomoto 模型可以表示為
式中,ψ為船舶航向角,δ為舵角,K、T分別為表征船舶操縱特性的特征參量。
野本方程較好地描述了船舶運(yùn)動(dòng)的線性化模型,但是在無(wú)人艇的實(shí)際航行中,還應(yīng)考慮由船舶慣性和水動(dòng)力造成的非線性物理力影響,因此在上式中引入非線性項(xiàng),得到USV的非線性響應(yīng)模型[13]:
式中,α、β分別為非線性項(xiàng)系數(shù);K、T、α、β均與船舶航速有關(guān),可通過(guò)試驗(yàn)數(shù)據(jù)辨識(shí)獲得。
在無(wú)人艇實(shí)際航行過(guò)程中,風(fēng)浪流等環(huán)境力會(huì)對(duì)船舶運(yùn)動(dòng)及真實(shí)航向造成干擾,因此在設(shè)計(jì)航向控制器時(shí)應(yīng)加以考慮。按照作用形式,作用于船舶上的環(huán)境擾動(dòng)力可分為風(fēng)流擾動(dòng)和波浪擾動(dòng)兩種。在應(yīng)用船舶非線性數(shù)學(xué)響應(yīng)模型時(shí),可以將風(fēng)流力和波浪力干擾表述為一種額外的干擾舵角。
風(fēng)流力的干擾形式較為簡(jiǎn)單,可用白噪聲的形式進(jìn)行表示:
式中,cw為一定常值,wgn為零均值高斯噪聲。
波浪對(duì)船舶造成的擾動(dòng)較為復(fù)雜,本文參考文獻(xiàn)[14]的方法模擬波浪力對(duì)船舶的擾動(dòng)?;诓ɡ俗V分析理論,將海浪干擾用有色噪聲經(jīng)濾波器輸出的波高加以代替:
再根據(jù)波高及波高變化率計(jì)算出擾動(dòng)力矩:
最后利用擾動(dòng)力矩計(jì)算得到海浪擾動(dòng)造成的等效舵角值:
以上式子中,k1為比例環(huán)節(jié),G( )s為有色噪聲到波高的傳遞函數(shù),C1、C2、ρ1為波浪模型增益系數(shù),Cv為比例系數(shù),v為船舶航速。
免疫遺傳算法(Immune Genetic Algorithm,IGA)[15]是基本遺傳算法的改進(jìn)版本,通過(guò)融合生物免疫系統(tǒng)的動(dòng)態(tài)調(diào)節(jié)機(jī)制,優(yōu)化了遺傳算法的隨機(jī)搜索過(guò)程。免疫遺傳算法與傳統(tǒng)遺傳算法的最大不同之處在于其引入了種群相似度的概念,通過(guò)抗體之間的相似性和濃度來(lái)促進(jìn)和抑制種群個(gè)體的生成,進(jìn)而維持種群進(jìn)化過(guò)程中的多樣性。
假設(shè)種群規(guī)模為N,抗體的基因數(shù)為M,編碼數(shù)為S,則種群在第i個(gè)基因位上的信息熵可以表示為
式中,pi,j表示種群中N個(gè)抗體在第i個(gè)基因位的值為j的概率。N個(gè)抗體的平均信息熵可以定義為
種群中任意兩個(gè)抗體a1和a2之間的相似度可以用平均信息熵加以表示,即
設(shè)定一相似度閾值為γ,若Sa1,a2>γ,則認(rèn)為抗體a1和a2相似,否則認(rèn)為不相似。根據(jù)抗體a1與種群中所有抗體的相似度判斷,可得到該抗體在群體中的濃度值為
式中,Qa1,ai為標(biāo)記值。當(dāng)抗體a1和a2相似時(shí),Qa1,ai=1;當(dāng)抗體a1和ai不相似時(shí),Qa1,ai=0。
IGA根據(jù)抗體濃度和適應(yīng)度對(duì)種群的進(jìn)化過(guò)程進(jìn)行促進(jìn)和抑制,抗體的選擇概率可以表示為
式中:Pf、Pd分別為抗體的適應(yīng)度概率和濃度概率,可用輪盤(pán)賭方法計(jì)算;α為抗原-抗體親和系數(shù),用于調(diào)節(jié)適應(yīng)度和濃度對(duì)抗體選擇的影響,且有0<α<1。
2.2.1 混沌初始化策略
研究表明,初始群體的分布性質(zhì)嚴(yán)重影響整個(gè)算法的收斂性能[16]。IGA 采用簡(jiǎn)單的隨機(jī)初始化方式,種群進(jìn)化效果受到初始種群質(zhì)量的限制,容易出現(xiàn)種群過(guò)分集中、多樣性不足等問(wèn)題,難以有效利用整個(gè)解空間。借鑒于混沌系統(tǒng)對(duì)數(shù)據(jù)空間的遍歷特性,本文采用一種基于Tent 混沌映射的方法對(duì)種群進(jìn)行初始化,以克服隨機(jī)化方法的缺陷。
Tent混沌映射系統(tǒng)的動(dòng)力學(xué)模型可定義為
當(dāng)參數(shù)k∈( 0,1 ),x∈[0,1 ]時(shí),該系統(tǒng)處于渾沌狀態(tài);當(dāng)k=0.5 時(shí),該系統(tǒng)為標(biāo)準(zhǔn)Tent混沌映射,可完成對(duì)[0,1 ]空間的滿(mǎn)映射,
種群初始化過(guò)程可描述如下:隨機(jī)生成初始值x0∈[]0,1 ;根據(jù)式(13)迭代計(jì)算得到一個(gè)數(shù)值序列{x0,x1,…,xN} ,其中N為種群規(guī)模;將混沌序列映射到待求解問(wèn)題的解值域,即可得到具有遍歷特性的初始化種群。
2.2.2 向量角相似度評(píng)價(jià)策略
免疫操作主要靠計(jì)算不同抗體之間的相似度及濃度來(lái)實(shí)現(xiàn),然而IGA 中單純基于抗體結(jié)構(gòu)的相似度計(jì)算方式?jīng)]有真正體現(xiàn)生物學(xué)中免疫操作對(duì)選擇多樣性的影響,限制了算法的優(yōu)化性能。為改善此缺陷,本文提出了一種基于向量角的相似度評(píng)價(jià)策略。
在種群中,給定抗體a和b,記其值分別為va和vb,適應(yīng)度值分別為fa和fb。將每個(gè)抗體用二維特征向量[v,f]表示,抗體a和b之間的相似度以特征向量之間的余弦角進(jìn)行表征:
對(duì)于特定的求解問(wèn)題,可給定一相似度閾值ε,0<ε≤1。若S′a,b>ε,則認(rèn)為抗體a和b相似;否則認(rèn)為不相似?;谙蛄拷堑南嗨贫扔?jì)算方式,綜合考慮了抗體在結(jié)構(gòu)特征和品質(zhì)特征上的相似度,更貼近自然免疫系統(tǒng)中對(duì)抗體相似度的定義。
2.2.3 自適應(yīng)差分接種策略
在進(jìn)化經(jīng)過(guò)一定代數(shù)后,抗體種群的多樣性下降,導(dǎo)致算法陷入局部最小、收斂變慢。為解決IGA 算法前后期搜索不均衡的問(wèn)題,同時(shí)充分利用進(jìn)化過(guò)程中的優(yōu)勢(shì)抗體信息,引入一種自適應(yīng)差分接種策略。
疫苗提取:定義V為種群N的疫苗庫(kù),由進(jìn)化過(guò)程中每一代的最優(yōu)個(gè)體vi組成。將疫苗庫(kù)V中的抗體按適應(yīng)度值進(jìn)行排序,選擇最優(yōu)的N個(gè)抗體作為待接種疫苗(若不足N個(gè),則復(fù)制最優(yōu)個(gè)體以補(bǔ)充)。
疫苗接種:定義疫苗接種周期TAC,進(jìn)化代數(shù)記為g。如果mod(k/TAC)=0,則執(zhí)行差分疫苗接種操作,其中mod(·)為取余函數(shù)。選擇疫苗對(duì)當(dāng)前種群進(jìn)行差分接種:
式中a'(g)為接種后抗體,a(g)為接種前抗體,bac為疫苗,F(xiàn)為差分縮放因子。再將抗體種群a'(g)和a(g)進(jìn)行等位基因?qū)Ρ?,產(chǎn)生優(yōu)勢(shì)進(jìn)化種群:
MSFIGA的具體流程如圖1所示。
本文采用基于參數(shù)自適應(yīng)整定的PID 算法作為無(wú)人艇航向跟蹤的控制器。在每個(gè)采樣周期內(nèi),以航向偏差量作為控制器輸入,并利用MSFIGA 對(duì)控制器參數(shù)進(jìn)行實(shí)時(shí)優(yōu)化調(diào)整,再由控制器執(zhí)行輸出舵角到USV的運(yùn)動(dòng)模型,如圖2所示。
圖2 基于MSFIGA的USV航向在線自適應(yīng)控制器結(jié)構(gòu)Fig.2 Structure for USV’s online heading contoller based on MSFIGA
定義初始時(shí)刻為t0,當(dāng)前時(shí)刻為t,航向誤差量為e(t),則PID控制器的基本結(jié)構(gòu)可以表示為
式中,kp、ki、kd分別為比例、積分、微分系數(shù),為待優(yōu)化目標(biāo)。
性能評(píng)價(jià)函數(shù)通過(guò)評(píng)估控制器的綜合性能指引參數(shù)優(yōu)化的方向。控制系統(tǒng)主要的性能指標(biāo)有三類(lèi),即穩(wěn)定性、準(zhǔn)確性和快速性。對(duì)航向控制而言,以上三個(gè)要求往往是相互制約的,如上升時(shí)間短,則系統(tǒng)震蕩,航向穩(wěn)定性變差;改善穩(wěn)定性,則調(diào)節(jié)速度可能過(guò)于緩慢,精度也有可能變差。
為獲得滿(mǎn)意的靜、動(dòng)態(tài)特性,本文采用誤差e(t)、誤差變化率de(t)及超調(diào)量eM的加權(quán)函數(shù)作為抗體優(yōu)化的最小目標(biāo)函數(shù):
式中,ω1、ω2、ω3為加權(quán)系數(shù)。公式右側(cè)第三項(xiàng)是為了避免超調(diào)而引入的懲罰函數(shù),超調(diào)量eM可按下式進(jìn)行計(jì)算:
性能評(píng)價(jià)函數(shù)J綜合考慮了采樣周期內(nèi)的穩(wěn)態(tài)誤差、調(diào)節(jié)速率和超調(diào)量,其值越小,表明控制系統(tǒng)的性能越好,對(duì)應(yīng)的控制參數(shù)越優(yōu)。
為驗(yàn)證本文混合優(yōu)化免疫遺傳算法(MSFIGA)的優(yōu)化性能,首先針對(duì)下面5 組典型的測(cè)試函數(shù),即Camel 函數(shù)(f1)、Rastriqrin 函數(shù)(f2)、Schwefel 函數(shù)(f3)、Bohachevsky 函數(shù)(f4)、Griewangk 函數(shù)(f5),利用Matlab進(jìn)行仿真測(cè)試,并與基本免疫遺傳算法(IGA)和基于單策略?xún)?yōu)化的免疫遺傳算法進(jìn)行比較。
考慮到算法的隨機(jī)性,每組函數(shù)均進(jìn)行20次獨(dú)立的隨機(jī)試驗(yàn)。MSFIGA 的參數(shù)設(shè)置如下:N=30,M=3,Ps=0.8,Pc=0.6,ε=0.85,α=0.7,Tac=20。IGA 和單策略?xún)?yōu)化的IGA 算法的相關(guān)參數(shù)與MSFIGA中的相同。測(cè)試結(jié)果如表1 所示,表中SSIGA1、SSIGA2、SSIGA3 分別表示基于混沌初始化、向量角相似度評(píng)價(jià)和自適應(yīng)差分接種的單策略改進(jìn)免疫遺傳算法。
表1 免疫遺傳算法優(yōu)化性能測(cè)試對(duì)比Tab.1 Comparison of performance for immune genetic algorithms
由表1 可以看出,基于單策略?xún)?yōu)化的IGA 通過(guò)引入不同的改進(jìn)策略,不同程度地改善了IGA 的全局搜索能力,使得其在優(yōu)化性能上均優(yōu)于傳統(tǒng)的IGA。而在基于多策略混合優(yōu)化的算法中,將三種策略有機(jī)融合進(jìn)了免疫進(jìn)化的整個(gè)過(guò)程中,在保證種群多樣性的同時(shí)使得種群的整體性能得到了進(jìn)一步提升,從而顯著提高了算法的搜索能力。從測(cè)試結(jié)果可以看出,MSFIGA 具有比單策略算法更強(qiáng)大的全局搜索能力,且收斂更加穩(wěn)定。
為驗(yàn)證MSFIGA 算法在無(wú)人艇航向控制任務(wù)中的有效性,開(kāi)展不同干擾條件下的航向控制仿真測(cè)試,并將測(cè)試結(jié)果與經(jīng)驗(yàn)PID、IGA-PID 方法進(jìn)行比較。以中國(guó)船舶科學(xué)研究中心小型水面無(wú)人艇“X-boat”作為仿真對(duì)象,無(wú)人艇模型參數(shù)及風(fēng)浪流干擾參數(shù)設(shè)置如表2所示。
表2 無(wú)人艇運(yùn)動(dòng)模型及環(huán)境干擾參數(shù)設(shè)置Tab.2 Parameter setting of USV motion model and environment disturbance
圖3和圖4給出了無(wú)人艇階躍響應(yīng)的航向控制結(jié)果,其中圖3為在無(wú)干擾情況下的仿真結(jié)果,圖4為在有風(fēng)浪干擾情況下的仿真結(jié)果。從圖中可以看出:在無(wú)干擾情況下,三種方法均能實(shí)現(xiàn)對(duì)期望航向的精確跟蹤,但是本文方法在快速性上明顯優(yōu)于其他兩種方法;在有干擾情況下,傳統(tǒng)的PID 控制對(duì)航向干擾的調(diào)整能力較差,存在一定的穩(wěn)態(tài)誤差;基于MSFIGA 的方法在穩(wěn)態(tài)誤差、調(diào)節(jié)時(shí)間和最大超調(diào)量上均優(yōu)于其他兩種方法。
圖3 無(wú)干擾情況下的無(wú)人艇階躍響應(yīng)航向控制結(jié)果Fig.3 Results of USV heading control under good sea conditions for step response
圖4 風(fēng)浪干擾情況下的無(wú)人艇階躍響應(yīng)航向控制結(jié)果Fig.4 Results of USV heading control under worse sea conditions for step response
圖5給出了無(wú)人艇在有風(fēng)浪干擾情況下方波響應(yīng)的航向控制結(jié)果。在跟蹤方波航向的過(guò)程中,采用單步優(yōu)化的方式實(shí)現(xiàn)對(duì)控制參數(shù)的在線更新。為了保證算法的實(shí)時(shí)性,對(duì)單步優(yōu)化過(guò)程中的種群數(shù)量和最大進(jìn)化代數(shù)進(jìn)行了限制(種群規(guī)模N=30,最大進(jìn)化代數(shù)G=10),在犧牲一定優(yōu)化性能的基礎(chǔ)上有效減低了計(jì)算量,以實(shí)現(xiàn)算法的在線運(yùn)行。從試驗(yàn)結(jié)果可以看出,基于MSFIGA 在線優(yōu)化的航向控制器能夠?qū)崿F(xiàn)對(duì)航向軌跡的快速響應(yīng)和跟蹤,與經(jīng)驗(yàn)PID 和IGA-PID 方法相比,具有更少的調(diào)整時(shí)間和響應(yīng)速度。
圖5 風(fēng)浪干擾情況下的無(wú)人艇方波響應(yīng)航向控制結(jié)果Fig.5 Results of online adaptive heading control of USV under worse sea conditions for squared wave response
從以上仿真測(cè)試結(jié)果可以看出,基于多策略融合改進(jìn)免疫遺傳算法(MSFIGA)的PID控制器,在離線情況和在線情況下均能實(shí)現(xiàn)對(duì)無(wú)人艇航向的準(zhǔn)確跟蹤,且在有風(fēng)浪干擾情況下具有比傳統(tǒng)PID 和IGA-PID 方法更快的響應(yīng)速度和更好的魯棒性能。仿真試驗(yàn)說(shuō)明本文方法具有良好的自適應(yīng)跟蹤能力,能滿(mǎn)足無(wú)人艇的航向自適應(yīng)控制要求。
針對(duì)無(wú)人艇的航行過(guò)程具有強(qiáng)非線性、易受環(huán)境動(dòng)態(tài)干擾等特點(diǎn),本文設(shè)計(jì)了一種基于多策略融合改進(jìn)免疫遺傳算法(MSFIGA)的無(wú)人艇航向自適應(yīng)控制器。在基本免疫遺傳算法的基礎(chǔ)上引入了混沌初始化、向量角相似度及差分接種等調(diào)節(jié)策略,實(shí)現(xiàn)了對(duì)PID 航向控制器的控制參數(shù)的自適應(yīng)優(yōu)化,有效提升了無(wú)人艇航向控制的準(zhǔn)確性和魯棒性。在離線、在線情況下進(jìn)行了無(wú)人艇在風(fēng)浪流干擾條件下的航向控制仿真試驗(yàn)。試驗(yàn)結(jié)果表明:在多種風(fēng)浪流干擾條件下,本文方法均能快速準(zhǔn)確地跟蹤期望航向,且控制性能明顯優(yōu)于其他兩種方法,具有較強(qiáng)的穩(wěn)定性和自適應(yīng)調(diào)整能力。雖然計(jì)算量大于傳統(tǒng)PID 算法,但是在具有常規(guī)運(yùn)算能力的計(jì)算機(jī)上能夠完成單次采樣時(shí)間內(nèi)的優(yōu)化計(jì)算,滿(mǎn)足實(shí)時(shí)性要求,具有一定的工程實(shí)用價(jià)值。