亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        海洋石油支持船動(dòng)力定位模塊推力分配策略

        2022-09-04 03:07:02林文錦張亞東安志辰
        關(guān)鍵詞:分配船舶功能

        林文錦,張亞東,安志辰

        (1.中海油服船舶事業(yè)部,天津 300452;2.中海油服船舶事業(yè)部船舶技術(shù)所,天津 300452;3中海油服船舶事業(yè)部船員培訓(xùn)中心,天津 300452)

        0 引言

        我國在海洋資源開發(fā)領(lǐng)域越來越多地采用具有動(dòng)力定位(dynamic positioning,DP)系統(tǒng)的船舶[1-5],包括科學(xué)考察船、海監(jiān)船、起重鋪管船、海洋鉆井平臺(tái)、起重打撈船、半潛船、救生船、平臺(tái)供應(yīng)船、布纜船、航標(biāo)船、水合物調(diào)查船、多功能海工船等。相較于傳統(tǒng)定位系統(tǒng),動(dòng)力定位系統(tǒng)能夠更好地滿足深海浮式結(jié)構(gòu)位姿保持以及航跡跟蹤等作業(yè)要求。積極開展船舶動(dòng)力定位技術(shù)相關(guān)研究,對(duì)推動(dòng)我國海洋經(jīng)濟(jì)的發(fā)展具有重大的現(xiàn)實(shí)與戰(zhàn)略意義。

        推力分配在動(dòng)力定位過程中發(fā)揮著至關(guān)重要的作用,它是連接控制系統(tǒng)和推進(jìn)系統(tǒng)的紐帶,直接決定了船舶上各個(gè)推進(jìn)器將要產(chǎn)生的推力大小和方向。推力分配方法有許多,如:基于廣義逆的推力分配方法[2,6];采用序列二次規(guī)劃算法實(shí)現(xiàn)推力分配策略[4];基于零空間法的推力分配策略[6];基于組合偏置方法的推力分配策略[7];基于遺傳算法的推力分配方法[8]和基于粒子群算法的推力分配策略[9]等。上述推力分配方法中文獻(xiàn)[8-9]是基于群體智能的方法,由于結(jié)果具有一定的隨機(jī)性,因此不便于工程應(yīng)用。文獻(xiàn)[4,7-12]涉及序列二次規(guī)劃、零空間法和組合偏置方法,計(jì)算較為復(fù)雜。本文的研究重點(diǎn)在于實(shí)現(xiàn)動(dòng)力定位模塊中的推力分配子功能,希望選取一種簡單高效的實(shí)現(xiàn)方法,因此,本文選取廣義逆方法作為推力分配方法。

        動(dòng)力定位模擬器子功能模塊設(shè)計(jì)與集成,已有多位學(xué)者對(duì)此展開研究并取得了一定的成果。文獻(xiàn)[6]以Visual Studio 2010 為開發(fā)平臺(tái),使用 Direct2D 圖形技術(shù),對(duì) Kongsberg 公司的 K-Pos 動(dòng)力定位系統(tǒng)的自動(dòng)定位功能進(jìn)行仿真;文獻(xiàn)[10]采用C#中WPF技術(shù)完成DP推力分配仿真子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn);文獻(xiàn)[11]采用VB與MATLAB混合編程方式進(jìn)行動(dòng)力定位模擬器仿真界面的搭建。

        上述研究成果往往依賴特定的軟件函數(shù)庫或直接將算法寫在后臺(tái)程序之中,這對(duì)功能模塊代碼拓展性及復(fù)用性會(huì)產(chǎn)生一定影響。因此,本文依托動(dòng)態(tài)鏈接庫技術(shù),通過Matlab仿真+代碼轉(zhuǎn)化,配合QT界面設(shè)計(jì),完成推力分配子功能模塊的集成。

        1 動(dòng)力定位模塊的組成及原理

        船舶動(dòng)力定位是指船舶利用自身的推力裝置產(chǎn)生推力和推力矩,抵消外界風(fēng)、流、浪等作用在船體上的力和力矩,使該船舶維持在某給定的期望位姿。動(dòng)力定位系統(tǒng)主要由測量系統(tǒng)、控制系統(tǒng)、推進(jìn)系統(tǒng)和動(dòng)力系統(tǒng)等部分組成,主要工作是測量系統(tǒng)實(shí)時(shí)獲得船舶的實(shí)際位置和艏向,并將信息反饋給控制系統(tǒng),控制系統(tǒng)計(jì)算得到偏差量,結(jié)合風(fēng)、浪、流等外界環(huán)境干擾,實(shí)時(shí)計(jì)算出驅(qū)動(dòng)船舶移動(dòng)到期望位姿所需的力和力矩,而后推進(jìn)系統(tǒng)通過推力分配策略將所需的力和力矩分配到船舶上的各個(gè)推進(jìn)器,并控制推進(jìn)器產(chǎn)生相應(yīng)的推力,從而完成船舶的控制要求[1]。工作原理圖如圖1所示。

        從圖1可以看到,動(dòng)力定位模塊包括動(dòng)力定位相關(guān)的高層控制策略、推力分配策略、底層推進(jìn)器控制策略、信號(hào)處理等關(guān)鍵技術(shù),本文主要針對(duì)其中的推力分配策略進(jìn)行研究。

        2 推力分配方法

        推力分配算法是動(dòng)力定位推進(jìn)系統(tǒng)的核心,動(dòng)力定位船舶的數(shù)學(xué)模型由船舶運(yùn)動(dòng)學(xué)模型和船舶動(dòng)力學(xué)模型共同組成。對(duì)于動(dòng)力定位船舶而言,由于船速較小,在建立船舶運(yùn)動(dòng)方程的時(shí)候,通常情況下只考慮其中的3個(gè)自由度,即,縱蕩、橫蕩和艏搖,它們隨船坐標(biāo)系和固定坐標(biāo)系的速度轉(zhuǎn)換公式為:

        η=R(ψ)v。

        (1)

        式中:η=[x,y,ψ]T是船舶位置矢量,x,y,ψ分別為船舶在固定坐標(biāo)系下的位置和艏向角;R為坐標(biāo)轉(zhuǎn)換矩陣;v=[u,v,r]T是船舶速度矢量,u,v,r分別代表隨船坐標(biāo)系下的船舶縱蕩、橫蕩和艏搖速度。

        在隨船坐標(biāo)系下,水面上的動(dòng)力定位船舶三自由度(縱蕩、橫蕩和艏搖)動(dòng)力學(xué)方程為:

        Mv+Dv=τ+RT(ψ)e

        (2)

        式中:M和D分別表示附加質(zhì)量的慣性矩陣和阻尼矩陣;τ=[τx,τy,τψ]是控制輸入量;偏差e表示未建模的環(huán)境力和力矩。

        動(dòng)力定位控制器通過狀態(tài)反饋η和υ計(jì)算船舶所需的三個(gè)自由度推力τc,推力分配單元負(fù)責(zé)將τc轉(zhuǎn)化為各個(gè)推進(jìn)器的控制輸入α和u,滿足如下條件[2]:

        τc=T(α)f,f=Ku。

        (3)

        式中:f表示推進(jìn)器的推力;T(α)為推進(jìn)器布置矩陣;K為推力系數(shù)。

        作為推力分配的等式約束,通常將推力分配問題轉(zhuǎn)化為如下非線性最優(yōu)化問題。

        (4)

        其中:W為正定對(duì)角陣,表示各推力的權(quán)值系數(shù)。

        從式(4)可以看出,優(yōu)化目標(biāo)為求推力f最小值,約束條件為合力滿足要求。

        為了避免復(fù)雜的非線性,引入擴(kuò)展推力向量的概念,對(duì)于水面船舶的全方位推進(jìn)器,其推力可分解為船體坐標(biāo)系下X方向和Y方向的兩個(gè)分力,序號(hào)為i的全方位推進(jìn)器的擴(kuò)展推力向量可表示為:

        (5)

        此時(shí),式(3)可線性表示為:τe=Tefe,f=Ku。

        其中:Te為推進(jìn)器布置矩陣誤差。此時(shí),推力分配也由非線性優(yōu)化問題轉(zhuǎn)化為帶有線性等式約束的二次最小化問題

        (6)

        從式(6)中可以看出,此時(shí)優(yōu)化目標(biāo)為求推力fe最小,約束條件同樣為此時(shí)總的合力。應(yīng)用拉格朗日乘數(shù)法可以得到最小化問題的廣義逆解為

        在選定船舶類型之后,通過建立船舶的數(shù)學(xué)模型,設(shè)計(jì)高層控制策略,獲得船舶運(yùn)動(dòng)需要的合力和合力矩,發(fā)送給推力分配策略,按照上述流程完成推力分配過程。

        3 推力分配功能實(shí)現(xiàn)及仿真結(jié)果

        本文將Matlab模塊仿真與代碼轉(zhuǎn)化相結(jié)合,實(shí)現(xiàn)軟件系統(tǒng)功能。Matlab提供Matlab Coder命令允許用戶將特定功能函數(shù)文件轉(zhuǎn)化為C/C++代碼形式文件。該命令僅針對(duì)函數(shù)文件,將偽逆法命名為www.m,并用于代碼生成。利用該函數(shù)的測試代碼文件自動(dòng)獲取該函數(shù)形參數(shù)據(jù)類型,排查文件中語法及鏈接錯(cuò)誤,編譯通過后會(huì)生成該函數(shù).h文件及.cpp文件,形成轉(zhuǎn)化結(jié)果報(bào)告,如圖2所示。通過動(dòng)態(tài)鏈接庫技術(shù)將該函數(shù)進(jìn)行封裝,并用于軟件功能模塊設(shè)計(jì)。

        本項(xiàng)目以Visual Studio 2015為開發(fā)平臺(tái),通過Matlab代碼轉(zhuǎn)化實(shí)現(xiàn)數(shù)據(jù)處理與計(jì)算,并利用C++應(yīng)用程序開發(fā)框架QT設(shè)計(jì)仿真界面。引入QML做界面設(shè)計(jì),界面顯示和代碼將更好的得到分離,通過編寫后臺(tái)代碼的方式使控件響應(yīng)不同功能。

        完成上述步驟之后,需要將推力分配功能集成。首先根據(jù)特定船舶推進(jìn)器配置及定位需求在Matlab環(huán)境中完成動(dòng)力定位船舶推力分配策略的仿真計(jì)算,并將用于計(jì)算的分配策略以函數(shù).m文件形式留存;然后利用Matlab Coder工具箱將推力分配策略函數(shù).m文件轉(zhuǎn)化為.h以及.cpp文件,并通過動(dòng)態(tài)鏈接庫技術(shù),設(shè)置相應(yīng)API(Application Programming Interface,應(yīng)用程序編程接口),將程序執(zhí)行.cpp文件編譯生成二進(jìn)制文件.dll。在QT界面設(shè)計(jì)語言中,導(dǎo)入相應(yīng)的頭文件及dll,動(dòng)態(tài)加載函數(shù)庫,調(diào)用預(yù)先設(shè)定的API函數(shù),通過計(jì)算得到推力分配結(jié)果數(shù)據(jù),并在界面上進(jìn)行顯示,實(shí)現(xiàn)數(shù)據(jù)交互。推力分配功能模塊集成過程大體如圖3所示。

        本文以中海油擁有數(shù)量最多的海洋石油641型船為對(duì)象進(jìn)行推力分配可視化研究,其推進(jìn)器布置如圖4所示。其中:X、Y分別代表船舶縱軸與橫軸方向;#1、#2為全回轉(zhuǎn)推進(jìn)器;#3、#4為槽道式推進(jìn)器,4個(gè)推進(jìn)器布置位置和推力限制如表1所示。

        表1 推進(jìn)器配置參數(shù)

        需要說明的是,動(dòng)力定位操作員設(shè)置船舶的期望位置,船舶所需的力和力矩基于公式(2)和所設(shè)計(jì)的控制策略算出,之后發(fā)送給推力模塊進(jìn)行推力分配?,F(xiàn)有文獻(xiàn)大多將控制器計(jì)算得出的力和力矩以時(shí)序展現(xiàn),推力分配結(jié)果也按照時(shí)序展現(xiàn),如文獻(xiàn)[12-13]。然而,在實(shí)際的動(dòng)力定位模擬器中,控制器所計(jì)算得出的力和力矩是隱含在軟件中的,推力分配結(jié)果也是顯示某一時(shí)刻的,因此,本文的結(jié)果以圖5和圖6體現(xiàn)。

        圖5是動(dòng)力定位模塊操縱軟件實(shí)現(xiàn)某定位功能時(shí)的運(yùn)行效果圖,包括船舶速度變化、艏向顯示以及能源消耗等結(jié)果顯示。

        推力分配結(jié)果如圖6所示。圖6左下角為某時(shí)刻的推力分配結(jié)果展示,左上角為推進(jìn)器的推力與最大推力之比,以百分比形式呈現(xiàn),右上角和右下角均為風(fēng)速風(fēng)向信息。通過可視化結(jié)果可以看到,本文提出的功能實(shí)現(xiàn)方案具有可視化界面友好,且算法易于修改的特點(diǎn),所設(shè)計(jì)的推力分配功能能夠?qū)⑼屏娃D(zhuǎn)矩分配到各個(gè)推進(jìn)器,該功能能夠服務(wù)于動(dòng)力定位模塊,最終實(shí)現(xiàn)航海模擬器的升級(jí)。

        4 結(jié)語

        開發(fā)動(dòng)力定位模塊需要多類功能子模塊相互配合,每個(gè)功能子模塊的開發(fā)均需進(jìn)行仿真驗(yàn)證,從而確??尚行浴1疚囊劳袆?dòng)態(tài)鏈接庫技術(shù),采用Matlab仿真代碼轉(zhuǎn)化,實(shí)現(xiàn)數(shù)據(jù)處理與計(jì)算,并通過QT完成界面設(shè)計(jì),完成動(dòng)力定位推力分配功能子模塊開發(fā)。在動(dòng)力定位模塊完成定位作業(yè)模擬時(shí),對(duì)控制力向量進(jìn)行實(shí)時(shí)推力分配計(jì)算,并做界面顯示,同時(shí)作為子功能模塊集成于現(xiàn)有的航海模擬器之中進(jìn)行功能測試。

        通過仿真的數(shù)據(jù)及集成效果展示,在完成定位作業(yè)模擬過程中,本文使用的推力分配算法可以有效地實(shí)現(xiàn)控制力向量的分解,同時(shí)該模塊在整個(gè)船舶動(dòng)力定位模擬器中能完成預(yù)設(shè)的功能而對(duì)現(xiàn)有航海模擬器不會(huì)產(chǎn)生不良影響。本文提出的推力分配方法,有助于推進(jìn)DP模擬器研究,提高DP模擬器運(yùn)行的穩(wěn)定性。

        猜你喜歡
        分配船舶功能
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        計(jì)算流體力學(xué)在船舶操縱運(yùn)動(dòng)仿真中的應(yīng)用
        《船舶》2022 年度征訂啟事
        船舶(2021年4期)2021-09-07 17:32:22
        應(yīng)答器THR和TFFR分配及SIL等級(jí)探討
        船舶!請(qǐng)加速
        遺產(chǎn)的分配
        一種分配十分不均的財(cái)富
        績效考核分配的實(shí)踐與思考
        關(guān)于非首都功能疏解的幾點(diǎn)思考
        中西醫(yī)結(jié)合治療甲狀腺功能亢進(jìn)癥31例
        亚洲av无码一区二区三区人| 国内精品卡一卡二卡三| 欧美老熟妇喷水| 国产人妻人伦精品1国产盗摄| 精品熟女少妇av免费观看| 未满十八勿入av网免费| 久久精品人成免费| 一级呦女专区毛片| 久久久久久无码AV成人影院| av高清视频在线麻豆免费观看| 久久热免费最新精品视频网站| 女人的精水喷出来视频| 日本亚洲欧美色视频在线播放| 精品无码一区二区三区爱欲九九| 欧洲亚洲第一区久久久| 国产裸体AV久无码无遮挡| 青青草视频在线观看9| 丰满人妻一区二区三区视频| 欧美一区二区三区视频在线观看 | 精品久久久久久99人妻| 亚洲精品一区二区三区日韩| 国产情侣亚洲自拍第一页| 国产精品无码久久综合网| 深夜福利小视频在线观看| 日韩欧美区| 亚洲av永久无码精品成人| 美女免费观看一区二区三区| 最美女人体内射精一区二区| 农村欧美丰满熟妇xxxx| 91免费播放日韩一区二天天综合福利电影| 久久久久久AV无码成人| 一本色道久久亚洲av红楼| 免费不卡无码av在线观看 | 天天爽天天爽天天爽| 无码人妻丰满熟妇区免费| 久久伊人亚洲精品视频 | 一区二区三区日韩蜜桃| 精品卡一卡二乱码新区| 少妇高潮喷水久久久影院| 黄 色 人 成 网 站 免 费| av草草久久久久久久久久久|