本發(fā)明涉及的是一種船舶動(dòng)力定位系統(tǒng)的推力分配方法,特別是一種采用人工魚(yú)群算法的船舶動(dòng)力定位系統(tǒng)推力分配方法。
背景技術(shù):
隨著人類對(duì)海洋開(kāi)發(fā)的深入和海域的擴(kuò)展,錨泊系統(tǒng)已經(jīng)不能滿足深海水域定位作業(yè)的要求,而船舶動(dòng)力定位系統(tǒng)卻能很好地解決這一問(wèn)題。過(guò)去,船舶在海上作業(yè)時(shí),如果要求其保持作業(yè)地點(diǎn)固定不變,人們通常采用錨泊系統(tǒng)實(shí)現(xiàn)定位。但是隨著水深的增加,或作業(yè)地點(diǎn)水下情況復(fù)雜不允許拋錨時(shí),錨泊系統(tǒng)就很難完成其保持船位的任務(wù),所以動(dòng)力定位系統(tǒng)對(duì)于海洋工程裝備領(lǐng)域來(lái)說(shuō),已成為十分重要的系統(tǒng)。
動(dòng)力定位系統(tǒng)的推力分配是根據(jù)控制系統(tǒng)計(jì)算出來(lái)為實(shí)現(xiàn)動(dòng)力定位而需要的推力和轉(zhuǎn)艏力矩,對(duì)船上各推進(jìn)器的推力大小和方向進(jìn)行合理分配,從而使各推進(jìn)器共同作用產(chǎn)生滿足船舶控制所需的合力和力矩,以滿足船舶定位的需要。
由于冗余要求,裝有動(dòng)力定位系統(tǒng)的船舶一般裝有多個(gè)推進(jìn)器,因此推進(jìn)器分配單元存在多個(gè)解都能滿足控制器指令。在考慮功率消耗和船舶的操縱性以及推進(jìn)器的磨損和噪聲前提下,可將推力分配問(wèn)題歸結(jié)為最優(yōu)化問(wèn)題。
公開(kāi)號(hào)為CN102508431A,名稱為“一種海洋鉆井平臺(tái)動(dòng)力定位系統(tǒng)推力分配方法”;公開(kāi)號(hào)為CN103092077A,名稱為“動(dòng)力定位系統(tǒng)的推力分配方法”的專利文件中,運(yùn)用粒子群算法和序列二次規(guī)劃方法對(duì)動(dòng)力定位系統(tǒng)推力分配優(yōu)化。
智能優(yōu)化算法是近年來(lái)國(guó)內(nèi)外優(yōu)化領(lǐng)域和工程界研究的熱點(diǎn),其中人工魚(yú)群算法是一種基于模擬魚(yú)群行為的優(yōu)化算法,在人工魚(yú)群算法中,主要是利用了魚(yú)群的覓食、聚群和追尾行為,從構(gòu)造一條魚(yú)的底層行為做起,通過(guò)魚(yú)群中各個(gè)個(gè)體的局部尋優(yōu),達(dá)到全局最優(yōu)值在群體中凸顯出來(lái)的目的,該算法具有良好的克服局部極值,取得全局極值的能力。并且算法中只使用目標(biāo)函數(shù)的函數(shù)值,無(wú)需目標(biāo)函數(shù)的梯度值等特殊信息,對(duì)搜索空間具有一定的自適應(yīng)能力,算法對(duì)初值無(wú)要求,對(duì)各參數(shù)的選擇也不很敏感。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明目的在于提供一種能降低能量的消耗、減少推進(jìn)器的磨損和避免奇異結(jié)構(gòu),提高動(dòng)力定位系統(tǒng)性能的基于人工魚(yú)群算法的船舶動(dòng)力定位系統(tǒng)推力分配方法。
本發(fā)明的目的是這樣實(shí)現(xiàn)的:
步驟1.建立動(dòng)力定位系統(tǒng)的推力分配模型,令參與推力分配的輸入量τ=[τx,τy,τz],則
τ=B(α)u
其中u=[u1,u2,…,u5],
τx、τy、τz分別為輸入的縱向、橫向和艏搖方向的力和力矩;u為5個(gè)推進(jìn)器輸出的推力矢量;αi為第i個(gè)推進(jìn)器旋轉(zhuǎn)方位角,lxi、lyi分別為第i個(gè)推進(jìn)器與船舶旋轉(zhuǎn)中心的縱向、橫向距離,B(α)是對(duì)應(yīng)的矩陣;
步驟2.初始化魚(yú)群:初始化人工魚(yú)群參數(shù),所述參數(shù)包括:人工魚(yú)群規(guī)模M、每條人工魚(yú)的初始位置、視野Visual和步長(zhǎng)Step、擁擠度因子δ、最大重復(fù)嘗試次數(shù)try_number、最大迭代次數(shù);
步驟3.將步驟1和步驟2得到的信息讀入人工魚(yú)群算法中;
步驟4.更新算法的迭代次數(shù);
步驟5.每條人工魚(yú)分別執(zhí)行兩種行為:第一種行為,每條人工魚(yú)執(zhí)行聚群行為,缺省行為是覓食行為;第二種行為,每條人工魚(yú)執(zhí)行追尾行為,缺省行為是覓食行為;
步驟6.計(jì)算每個(gè)人工魚(yú)個(gè)體的適應(yīng)度值:建立推力分配數(shù)學(xué)模型,其中目標(biāo)函數(shù)為:
其中,第一項(xiàng)STQS懲罰項(xiàng)指在橫向、縱向合力及回轉(zhuǎn)力矩與控制器指令之間誤差S,對(duì)于權(quán)值矩陣Q保證無(wú)論何時(shí)都滿足S≈0;第二項(xiàng)是總的能量消耗;第三項(xiàng)用于約束方位角的變化速率,其中權(quán)值矩陣Ω>0;第四項(xiàng)用于避免奇異結(jié)構(gòu),其中ε>0,ρ>0是權(quán)值系數(shù),
滿足以下的約束條件:
約束條件中第一項(xiàng)用于懲罰推力誤差,其中S=[Sx,Sy,Sz]分別為三個(gè)方向的推力誤差;第二項(xiàng)是限制推進(jìn)器的推力大小范圍,u代表推進(jìn)器輸出的力的大小,其中umin為推進(jìn)器輸出的最小推力,umax為推進(jìn)器輸出的最大推力;第三項(xiàng)是限制推進(jìn)器旋轉(zhuǎn)方位角的大小范圍,α代表推進(jìn)器旋轉(zhuǎn)的方位角,其中αmin為最小方位角,αmax為最大方位角;第四項(xiàng)是約束推進(jìn)器的推力變化率,u0表示推進(jìn)器上一時(shí)刻的推力,其中Δumin為當(dāng)前采樣時(shí)刻推力變化的最小變化值,Δumax為當(dāng)前采樣時(shí)刻推力變化的最大變化值;第五項(xiàng)是約束推進(jìn)器的旋轉(zhuǎn)方位角的變化率,α0表示推進(jìn)器上一時(shí)刻的方位角,其中Δαmin為當(dāng)前采樣時(shí)刻的方位角變化的最小變化值,Δαmax為當(dāng)前采樣時(shí)刻的方位角的最大變化值;第六項(xiàng)是為了避免方位角陷入推力禁區(qū),αl為推進(jìn)器方位角禁區(qū)的下限角度,αu為推進(jìn)器方位角禁區(qū)的上限角度;
步驟7.分別對(duì)每條人工魚(yú)比較兩種行為的結(jié)果,執(zhí)行適應(yīng)度值更好的行為;
步驟8.將人工魚(yú)的適應(yīng)度值與公告板進(jìn)行比較,以適應(yīng)度值好的人工魚(yú)更新公告板;
步驟9.重復(fù)步驟4到步驟8的過(guò)程,即對(duì)可能的優(yōu)化分配方案進(jìn)行搜索,達(dá)到預(yù)定的最大迭代次數(shù),結(jié)束算法;
步驟10.輸出人工魚(yú)群算法尋找到的最優(yōu)分配方案,即每個(gè)推進(jìn)器產(chǎn)生的推力大小和方向。
本針對(duì)現(xiàn)有技術(shù)存在的缺陷,在考慮海洋工程作業(yè)船縱蕩、橫蕩和艏搖三個(gè)自由度的運(yùn)動(dòng)基礎(chǔ)上,提出了一種基于人工魚(yú)群算法的船舶動(dòng)力定位系統(tǒng)推力分配方法,使其降低能量的消耗、減少推進(jìn)器的磨損和避免奇異結(jié)構(gòu),提高動(dòng)力定位系統(tǒng)的性能
本發(fā)明的主要技術(shù)手段是:輸入?yún)⑴c推力分配的縱蕩、橫蕩和艏搖的力和力矩;設(shè)定每個(gè)推進(jìn)器推力的大小、推力變化率、推進(jìn)器方位角禁區(qū)的范圍和推進(jìn)器方位角變化率;根據(jù)船舶所受的合力,要求所有的推進(jìn)器產(chǎn)生的合力和合力矩與參與推力分配的輸入指令相等;建立推力分配數(shù)學(xué)模型,并應(yīng)用人工魚(yú)群算法解決推力分配的優(yōu)化問(wèn)題。
本發(fā)明的有益效果表現(xiàn)如下:
1.本發(fā)明結(jié)合了推力分配的特點(diǎn),將人工魚(yú)群算法應(yīng)用于推力分配尋優(yōu)的過(guò)程中,能夠有效地將縱蕩、橫蕩和艏搖三個(gè)自由度的推力指令分配到各個(gè)推進(jìn)器上,各個(gè)推進(jìn)器推力變化平穩(wěn),而且推進(jìn)器方位角沒(méi)有進(jìn)入推進(jìn)器間禁區(qū),能夠有效地避免奇異結(jié)構(gòu)的發(fā)生;
2.本發(fā)明對(duì)推力分配的目標(biāo)函數(shù)的性質(zhì)要求不高,尋優(yōu)速度快,具備全局尋優(yōu)的能力,可以很好地解決推力分配問(wèn)題。
附圖說(shuō)明
圖1為動(dòng)力定位系統(tǒng)結(jié)構(gòu)圖。
圖2為船舶推進(jìn)器布置示意圖。
圖3為本發(fā)明推力分配算法流程圖。
具體實(shí)施方式
下面結(jié)合附圖舉例對(duì)本發(fā)明作進(jìn)一步描述。
圖1是船舶動(dòng)力定位系統(tǒng)結(jié)構(gòu)圖,主要由測(cè)量系統(tǒng)、控制器和推力分配單元組成,由測(cè)量系統(tǒng)測(cè)得當(dāng)前船舶的位置和艏向,并與設(shè)定值進(jìn)行比較計(jì)算,然后將測(cè)得的位置和艏向的數(shù)據(jù)進(jìn)行信號(hào)處理和數(shù)據(jù)融合,再把濾波后的位置和艏向角的偏差e(t)輸入到控制器,控制器通過(guò)運(yùn)算產(chǎn)生控制指令,經(jīng)過(guò)推力分配單元進(jìn)行推力分配后,傳輸?shù)綀?zhí)行機(jī)構(gòu)推進(jìn)器,推進(jìn)器產(chǎn)生相應(yīng)的力和力矩來(lái)抵抗外界環(huán)境產(chǎn)生的力和力矩,以保持作業(yè)船在要求的位置和艏向上。本發(fā)明中主要研究推力分配優(yōu)化問(wèn)題,將控制指令轉(zhuǎn)換為傳送到推進(jìn)器的推力指令。
圖2為船舶推進(jìn)器布置示意圖,其中1#-5#為推進(jìn)器編號(hào)。
圖3為基于人工魚(yú)群算法的船舶動(dòng)力定位系統(tǒng)推力分配方法的流程圖,包括以下步驟:
步驟1.建立動(dòng)力定位系統(tǒng)的推力分配模型,令參與推力分配的輸入量τ=[τx,τy,τz],則
τ=B(α)u
其中u=[u1,u2,…,u5],
推進(jìn)器的推力大小和方向ui,αi為待求解,模擬的推力指令τ為已知量,按照?qǐng)D2所示的船舶推進(jìn)器布置示意圖,本發(fā)明中的推進(jìn)器的坐標(biāo)(lxi,lyi)分別為(54.5,0);(50.6,0);(33.0,0);(-59.2,-4.2);(-59.2,4.2);
步驟2.初始化魚(yú)群:人工魚(yú)群規(guī)模M=50,每條人工魚(yú)的初始位置為(0,0),視野Visual=2.5和步長(zhǎng)Step=0.3、擁擠度因子δ=0.618、最大重復(fù)嘗試次數(shù)try_number=10、最大迭代次數(shù)為200次等參數(shù);
步驟3.將步驟1和步驟2中所述的信息讀入人工魚(yú)群算法中;
步驟4.更新算法的迭代次數(shù);
步驟5.每條人工魚(yú)分別執(zhí)行兩種行為:(1)每條人工魚(yú)執(zhí)行聚群行為,缺省行為是覓食行為;(2)每條人工魚(yú)執(zhí)行追尾行為,缺省行為是覓食行為;
步驟6.計(jì)算每個(gè)人工魚(yú)個(gè)體的適應(yīng)度值:推力分配優(yōu)化的目標(biāo)函數(shù)是推進(jìn)器的能耗、推進(jìn)器的磨損、推力誤差最小,以及避免奇異結(jié)構(gòu)。根據(jù)以上的考慮,建立如下的推力分配數(shù)學(xué)模型,其中目標(biāo)函數(shù)為:
其中,第一項(xiàng)STQS懲罰項(xiàng)指在橫向、縱向合力及回轉(zhuǎn)力矩與控制器指令之間誤差S。此懲罰項(xiàng)的主要意義是確保推進(jìn)器產(chǎn)生的合力能抵消環(huán)境因素作用在船上的外界力,所以,對(duì)于權(quán)值矩陣Q,對(duì)角線上的值應(yīng)該取得足夠大,保證無(wú)論何時(shí)都滿足S≈0。第二項(xiàng)是總的能量消耗。第三項(xiàng)用于約束方位角的變化速率,是為了減小推進(jìn)器的磨損,其中權(quán)值矩陣Ω>0。第四項(xiàng)用于避免奇異結(jié)構(gòu),其中ε>0是為了防止分母出現(xiàn)零的情況,ρ>0是權(quán)值系數(shù),可以在操作性和能耗方面進(jìn)行調(diào)節(jié)。
滿足以下的約束條件:
目標(biāo)函數(shù)的要求是最小化燃油的消耗和減小推力誤差,其中S=[Sx,Sy,Sz]分別為三個(gè)方向的推力誤差,為5個(gè)推進(jìn)器的能量消耗之和;Q、Ω為單位矩陣;1#、2#推進(jìn)器為槽道推進(jìn)器,3#、4#、5#推進(jìn)器為全回轉(zhuǎn)推進(jìn)器;推進(jìn)器輸出的最小推力u1min=u2min=0kN,u3min=u4min=u5min=0kN,推進(jìn)器輸出的最大推力u1max=u2max=350kN,u3max=u4max=u5max=600kN;1#和2#推進(jìn)器的方位角固定為90°,即α1=α2=90°,3#、4#和5#推進(jìn)器旋轉(zhuǎn)最大方位角α3max=α4max=α5max=360°,最小方位角α3min=α4min=α5min=0°;推進(jìn)器當(dāng)前采樣時(shí)刻推力變化的最小變化值Δu1min=Δu2min=0kN,Δu3min=Δu4min=Δu5min=0kN,最大變化值Δu1max=Δu2max=5.83kN,Δu3max=Δu4max=Δu5max=10kN;推進(jìn)器當(dāng)前采樣時(shí)刻的方位角變化的最小變化值Δα3min=Δα4min=Δα5min=0°,最大變化值Δα3max=Δα4max=Δα5max=6°;3#推進(jìn)器方位角禁區(qū)范圍α3∈(160,180)∪(180,200),4#推進(jìn)器方位角禁區(qū)上限αu=-60°,下限αl=-120°,5#推進(jìn)器方位角禁區(qū)上限αu=120°,下限αl=60°;
步驟7.分別對(duì)每條人工魚(yú)比較兩種行為的結(jié)果,執(zhí)行適應(yīng)度值更好的行為;
步驟8.將人工魚(yú)的適應(yīng)度值與公告板進(jìn)行比較,以適應(yīng)度值好的人工魚(yú)更新公告板;
步驟9.重復(fù)步驟4到步驟8的過(guò)程,即對(duì)可能的優(yōu)化分配方案進(jìn)行搜索,達(dá)到預(yù)定的最大迭代次數(shù),結(jié)束算法;
步驟10.輸出人工魚(yú)群算法尋找到的最優(yōu)分配方案,即每個(gè)推進(jìn)器產(chǎn)生的推力大小和方向。