蔣 帆 徐海祥 余文瞾 李文娟
(武漢理工大學(xué)交通學(xué)院1) 武漢 430063) (武漢理工大學(xué)高性能船舶技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室2) 武漢 430063) (江蘇科技大學(xué)海洋裝備研究院3) 鎮(zhèn)江 212003)
對(duì)于動(dòng)力定位船舶而言,船舶操縱運(yùn)動(dòng)數(shù)學(xué)模型的確定,不僅是研究船舶操縱性的基礎(chǔ),更是狀態(tài)估計(jì)和動(dòng)力定位控制模塊的關(guān)鍵,而確定船舶操縱運(yùn)動(dòng)數(shù)學(xué)模型的主要任務(wù)在于確定數(shù)學(xué)模型中相應(yīng)的水動(dòng)力參數(shù).傳統(tǒng)求取水動(dòng)力參數(shù)的方法主要有約束模試驗(yàn)法和半理論半經(jīng)驗(yàn)估算法,前者測(cè)定結(jié)果最為精確但成本高,耗時(shí)長(zhǎng),且存在尺度效應(yīng)[1];后者則需要大量的歷史累積數(shù)據(jù),特別當(dāng)設(shè)計(jì)船舶不在現(xiàn)有數(shù)據(jù)所限定的船型內(nèi),其求取精度將大大降低.系統(tǒng)辨識(shí)理論和試驗(yàn)測(cè)量技術(shù)的不斷發(fā)展為確定船舶水動(dòng)力參數(shù)提供了新的方法.
在船舶水動(dòng)力參數(shù)辨識(shí)研究方面,Abkowitz[2]首次提出了基于擴(kuò)展卡爾曼濾波(EKF)辨識(shí)方法,結(jié)合實(shí)船試驗(yàn)數(shù)據(jù)分析得到了較滿意的辨識(shí)結(jié)果,但是由于EKF的辨識(shí)精度對(duì)誤差協(xié)方差的初始估計(jì)值以及量測(cè)噪聲矩陣和過(guò)程噪聲矩陣的值比較敏感,使得辨識(shí)結(jié)果容易發(fā)散.邊信黔等[3]結(jié)合實(shí)船試驗(yàn)數(shù)據(jù)并采用離線最速下降尋優(yōu)法,在節(jié)約時(shí)間的同時(shí)能較精確地辨識(shí)出相關(guān)水動(dòng)力參數(shù),但是該種方法受隨機(jī)干擾的影響較大.劉建成等[4]使用極大似然法對(duì)水下機(jī)器人水動(dòng)力系數(shù)進(jìn)行辨識(shí),得到的辨識(shí)結(jié)果通過(guò)仿真運(yùn)動(dòng)驗(yàn)證了其可靠性,但是該方法只適用于存在正態(tài)噪聲的模型參數(shù)辨識(shí).羅偉林等[5]通過(guò)對(duì)試驗(yàn)數(shù)據(jù)的分析,采用最小二乘支持向量機(jī)的方法確定船舶數(shù)學(xué)模型中的水動(dòng)力參數(shù)及其干擾力系數(shù),并驗(yàn)證了該方法的有效性,但是其對(duì)于船首向參數(shù)的辨識(shí)結(jié)果仍存在較大的誤差.謝朔等[6]將最小二乘支持向量機(jī)與多新息方法相結(jié)合,提出一種新的多新息在線LS-SVM辨識(shí)方法,并結(jié)合Z形試驗(yàn)數(shù)據(jù)對(duì)模型參數(shù)進(jìn)行辨識(shí),結(jié)果驗(yàn)證了其有效性,但是單一標(biāo)準(zhǔn)Z形試驗(yàn)數(shù)據(jù)所辨識(shí)的參數(shù)卻不能完全滿足該算法的驗(yàn)證要求.
近年來(lái),隨著人工智能技術(shù)的發(fā)展,系統(tǒng)辨識(shí)涌現(xiàn)出如人工神經(jīng)網(wǎng)絡(luò)[7]、粒子群算法、蝙蝠算法等智能化的辨識(shí)方法.田延飛等[8]基于實(shí)船試驗(yàn)數(shù)據(jù),采用了新型蝙蝠算法辨識(shí)實(shí)船一階線性響應(yīng)模型參數(shù),辨識(shí)結(jié)果驗(yàn)證其算法的有效性,但是所采用的一階線性響應(yīng)模型所需要辨識(shí)的參數(shù)較少,并且算法本身缺乏變異機(jī)制,容易陷入局部最優(yōu).Luo等[9]將支持向量機(jī)與粒子群算法相結(jié)合,提出了PSO-SVM算法,并通過(guò)實(shí)船試驗(yàn)數(shù)據(jù)進(jìn)行參數(shù)辨識(shí)驗(yàn)證了其有效性,但該種方法需要對(duì)數(shù)據(jù)樣本進(jìn)行重構(gòu),容易導(dǎo)致數(shù)據(jù)信息丟失.遺傳算法(GA)作為一種現(xiàn)代智能辨識(shí)方法,它相較于神經(jīng)網(wǎng)絡(luò)法而言,不需要大量的歷史數(shù)據(jù)進(jìn)行相關(guān)學(xué)習(xí),當(dāng)辨識(shí)對(duì)象的動(dòng)態(tài)特性改變時(shí),也具有良好的魯棒性和全局尋優(yōu)能力.袁偉杰等[10]提出了一種基于遺傳算法的AUV水動(dòng)力參數(shù)辨識(shí)方法,對(duì)AUV樣機(jī)的水平面運(yùn)動(dòng)水動(dòng)力參數(shù)進(jìn)行辨識(shí),得到的辨識(shí)結(jié)果與實(shí)際值相比,辨識(shí)誤差在允許范圍之內(nèi),但該方法采用的固定遺傳參數(shù)難以保證種群的多樣性及最終結(jié)果的收斂性.邢家偉[11]對(duì)傳統(tǒng)的遺傳算法進(jìn)行了改進(jìn),將自適應(yīng)遺傳算法與最小二乘法相結(jié)合,通過(guò)仿真辨識(shí)出相關(guān)水動(dòng)力參數(shù),但并未考慮種群父代與子代之間的信息交互,忽略了遺傳算法優(yōu)化過(guò)程中的動(dòng)態(tài)特性.
針對(duì)船舶水動(dòng)力參數(shù)辨識(shí)存在的問(wèn)題,文中采用MMG模型對(duì)被辨識(shí)的動(dòng)力定位模型船舶進(jìn)行建模,在文獻(xiàn)[10-11]的基礎(chǔ)上,改進(jìn)了自適應(yīng)遺傳算子,引入了重組替代策略,設(shè)計(jì)了自適應(yīng)重組遺傳算法對(duì)參數(shù)向量進(jìn)行估計(jì),得到參數(shù)最優(yōu)解,并通過(guò)仿真試驗(yàn)驗(yàn)證了本文所推薦方法的有效性.
建立圖1所示的固定坐標(biāo)系Oo-xoyozo和運(yùn)動(dòng)坐標(biāo)系O-xyz.其中:u,v,r分別為船舶沿x,y運(yùn)動(dòng)的速度和繞z軸轉(zhuǎn)動(dòng)的角速度;φ為船舶首向角;G為船舶重心.
圖1 固定坐標(biāo)系和運(yùn)動(dòng)坐標(biāo)系
對(duì)于動(dòng)力定位這樣的低速運(yùn)動(dòng)模型,MMG操縱運(yùn)動(dòng)方程可以寫(xiě)成[12]
(1)
式(1)可以寫(xiě)成如下矩陣形式:
(2)
式中:M為質(zhì)量矩陣;D為阻尼矩陣;v為速度矩陣,v=[uvr]T;τ為合外力矩陣,τ=[τxτyτn]T.相關(guān)矩陣形式如下:
傳統(tǒng)遺傳算法從問(wèn)題可能潛在解集的一個(gè)種群開(kāi)始,而種群則由經(jīng)過(guò)編碼的一定規(guī)模的個(gè)體組成.每個(gè)個(gè)體實(shí)際上是帶有特征的染色體實(shí)體.在初代種群產(chǎn)生后,根據(jù)種群中每個(gè)個(gè)體適應(yīng)度大小選擇個(gè)體,將交叉算子、變異算子作用于相關(guān)個(gè)體,產(chǎn)生出代表新的解集的種群,由此逐代演化,最終得到實(shí)際問(wèn)題的最優(yōu)解.
適應(yīng)度值是評(píng)價(jià)種群中每個(gè)個(gè)體優(yōu)劣的唯一指標(biāo).適應(yīng)度函數(shù)通常通過(guò)目標(biāo)函數(shù)轉(zhuǎn)化得到,本文中,模型船舶實(shí)際運(yùn)動(dòng)速度為v(t),而通過(guò)辨識(shí)確定的θ參數(shù)矩陣也可以求出相對(duì)應(yīng)的速度v_iden(t),根據(jù)系統(tǒng)辨識(shí)理論中殘差平方和最小的要求,可以將目標(biāo)函數(shù)定為
(3)
則適應(yīng)度函數(shù)可定義為
(4)
式中:ζ為一ζ較小的正實(shí)數(shù),本文中ζ=0.01,主要是為了防止當(dāng)目標(biāo)函數(shù)趨于0時(shí)發(fā)生計(jì)算溢出現(xiàn)象.
GA中的算子主要包括交叉算子和變異算子.傳統(tǒng)遺傳算法中,交叉概率Pc和變異概率Pm是固定的,要為某個(gè)特定的辨識(shí)問(wèn)題設(shè)置好Pc和Pm,其算法需要經(jīng)過(guò)反復(fù)地調(diào)試且難以豐富種群中優(yōu)良解的多樣性.
為此,文獻(xiàn)[11]改進(jìn)了Srinvas等[13]提出的自適應(yīng)遺傳算法,將Pc和Pm隨著個(gè)體的適應(yīng)度在種群平均適應(yīng)度和最大適應(yīng)度之間進(jìn)行線性調(diào)整,為
(5)
(6)
式中:Pc1和Pc2為交叉概率取值的上限與下限值;f′為參與交叉的兩個(gè)個(gè)體中較大的適應(yīng)度;favg為種群的平均適應(yīng)度;Pm1和Pm2為變異概率取值的上限與下限;f為變異個(gè)體的適應(yīng)度.
自適應(yīng)交叉算子和變異算子的設(shè)定,對(duì)遠(yuǎn)離最優(yōu)值的個(gè)體采用較大的Pc和Pm,以提高算法的計(jì)算速度;對(duì)接近最優(yōu)值的個(gè)體采用較小的Pc和Pm,以保證收斂于全局最優(yōu)解[14].因此,Pc和Pm的選取就不能簡(jiǎn)單地隨著適應(yīng)度線性變化.本文采用一種分階段的正弦自適應(yīng)Pc/Pm計(jì)算方法,該種方法減小了處于平均適應(yīng)度附近和最大適應(yīng)度附近的Pc/Pm,這有利于保留種群中的優(yōu)良個(gè)體.且正弦自適應(yīng)Pc/Pm計(jì)算方法與分階段Pc/Pm相結(jié)合避免了Pc/Pm的驟升與驟降,提高了算法進(jìn)化過(guò)程的穩(wěn)定性,減少了收斂代數(shù).
設(shè)最大遺傳代數(shù)為maxgen,將進(jìn)化過(guò)程劃分為如下三個(gè)階段:第一階段為[0,0.382maxgen],Pc1為0.9,Pc2為0.7;第二階段為[0.382maxgen,0.618maxgen],pc1為0.7,Pc2為0.5;第三階段為[0.618maxgen,maxgen],Pc1為0.5,Pc2為0.3.交叉概率和變異概率的計(jì)算式為
(7)
(8)
傳統(tǒng)遺傳算法在經(jīng)歷選擇、交叉、變異操作后,由子代種群直接替代父代種群(完全替代重組),或者是設(shè)置每代保留的優(yōu)異個(gè)體數(shù)(穩(wěn)態(tài)替代重組)從而形成新的種群.無(wú)論是完全替代重組還是穩(wěn)態(tài)替代重組都是人為決定每代所被替代的個(gè)體數(shù)量,忽略了進(jìn)化過(guò)程的動(dòng)態(tài)性.一方面,高的計(jì)算效率需要將當(dāng)前代適應(yīng)度較高的個(gè)體保留下來(lái)直接進(jìn)入下一代來(lái)實(shí)現(xiàn).另一方面,由于種群規(guī)模不變,適應(yīng)度較低的個(gè)體則會(huì)相應(yīng)降低保留的概率,由于適應(yīng)度較低的個(gè)體攜帶獨(dú)有的信息含量,這就直接降低了算法探索新的解區(qū)域的能力,容易導(dǎo)致早熟收斂.一個(gè)合適的重組替代策略要求能夠找到算法的收斂速度和解的質(zhì)量之間的平衡[15].
(9)
式中:k,b為系數(shù),k>0;n為靈敏度系數(shù),n≥1.
為驗(yàn)證自適應(yīng)重組遺傳算法的有效性,對(duì)一艘縮尺比1∶20的動(dòng)力定位平臺(tái)供應(yīng)船模進(jìn)行了參數(shù)辨識(shí)仿真試驗(yàn),并與文獻(xiàn)[10-11]方法進(jìn)行了對(duì)比.為敘述方便,約定文獻(xiàn)[10]方法為方法I、文獻(xiàn)[11]方法為方法II、自適應(yīng)重組遺傳算法為方法III.船模相關(guān)參數(shù)見(jiàn)表1.
表1 船模相關(guān)參數(shù)值
圖2為三種方法適應(yīng)度函數(shù)值的進(jìn)化過(guò)程.根據(jù)2.1可知,適應(yīng)度函數(shù)值表征解的質(zhì)量,函數(shù)值越大,解的質(zhì)量越高,反之亦然.由圖3可知,方法I的結(jié)果在迭代達(dá)到最大迭代次數(shù)時(shí)并未收斂,方法II的結(jié)果在迭代13次時(shí)收斂,并且適應(yīng)度函數(shù)最終值保持在94.3496.方法III則在迭代15次時(shí)收斂,并且適應(yīng)度函數(shù)最終值保持在98.8253.
圖2 適應(yīng)度函數(shù)值的進(jìn)化過(guò)程
對(duì)比方案1、方法II的結(jié)果,由于方法II相較于方法I只是設(shè)置了隨著適應(yīng)度線性變化的交叉概率和變異概率,但是方法II無(wú)論從結(jié)果的收斂性還是結(jié)果的準(zhǔn)確性都要明顯優(yōu)于方法I,從中可以得出以下結(jié)論,在利用遺傳算法進(jìn)行船舶水動(dòng)力參數(shù)辨識(shí)時(shí),交叉算子和變異算子的設(shè)置對(duì)辨識(shí)的最終結(jié)果將會(huì)產(chǎn)生很大影響,一旦設(shè)置不合適可能導(dǎo)致算法最終無(wú)法收斂.
對(duì)比方法II、方法III的結(jié)果可以看出,方法III在收斂速度方面與方法II相差無(wú)幾,但是方法III結(jié)果的準(zhǔn)確性卻要優(yōu)于方法II,且算法的收斂過(guò)程更加穩(wěn)定.
表2為方法II和方法III對(duì)MMG模型進(jìn)行辨識(shí)得到的相應(yīng)水動(dòng)力參數(shù)結(jié)果的比較.由于方法I的辨識(shí)結(jié)果在迭代達(dá)到最大迭代次數(shù)時(shí)仍然未收斂,故不在此處列出.由表2可知,與真值相比,方法II辨識(shí)所得的水動(dòng)力參數(shù)的最大相對(duì)誤差為-10.133 6%,最小相對(duì)誤差為0.034 3%.方法III辨識(shí)所得的水動(dòng)力參數(shù)的最大相對(duì)誤差為8.063 5%,最小相對(duì)誤差為-0.032 4%.由此可見(jiàn),只要試驗(yàn)數(shù)據(jù)含有足夠的信息量,方法II和方法III都可以辨識(shí)出相關(guān)水動(dòng)力導(dǎo)數(shù).
對(duì)比方法II和方法III辨識(shí)結(jié)果的相對(duì)誤差可以得到,除了 和 外,方法III辨識(shí)結(jié)果相對(duì)誤差都小于方法II,結(jié)合適應(yīng)度曲線的對(duì)比結(jié)果可以得到如下結(jié)論:引入多階段的正弦自適應(yīng)遺傳算子計(jì)算方法及自適應(yīng)重組替代策略后的遺傳算法在保證算法收斂速度的前提下,可以有效地提高解的質(zhì)量.
設(shè)計(jì)了一種自適應(yīng)重組替代的遺傳算法,以MMG模型為基礎(chǔ),對(duì)動(dòng)力定位模型船舶水動(dòng)力參數(shù)進(jìn)行辨識(shí),并將結(jié)果與文獻(xiàn)[10-11]的辨識(shí)結(jié)果相比較,結(jié)果表明本文推薦的算法在保證算法收斂速度的前提下,提高了辨識(shí)精度.
本文沒(méi)有對(duì)重組遺傳因子相關(guān)系數(shù)的確定作進(jìn)一步的深入研究,后續(xù)可以考慮改變相關(guān)系數(shù)或者重新定義重組替代遺傳因子的表達(dá)式對(duì)辨識(shí)結(jié)果的影響.