陳瑋琪,顏 開,王寶壽
(中國(guó)船舶科學(xué)研究中心,江蘇 無錫 214082)
水動(dòng)力參數(shù)是設(shè)計(jì)水下航行體,如魚雷、水下機(jī)器人等的原始數(shù)據(jù),流體動(dòng)力計(jì)算、風(fēng)洞和水池試驗(yàn)是獲取這些數(shù)據(jù)的常用手段,但由于實(shí)航環(huán)境的復(fù)雜性,這些手段獲得的水動(dòng)力參數(shù)與實(shí)航的水動(dòng)力參數(shù)還是有較大的差別。因此應(yīng)用辨識(shí)技術(shù)[1]從水下航行體的航行試驗(yàn)數(shù)據(jù)中提取它的流體動(dòng)力參數(shù)具有重大的實(shí)際意義。
蔡金獅在文獻(xiàn)[1]中總結(jié)了魚雷水動(dòng)力參數(shù)辨識(shí)的極大似然法;丁文鏡利用極大似然法[2]和預(yù)報(bào)誤差法[3]研究了受控航行體水動(dòng)參數(shù)的辨識(shí);劉建成探討了極大似然法及其松弛算法在水下機(jī)器人水動(dòng)參數(shù)的辨識(shí)中的應(yīng)用[5];傅慧萍比較了牛頓-拉夫遜算法、單純形法及模擬退火算法在水下運(yùn)載器的水動(dòng)力參數(shù)辨識(shí)中的優(yōu)缺點(diǎn)[4],研究表明,牛頓-拉夫遜算法、單純形法對(duì)初值要求較高,難以獲得全局優(yōu)化解,而模擬退火算法則有相對(duì)較好的全局收斂性,模擬退火算法本身是智能優(yōu)化算法的一種。陳瑋琪則將現(xiàn)代人工智能優(yōu)化算法-群體智能優(yōu)化算法PSO應(yīng)用在水下航行體[6]的水動(dòng)力參數(shù)辨識(shí)中,對(duì)物體出水過程[7-8]的水動(dòng)力參數(shù)也進(jìn)行過探索。這些研究表明,現(xiàn)代辨識(shí)技術(shù)通過引入最佳擬合準(zhǔn)則將辨識(shí)問題轉(zhuǎn)化為確定性函數(shù)的優(yōu)化問題后,采用現(xiàn)代智能優(yōu)化算法[9-11]來辨識(shí)是一個(gè)發(fā)展趨勢(shì)。現(xiàn)代智能優(yōu)化算法相對(duì)于經(jīng)典的牛頓-拉夫遜算法具有很多優(yōu)點(diǎn),適合高維、多峰、連續(xù)性或可微性不好的非線性函數(shù)的全局優(yōu)化,并且與函數(shù)的形式無關(guān),因此,利用智能算法結(jié)合最小二乘準(zhǔn)則就能獲得較好的結(jié)果。
本文將文獻(xiàn)[11]中發(fā)展出來的智能優(yōu)化算法-微分群體算法(Different Swarm,簡(jiǎn)稱DS)結(jié)合廣泛使用的最小二乘準(zhǔn)則用于水下航行體縱向平面運(yùn)動(dòng)的水動(dòng)力參數(shù)辨識(shí),仿真辨識(shí)表明,結(jié)果要好于文獻(xiàn)[1]和文獻(xiàn)[3]中給出的經(jīng)典結(jié)果,而且以往算法所無法辨識(shí)的附加質(zhì)量也能同時(shí)辨識(shí)出來。
ρ—水密度;
v—航行體運(yùn)動(dòng)速度;
L—航行體特征長(zhǎng)度;
D—航行體直徑;
m—航行體質(zhì)量;
Jx,Jy,Jz—航行體轉(zhuǎn)動(dòng)慣量;
ωx,ωy,ωz—體坐標(biāo)系下的角速度分量;
θ,ψ,γ—大地坐標(biāo)系下的俯仰角、偏航角和滾動(dòng)角;
vx,vy,vz—體坐標(biāo)系下的速度;
x0,y0,z0—大地坐標(biāo)系下的質(zhì)心坐標(biāo)。
在縱向運(yùn)動(dòng)中,令所有橫向運(yùn)動(dòng)參數(shù) vz,ωx,ωy,ψ,φ,z0,β 為 0。 并假設(shè)浮心總在導(dǎo)彈的縱軸上,浮心位置 (xB,yB,zB)=(xB,0,0 ),以航行體的重心為原點(diǎn)建立航行體體坐標(biāo)系,則體坐標(biāo)系下的縱向動(dòng)力學(xué)方程:
縱向運(yùn)動(dòng)學(xué)方程:
(1)式給出了與水動(dòng)力相關(guān)的量。 根據(jù)流體力學(xué)理論,附加質(zhì)量λ11,λ22,λ26,λ66在水下是常數(shù),而與粘性作用力相關(guān)的水動(dòng)力可以近似展開為水動(dòng)力系數(shù)的一階線形模型:
待辨識(shí)的水動(dòng)力參數(shù)共12個(gè):
這里僅考慮全濕流狀態(tài),忽略空泡的影響。
辨識(shí)12個(gè)參數(shù)的算法是,從12個(gè)水動(dòng)力參數(shù)的初始值出發(fā),根據(jù)方程(1)計(jì)算航行體的彈道,然后比較計(jì)算彈道與試驗(yàn)彈道之間的誤差,再根據(jù)誤差按一定方法逐步調(diào)整12個(gè)參數(shù)的值,最終使得計(jì)算彈道與試驗(yàn)彈道之間的誤差達(dá)到最小,這時(shí)得到的12個(gè)參數(shù)值就是需要求解的水動(dòng)力參數(shù)值。定義系統(tǒng)的狀態(tài)向量為
待辨識(shí)的未知水動(dòng)力參數(shù)向量為
則方程(1)可以整理為標(biāo)準(zhǔn)形式
辨識(shí)準(zhǔn)則采用最小二乘法,即求ξ,使得計(jì)算彈道xi與試驗(yàn)彈道之間的誤差平方和達(dá)到最小
文獻(xiàn)[11]中所提出的DS智能優(yōu)化算法[11]具有非常強(qiáng)大的約束優(yōu)化能力,因此可以用于本問題。在DS中,每一個(gè)解稱為一個(gè)粒子,粒子在解空間中的位置就表示一個(gè)可能解,解的變化對(duì)應(yīng)于粒子的飛行。初始時(shí)解空間中包含一個(gè)粒子群體,群體中每個(gè)粒子在解空間中飛行并相互交換信息,然后每個(gè)粒子根據(jù)獲得的信息確定下一步的飛行位置,直至找到最優(yōu)解。DS中,粒子交換信息并改變位置的公式如下
這里,n表示粒子群體的個(gè)數(shù),下標(biāo)i表示的是第i個(gè)粒子,上標(biāo)k表示第k步的飛行位置表示第i個(gè)粒子前k步所到達(dá)過的最好位置,表示整個(gè)粒子群在前k步所達(dá)到的最好位置,rk是[0 1]之間的隨機(jī)數(shù),ω是算法參數(shù),一般取為1,和表示粒子群中隨機(jī)選取的兩個(gè)粒子i1,i2的最好位置。經(jīng)過一定的迭代步數(shù)就是J的最優(yōu)解。
為檢驗(yàn)辨識(shí)算法的可行性,采用模擬彈道進(jìn)行仿真辨識(shí),方法如下,先選取已知的水動(dòng)力參數(shù),再根據(jù)方程(5),利用 Runge-Kutta(4,5)方法求解狀態(tài)方程(1),得到彈道運(yùn)動(dòng)狀態(tài)參數(shù)然后疊加上偽隨機(jī)數(shù)發(fā)生器產(chǎn)生的觀測(cè)噪聲ε,
以模擬試驗(yàn)觀測(cè)數(shù)據(jù)。最后根據(jù)模擬試驗(yàn)觀測(cè)數(shù)據(jù)來辨識(shí)水動(dòng)力參數(shù),并和選取的已知水動(dòng)力參數(shù)值進(jìn)行比較。
圖1 積分彈道曲線vxFig.1 The integral trajectory curve for vx
圖2 觀測(cè)噪聲Fig.2 The observed noise
模擬彈道的已知值見表1,初始值根據(jù)試驗(yàn)數(shù)據(jù)的某一時(shí)間選取。圖1顯示了根據(jù)水動(dòng)力參數(shù)已知值積分出來的模擬彈道曲線vx,圖2是偽隨機(jī)數(shù)發(fā)生器產(chǎn)生的觀測(cè)噪聲,圖3是彈道曲線vx疊加觀測(cè)噪聲得到的模擬觀測(cè)數(shù)據(jù)。
表1中列出了觀測(cè)噪聲水平分別為標(biāo)準(zhǔn)差0、1%、3%峰值下,辨識(shí)的水動(dòng)力參數(shù)與已知精確值的比較(通常λ11非常小,這里不參與辨識(shí))。
從模擬彈道的辨識(shí)結(jié)果來看,首先,算法在不同噪聲水平下,得到的辨識(shí)結(jié)果都和已知值吻合得相當(dāng)好,最大相對(duì)誤差不超過7%,這說明了本文的算法是可行的,也是可靠的;從中還可以看出,觀測(cè)噪聲對(duì)結(jié)果的影響不大,這說明該算法具有很好的魯棒性;同時(shí),該算法可以同時(shí)辨識(shí)出附加質(zhì)量和其它水動(dòng)力參數(shù),而文獻(xiàn)[1]中基于極大似然法所提出的魚雷辨識(shí)算法則認(rèn)為附加質(zhì)量是不可以辨識(shí)的量,因此文中的算法更有優(yōu)越性。另外,算法對(duì)初值幾乎沒有要求,可以從任意值開始進(jìn)行搜索,而且速度極快,這是牛頓-拉夫遜算法所不具備的優(yōu)勢(shì)。
圖3 模擬觀測(cè)彈道Fig.3 The simulating trajectory
表1 仿真辨識(shí)結(jié)果比較Tab.1 Comparison between the identification simulating results
(1)和經(jīng)典的牛頓—拉夫遜算法比較起來,智能辨識(shí)算法要簡(jiǎn)單得多,因?yàn)橹悄芩惴ㄟ^程無須考慮運(yùn)動(dòng)方程的復(fù)雜的數(shù)學(xué)形式,而且對(duì)初值要求不高,甚至幾乎沒有要求,這是經(jīng)典辨識(shí)算法所不具備的優(yōu)點(diǎn),因此適合工程應(yīng)用。
(2)此次研究雖然采用了平面彈道,但是由于辨識(shí)算法是通用的,因此換成6自由度全彈道方程來進(jìn)行辨識(shí)是很容易做到的,而且算法對(duì)待辨識(shí)參數(shù)的維數(shù)不敏感。
(3)以后的工作將考慮空泡,并在水動(dòng)力模型中增加空泡與水動(dòng)力之間的模型,利用類似的辨識(shí)技術(shù)最終獲得帶空泡航行體的水動(dòng)力參數(shù)及其模型。
[1]蔡金獅等.飛行器系統(tǒng)辨識(shí)學(xué)[M].北京:國(guó)防工業(yè)出版社,2003.
[2]丁文鏡,羅仁凡等.受控航行體水動(dòng)參數(shù)的極大似然辨識(shí)[J].清華大學(xué)學(xué)報(bào)(自然科學(xué)版),1992,2(32):89-95.
[3]丁文鏡,羅仁凡等.辨識(shí)航行器水動(dòng)力參數(shù)的預(yù)報(bào)誤差法[C].魚雷控制系統(tǒng)學(xué)組學(xué)術(shù)交流會(huì),1991.
[4]傅慧萍.潛射導(dǎo)彈運(yùn)載器水彈道動(dòng)力學(xué)系統(tǒng)建模理論與應(yīng)用[D].西安:西北工業(yè)大學(xué),2000.
[5]劉建成,劉學(xué)敏,徐玉如.極大似然法在水下機(jī)器人系統(tǒng)辨識(shí)中的應(yīng)用[J].哈爾濱工程大學(xué)學(xué)報(bào),2001,22(5):1-4.
[6]陳瑋琪,顏 開,史淦君,王士同,劉志勇.水下航行體水動(dòng)力系數(shù)的智能辨識(shí)方法研究[J].船舶力學(xué),2007,11(1):40-46.
[7]陳瑋琪,顏 開,史淦君,王士同.基于TSK智能技術(shù)的物體垂直出水水動(dòng)力系數(shù)辨識(shí)研究[J].水動(dòng)力學(xué)研究與進(jìn)展,2005,20(4):445-451.
[8]陳瑋琪,顏 開.新的智能算法和物體斜出水水動(dòng)力系數(shù)辨識(shí)[J].船舶力學(xué),2008,12(2):204-210.
[9]Lu Haiyan,Chen Weiqi.Self-adaptive velocity particle swarm optimization for solving constrained optimization problems[J].Journal of Global Optimization,2008,41:427-445.
[10]Lu Haiyan,Chen Weiqi.Dynamic-objective particle swarm optimization for constrained optimization problems[J].J Comb.Optim.,2006,12(4):409-419.
[11]陳瑋琪.智能辨識(shí)技術(shù)及其在物體出水水動(dòng)力參數(shù)辨識(shí)中的應(yīng)用研究[D].無錫:江南大學(xué),2008.