一種基于粒子濾波的船舶參數(shù)辨識方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于船舶參數(shù)辨識領(lǐng)域,具體的說是一種能夠用于船舶時域狀態(tài)空間模型 中未知參數(shù)的估計的基于粒子濾波的船舶參數(shù)辨識方法。
【背景技術(shù)】
[0002] 在航行過程中船舶的姿態(tài)控制是一個復(fù)雜的問題。船舶有6個自由度,船舶的運 動方程存在高度的非線性,水動力系數(shù)之間相互耦合;同時,船舶在航行過程中受到不確定 的洋流、海浪、風(fēng)等的干擾,執(zhí)行機構(gòu)存在滯后性,這樣就對船舶的控制造成了很大困難。為 了對船舶進行準確的控制,一般需要建立準確的船舶模型,進一步需要對包括水動力系數(shù) 在內(nèi)的船舶參數(shù)進行辨識,減小控制的不確定性。船舶參數(shù)可以通過實測或理論估計得到, 前者往往要借助于特殊的儀器,成本較高,而且時間消耗較大,獲取麻煩;后者采用經(jīng)驗或 切片法等理論,往往不夠準確。通過辨識方法確定船舶參數(shù)綜合了二者的優(yōu)點,有較高的研 究價值。參數(shù)辨識還可以用于解決其它領(lǐng)域的一些測試方法中要求的物理量難以直接獲取 的情況。
[0003] 粒子濾波采用蒙特卡羅方法進行隨機采樣,粒子濾波基本思想是利用一個隨機樣 本,而不是狀態(tài)空間方程中的函數(shù)來近似指定的概率密度函數(shù)。粒子濾波的計算精度較高, 而且能夠用于高度非線性、噪聲非高斯分布的系統(tǒng)。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的在于針對船舶非線性狀態(tài)空間模型的參數(shù)辨識問題,提供一種適合 在線運行的參數(shù)辨識方法。
[0005] 本發(fā)明的目的是這樣實現(xiàn)的:
[0006] 基于粒子濾波的船舶參數(shù)辨識方法,包括以下幾個步驟:
[0007] (1)采集船舶的位移和姿態(tài)角信息作為輸出觀測量η,通過推進器、舵等機構(gòu)對 船舶施加的可測量的力及力矩控制輸入,根據(jù)控制輸入τ,輸出觀測量建立船舶模型,得到 船舶模型中待辨識的參數(shù)Θ ;
[0008] 船舶6自由度模型為:
[0009] Μξ + C(C)C + D(C)c + g〇7) = r,
[0010] = .J、η、ξ
[0011] 其中,M = MRB+MA為慣性矩陣,Mrb是船體的剛體質(zhì)量矩陣,Ma是附加質(zhì)量矩陣, C( ξ ) = CRB( ξ )+CA( ξ )為由地球自轉(zhuǎn)引起的科氏力和向心力矩陣,CRB( ξ )是剛體科氏力 和向心力矩陣,Ca(I)是附加質(zhì)量科氏力和向心力矩陣,D(I)為流體阻尼矩陣,g( η)為 重力及浮力同時作用引起的恢復(fù)力及力矩,τ為控制輸入,觀測變量η表示船體在地坐 標系中的位置與姿態(tài)角度信息,用體坐標系坐標原點在地坐標系中的坐標(x,y,z)表示船 體在地坐標系中的位置,同時用地坐標系與體坐標系之間的歐拉角(Φ,θ, φ)表示船體 的姿態(tài),狀態(tài)變量ξ表示船體的體坐標系線速度和角速度,其中(u,v,w)表示船體的線速 度,(P,q,r)表示船體繞各軸旋轉(zhuǎn)的角速度;
[0012] w = p = q = 0,同時考慮水下船體的工作情況和對稱性,建立水下船體的平面3 自由度模型,關(guān)于xz平面對稱,則Ixy= I yz= 0 ;浮心和重心重合,
[0013] 重新定義狀態(tài)變量ξ = [u V r]T,狀態(tài)變量通過粒子濾波器估計出來,η = [X y
[0022] 采樣時間間隔為Δ,采用一階歐拉法進行離散化,得到船舶的非線性離散模型
[0023] Ik= ξ k 1+ A M 1 [ τ k j-C ( ξ k j) ξ k ( ξ k j) ξ k !-g ( n k i)],
[0024] nk= n k !+A J(nk i) Ck,
[0025] 船舶模型的輸出觀測值指每個時刻的nk;
[0026] (2)根據(jù)船舶當(dāng)前的狀態(tài)估計值,初始時刻的狀態(tài)估計值按正態(tài)分布隨機產(chǎn)生的, 輸出觀測量η,利用參數(shù)估計器,辨識船舶模型的參數(shù)估計值;
[0027] (3)根據(jù)辨識出的船舶模型的參數(shù)估計值,利用粒子濾波器,更新當(dāng)前的狀態(tài)估計 值;
[0028] (4)重復(fù)步驟(2)_步驟(3)結(jié)束條件為k = M,M為總的觀測值的數(shù)量,得到每個 采樣時刻的參數(shù)估計值。
[0029] 所述的根據(jù)船舶當(dāng)前的狀態(tài)值及輸出觀測量η,利用參數(shù)估計器,辨識船舶模型 的參數(shù)估計值的方法為:
[0030] (I. 1)令 k = 1,初始化 Θ。;
[0031] (1.2)計算^以和^相^之,.·.,),N為所用參數(shù)值0亦粒子數(shù),其中 Θ k i表示k-Ι時刻得到的參數(shù)值,Θ k表示k時刻得到的參數(shù)新值,^ /Η% I仍;
[0032] Θ k= Θ k j+ ε ,
[0033] 在時刻k,生成一組支持點財,卜1,2,.·.,,},對于每個考,計算得到I幻,進 而得到相應(yīng)的參數(shù)估計值4 =aBmaxIk (%)丨)> L (",,),, =】,2,…,Λ'};
[0034] 其中,么為k時刻得到的參數(shù)Θ k的最優(yōu)的估計值;
[0035] (1. 3)令k = k+Ι,并從第⑵步迭代計算,直至k = M+1。
[0036] 所述的根據(jù)辨識出的船舶模型前一時刻的參數(shù)估計值,利用粒子濾波器,更新當(dāng) 前的狀態(tài)估計值的方法為:
[0037] (2. 1)利用船舶的受力τ、輸出值n及待辨識參數(shù)的前一時刻的估計值,由粒子 濾波器產(chǎn)生粒子及其權(quán)重€,=1,2,.·.,),具體過程為:
[0038] (2. I. 1)初始化粒子,1~ ;
[0039] (2. 1. 2)計算粒子權(quán)重 并且歸一化
[0040] For i = I :N?
[0041] 4 ^Ρ{η,\ξ[) ^
[0042] End, Hi
[0043] /-I
[0044] (2. I. 3)重采樣
[0045] For j = 1:N,
[0046] Ρ(ξΙ=ξ?)=Α J
[0047] End
[0048] (2· I. 4)計算k+1時刻的狀態(tài)粒子
[0049] in-ι ~ I 4k ^)· s
[0050] (2. I. 5)令k = k+1,從步驟(2. I. 2)迭代計算,直至k = M+1停止計算;
[0051] (2. 2)由粒子濾波器估計出當(dāng)前時刻k的狀態(tài)估計值表: ^ N
[0052] Α=Σ<4。 ?-I
[0053] 本發(fā)明的有益效果在于:
[0054] 無需對觀測數(shù)據(jù)進行批處理,無需進行大量迭代,在每個采樣時刻都能取得一個 以極大似然概率保證的參數(shù)估計值;采用了粒子濾波算法進行參數(shù)辨識,能夠用于復(fù)雜的 非線性狀態(tài)空間模型,具有很高的濾波精度;計算簡單,執(zhí)行效率高,辨識結(jié)果準確。
【附圖說明】
[0055] 圖1是整個船舶參數(shù)辨識方法原理圖。
[0056] 圖2是ODIN作繞垂線旋轉(zhuǎn)運動時艏搖角速度r的仿真結(jié)果。
[0057] 圖3是ODIN作繞垂線旋轉(zhuǎn)運動時艏搖角Φ的仿真結(jié)果。
[0058] 圖4是ODIN作繞垂線旋轉(zhuǎn)運動時參數(shù)辨識結(jié)果。
[0059] 圖5是ODIN作繞垂線旋轉(zhuǎn)運動時粒子濾波結(jié)果。
[0060] 圖6是ODIN在水平面上作直線運動時需要施加的控制力矩τ p。
[0061] 圖7是ODIN在水平面上作直線運動時的系統(tǒng)仿真模型。
[0062] 圖8是ODIN在水平面上作直線運動時在u、V兩個方向的速度變化曲線。
[0063] 圖9是ODIN在水平面上作直線運動時位移X、y隨時間變化曲線。
[0064] 圖10是ODIN在水平面上作直線運動時位置變化曲線。
[0065] 圖11是ODIN在水平面上作直線運動時艏搖角Φ變化曲線。
[0066] 圖12是ODIN在水平面上作直線運動時參數(shù)Θ = Xu|u| = Y v|v|的辨識結(jié)果。
[0067] 圖13是ODIN在水平面上作直線運動時狀態(tài)u的濾波結(jié)果。
【具體實施方式】
[0068] 下面結(jié)合附圖對本發(fā)明做進一步描述。
[0069] 本發(fā)明提供的是一種基于粒子濾波的船舶參數(shù)辨識方法。
[0070] 首先根據(jù)機理法建立船舶的待辨識時域狀態(tài)空間模型,通過離散化得到對應(yīng)的離 散化的數(shù)學(xué)模型;
[0071] 在一定的通過推進器、舵等機構(gòu)施加的可測量的力及力矩的作用下,船舶進行特 定的航行,通過GPS定位器、陀螺儀等測量與控制輸入、狀態(tài)變量對應(yīng)的每個觀測時刻的模 型輸出結(jié)果,即船舶的位置和姿態(tài)信息;
[0072] 根據(jù)模型輸出,利用系統(tǒng)模型和噪聲統(tǒng)計信息進行粒子濾波,得到船舶離散模型 中狀態(tài)變量的估計值,即船舶自身的位置和姿態(tài)信息的估計值;
[0073] 根據(jù)模型輸出和狀態(tài)估計值,利用船舶參數(shù)估計器進行船舶參數(shù)辨識,可以得到 每個采樣時刻的船舶參數(shù)的估計值。
[0074] 基于粒子濾波用于船舶非線性狀態(tài)空間模型的參數(shù)辨識,方法可行