趙 昂
(中國(guó)空空導(dǎo)彈研究院,河南 洛陽(yáng) 471000)
關(guān)于船舶模型的辨識(shí)開始于20世紀(jì)末。FOSSEN等[1]提出采用平行離線EKF算法來(lái)辨識(shí)船舶模型中對(duì)應(yīng)的水動(dòng)力參數(shù),但是算法較為復(fù)雜。WANG等[2]提出了LS-SVM算法對(duì)船舶中的水動(dòng)力參數(shù)進(jìn)行辨識(shí),該算法僅適用于離線辨識(shí)領(lǐng)域,并且要求的數(shù)據(jù)量較多。FUJIMORI等[3]提出在連續(xù)時(shí)間系統(tǒng)辨識(shí)領(lǐng)域中采用迭代學(xué)習(xí)控制來(lái)辨識(shí)某一連續(xù)時(shí)間狀態(tài)空間模型。BERGAMASCO等[4]將基于預(yù)測(cè)器的子空間連續(xù)時(shí)間辨識(shí)算法應(yīng)用到了四旋翼飛行器的參數(shù)辨識(shí)中,并取得了較好的辨識(shí)結(jié)果。
傳統(tǒng)的船舶模型需要辨識(shí)的動(dòng)力參數(shù)較多且較為復(fù)雜,因此很多學(xué)者將研究的重點(diǎn)轉(zhuǎn)移到了對(duì)船舶黑箱模型的辨識(shí)中。MOREIRA等[5]采用遞歸神經(jīng)網(wǎng)絡(luò)模型得到了船舶輸入和輸出之間的非線性關(guān)系。MENDES等[6]將T-S模糊模型作為船舶預(yù)測(cè)模型,并將其應(yīng)用于船舶廣義預(yù)測(cè)控制中。
在過(guò)去的20年間,子空間辨識(shí)算法得到了學(xué)者們的廣泛關(guān)注。NOEL等[7]介紹了在頻域中采用子空間辨識(shí)算法得到系統(tǒng)模型。YAN等[8]提出采用遞推子空間辨識(shí)算法辨識(shí)得到AUV模型。XIA等[9]推導(dǎo)出了船舶Hammerstein模型,并且將子空間辨識(shí)算法應(yīng)用到了該模型的辨識(shí)中。
本文以動(dòng)力定位船舶為研究對(duì)象,構(gòu)建了船舶Hammerstein黑箱模型,并提出以該模型為基礎(chǔ)的子空間辨識(shí)算法,接著提出采用Givens旋轉(zhuǎn)矩陣對(duì)算法中復(fù)雜QR分解進(jìn)行簡(jiǎn)化,最終形成了適應(yīng)船舶黑箱模型辨識(shí)的在線子空間辨識(shí)算法。
根據(jù)經(jīng)典的船舶三自由度非線性模型[10],選取作用在船上的橫向、縱向作用力和轉(zhuǎn)艏力矩(τ)作為辨識(shí)輸入。最終的船舶模型結(jié)構(gòu)圖見(jiàn)圖1。圖中,υ1(k)、ω(k)和υ2(k)分別表示輸入、輸出測(cè)量誤差和過(guò)程噪聲。定義非線性反饋映射為ffd(·),于是船舶Hammestein模型便具有如下形式:
圖1 帶有非線性反饋的船舶Hammerstein模型
(1)
式中:x(k)∈R3為系統(tǒng)狀態(tài);p(k)∈R3為與推進(jìn)器有關(guān)的參數(shù);y(k)=[uvr]T∈R3為系統(tǒng)的測(cè)量輸出;A、Bin、Bf、C、Din、Df為具有適當(dāng)維數(shù)的系統(tǒng)矩陣。
測(cè)量的輸入、輸出數(shù)據(jù)可以表示為如下的結(jié)構(gòu)形式(假設(shè)模型中遇到白噪聲):
首先對(duì)Hammerstein模型進(jìn)行適當(dāng)?shù)膮?shù)化。選取截?cái)嗟腇ourier級(jí)數(shù)對(duì)系統(tǒng)的非線性部分進(jìn)行逼近。定義基函數(shù)如下:
L1=(xmin)max,L2=(xmin)max
式中:j=1,2,…,p。
非線性函數(shù)fin(·)可以展開成如下的形式:
fin(p)=W·η(p)
Wi=[Wiu1Wiu2Wiu3]∈R1×3(2N+1)
Wiuj=[ωuj0ωuj1…ωujN]∈R1×(2N+1)
η(p)=[ηT(p1)ηT(p2)ηT(p3)]T∈R3(2N+1)×1
式中:N為基函數(shù)的長(zhǎng)度。
同樣地,對(duì)非線性反饋函數(shù)ffd(y(k))可以展開成類似的形式,船舶模型轉(zhuǎn)換為
(2)
B=[BinWBfM)],D=[DinWDfM)]
ε(k)=[ηT(p(k))σT(y(k))]T代表了系統(tǒng)的輸入向量。
至此,得到帶有非線性反饋Hammerstein船舶模型。
采用Givens旋轉(zhuǎn)矩陣來(lái)提高QR分解和奇異值分解的速度。算法推導(dǎo)前做出如下假設(shè)[11]:
(1)系統(tǒng)滿足持續(xù)激勵(lì)條件。
(2)噪聲項(xiàng)d(k)、w1(k)、w2(k)不相關(guān)。
MOESP辨識(shí)算法的思想在于首先得到系統(tǒng)的廣義能觀矩陣,根據(jù)該矩陣得到對(duì)應(yīng)的系統(tǒng)矩陣。
首先忽略噪聲項(xiàng)d(k)、w1(k)和w2(k),得到如下的輸出數(shù)據(jù)方程:
Yp=ΓiXp+HiEp
(3)
式中:帶有下角標(biāo)p的矩陣為包含系統(tǒng)已知數(shù)據(jù)的Hankel矩陣; 矩陣Yp、Ep為輸入輸出Hankel矩陣;Xp為狀態(tài)矩陣;Hi為下三角Toepliloz矩陣。
經(jīng)典MOESP辨識(shí)算法的核心即通過(guò)輔助數(shù)據(jù)方程分解得到廣義能觀矩陣Γi的一致估計(jì):
(4)
將式(4)和式(3)結(jié)合在一起可以得到:
這表明Γi的列空間在矩陣R22的列空間中。因此,通過(guò)對(duì)R22進(jìn)行SVD分解就可得到Γi[12]:
(5)
于是可以得到廣義能觀矩陣Γi=R22。根據(jù)子空間辨識(shí)算法的定義,可以求出系統(tǒng)矩陣的相似變換矩陣(ATBTCTD)形式[11]。
考慮系統(tǒng)受到d(k)、w1(k)、w2(k)誤差的影響,于是式(3)將變?yōu)槿缦滦问剑?/p>
(6)
式中:W2f、Ωf分別包含了w2(k)、d(k);矩陣P為下三角矩陣。
(7)
從矩陣R22的SVD分解中得到廣義能觀矩陣Γi的一致估計(jì),于是系統(tǒng)矩陣就可以通過(guò)上節(jié)中介紹的方法進(jìn)行求解。
R(t+1)·QT(t+1)
(8)
接著,根據(jù)Givens旋轉(zhuǎn)矩陣的特點(diǎn),可以得到如下一系列Givens變換律:
R(t+1)QT(t+1)=R(t)G1G2…Gm·
Gi為Givens矩陣,且均為正交矩陣。于是括號(hào)中的矩陣乘積結(jié)果即形成了新的正交矩陣QT(t+1),最終可以得到:
R(t+1)=R(t)G1G2…Gm
即可以通過(guò)這樣一系列的Givens變換進(jìn)行更新。由于Givens矩陣的特殊結(jié)構(gòu),可以對(duì)該過(guò)程進(jìn)行進(jìn)一步的簡(jiǎn)化。假設(shè)當(dāng)有新數(shù)據(jù)到來(lái)時(shí),原矩陣R(t)具有如下的形式:
R(t)=[RΦnew data]=
最右邊一列的數(shù)據(jù)為新測(cè)量得到的數(shù)據(jù)。首先,為了將Φ1置為0,定義:
于是,對(duì)應(yīng)元素(即第一列中的ri,1和最后一列中的元素Φi)可以通過(guò)如下的方式進(jìn)行更新:
可以得到第一次遞推之后的R(t)矩陣如下:
通過(guò)使用這種方法,可以直接處理原R矩陣中的對(duì)應(yīng)列,降低了計(jì)算復(fù)雜度,提高了計(jì)算效率。
典型的動(dòng)力定位系統(tǒng)方框圖見(jiàn)圖2。圖中的虛線框部分為船舶模型辨識(shí)模塊,并采用本文的算法對(duì)參數(shù)矩陣進(jìn)行不斷地在線調(diào)整。
圖2 典型的動(dòng)力定位系統(tǒng)框圖
為了驗(yàn)證子空間辨識(shí)算法的有效性,對(duì)已經(jīng)建模并修正過(guò)的實(shí)船數(shù)學(xué)模型進(jìn)行20°Z形操舵實(shí)驗(yàn),并將得到的輸入輸出數(shù)據(jù)用于子空間模型辨識(shí)算法[14]和經(jīng)典船舶模型辨識(shí)算法中。對(duì)比仿真結(jié)果見(jiàn)圖3~圖4,可以看出子空間辨識(shí)算法的有效性。
圖3 船舶速度辨識(shí)結(jié)果對(duì)比
圖4 船舶速度辨識(shí)結(jié)果對(duì)比
假設(shè)系統(tǒng)的輸入輸出均受到白噪聲的影響。算法中Fourier級(jí)數(shù)的項(xiàng)數(shù)取p=6。仿真中船舶初始位置為(0 m,0 m)~(+10 m,+8 m),分別為初始位置的正北和正東向。在定位到300 s的時(shí)刻,移動(dòng)至(+5 m,+3 m),仿真結(jié)果見(jiàn)圖5~圖8。
圖5 位置和艏向跟蹤情況
圖5、圖6表示船舶位置和艏向的跟蹤情況和偏差,可以看出,基于船舶模型的預(yù)測(cè)控制算法能夠滿足動(dòng)力定位系統(tǒng)的控制要求(位置偏差1 m以內(nèi),艏向誤差1°以內(nèi))。從圖7中可以看出,作用在船上的力和力矩均較為平滑。圖8中數(shù)學(xué)模型的速度項(xiàng)輸出(實(shí)線)和船舶仿真輸出(虛線)結(jié)果基本重合,驗(yàn)證了辨識(shí)得到的船舶數(shù)學(xué)模型的正確性及本文在線子空間辨識(shí)算法的有效性??梢缘贸鼋Y(jié)論:基于子空間MOESP算法的辨識(shí)方法能夠較為準(zhǔn)確地辨識(shí)出船舶Hammerstein模型,實(shí)現(xiàn)了對(duì)船舶模型參數(shù)的實(shí)時(shí)調(diào)整,克服了傳統(tǒng)船舶模型辨識(shí)算法只能對(duì)模型進(jìn)行離線辨識(shí)的缺點(diǎn),使得控制器的輸入更為平滑。本文算法可以為緊急情況下的船位推算策略提供較為準(zhǔn)確的模型依據(jù),因此具有十分廣闊的應(yīng)用前景和工程意義。
圖6 跟蹤誤差
圖7 船舶受到的縱向、橫向、回轉(zhuǎn)作用力和力矩
圖8 辨識(shí)模型的速度項(xiàng)輸出和仿真結(jié)果對(duì)比
本論文推導(dǎo)了動(dòng)力定位船舶非線性模型的Hammerstein結(jié)構(gòu)形式,接著提出了基于MOESP算法的遞推子空間辨識(shí)方法,使用簡(jiǎn)化的Givens旋轉(zhuǎn)策略對(duì)子空間辨識(shí)中涉及到的復(fù)雜QR分解計(jì)算進(jìn)行處理,降低了計(jì)算復(fù)雜度,實(shí)現(xiàn)了辨識(shí)算法的在線計(jì)算。最終將本文提出的子空間在線辨識(shí)算法應(yīng)用到了船舶動(dòng)力定位系統(tǒng)中,驗(yàn)證了基于子空間MOESP的在線辨識(shí)算法的有效性和適用性,為動(dòng)力定位系統(tǒng)模型辨識(shí)提供了新思路。