褚式新 茅云生 董早鵬 楊 鑫 黃 鋮
(武漢理工大學(xué)交通學(xué)院1) 武漢 430063) (武昌船舶重工集團(tuán)有限公司2) 武漢 430060)
針對(duì)無(wú)人艇(unmanned surface vessel,USV)的應(yīng)用和研究日益深入,USV也更加智能化,其中對(duì)USV的操縱性精確預(yù)報(bào)是提高USV智能化必要的步驟,而對(duì)USV操縱性的預(yù)報(bào)的精確性取決于獲取預(yù)報(bào)模型的參數(shù)的準(zhǔn)確性.
目前通過(guò)系統(tǒng)辨識(shí)獲取模型參數(shù)的方法已廣泛被學(xué)者們認(rèn)可,而卡爾曼濾波算法是辨識(shí)中一種常用算法,且在模型參數(shù)獲取上已取得了眾多成果.霍聰?shù)萚1]利用設(shè)計(jì)拓展Kalman濾波的相關(guān)算法辨識(shí)了船舶自由橫搖模型的參數(shù),辨識(shí)結(jié)果和仿真實(shí)驗(yàn)結(jié)果有很好的匹配性;童余德等[2]在Matlab平臺(tái)上設(shè)計(jì)了卡爾曼濾波的辨識(shí)算法,并與最小二乘法進(jìn)行對(duì)比,證實(shí)了通過(guò)卡爾曼濾波算法辨識(shí)結(jié)果的優(yōu)越性;謝朔等[3]進(jìn)一步發(fā)展卡爾曼濾波算法,提出采用多新息并引入遺忘因子的卡爾曼濾波算法辨識(shí)了船舶操縱響應(yīng)模型,并用實(shí)驗(yàn)證實(shí)了算法的優(yōu)越性;Julier等[4]進(jìn)一步發(fā)展卡爾曼濾波算法,提出采用無(wú)跡變換的方式消除EKF(extended kalman filter,EKF)算法線性化帶來(lái)的誤差,提出采用無(wú)跡卡爾曼濾波(unscented Kalman filter,UKF)算法改進(jìn)常用的EKF算法用于參數(shù)辨識(shí);文獻(xiàn)[5-6]進(jìn)一步應(yīng)用UKF算法,實(shí)現(xiàn)了線性模型和非線性模型的參數(shù)識(shí)別,并證明了UKF算法在辨識(shí)中的泛化性;文獻(xiàn)[7]綜合對(duì)比了EKF算法和UKF算法在辨識(shí)同一模型中的差異,并在仿真實(shí)驗(yàn)中證明,UKF算法無(wú)論在辨識(shí)過(guò)程中的收斂性和辨識(shí)結(jié)果的精確性上來(lái)說(shuō),都優(yōu)于EKF算法.但是目前在USV操縱模型的辨識(shí)上,研究UKF算法的文獻(xiàn)并不多,隨著對(duì)USV操縱性越來(lái)越精確的要求,利用EKF算法辨識(shí)獲取的參數(shù)將不再滿足精度需求,應(yīng)用UKF算法辨識(shí)USV操縱模型參數(shù)將有利于提升USV操縱性預(yù)報(bào)的精度.
USV在水面航行時(shí),為反映USV的操縱響應(yīng)過(guò)程,對(duì)USV運(yùn)動(dòng)進(jìn)行建模,通過(guò)簡(jiǎn)化水動(dòng)力導(dǎo)數(shù),將操縱響應(yīng)模型簡(jiǎn)化為[8-9]
(1)
式中:r為角速度;δ為舵角;T1,T2,T3為時(shí)間常數(shù),表示應(yīng)舵性和航向穩(wěn)定性;K為舵角增益;δr為壓舵角.由于在推導(dǎo)式(1)過(guò)程中某些高階非線性項(xiàng)在低速小擾動(dòng)條件下被舍去了,但是隨著USV快速性的提升,非線性項(xiàng)值逐漸增大,為保證操縱響應(yīng)模型的適用性,式(1)必須加上非線性項(xiàng),以滿足USV在各種情況下的操縱響應(yīng)預(yù)報(bào),綜上,USV操縱響應(yīng)模型為
(2)
式中:α為非線性項(xiàng)系數(shù).
UKF算法是卡爾曼濾波算法的另一種拓展算法,它是通過(guò)估算每時(shí)刻狀態(tài)矩陣的方式進(jìn)行參數(shù)辨識(shí),通過(guò)給定一個(gè)初始狀態(tài)量,然后將均值和協(xié)方差進(jìn)行無(wú)跡變換,得到下一時(shí)刻狀態(tài)量,當(dāng)狀態(tài)矩陣中參數(shù)量穩(wěn)定時(shí),即為參數(shù)的辨識(shí)值.UKF算法的步驟可以通過(guò)下式描述:
1) 設(shè)定初始狀態(tài)
(3)
(4)
2) 計(jì)算樣本點(diǎn)
(5)
3) 時(shí)間狀態(tài)更新
(6)
(7)
(8)
(9)
(10)
4) 測(cè)量狀態(tài)更新
(11)
(12)
K=PxyPyy-1
(13)
(14)
(15)
(16)
(17)
(i=1,2,…,2L)
(18)
在Matlab平臺(tái)上開(kāi)展20°Z形操縱運(yùn)動(dòng)仿真實(shí)驗(yàn),采用文獻(xiàn)[10]中的USV模型參數(shù)數(shù)據(jù),見(jiàn)表1.
表1 USV二階非線性響應(yīng)模型參數(shù)
基于工程上常用的四階龍格-庫(kù)塔(Runge-Kutta)法進(jìn)行數(shù)值仿真,并將仿真結(jié)果繪制見(jiàn)圖1.
ψ-向角;δ-舵角;γ-角速度圖1 20°Z形操縱實(shí)驗(yàn)仿真數(shù)據(jù)
為滿足辨識(shí)需求,需要將模型離散化,使用前向差分法處理式(2),處理過(guò)程為
(19)
(20)
(21)
(22)
式中:下標(biāo)t為時(shí)刻;Δt為時(shí)間間隔,設(shè)yt=ψt+1-ψt.將式(19)~(21)代入式(2)中,得到
(23)
進(jìn)一步可以表示為
Zt=Htθ
(24)
式中:Zt為輸出矩陣;Ht為輸入矩陣;θ為參數(shù)矩陣,具體表達(dá)式為
Zt=[yt+2-2yt+1+yt]
(25)
(26)
(27)
狀態(tài)矩陣由輸出量與待辨識(shí)參數(shù)組成,設(shè)
(28)
式中:x1為輸入值;x2-x7為參數(shù)矩陣中的6個(gè)參數(shù).
初始值設(shè)定為
(29)
(30)
設(shè)狀態(tài)轉(zhuǎn)移矩陣為
Ft=
(31)
觀測(cè)矩陣為
(32)
噪聲調(diào)整矩陣為
(33)
噪聲R,Q設(shè)定為數(shù)值較小的正態(tài)分布隨機(jī)數(shù)矩陣.
[1]The American people will have to pay higher prices for the same consumer goods.In a sense,their earnings will be hollowed out.If a trade war breaks out,the United States will hemorrhage jobs.(2018.4.9)
各參數(shù)辨識(shí)結(jié)果隨UKF算法迭代次數(shù)的變化見(jiàn)圖2.
圖2 x2~x7辨識(shí)值
由圖2可知,UKF是一種有效的辨識(shí)算法,在辨識(shí)過(guò)程中,各個(gè)參數(shù)均在迭代50次之后收斂,且收斂效果很好.辨識(shí)結(jié)果數(shù)據(jù)見(jiàn)表2.
表2 各參數(shù)在UKF算法下的收斂值
通過(guò)參數(shù)矩陣中系數(shù)的變換公式可得UKF最后的辨識(shí)結(jié)果見(jiàn)表3.
表3 USV二階非線性響應(yīng)模型參數(shù)辨識(shí)值
由表3可知,基于UKF算法辨識(shí)USV二階非線性響應(yīng)模型參數(shù)結(jié)果均比較接近原始值,辨識(shí)誤差較小,證明UKF算法具有一定的泛化性,能有效的辨識(shí)該模型參數(shù),且具有一定精度.
UKF算法在辨識(shí)USV二階非線性操縱響應(yīng)模型參數(shù)時(shí)擁有較高精度,辨識(shí)結(jié)果能有效的預(yù)報(bào)USV操縱性.因USV在海上航行時(shí)面臨復(fù)雜的環(huán)境,有時(shí)需要做復(fù)雜的操縱運(yùn)動(dòng),因此,為更好的驗(yàn)證上述結(jié)論,在Matlab平臺(tái)上開(kāi)展10°,20°,30°正弦和Z形兩種操縱仿真實(shí)驗(yàn),比較基于辨識(shí)結(jié)果與原始值之間操縱實(shí)驗(yàn)中艏向角的差異,以驗(yàn)證UKF算法在預(yù)報(bào)USV各種操縱運(yùn)動(dòng)中的艏向角變化,見(jiàn)圖3.
圖3 實(shí)驗(yàn)艏向角對(duì)比圖
UKF是一種泛化能力較強(qiáng)的算法,能應(yīng)用于各種模型的參數(shù)辨識(shí)中,在辨識(shí)USV二階非線性操縱響應(yīng)模型參數(shù)時(shí),其辨識(shí)結(jié)果與真實(shí)值較為接近,在預(yù)報(bào)USV的艏向角時(shí)與原始艏向角變化較為擬合,綜上,基于UKF算法對(duì)USV二階非線性響應(yīng)模型的辨識(shí)結(jié)果較為可靠,能有效的預(yù)報(bào)USV的操縱性.
1) UKF算法是一種泛化能力較強(qiáng)的算法,針對(duì)不同模型的辨識(shí),就能取得較好結(jié)果,且在辨識(shí)過(guò)程中,迭代次數(shù)較少,收斂性好.
2) UKF是一種精度較高的算法,基于其辨識(shí)結(jié)果所開(kāi)展的操縱性中艏向角的變化與基于原始數(shù)據(jù)USV的操縱性實(shí)驗(yàn)中艏向角的變化較為擬合,能有效的預(yù)報(bào)USV的操縱性.
3) 在實(shí)驗(yàn)證明階段,發(fā)現(xiàn)提高實(shí)驗(yàn)的操縱角度也能微小的提高USV的預(yù)報(bào)精度;即在UKF辨識(shí)結(jié)果基礎(chǔ)上,提高操縱實(shí)驗(yàn)最大角度能使艏向角變化能更切合實(shí)際操縱艏向角的變化.