孫新蕾,徐 鋒,黃 鋮,楊路春
(1. 武漢學(xué)院,湖北 武漢 430212;2. 武漢第二船舶設(shè)計研究所,湖北 武漢 430205;3. 武昌船舶重工集團有限公司,湖北 武漢 430060)
通過水下航行器的動力學(xué)模型可以發(fā)現(xiàn),影響水下航行器動力學(xué)建模精度的關(guān)鍵因素有3個:水動力阻尼模型、推進(jìn)器推力模型和舵翼作用力模型,而建模的難點不僅在于選擇合理的表達(dá)式以描述這3個模型,準(zhǔn)確獲取表達(dá)式中的水動力參數(shù)亦非常困難。通過試驗或數(shù)值計算等方法雖然可以確定水下航行器的動力學(xué)模型,但往往需要花費大量的人力和物力,或需要有很好的計算機軟硬件條件,而且所建立的模型通常也只適用于一些特定的操縱運動[1]。近年來得到較大發(fā)展的自航模或?qū)嵆叨仍囼灱酉到y(tǒng)辨識的方法雖然能夠較有效地用于建立操縱運動數(shù)學(xué)模型,但系統(tǒng)辨識本身仍存在一些固有缺陷,如動力相消效應(yīng)、參數(shù)漂移和多重共線等,會影響其建模精度。另外,目前尚沒有較好的方法可對六自由度非線性模型進(jìn)行水動力導(dǎo)數(shù)的辨識。
人工智能方法的出現(xiàn),為克服上述困難提供了一種有效途徑。為精確描述水下航行器的非線性動力學(xué)特性,通過智能算法建立一個同動力學(xué)模型等價的非線性映射函數(shù),該非線性函數(shù)內(nèi)的參數(shù)不具有物理意義,只是數(shù)學(xué)意義上的等價關(guān)系,這種建模方法即為非線性動力學(xué)辨識建模,也即黑箱建模方法。該方法的顯著優(yōu)點在于所建立的數(shù)學(xué)模型僅與系統(tǒng)輸入和輸出有關(guān),不用考慮模型的真實動力學(xué)特性,這就避免了機理建模中的水動力參數(shù)的獲取,而且可以顧及在機理建模中被忽略的高階小量,因此,黑箱建模的精度通常較機理建模要高。人工神經(jīng)網(wǎng)絡(luò)經(jīng)過多年的發(fā)展和應(yīng)用,被認(rèn)為是一種更有效的人工智能算法,在非線性動力學(xué)辨識建模方面得到了廣泛的應(yīng)用。
根據(jù)文獻(xiàn)[2],水下航行器的六自由度數(shù)學(xué)模型如下:
各參數(shù)定義如圖1所示。
在式(1)所示的動力學(xué)模型中,影響水下航行器動力學(xué)建模精度的關(guān)鍵項即為水動力阻尼,因為該項中包含眾多的水動力導(dǎo)數(shù),需要通過大量的試驗和數(shù)值計算才能加以確定,而通過對該項的黑箱建模可以在提高水動力阻尼項建模精度的同時,避免了計算眾多水動力導(dǎo)數(shù)的問題。同時,鑒于科氏力和向心力項具有與相同的結(jié)構(gòu)形式,因此對其一并考慮。
為實現(xiàn)對水下航行器的操縱運動黑箱建模,對式(1)進(jìn)行變換得到:
在實際應(yīng)用中,通過自航模或?qū)嵈囼灚@取式水下航行器的速度和加速度信息,再通過試驗或數(shù)值計算獲取式(2)右端項中的不確定項,即可以為輸入,以為輸出,開展水下航行器的黑箱建模,進(jìn)而獲取精確度較高的水下航行器動力學(xué)模型。
人工神經(jīng)網(wǎng)絡(luò)是一種類似于人類大腦處理信息的人工智能算法,在近20年間得到廣泛的研究和應(yīng)用,被認(rèn)為是一種非常有效的算法,被廣泛應(yīng)用于幾乎所有領(lǐng)域。它的一般結(jié)構(gòu)包括輸入層、隱含層和輸出層3部分,隱含層可包含一個或多個,其中隱含層的不同結(jié)構(gòu)以及所選擇的不同激活函數(shù)便形成了不同的人工神經(jīng)網(wǎng)絡(luò)算法,常用的包括BP神經(jīng)網(wǎng)絡(luò)、徑向基函數(shù)(Radial Basis Function,RBF)神經(jīng)網(wǎng)絡(luò)、Hopfield神經(jīng)網(wǎng)絡(luò)等。
人工神經(jīng)網(wǎng)絡(luò)對非線性函數(shù)具有良好的擬合能力,為水下航行器的非線性動力學(xué)辨識提供了一種有效手段。其中的RBF神經(jīng)網(wǎng)絡(luò)在理論上已被證明,若隱含層節(jié)點數(shù)目足夠多,則可一致逼近任意非線性函數(shù)[3]。RBF神經(jīng)網(wǎng)絡(luò)中常用的徑向基函數(shù)為高斯函數(shù),RBF神經(jīng)網(wǎng)絡(luò)的激活函數(shù)可表示如下:
根據(jù)圖2所示的RBF神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),可得到網(wǎng)絡(luò)輸出為:
本文采用文獻(xiàn)[4]中給出的某小型水下機器人的模型試驗,通過約束模試驗獲取的水動力導(dǎo)數(shù)值詳見該文獻(xiàn),該水下航行器模型如圖3所示。
其螺旋槳推力模型如下:
其舵翼作用力模型可通過舵翼的升阻力進(jìn)行換算得到,升阻力計算公式如下:
式中:L為升力;D為阻力;CL,CD分別為升力和阻力系數(shù);ρ為水密度;為舵翼有效投影面積;V為迎流速度。升阻力系數(shù)隨舵翼攻角的變化曲線如圖5所示,通過升阻力系數(shù)可回歸得到其舵翼水動力導(dǎo)數(shù)。
數(shù)值求解式(1)即可進(jìn)行操縱運動仿真。在仿真中,時間步長取為0.1 s,仿真時間為120 s,設(shè)置控制電壓為4 V并保持恒定,航行器的運動狀態(tài)通過舵翼進(jìn)行控制。值得注意的是,舵翼角的變化形式?jīng)Q定了建模所需的輸入輸出樣本,從而對所建立的支持向量機回歸模型具有較大的影響。為獲取能夠充分反映模型特征的輸入輸出樣本對,參考文獻(xiàn)[5],舵翼角的時歷曲線如圖6所示。
在使用支持向量機進(jìn)行建模時,采樣間隔取為0.5 s,共得到240個樣本對。根據(jù)式(2),建模所需的輸入輸出樣本對為:
其中,k為時間步,i=1,…,6分別代表航行器的六自由度運動。
使用RBF神經(jīng)網(wǎng)絡(luò)進(jìn)行學(xué)習(xí),即可得到科氏力、向心力與阻尼項的黑箱模型。在建立RBF神經(jīng)網(wǎng)絡(luò)黑箱模型過程中,對水下航行器的6個自由度的向心力、科氏力和阻尼項分別進(jìn)行建模,鑒于6個自由度具有不同的非線性耦合特性,對其分別采用不同的訓(xùn)練參數(shù)。
在使用黑箱模型進(jìn)行操縱運動預(yù)報時,把該黑箱模型取代式(2)中的對應(yīng)項即可。
為對RBF神經(jīng)網(wǎng)絡(luò)黑箱建模的有效性進(jìn)行驗證,使用模型試驗得到的水動力模型與黑箱模型進(jìn)行相同的水平面和垂直面操縱運動預(yù)報。
水平面內(nèi)的操縱運動仿真為3.5 V控制電壓下的5°/10°Z形試驗仿真。在零初始運動狀態(tài)條件下,仿真時間步長為0.1 s,仿真時間為60 s。分別使用試驗?zāi)P秃椭С窒蛄繖C模型進(jìn)行運動仿真,其比較結(jié)果如圖7所示。
垂直面內(nèi)的操縱運動仿真為4.5 V控制電壓下的10°/15°類Z形試驗仿真。在零初始運動狀態(tài)條件下,設(shè)航行器的初始潛深為5 m,仿真時間步長為0.1 s。基于2種模型的操縱運動仿真對比結(jié)果如圖8所示。
本文基于試驗?zāi)P瓦M(jìn)行操縱運動仿真,獲取辨識建模所需要的數(shù)據(jù)樣本,進(jìn)而分別建立了關(guān)于科氏力、向心力和阻尼力在6個自由度的回歸模型。然后,通過操縱運動仿真對RBF神經(jīng)網(wǎng)絡(luò)回歸模型進(jìn)行了驗證,從圖7和圖8中可以發(fā)現(xiàn),RBF神經(jīng)網(wǎng)絡(luò)黑箱模型能夠很好的與原始水動力模型吻合,證明了所建立的模型對動力學(xué)模型中的科氏力、向心力和阻尼力進(jìn)行辨識可行。