朱 艷,李建禎
(江蘇科技大學 電子信息學院,江蘇 鎮江 212003)
隨著社會的進步和科技的發展以及地球能源危機的加劇,人類逐漸放眼于對海洋資源的開發和利用[1],因此DPS得到了廣泛的研究與應用。日益增多的船舶海洋工程對設備本身的操縱和定位有著越來越高的要求,傳統的錨泊定位已無法滿足需要,定位精準、機動性強的DPS則日益受到青睞。DPS是一種閉環控制系統,它適用性強,有著不受水深限制的優點,而推力分配又是其中關鍵技術之一,它的作用是提供控制系統所需要的推力,滿足定位的需要。推力分配的優化,不但能更好地提升DPS的相關性能,還能在減小誤差、降低油耗和減少設備磨損等方面發揮積極的作用。國外學者在推力分配問題研究方面已經有了諸多進步,1984年Morgan提出針對可轉向推力器的分配邏輯。1998年Johan Wichers提出分組法來進行推力分配;1996年O.J.Sordalen提出利用奇異值分解和濾波的法來進行推力分配。William C.Webster提出線性規劃方法。2002年C.CLiang設計出了一套序列二次規劃(SQP)優化控制算法。2004年T.A.Johansen應用SQP方法在推進器推力等約束條件達到了優化推進系統能耗的目的,同時考慮了有效避免系統奇異值的方法。國內的動力定位技術研究仍處于理論研究或實驗研究階段。2009年哈爾濱工業大學劉曰強提出了基于遺傳算法的推力分配策略。2013年王欽若提出了一種以帶權重的偽逆算法解決推力分配問題的方法[2]。
解決推力分配問題的方法多種多樣,但仍存在不足。SQP方法在求解分配問題方面,存在計算量大、局部收斂、魯棒性不強等缺陷;遺傳算法在編程實現方面比較復雜,對初始種群的選擇有一定的依賴性。 文中采用自適應混沌粒子群優化算法,該算法參數少、不依賴初始值、魯棒性強、整個群體有良好的自組織性,有較高的收斂速度和精度[3]。仿真有效地避免早熟收斂問題,得到更好的尋優結果。
本文剩余部分結構如下:第二部分內容為自適應混沌粒子群優化算法,主要闡述該算法的基本原理。第三部分主要闡述推力分配數學模型,建立優化數學模型。第四部分主要闡述實驗仿真流程,參數設置和仿真結果。最后,分析結果并對本文中的實驗研究進行總結。
PSO算法中每個粒子就是解空間中的一個解,它根據自己的飛行經驗和同伴的飛行經驗來調整自己的飛行。每個粒子在飛行過程所經歷過的最好位置,就是粒子本身找到的最優解。整個群體所經歷過的最好位置,就是整個群體目前找到的最優解。前者叫做個體極值(pBest),后者叫做全局極值(gBest)[4]。另外也可以不用整個種群而只是用其中一部分為粒子的鄰居,那么在所有鄰居中的極值就是局部極值[3]。實際操作中通過由優化問題所決定的適應度值(fitness value),來評價粒子的“好壞”程度。每個粒子都通過上述兩個極值不斷更新自己,從而產生新一代群體。標準PSO算法的進化方程如下[5]:
其中,t為當前的進化代數;Vid(t)是粒子的速度向量;Xid(t)是當前例子的位置;c0為引入慣性權重,其大小決定了粒子對當前速度繼承的多少;c1、c2為學習因子,一般取值為2;r1、r2為分布于[0,1]范圍內的隨機數;pid(t)為個體極值;pgd(t)為全局極值。迭代中止的條件一般設為達到最大迭代次數或算法搜索到滿足精度要求的最優解[5]。ωmax、ωmin分別為最大和最小慣性系數;Tmax為最大迭代次數。目前,式(1)~(3)稱為標準粒子群算法(sPSO)。
ACPSO使用混沌搜索方式,因為混沌系統具有特殊的運動規律,主要表現為隨機性、規律性和遍歷性。混沌粒子群(CPSO)算法的核心思想是:運行PSO算法的基本操作,當粒子陷入早熟收斂狀態時進行混沌搜索,引導粒子快速跳出局部最優,避免陷入早熟收斂。本文用到的混沌方程是Logistic方程,它是典型的混沌系統,其表達式為[6]:
其中,μ 為控制參量,當 μ=4時,0≤L0≤1,系統處于完全混沌狀態。當算法出現早熟收斂時,位置變量按下式更新[6]:
其中Lj+1為混沌變量,由式(4)確定。
為了增強算法在全局和局部搜索之間的平衡,采用了慣性權重更新公式[4]:
其中,τ的取值由經驗決定,一般τ∈[20,55],在算法初期使用較大的慣性權重,具有較強的全局搜索能力;而后期使用較小的慣性權重,提高局部發掘能力[7]。
設粒子群的粒子數目為N,fk為第個粒子的適應度,favg為粒子群目前的平均適應度,σ為粒子群的群體適應度方差,則 σ2可以定義為[6]:
群體適應度方差σ2反應的是所有粒子的“收斂”程度,σ2越小,粒子群趨于收斂;反之,粒子群處于隨機搜索階段。f取值采用如下公式[6]:
ACPSO算法可以較好地解決復雜函數的優化問題,收斂精度和搜索速度比標準PSO算法及一些改進的PSO算法有較大提高[7]。
推力分配的目標是找出在多個推力和角度的組合中最有效率且最低功耗的那一個組合。研究中考慮橫蕩、縱蕩、艏搖三個自由度。對船舶進行受力分析可得方程如下[8]:
其中,Fx、Fx為船舶在水平方向上縱蕩和橫蕩方向推力指令;Mz為平臺的艏搖彎矩指令;設 (ux,uy)T為推進器產生推力,其中作為推力分配輸入是來自動力定位系統控制器的控制指令[8]。則受力方程為:
本文中推力分配問題的目標函數為:
本文中的等式約束條件為:s.t.Bu=τ+s,其中
推力區域如圖3所示,可以將這個扇形近似分解成無數多個多邊形,如圖1所示,由此可以得到推力區域的不等式約束條件,設一條線段的兩個端點坐標分別為(x1,y1)和(x2,y2),則直線方程為:
選定凸多邊形的順時針方向,每個推進器/舵的組合對應的推力區域為:
式中
不等式約束條件,即推力區域的限制:Au≤b。下文中的推力分配測試和仿真都是基于此數學模型。
圖1 推力區域建立Fig.1 Creating thrust region
舵槳的推力區域是扇形的,當推力為負時,舵不能作用,所以推力是沿著軸負半軸的直線。因為沒有橫蕩力就不能產生縱蕩力,所以推力區域是非凸的,如圖2所示。YK,0是上一時刻某推進器推力分配在Y方向輸出值,通過改變系數ε(ε>0)來限制下一時刻在Y方向取值,所以要控制舵角的變化,僅僅限制橫蕩力的變化是不夠的,還要限制舵的角速度變化,因此,還要以下限制條件[8]:
圖2 推進器位置分布Fig.2 Thrusters layout
螺旋槳推進器是以槳葉撥動水流,利用水流產生的反作用力推動船舶前進。推進器的性能由其水動力特性決定。錨泊系統的造價隨水深的增加而升高,與此相反,螺旋槳系統的造價則與水深無關。本文中使用的便是舵槳推進裝置。模型用的是調速螺旋槳,槳舵組合的升力、阻力和舵角、轉速的關系如下:
其中T是推力,L是舵的升力,D是舵的阻力,ω是螺旋槳的角速度,δ是舵角。槳舵組合的縱蕩力和橫蕩力如下給出:
本文研究對象是新“海虎”號自航耙吸式挖泥船。如圖3所示,船上裝有兩個側推和兩個槳舵組合共4個推進裝置,它們的坐標(lxi,lyi)分別為:(50.65,0),(48.55,0),(-57.5,5.2),(-57.5,-5.2),其中lxi,lyi為第i個推進器的分別在X軸和 Y軸上的位置坐標。目標函數中的權值系數分別為:
W=diga(10,0,10,0,10),H=diga(1,1,1,1,5),Q=diga(103,103,104)4個推進器的推力大小ui,i=1,2,3,4及方位角θi,i=1,2,3,4是方程組的變量,所以本算法中維數D=8。種群的規模即群體個體數目N=1000。迭代次數MaxDT表示在空間中搜索的次數MaxDT=1000,推力限制,。 學習因子 c1=1.4962,c2=1.4962。 慣性權重最大值和最小值為別為wmax=0.9,wmin=0.1。
圖3 限制零點的推力特性區域Fig.3 Modified thrust region
文中,采用了自適應混沌粒子群法來處理動力定位系統的推力分配問題,如圖4是自適應混沌粒子群算法流程圖。
文中針對新“海虎”號海洋自航耙吸式挖泥船,改進了目標函數,細化了約束條件,再將上文所述的ACPSO應用到該問題中,進行模擬仿真,最終仿真截圖如圖5~8所示。
實驗證明,自適應混沌粒子群算法(ACPSO)在運行初期能夠增強群體的多樣性,避免早熟收斂;在運行的中后期能在全局最優區域進行更精細的搜索,并以更快的速度找到全局最優解。該算法能夠很好的處理在各種海況下船舶的推力分配問題。無論在減少能耗上,還是合理分配推力上都顯現出這個方法獨特的優越性。
圖4 自適應混沌粒子群算法流程圖Fig.4 Flow chart of thrust allocation using ACPSO
圖5 推進器1#~4#推力曲線Fig.5 Thruster 1#-4#thrust curve
圖6 推進器實際推力曲線Fig.6 Thrusters actual thrust curve
圖7 X方向推力指令與實際推力間誤差Fig.7 Comparison between thrust command and actual thrust
圖7 Y方向推力指令與實際推力間誤差Fig.7 Comparison between thrust command and actual thrust
[1]邊信黔,付明玉,王元慧.船舶動力定位[M].北京:科學出版社,2011.
[2]劉曰強.半潛式平臺動力定位系統推力分配優化算法研究[D].哈爾濱:哈爾濱工程大學控制理論與控制工程,2009.
[3]閆歡歡.船舶動力定位系統推力分配優化算法研究[D].大連:大連海事大學模式識別與智能系統系,2011.
[4]趙志剛,常成.自適應混沌粒子群優化算法[J].計算機工程,2011(37):128-130.ZAHO Zhi-gang,CHANG Ceng.Adaptive chaos particle swarm optimization algorithm[J].Computer Engineering,2011(37:128-130.
[5]李麗,牛奔.粒子群優化算法[M].北京:冶金工業出版社,2009.
[6]張陸游,張永順,楊 云.基于混沌自適應變異粒子群優化的解相干算法[J].電 子 與 信 息 學 報,2009(31):1825-1829.ZHANGLu-you,ZHANG Yong-shun,YANG Yun.A de-correlation algorithm based on chaos adaptive mutation PSO optimization[J].Journal of Electronics&Information Technology,2009(31):1825-1829.
[7]唐賢倫.混沌粒子群優化算法理論及應用研究[D].重慶:重慶大學控制理論與控制工程系,2007.
[8]祝慶慶,俞孟蕻,盧佳佳,等.海洋工程船推力分配策略[J].艦船科學技術,2013(35):21-24.ZHU Qing-qing,YU Meng-hong,LU Jia-jia,et al.Research on thrust allocation strategy for ocean engineering vehicles[J].Ship Science and Technology,2013(35):21-24.