本發(fā)明屬于船舶,涉及一種基于高斯混合模型的船舶操縱運(yùn)動非參數(shù)辨識建模方法,尤其涉及一種基于期望最大化算法的船舶操縱運(yùn)動的高斯混合回歸的非參數(shù)辨識建模方法。
背景技術(shù):
1、船舶運(yùn)動數(shù)學(xué)模型是研究船舶操縱性和控制問題的核心基礎(chǔ)。自20世紀(jì)70年代以來,隨著超大型油輪的出現(xiàn)和先進(jìn)船舶運(yùn)動控制器的研制,測量技術(shù)和系統(tǒng)辨識理論的進(jìn)步進(jìn)一步推動了船舶運(yùn)動數(shù)學(xué)模型的研究。從方法論的角度來看,系統(tǒng)建模方法主要分為機(jī)理建模、辨識建模以及兩者結(jié)合的混合建模。機(jī)理建模具有良好的穩(wěn)定性和泛化能力,但受限于當(dāng)前的知識理解,對于復(fù)雜船型和復(fù)雜航行環(huán)境,難以建立準(zhǔn)確的運(yùn)動模型。因此,不依賴于研究對象本身的數(shù)學(xué)模型,同時具有算法穩(wěn)定性和精度的系統(tǒng)辨識方法應(yīng)運(yùn)而生。系統(tǒng)辨識方法只需船舶的狀態(tài)信息和慣性量,同時該方法具有較好的可遷移性和泛化性。
2、由文獻(xiàn)[1][2][3][4][5][6]可知,目前已經(jīng)提出了各種船舶運(yùn)動辨識模型。傳統(tǒng)的辨識方法主要包括最小二乘法和卡爾曼濾波法。最小二乘法廣泛應(yīng)用,但存在過擬合和矩陣求逆問題。為此,遞推最小二乘法[1]被提出,避免了矩陣求逆的問題。卡爾曼濾波也被廣泛應(yīng)用于船舶模型的辨識中,但經(jīng)典的卡爾曼濾波算法對非線性系統(tǒng)的適應(yīng)性差,極大地限制了其應(yīng)用。因此,擴(kuò)展卡爾曼濾波[5]和無跡卡爾曼濾波[6]等算法被提出,這些算法對非線性系統(tǒng)的辨識效果較好,但也存在參數(shù)漂移和動力相消的問題。
3、傳統(tǒng)的系統(tǒng)辨識方法依賴研究對象的數(shù)學(xué)機(jī)理模型,同時算法的收斂性和精度也較差。隨著計(jì)算機(jī)和人工智能的發(fā)展,辨識方法逐漸向智能算法發(fā)展。文獻(xiàn)[2]提出了一種具有高魯棒性的系統(tǒng)辨識方法,緩解了參數(shù)漂移和過擬合對模型辨識可靠性的影響。文獻(xiàn)[3][4]采用局部加權(quán)學(xué)習(xí)算法,通過重新維數(shù)數(shù)據(jù)結(jié)構(gòu)提出離線黑箱辨識建模方法,有效克服了傳統(tǒng)機(jī)理建模和參數(shù)辨識模型中存在的參數(shù)漂移、不確定性、建模動態(tài)性等問題。目前,多數(shù)船舶建模方法依賴參數(shù)化模型,但非參數(shù)辨識無需先驗(yàn)假設(shè),能更靈活地適應(yīng)復(fù)雜、非線性和時變系統(tǒng)。隨著智能船舶技術(shù)發(fā)展,對模型精度和實(shí)時性的要求提升,非參數(shù)辨識通過數(shù)據(jù)驅(qū)動可自動優(yōu)化模型,并有效應(yīng)對外界擾動,提高魯棒性。其靈活性和適應(yīng)性使其在智能船舶運(yùn)動控制中具有重要應(yīng)用價值,顯著提升系統(tǒng)的安全性和精度。
技術(shù)實(shí)現(xiàn)思路
1、為了解決傳統(tǒng)的系統(tǒng)辨識建模方法包括最小二乘法和卡爾曼濾波算法及其各類變體存在的參數(shù)漂移、不確定性、建模動態(tài)性以及模型精度不夠的問題,本發(fā)明采用的技術(shù)方案是:一種基于高斯混合模型的船舶操縱非參數(shù)辨識建模方法,包括以下步驟:
2、s1:獲取船舶航行時的舵角、船舶運(yùn)動狀態(tài)以及船舶的運(yùn)動力和力矩,構(gòu)建數(shù)據(jù)集;
3、s2:以三自由度船舶運(yùn)動數(shù)學(xué)模型為辨識對象,根據(jù)船舶操縱運(yùn)動數(shù)學(xué)模型中船舶所受的力與力矩和船舶運(yùn)動狀態(tài)確定線性回歸模型;
4、s3:以舵角、力和力矩為訓(xùn)練樣本,以線性回歸模型為基礎(chǔ),根據(jù)舵角的變化特征對訓(xùn)練數(shù)據(jù)進(jìn)行分段構(gòu)建多個子模型,得到用于船舶操縱運(yùn)動的改進(jìn)高斯混合模型;
5、s4:對改進(jìn)高斯混合模型進(jìn)行訓(xùn)練,得到訓(xùn)練好的改進(jìn)高斯混合模型;
6、s5:基于船舶前一時刻的運(yùn)動狀態(tài),回歸調(diào)用訓(xùn)練好的改進(jìn)高斯混合模型,實(shí)現(xiàn)對船舶力下一時刻流體力的預(yù)測;
7、s6:基于預(yù)測好的船舶力下一時刻流體力,對船舶的時間導(dǎo)數(shù)去求解,得到船舶下時刻的運(yùn)動狀態(tài)。
8、進(jìn)一步地:所述線性回歸模型的表達(dá)式如下式所示:
9、
10、其中;輸入變量為輸出變量為y=[x,y,n]t;參數(shù)矩陣為β=[β1,β2,β3]t。
11、進(jìn)一步地:所述根據(jù)舵角的變化特征對訓(xùn)練數(shù)據(jù)進(jìn)行分段構(gòu)建多個子模型的過程如下:
12、通過捕捉舵角的變化,在舵角變化率≥5°/s處進(jìn)行分段,將較長的數(shù)據(jù)分成若干段數(shù)據(jù)。
13、進(jìn)一步地:所述對改進(jìn)高斯混合模型進(jìn)行訓(xùn)練,得到訓(xùn)練好的改進(jìn)高斯混合模型包括以下步驟:
14、步驟s31:給出線性回歸模型的局部模型:訓(xùn)練數(shù)據(jù)包括舵角,力和力矩[δ,x,y,n];
15、步驟s32:初始化均值μk、協(xié)方差σk和混合系數(shù)αk,計(jì)算對數(shù)似然函數(shù)的初始值;
16、步驟s33:通過期望最大化算法求解最大化以對數(shù)似然函數(shù)為目標(biāo)函數(shù),輸出訓(xùn)練好的改進(jìn)高斯混合模型。
17、進(jìn)一步地:所述通過期望最大化算法求解最大化以對數(shù)似然函數(shù)為目標(biāo)函數(shù),輸出訓(xùn)練好的改進(jìn)高斯混合模型的過程如下:
18、首先通過期望步,使用當(dāng)前的參數(shù)值計(jì)算后驗(yàn)概率γ(znk),更新參數(shù)后驗(yàn)概率;
19、然后通過最大化步,使用當(dāng)前的后驗(yàn)概率重新估計(jì)參數(shù)更新參數(shù)均值協(xié)方差矩陣混合系數(shù)
20、最后計(jì)算對數(shù)似然函數(shù)lnp(a|μ,σ,α)檢查參數(shù)或?qū)?shù)似然函數(shù)的收斂性,當(dāng)模型參數(shù)在兩次迭代之間的變化小于0.0001,則返期望步;否則輸出訓(xùn)練好的改進(jìn)高斯混合模型。
21、進(jìn)一步地:所述對數(shù)似然函數(shù)的表達(dá)式如下:
22、
23、其中:lnp(a|μ,σ,α)代表對數(shù)似然函數(shù)。
24、進(jìn)一步地:基于預(yù)測好的船舶力下一時刻流體力,對船舶的時間導(dǎo)數(shù)去求解,得到船舶下時刻的運(yùn)動狀態(tài)包括以下步驟:
25、步驟51:基于訓(xùn)練好的改進(jìn)高斯混合模型、s時刻的船舶系統(tǒng)輸入xs=δ;
26、步驟52:計(jì)算輸入xs點(diǎn)對應(yīng)每個高斯成分的后驗(yàn)概率
27、步驟53:通過后驗(yàn)概率計(jì)算輸入xs對應(yīng)的目標(biāo)元素
28、步驟54:通過求解改進(jìn)高斯混合模型參數(shù)矩陣β,通過β計(jì)算查詢點(diǎn)對應(yīng)的預(yù)測值
29、步驟55:通過求解船舶動力學(xué)方程,計(jì)算出下一時刻s+1船舶的空間運(yùn)動的姿態(tài)和軌跡(xg,yg);
30、步驟56:計(jì)算直到δc所對應(yīng)的船舶運(yùn)動狀態(tài)和船舶的位置軌跡(xg,yg)。
31、本發(fā)明提供的一種基于高斯混合模型的船舶操縱運(yùn)動非參數(shù)辨識建模方法,采用非參數(shù)辨識對船舶動力學(xué)模型進(jìn)行動態(tài)仿真,為了減小數(shù)據(jù)變化較大區(qū)域的誤差,提高識別效率,本技術(shù)對傳統(tǒng)的高斯混合模型進(jìn)行了改進(jìn),提出了一種基于改進(jìn)高斯混合模型的非參數(shù)辨識模型來模擬和預(yù)報(bào)船舶的運(yùn)動狀態(tài)。利用水動力、舵角等多維數(shù)據(jù)對改進(jìn)高斯混合模型進(jìn)行訓(xùn)練,對傳統(tǒng)初始模型數(shù)據(jù)進(jìn)行分段改進(jìn),采用期望最大化算法進(jìn)行參數(shù)優(yōu)化,通過計(jì)算改進(jìn)的高斯混合系數(shù)得到改進(jìn)的模型參數(shù)。利用已訓(xùn)練好的模型和預(yù)測的舵角,通過高斯混合回歸計(jì)算船舶的水動力,采用積分求解操縱運(yùn)動狀態(tài)。通過旋回試驗(yàn)和z型試驗(yàn)對不同舵角的運(yùn)動狀態(tài)進(jìn)行試驗(yàn),驗(yàn)證了該方法的可行性和有效性具有以下優(yōu)點(diǎn):
32、1.本發(fā)明能夠更貼近實(shí)際的工程應(yīng)用場景。基于所識別的船舶運(yùn)動數(shù)學(xué)模型,通過輸入查詢變量,即可計(jì)算出相應(yīng)的船舶運(yùn)動狀態(tài)。
33、2.本發(fā)明通過識別船舶運(yùn)動中的力和力矩關(guān)系,可以實(shí)時預(yù)測船舶的運(yùn)動狀態(tài)。
34、3.相較于傳統(tǒng)的高斯混合模型,本文所使用的改進(jìn)高斯混合模型的精度更高、運(yùn)行效率會更快,更具有工程意義。