褚式新,茅云生,董早鵬,楊鑫
(1.武漢理工大學(xué) 高性能船舶技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室, 湖北 武漢 430063;2.武漢理工大學(xué) 交通學(xué)院, 湖北 武漢 430063)
近年來,由于海洋資源開發(fā)的蓬勃發(fā)展,各類智能化海洋裝備都備受關(guān)注,各學(xué)者關(guān)于此類海洋裝備的研究也層出不窮[1-2],其中關(guān)于無人海洋運(yùn)載器(UMV)的研究最為廣泛[3],UMV包括無人波浪滑翔機(jī)(UWG)[4]、水下自主航行器(AUV)[5-6]、無人水下機(jī)器人(UUV)和水面無人艇(USV)等[7-8],其中USV由于其船型輕巧、智能化等特點(diǎn)廣泛應(yīng)用在軍事和商業(yè)等各個(gè)方面,各個(gè)國(guó)家非常重視USV的研究和發(fā)展[9-11]。良好的操縱性是USV智能化的基礎(chǔ),而操縱性的預(yù)報(bào)精度與操縱響應(yīng)模型參數(shù)的精度相關(guān)。隨著系統(tǒng)辨識(shí)學(xué)科的發(fā)展,系統(tǒng)辨識(shí)的方法被廣泛應(yīng)用在各種模型參數(shù)的辨識(shí)上,改變了以往通過實(shí)驗(yàn)獲取模型參數(shù)的現(xiàn)狀,節(jié)約了實(shí)驗(yàn)成本。而在船舶方面的研究,各種辨識(shí)方法層出不窮,對(duì)操縱模型參數(shù)的辨識(shí)精度也越來越高,對(duì)船舶的操縱性預(yù)報(bào)也越來越精確[12]。
眾多學(xué)者采用辨識(shí)的方法對(duì)船舶的操縱性進(jìn)行了研究:Luo等[13]、張心光等[14]研究了支持向量機(jī)(SVM)在船舶操縱模型中的辨識(shí)效果,并在船模實(shí)驗(yàn)中得到了驗(yàn)證;Zhu等[15]通過人工蜂群算法對(duì)SVM進(jìn)行優(yōu)化,辨識(shí)了大型集裝箱船的運(yùn)動(dòng)模型;Xu等[16]和謝朔等[17]將最小二乘法與SVM結(jié)合運(yùn)用,實(shí)現(xiàn)了參數(shù)的在線辨識(shí);文獻(xiàn)[18-22]介紹了卡爾曼濾波在船舶運(yùn)動(dòng)模型參數(shù)辨識(shí)方面的應(yīng)用,包括擴(kuò)展卡爾曼濾波(EKF)和無跡卡爾曼濾波(UKF)。
但是目前所使用的辨識(shí)算法在獲取USV操縱響應(yīng)模型參數(shù)方面的研究較少,且算法存在精度不高的問題,USV一般體型較小,需要較精確的操縱性預(yù)報(bào),因此需要一種精度較高的辨識(shí)算法獲取響應(yīng)模型參數(shù)。極大似然(ML)算法是系統(tǒng)辨識(shí)中一種常見的辨識(shí)算法,已經(jīng)應(yīng)用在很多領(lǐng)域內(nèi)的參數(shù)獲取上[23-26],具有簡(jiǎn)單、方便、精度高等特點(diǎn),但是目前應(yīng)用在USV運(yùn)動(dòng)模型上的研究比較少見,本文基于ML算法,結(jié)合高速USV的2階非線性運(yùn)動(dòng)模型展開研究。
隨著海洋資源開發(fā)效率的提升,對(duì)USV航速的要求越來越高,隨著航速的提升,對(duì)USV的操縱性要求越來越高。描述USV運(yùn)動(dòng)模型又分為MMG(由日本Maneuvering Modeling Group提出,簡(jiǎn)稱MMG)模型、Abkowitz模型和響應(yīng)型模型,其中MMG分離模型與Abkowitz整體模型因?yàn)榉治隽薝SV的水動(dòng)力受力,從根本上得到USV的運(yùn)動(dòng)機(jī)理,使USV的運(yùn)動(dòng)得到精確的預(yù)報(bào)。但是由于模型中含有眾多水動(dòng)力導(dǎo)數(shù),求解起來比較困難,難以普遍使用。相對(duì)來說響應(yīng)型模型用簡(jiǎn)單的數(shù)學(xué)表達(dá)式反映了操縱舵角與艏向角的關(guān)系式,因此在預(yù)報(bào)USV操縱性上被廣泛使用。響應(yīng)型模型分為1階線性、1階非線性、2階線性和2階非線性模型。由于2階線性模型受小擾動(dòng)限制,當(dāng)USV運(yùn)動(dòng)幅度較大時(shí),線性響應(yīng)模型已經(jīng)不再適用,其運(yùn)動(dòng)模型中的非線性項(xiàng)值不能忽略,在高速USV操縱響應(yīng)模型中必須要加上非線性項(xiàng),才能滿足其操縱響應(yīng)變化,由文獻(xiàn)[27]得高速USV 2階非線性操縱響應(yīng)方程為
(1)
式中:T1、T2、T3為時(shí)間常數(shù)(s),表示應(yīng)舵性和航向穩(wěn)定性;r為艏向角速度;α為非線性項(xiàng)系數(shù)(s2/rad2);K為舵角增益(s-1);δ為舵角;δr表示壓舵角(rad)。
ML算法是Fisher等在1912年提出的一種辨識(shí)算法。它根據(jù)觀測(cè)輸出量的條件概率分布構(gòu)造以觀測(cè)數(shù)據(jù)和未知參數(shù)為自變量的似然函數(shù),當(dāng)似然函數(shù)取最大值時(shí),自變量的值即為模型參數(shù)的辨識(shí)值。ML算法是系統(tǒng)辨識(shí)中一種比較常用的辨識(shí)方法,具有簡(jiǎn)單和高精度等優(yōu)點(diǎn)。對(duì)于一個(gè)形如(2)式的模型:
Yt=Htθ,
(2)
式中:Yt為輸出量矩陣,包含從開始到t時(shí)刻的所有輸出量;Ht為輸入量矩陣,包含從開始到t時(shí)刻的所有輸入量;θ為參數(shù)矩陣。定義似然函數(shù)為
L(Yt|θ)=f(y1|θ)f(y2|θ)…f(yt|θ),
(3)
式中:f(yt|θ)表示t時(shí)刻的觀測(cè)值概率分布密度。似然函數(shù)就是從1到t時(shí)刻的所有觀測(cè)值概率分布密度的乘積。
為了方便求出似然函數(shù)的極大值,將其變換為
(4)
對(duì)參數(shù)θ求導(dǎo),得
(5)
可推得參數(shù)θ的ML估計(jì)為
(6)
由此即可得到基于ML算法對(duì)形如(2)式模型的參數(shù)辨識(shí)結(jié)果。
Z形實(shí)驗(yàn)是一種常見的USV操縱運(yùn)動(dòng),目前基于船舶操縱性的研究大部分以此展開。本文基于數(shù)學(xué)分析軟件MATLAB開展Z形半物理仿真操縱實(shí)驗(yàn),以獲取辨識(shí)所需實(shí)驗(yàn)數(shù)據(jù)。選取文獻(xiàn)[28]中參數(shù),如表1中所示。
表1 USV 2階非線性操縱響應(yīng)模型參數(shù)
基于上述響應(yīng)模型參數(shù),應(yīng)用工程上常用的4階龍格- 庫(kù)塔法進(jìn)行計(jì)算,以MATLAB 2018a軟件為仿真計(jì)算平臺(tái),進(jìn)行了20° Z形仿真操縱實(shí)驗(yàn)。為擬合真實(shí)實(shí)驗(yàn),仿真采樣時(shí)間間隔取1 s,采樣時(shí)間為500 s,各項(xiàng)數(shù)據(jù)如圖1所示,圖中ψ為艏向角。
圖1 20° Z形實(shí)驗(yàn)仿真數(shù)據(jù)
為了滿足基于ML算法辨識(shí)需求,需要構(gòu)造形如(2)式的辨識(shí)模型,因此需要將待辨識(shí)模型(1)式轉(zhuǎn)化為(2)式。由于(1)式為連續(xù)模型,需要使用差分法對(duì)其進(jìn)行離散處理,考慮到實(shí)際實(shí)驗(yàn)中艏向角比其他參數(shù)容易測(cè)量獲取,將(1)式中各物理量使用前向差分法差分到艏向角,具體差分過程為
(7)
(8)
(9)
(10)
式中:Δt為時(shí)間間隔。
將(7)式~(10)式代入(1)式中,令y(t)=ψ(t+1)-ψ(t),得
(11)
將(11)式寫成矩陣形式,即可得到Y(jié)t=Htθ的辨識(shí)模型,矩陣的具體表達(dá)式為:
輸入矩陣
Ht=[(Δt)3δ(t) (Δt)3(Δt)2[δ(t+1)-δ(t)]
-Δt[y(t+1)-y(t)] -(Δt)2y(t) -y3(t)];
(12)
參數(shù)矩陣
(13)
輸出矩陣
Yt=[y(t+2)-2y(t+1)+y(t)].
(14)
基于圖1中的仿真數(shù)據(jù),可依次計(jì)算輸入矩陣和輸出矩陣的各值,然后根據(jù)ML算法的辨識(shí)結(jié)果(6)式可得到USV 2階非線性響應(yīng)模型的參數(shù)辨識(shí)結(jié)果。
為充分體現(xiàn)ML算法在辨識(shí)模型參數(shù)上的精確性,將ML算法與目前參數(shù)辨識(shí)中常用的EKF算法在20° Z形仿真實(shí)驗(yàn)數(shù)據(jù)的情況下展開辨識(shí),并對(duì)比其辨識(shí)結(jié)果,辨識(shí)結(jié)果如表2所示。
表2 20° Z形仿真辨識(shí)結(jié)果
由表2可以看出,ML算法在辨識(shí)高速USV操縱響應(yīng)模型參數(shù)時(shí),T1、K、α、δr參數(shù)辨識(shí)精度均較EKF算法有所提高,但T2、T3參數(shù)辨識(shí)精度誤差很大,且同時(shí)向大于原始值的方向偏移,故認(rèn)為此辨識(shí)結(jié)果產(chǎn)生了參數(shù)漂移。
參數(shù)漂移現(xiàn)象產(chǎn)生的原因是在設(shè)計(jì)辨識(shí)模型時(shí),使用了前向差分法離散角速度和舵角變化率等物理量。由圖1可知,艏向角的變化曲線很光滑,用差分法處理時(shí)誤差很小,但是舵角的變化曲線卻不光滑,使用差分法處理時(shí)誤差很大,導(dǎo)致了T2、T3的漂移。鑒于目前的操縱運(yùn)動(dòng)中只有正弦實(shí)驗(yàn)舵角變化曲線比較光滑,使用差分法處理時(shí)誤差較小,將采用正弦仿真數(shù)據(jù)開展辨識(shí)。
(15)
辨識(shí)數(shù)據(jù)的采集改用20°正弦仿真實(shí)驗(yàn),與Z形仿真實(shí)驗(yàn)相同,采樣時(shí)間間隔取1 s,采樣時(shí)間取500 s.仿真數(shù)據(jù)如圖2所示。
圖2 20°正弦實(shí)驗(yàn)仿真數(shù)據(jù)
辨識(shí)過程與Z形實(shí)驗(yàn)相同,與Z形實(shí)驗(yàn)對(duì)比結(jié)果如表3所示。
表3 20°正弦和Z形實(shí)驗(yàn)辨識(shí)結(jié)果對(duì)比
由表3可知:基于正弦仿真數(shù)據(jù)下辨識(shí),在其他參數(shù)辨識(shí)精度變化不大的情況下,T2、T3整體參數(shù)辨識(shí)精度有較大改善;改善后T2辨識(shí)結(jié)果小于真實(shí)值,T3辨識(shí)結(jié)果大于真實(shí)值,說明了此方法對(duì)改善響應(yīng)模型辨識(shí)中參數(shù)漂移的有效性。同時(shí)也通過此方法使辨識(shí)結(jié)果精度得到進(jìn)一步的提升,從而最大程度提高USV的操縱性預(yù)報(bào)精度。
為了將USV 2階非線性響應(yīng)模型參數(shù)辨識(shí)結(jié)果與具體的USV操縱運(yùn)動(dòng)預(yù)報(bào)相對(duì)應(yīng),本文基于表2的ML算法與EKF算法的辨識(shí)結(jié)果開展了5°、10°、20°和30°正弦和Z形半物理仿真操縱實(shí)驗(yàn),以分析本文所提ML算法和EKF算法,基于Z形仿真數(shù)據(jù)下的辨識(shí)參數(shù)結(jié)果,在USV操縱性預(yù)報(bào)上的預(yù)報(bào)精度。
因?yàn)樵赨SV運(yùn)動(dòng)時(shí),容易觀測(cè)艏向角,所以只繪制了艏向角的變化曲線,為符合實(shí)際情況,均將艏向角值限制在[0 rad,2π rad]范圍內(nèi),實(shí)驗(yàn)結(jié)果如圖3所示。
圖3 操縱運(yùn)動(dòng)仿真實(shí)驗(yàn)驗(yàn)證圖
由圖3可以看出,與EKF算法辨識(shí)結(jié)果對(duì)操縱性實(shí)驗(yàn)的預(yù)報(bào)相比,基于ML算法的辨識(shí)結(jié)果顯然與真實(shí)操縱運(yùn)動(dòng)艏向角的變化更加擬合,且在不同角度與不同類型實(shí)驗(yàn)下都非常接近真實(shí)值,證明了ML算法的辨識(shí)結(jié)果精度優(yōu)于EKF算法,且算法具有很高的泛化性。圖3(e)與其他Z形實(shí)驗(yàn)艏向角變化形狀不同的原因在于EKF算法辨識(shí)的δr值較大,5°的Z形實(shí)驗(yàn)不能使舵角左右偏移,舵角一直在一邊,所以呈現(xiàn)的艏向角變化是一直增大的。
但是ML算法基于Z形數(shù)據(jù)的辨識(shí)結(jié)果在T2、T3參數(shù)處仍有較大誤差,由表3的辨識(shí)數(shù)據(jù)可知,ML算法基于正弦實(shí)驗(yàn)數(shù)據(jù)辨識(shí)能提高T2、T3參數(shù)辨識(shí)精度,消除因參數(shù)漂移所帶來的誤差。為將辨識(shí)精度反映到操縱預(yù)報(bào)上,將基于表3正弦辨識(shí)和Z形辨識(shí)結(jié)果開展操縱運(yùn)動(dòng)驗(yàn)證。由圖3可知,基于ML算法的Z形辨識(shí)結(jié)果在正弦和Z形操縱仿真實(shí)驗(yàn)中非常接近真實(shí)值,因此在這兩種操縱運(yùn)動(dòng)中,基于正弦辨識(shí)結(jié)果的預(yù)報(bào)相對(duì)于Z形辨識(shí)的提升并不明顯??紤]用回轉(zhuǎn)運(yùn)動(dòng)去驗(yàn)證基于正弦實(shí)驗(yàn)辨識(shí)對(duì)操縱性的提升,將基于兩種實(shí)驗(yàn)仿真數(shù)據(jù)辨識(shí)結(jié)果開展5°、10°、20°和30°回轉(zhuǎn)運(yùn)動(dòng),對(duì)比結(jié)果如圖4所示。
圖4 回轉(zhuǎn)仿真實(shí)驗(yàn)驗(yàn)證圖
從圖4可以看出,在ML算法對(duì)USV 2階非線性響應(yīng)模型參數(shù)辨識(shí)過程中,基于正弦仿真實(shí)驗(yàn)數(shù)據(jù)辨識(shí)的結(jié)果對(duì)回轉(zhuǎn)運(yùn)動(dòng)的預(yù)報(bào)與真實(shí)變化非常擬合,且精度明顯高于Z形實(shí)驗(yàn)的,同樣也驗(yàn)證了基于正弦實(shí)驗(yàn)數(shù)據(jù)辨識(shí)結(jié)果也具有極強(qiáng)的泛化能力。由此可以證明,基于正弦實(shí)驗(yàn)數(shù)據(jù)辨識(shí)結(jié)果消除了參數(shù)漂移現(xiàn)象,對(duì)參數(shù)T2、T3的辨識(shí)精度有很大提升,同時(shí)提高了USV的整體辨識(shí)精度。綜上所述,基于正弦實(shí)驗(yàn)數(shù)據(jù)辨識(shí)能有效消除基于Z形實(shí)驗(yàn)數(shù)據(jù)辨識(shí)中的參數(shù)漂移現(xiàn)象,提高了USV的模型參數(shù)整體辨識(shí)精度,從而提高USV在各種復(fù)雜操縱運(yùn)動(dòng)中的預(yù)報(bào)精確度。
針對(duì)高速USV操縱性預(yù)報(bào)困難與精度不高等問題,本文提出了一種用于獲取高速USV 2階非線性響應(yīng)模型參數(shù)的ML辨識(shí)方法,并基于辨識(shí)結(jié)果預(yù)報(bào)了高速USV的操縱運(yùn)動(dòng)。本文從ML算法的辨識(shí)模型設(shè)計(jì)、辨識(shí)過程、辨識(shí)結(jié)果分析、辨識(shí)結(jié)果對(duì)比4個(gè)方面展開了研究,并進(jìn)行了泛化性仿真操縱性實(shí)驗(yàn)驗(yàn)證。主要得到以下結(jié)論:
1)基于USV 2階非線性響應(yīng)模型設(shè)計(jì)了ML辨識(shí)算法模型,通過仿真采集了Z形實(shí)驗(yàn)數(shù)據(jù),以此初步辨識(shí)了模型參數(shù),并與EKF算法辨識(shí)結(jié)果進(jìn)行了對(duì)比,驗(yàn)證了ML辨識(shí)算法是一種精度極高的算法。
2)通過研究發(fā)現(xiàn),ML算法在辨識(shí)USV 2階非線性響應(yīng)模型參數(shù)時(shí),由于使用前向差分法處理舵角變化率會(huì)導(dǎo)致T2、T3參數(shù)在辨識(shí)過程中的漂移現(xiàn)象,提出采用舵角光順變化的正弦實(shí)驗(yàn)進(jìn)行辨識(shí),且辨識(shí)結(jié)果能有效地消除參數(shù)漂移現(xiàn)象。
3)為驗(yàn)證辨識(shí)精度對(duì)于操縱性預(yù)報(bào)的影響,進(jìn)行了5°、10°、20°及30° Z形、正弦和回轉(zhuǎn)操縱運(yùn)動(dòng)仿真實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明:ML算法具有很強(qiáng)的泛化性,無論操縱運(yùn)動(dòng)種類和角度的變化,其辨識(shí)結(jié)果都能有效地預(yù)報(bào)USV的操縱性。