本發(fā)明涉及船舶航向技術(shù)領(lǐng)域,具體涉及一種船舶航向復合控制方法及裝置。
背景技術(shù):
隨著經(jīng)濟全球化的進程,船舶大型化、自動化和智能化成為船舶工業(yè)發(fā)展的主流趨勢。船舶在海上航行時,不可避免的受到海浪、海流及海風等隨機干擾的作用,加之航行環(huán)境惡劣和工況變化,船舶運動具有的內(nèi)在強耦合、大干擾及參數(shù)時變等特點,使得大型船舶操縱控制成為一個多變量非線性時變過程,并且顯現(xiàn)出慣性大、響應(yīng)遲鈍、控制效果差等問題。因此,為保障大型船舶航行的安全性和經(jīng)濟性,對其航向控制的研究就變得尤為重要。
現(xiàn)有技術(shù)中,還不能根據(jù)實際的航向角和預設(shè)航向,對船舶航行過程中的舵角進行修正,不能提高航向操作控制系統(tǒng)的控制精度。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)中的上述缺陷,本發(fā)明提供了一種基于情感和語義的智能對話方法及裝置,能夠?qū)Υ昂叫羞^程中的舵角進行修正,進而能夠提高航向操作控制系統(tǒng)的控制精度。
第一方面,本發(fā)明提供的一種船舶航向復合控制方法,包括:
檢測船舶航向的實際航向角和實際舵角;
根據(jù)所述實際航向角,基于訓練的正向辨識模型,獲得辨識航向角;
根據(jù)所述辨識航向角、所述實際航向角、所述實際舵角和預設(shè)航向角,基于訓練的逆向辨識模型,計算第一前饋補償量;
根據(jù)所述預設(shè)航向角和所述實際航向角,基于魯棒控制器,計算第二前饋補償量;
根據(jù)所述第一前饋補償量和所述第二前饋補償量,計算修正后的理論舵角。
可選的,在所述根據(jù)所述實際航向角,基于訓練的正向辨識模型,獲得辨識航向角的步驟之前,還包括:
獲取樣本數(shù)據(jù);
根據(jù)所述樣本數(shù)據(jù),采用最小二乘支持向量機算法,訓練正向辨識模型。
可選的,在所述獲取樣本數(shù)據(jù)的步驟之后,在所述根據(jù)所述辨識航向角、所述實際航向角、所述實際舵角和預設(shè)航向角,基于訓練的逆向辨識模型,計算第一前饋補償量的步驟之前,還包括:
根據(jù)所述樣本數(shù)據(jù),采用最小二乘支持向量機算法,基于二次規(guī)劃方法,訓練逆向辨識模型。
可選的,所述根據(jù)所述辨識航向角、所述實際航向角、所述實際舵角和預設(shè)航向角,基于訓練的逆向辨識模型,計算第一前饋補償量,包括:
根據(jù)所述辨識航向角和所述實際航向角,計算航向角調(diào)節(jié)量;
根據(jù)所述航向角調(diào)節(jié)量、所述實際舵角和預設(shè)航向角,基于訓練的逆向辨識模型,計算第一前饋補償量。
可選的,所述根據(jù)所述第一前饋補償量和所述第二前饋補償量,計算修正后的理論舵角,包括:
根據(jù)所述第一前饋補償量和所述第二前饋補償量,采用理論舵角計算方法,計算修正后的理論舵角。
第二方面,本發(fā)明提供的一種船舶航向復合控制裝置,包括:
檢測模塊,用于檢測船舶航向的實際航向角和實際舵角;
辨識模塊,用于根據(jù)所述實際航向角,基于訓練的正向辨識模型,獲得辨識航向角;
第一前饋補償量計算模塊,用于根據(jù)所述辨識航向角、所述實際航向角、所述實際舵角和預設(shè)航向角,基于訓練的逆向辨識模型,計算第一前饋補償量;
第二前饋補償量計算模塊,用于根據(jù)所述預設(shè)航向角和所述實際航向角,基于魯棒控制器,計算第二前饋補償量;
理論舵角計算模塊,用于根據(jù)所述第一前饋補償量和所述第二前饋補償量,計算修正后的理論舵角。
可選的,所述裝置,還包括:
數(shù)據(jù)獲取模塊,用于獲取樣本數(shù)據(jù);
正向訓練模塊,用于根據(jù)所述樣本數(shù)據(jù),采用最小二乘支持向量機算法,訓練正向辨識模型。
可選的,所述裝置,還包括:
逆向訓練模塊,用于根據(jù)所述樣本數(shù)據(jù),采用最小二乘支持向量機算法,基于二次規(guī)劃方法,訓練逆向辨識模型。
可選的,所述第一前饋補償量計算模塊,包括:
航向角調(diào)解量計算單元,用于根據(jù)所述辨識航向角和所述實際航向角,計算航向角調(diào)節(jié)量;
第一前饋補償量計算單元,用于根據(jù)所述航向角調(diào)節(jié)量、所述實際舵角和預設(shè)航向角,基于訓練的逆向辨識模型,計算第一前饋補償量。
可選的,所述理論舵角計算模塊,具體用于:
根據(jù)所述第一前饋補償量和所述第二前饋補償量,采用理論舵角計算方法,計算修正后的理論舵角。
由以上技術(shù)方案可知,本發(fā)明通過正向辨識模型,能夠獲得辨識航向角;并根據(jù)所述逆向辨識模型,能夠計算獲得第一前饋補償量;根據(jù)魯棒控制器,能夠獲得第二前饋補償量;最后根據(jù)所述第一前饋補償量和所述第二前饋補償量,能夠計算出修正后的理論舵角。通過對所述第一前饋補償量和所述第二前饋補償量進行計算,能夠?qū)崿F(xiàn)對所述實際舵角的修正,進而能夠在船舶航向過程中獲得更加精確的舵角,利用精確的舵角控制船舶,能夠提高控制精度,同時,通過采用魯棒控制器,能夠使船舶具有良好的魯棒性。
本發(fā)明提供的一種船舶航向復合控制裝置,與上述船舶航向復合控制方法出于相同的發(fā)明構(gòu)思,具有相同的有益效果。
附圖說明
為了更清楚地說明本發(fā)明具體實施方式或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對具體實施方式或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹。在所有附圖中,類似的元件或部分一般由類似的附圖標記標識。附圖中,各元件或部分并不一定按照實際的比例繪制。
圖1示出了本發(fā)明第一實施例提供一種船舶航向復合控制方法的流程圖;
圖2示出了本發(fā)明第一實施例提供一種船舶航向復合控制方法的原理圖;
圖3示出了本發(fā)明第一實施例提供正向辨識模型的原理圖;
圖4示出了本發(fā)明第一實施例提供逆向辨識模型的原理圖;
圖5示出了本發(fā)明第二實施例提供一種船舶航向復合控制裝置的示意圖。
具體實施方式
下面將結(jié)合附圖對本發(fā)明技術(shù)方案的實施例進行詳細的描述。以下實施例僅用于更加清楚地說明本發(fā)明的技術(shù)方案,因此只是作為示例,而不能以此來限制本發(fā)明的保護范圍。
需要注意的是,除非另有說明,本申請使用的技術(shù)術(shù)語或者科學術(shù)語應(yīng)當為本發(fā)明所屬領(lǐng)域技術(shù)人員所理解的通常意義。
本發(fā)明提供了一種船舶航向復合控制方法及裝置。下面結(jié)合附圖對本發(fā)明的實施例進行說明。
圖1示出了本發(fā)明第一實施例所提供的一種船舶航向復合控制方法的流程圖。如圖1所示,本發(fā)明第一實施例提供的一種船舶航向復合控制方法包括以下步驟:
步驟s101:檢測船舶航向的實際航向角和實際舵角。
步驟s102:根據(jù)所述實際航向角,基于訓練的正向辨識模型,獲得辨識航向角。
步驟s103:根據(jù)所述辨識航向角、所述實際航向角、所述實際舵角和預設(shè)航向角,基于訓練的逆向辨識模型,計算第一前饋補償量。
步驟s104:根據(jù)所述預設(shè)航向角和所述實際航向角,基于魯棒控制器,計算第二前饋補償量。
步驟s105:根據(jù)所述第一前饋補償量和所述第二前饋補償量,計算修正后的理論舵角。
本發(fā)明通過正向辨識模型,能夠獲得辨識航向角;并根據(jù)所述逆向辨識模型,能夠計算獲得第一前饋補償量;根據(jù)魯棒控制器,能夠獲得第二前饋補償量;最后根據(jù)所述第一前饋補償量和所述第二前饋補償量,能夠計算出修正后的理論舵角。通過對所述第一前饋補償量和所述第二前饋補償量進行計算,能夠?qū)崿F(xiàn)對所述實際舵角的修正,進而能夠在船舶航向過程中獲得更加精確的舵角,利用精確的舵角控制船舶,能夠提高控制精度,同時,通過采用魯棒控制器,能夠使船舶具有良好的魯棒性。
在步驟s101中,可以利用航向檢測裝置來檢測所述船舶的實際航向角和實際舵角。
在步驟s102之前,還可以包括:獲取樣本數(shù)據(jù);根據(jù)所述樣本數(shù)據(jù),采用最小二乘支持向量機算法,訓練正向辨識模型。
其中,所述樣本數(shù)據(jù)可以是存儲的不同時刻所述船舶的實際航向角和理論舵角,也可以是當前所述船舶的實際航向角和理論舵角。
通過采用最小二乘支持向量機算法訓練正向辨識模型,能夠得到更加精確、更加簡單的模型,可以提高模型精度,同時,能夠提高在線運算速度。
在采用最小二乘支持向量機算法訓練正向辨識模型時,可以采用核函數(shù)解決維數(shù)問題,可以采用二次規(guī)劃方法尋找最優(yōu)解。采用這種結(jié)構(gòu)風險最小化原則,能夠使所述模型具有廣闊的范化能力。
例如,如圖3所示,選取k時刻到k+1,…k+l-1時刻的樣本數(shù)據(jù),樣本數(shù)據(jù)為:{(x1,ψ1),…(xl,ψl)},其中,x1,x2,…xl為k時刻到k+1,…k+l-1時刻的輸入向量,所述輸入向量為:
x1t=[ψc(k),ψc(k-1),...ψc(k-n+1),δc(k-1),δc(k-2)...δc(k-m+1)]
x2t=[ψc(k+1),ψc(k),...ψc(k-n+2),δc(k),δc(k-1)...δc(k-m+2)]
......
xlt=[ψc(k+l-1),ψc(k+l-2),...ψc(k-n+l),δc(k+l-2),...δc(k+l-m)]
其中,核函數(shù)取徑向基函數(shù):h(x,xk)=exp(-||x-xk||2/σ2),對于新的輸入向量數(shù)據(jù)xk,計算得到辨識航向角:
在本發(fā)明提供的一個具體實施例中,在所述獲取樣本數(shù)據(jù)的步驟之后,在所述根據(jù)所述辨識航向角、所述實際航向角、所述實際舵角和預設(shè)航向角,基于訓練的逆向辨識模型,計算第一前饋補償量的步驟之前,還包括:
根據(jù)所述樣本數(shù)據(jù),采用最小二乘支持向量機算法,基于二次規(guī)劃方法,訓練逆向辨識模型。
在本步驟中,在訓練逆向辨識模型時,訓練數(shù)據(jù)可以是之前的樣本數(shù)據(jù)相同,也可以不是之前的樣本數(shù)據(jù),都在本發(fā)明的保護范圍內(nèi)。
在本發(fā)明提供的一個具體實施例中,所述根據(jù)所述辨識航向角、所述實際航向角、所述實際舵角和預設(shè)航向角,基于訓練的逆向辨識模型,計算第一前饋補償量,包括:根據(jù)所述辨識航向角和所述實際航向角,計算航向角調(diào)節(jié)量;根據(jù)所述航向角調(diào)節(jié)量、所述實際舵角和預設(shè)航向角,基于訓練的逆向辨識模型,計算第一前饋補償量。
其中,所述航向角調(diào)節(jié)量為辨識航向角與所述實際航向角的差值。
在逆向辨識模型建立好后,可以采用自適應(yīng)粒子群算法自動選取懲罰因子和不敏感損失系數(shù),這樣,能夠提高逆向辨識模型的辨識精度。
其中,懲罰因子是指對誤差的容許程度,懲罰因子越高,說明越不能容許誤差的出現(xiàn)。懲罰因子的作用是在特征空間中控制回歸曲線的平滑度和經(jīng)驗風險的折中。不敏感損失系數(shù),不敏感損失函數(shù)的大小決定了支持向量個數(shù),不敏感損失函數(shù)越大,支持向量的個數(shù)越少,估計的精度越低。不敏感損失函數(shù)越小,支持向量的個數(shù)越多,函數(shù)估計的精度越高,但不是越小越好,雖然可以提高精度,但算法所需的時間變長,所以必須選擇合適的不敏感損失系數(shù)。
在本步驟中,在訓練逆向辨識模型時,如圖4所示,樣本數(shù)據(jù)為:k時刻到k+1,…k+l-1時刻的航向角和舵角,其中,所述航向角為:ψc(k),ψ(k-1),…ψ(k-n+1),所述舵角為:δc(k-1),δc(k-2),…δc(k-m+1),采用最小二乘法支持向量機算法,基于二次規(guī)劃方法,訓練逆向辨識模型,當所述逆向辨識模型的輸入值確定時,所述逆向辨識模型可以給出基于所述輸入值的第一前饋補償量的模型,進而,再根據(jù)自適應(yīng)粒子群算法選取相應(yīng)的αi,γi,b系數(shù)值。
例如,所述輸入值為xk+1時,所述第一前饋補償量為:
從圖2可以看出,本發(fā)明的輸入為實際航向角,輸出為理論舵角。所述逆向辨識模型的樣本數(shù)據(jù)可以是船舶的實際航向角和理論舵角,也可以是之間存儲的實際航向角和理論舵角數(shù)據(jù)。所述逆向辨識模型通過對本發(fā)明的輸入和輸出數(shù)據(jù)的學習,使所述逆向辨識模型逐漸逼近動力學特性逆模型,即輸出為舵角,輸入為航向角,從而能夠構(gòu)成一個前饋補償控制器,即逆向辨識模型,這樣,能夠提高船舶航向控制精度。
在本發(fā)明提供的一個具體實施例中,所述根據(jù)所述第一前饋補償量和所述第二前饋補償量,計算修正后的理論舵角,包括:根據(jù)所述第一前饋補償量和所述第二前饋補償量,采用理論舵角計算方法,計算修正后的理論舵角。
在根據(jù)所述預設(shè)航向角和所述實際航向角,基于魯棒控制器,計算第二前饋補償量的步驟中,所述魯棒控制器的輸入為航向角控制誤差,輸出為第二控制補償器。
其中,所述魯棒控制器可以采用線性矩陣不等式設(shè)計了h∞魯棒控制器。
所述航向角控制誤差為所述預設(shè)航向角與所述實際航向角的差值,即:δψr(k)=ψr(k)-ψc(k)
其中,ψc(k)為實際航向角,ψr(k)為預設(shè)航向角。
所述理論舵角計算方法為:
δc(k)=βδs(k)+(1-β)δr(k)
其中,所述δs(k)為第一前饋補償量,所述δr(k)為第二前饋補償量,所述β為自適應(yīng)魯棒因子。
其中,所述自適應(yīng)魯棒因子是正向辨識模型的辨識精度,所述自適應(yīng)魯棒因子的取值隨正向辨識模型的辨識精度提高而增大,所述自適應(yīng)魯棒因子的取值范圍為:[0,1]。所述自適應(yīng)魯棒因子能夠起到調(diào)節(jié)逆向辨識模型的補償強度的作用。
本發(fā)明針對大型船舶航行時航向控制系統(tǒng)表現(xiàn)出的非線性、不確定性和響應(yīng)遲鈍性等特點,提出了采用支持向量機的逆向辨識模型和h∞魯棒控制器構(gòu)成的船舶航向自適應(yīng)變因子權(quán)重復合控制器。采用在線固定尺度記憶增量最小二乘支持向量機算法和二次規(guī)劃熵判據(jù)優(yōu)化選擇數(shù)據(jù)集,提高了在線運算速度。在支持向量機參數(shù)選擇方面,利用全局優(yōu)化能力強的自適應(yīng)粒子群算法和獲得的數(shù)據(jù),自動地為支持向量機優(yōu)化選取懲罰因子,不敏感損失系數(shù)等參數(shù),可獲得較精確的系統(tǒng)辨識模型。通過利用支持向量機良好的非線性映射能力,自學習能力和信息并行處理能力,構(gòu)造了船舶艏搖運動學動力學正向辨識模型和逆向辨識模型,并與閉環(huán)h∞魯棒控制器及自適應(yīng)魯棒因子結(jié)合,構(gòu)成自適應(yīng)魯棒最小二乘支持向量機復合控制器,使得船舶航向控制精度高,操縱平穩(wěn),且具有良好的魯棒性。
本發(fā)明可以自動調(diào)整補償強度,并且仿真結(jié)果驗證了本發(fā)明能夠有效提高船舶航向控制精度和魯棒性。
在上述的第一實施例中,提供了一種船舶航向復合控制方法,與之相對應(yīng)的,本申請還提供一種船舶航向復合控制裝置。請參考圖5,其為本發(fā)明第二實施例提供的一種船舶航向復合控制裝置的示意圖。由于裝置實施例基本相似于方法實施例,所以描述得比較簡單,相關(guān)之處參見方法實施例的部分說明即可。下述描述的裝置實施例僅僅是示意性的。
本發(fā)明第二實施例提供的一種船舶航向復合控制裝置,包括:
檢測模塊101,用于檢測船舶航向的實際航向角和實際舵角;
辨識模塊102,用于根據(jù)所述實際航向角,基于訓練的正向辨識模型,獲得辨識航向角;
第一前饋補償量計算模塊103,用于根據(jù)所述辨識航向角、所述實際航向角、所述實際舵角和預設(shè)航向角,基于訓練的逆向辨識模型,計算第一前饋補償量;
第二前饋補償量計算模塊104,用于根據(jù)所述預設(shè)航向角和所述實際航向角,基于魯棒控制器,計算第二前饋補償量;
理論舵角計算模塊105,用于根據(jù)所述第一前饋補償量和所述第二前饋補償量,計算修正后的理論舵角。
在本發(fā)明提供的一個具體實施例中,所述裝置,還包括:
數(shù)據(jù)獲取模塊,用于獲取樣本數(shù)據(jù);
正向訓練模塊,用于根據(jù)所述樣本數(shù)據(jù),采用最小二乘支持向量機算法,訓練正向辨識模型。
在本發(fā)明提供的一個具體實施例中,所述裝置,還包括:
逆向訓練模塊,用于根據(jù)所述樣本數(shù)據(jù),采用最小二乘支持向量機算法,基于二次規(guī)劃方法,訓練逆向辨識模型。
在本發(fā)明提供的一個具體實施例中,所述第一前饋補償量計算模塊103,包括:
航向角調(diào)解量計算單元,用于根據(jù)所述辨識航向角和所述實際航向角,計算航向角調(diào)節(jié)量;
第一前饋補償量計算單元,用于根據(jù)所述航向角調(diào)節(jié)量、所述實際舵角和預設(shè)航向角,基于訓練的逆向辨識模型,計算第一前饋補償量。
在本發(fā)明提供的一個具體實施例中,所述理論舵角計算模塊105,具體用于:
根據(jù)所述第一前饋補償量和所述第二前饋補償量,采用理論舵角計算方法,計算修正后的理論舵角。
以上,為本發(fā)明第二實施例提供的一種船舶航向復合控制裝置的實施例說明。
本發(fā)明提供的一種船舶航向復合控制裝置與上述一種船舶航向復合控制方法出于相同的發(fā)明構(gòu)思,具有相同的有益效果,此處不再贅述。
最后應(yīng)說明的是:以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求和說明書的范圍當中。