楊波,戴文伯,周雨繆
(中交疏浚技術(shù)裝備國(guó)家工程技術(shù)研究有限公司,上海 201208)
疏浚航跡剖面顯示軟件(DTPM)的開發(fā)與應(yīng)用
楊波,戴文伯,周雨繆
(中交疏浚技術(shù)裝備國(guó)家工程技術(shù)研究有限公司,上海201208)
建立疏浚船舶運(yùn)動(dòng)和剖面顯示算法模型,采用面向?qū)ο蟮腣isual C++編程語言和OpenGL圖形顯示技術(shù),開發(fā)出疏浚航跡剖面顯示軟件,實(shí)現(xiàn)疏浚船舶施工作業(yè)實(shí)時(shí)船位和剖面顯示、水下地形3D動(dòng)態(tài)挖掘顯示、歷史施工過程的回放和分析功能,在上海航道局有限公司的多艘大型挖泥船上成功應(yīng)用,取得了良好的成效。
疏浚;航跡;剖面;軟件;3D地形顯示
疏浚船舶施工作業(yè)時(shí),船舶位置和剖面的精確顯示,對(duì)疏浚施工質(zhì)量控制非常重要,尤其是3D水下地形顯示,實(shí)現(xiàn)三維可視化挖泥施工,對(duì)提高邊坡和掃淺施工效率和精度,指導(dǎo)現(xiàn)場(chǎng)施工,提高管理水平提供了有力的工具。
目前,國(guó)內(nèi)外疏浚企業(yè)使用的施工定位軟件均為多年前開發(fā),存在的主要問題有:當(dāng)加載較大的施工背景文件和水深測(cè)量文件時(shí)性能不佳,運(yùn)行不暢,對(duì)CPU、內(nèi)存等系統(tǒng)資源占用較大;歷史數(shù)據(jù)文件沒有壓縮,讀取效率低,占用磁盤空間較大;三維顯示功能較弱,繪制剖面操作復(fù)雜,需要將測(cè)深文件(XYZ)轉(zhuǎn)化為HYPACK的色塊文件(MTX),轉(zhuǎn)換過程耗時(shí)長(zhǎng),轉(zhuǎn)換存在精度誤差,造成剖面顯示存在誤差等。
本文開發(fā)的新版疏浚航跡剖面顯示軟件(Dredging Tracking and Profile Monitor Software)基于可視化開發(fā)工具VC++2010開發(fā),圖形渲染和3D顯示模塊采用OpenGL圖形開發(fā)技術(shù),軟件界面采用流行的ribbon風(fēng)格設(shè)計(jì),具有界面友好、功能豐富、計(jì)算精度高、性能高及水下地形3D顯示效果。
1.1構(gòu)建Delaunay三角網(wǎng)的算法
在繪制剖面、等深線和三維地形時(shí),一個(gè)非常重要的過程就是根據(jù)測(cè)量得到的水深文件(XYZ)進(jìn)行數(shù)字地形建模,根據(jù)散點(diǎn)還原地形曲面,進(jìn)行三角剖分,構(gòu)建Delaunay三角網(wǎng),如圖1所示。采用這種算法繪制剖面,無需再將測(cè)深文件轉(zhuǎn)化為MTX文件,減少不必要的操作,提升了軟件性能。

圖1 散點(diǎn)構(gòu)建三角網(wǎng)Fig.1 Scattered points to build a triangular network
根據(jù)Delaunay三角網(wǎng)構(gòu)建過程的不同,當(dāng)前應(yīng)用較多的算法有逐點(diǎn)插入法和分治法[1-3]。這兩種算法各有優(yōu)劣:逐點(diǎn)插入法雖然實(shí)現(xiàn)比較簡(jiǎn)單,占用內(nèi)存較小,但復(fù)雜度較高,運(yùn)行速度慢;分治法構(gòu)網(wǎng)速度快,缺點(diǎn)是需要較大的內(nèi)存空間。隨著計(jì)算機(jī)硬件的迅速發(fā)展,存儲(chǔ)空間已不再是算法實(shí)現(xiàn)的瓶頸問題,而效率才是真正衡量算法好壞的關(guān)鍵。本文采用的是分治法構(gòu)建Delaunay三角網(wǎng)。
1.2插件式開發(fā)技術(shù)
本文軟件開發(fā)采用抽象工廠模式的插件化架構(gòu)設(shè)計(jì)。串口/網(wǎng)絡(luò)通信模塊、施工文件解析模塊、參數(shù)設(shè)置模塊、剖面顯示模塊、航跡管理模塊等單獨(dú)開發(fā)編譯,放入應(yīng)用程序的plugin目錄,主程序可自動(dòng)調(diào)用模塊功能。軟件的升級(jí)、維護(hù)比較方便。
1.3實(shí)時(shí)數(shù)據(jù)庫
本文軟件開發(fā)基于實(shí)時(shí)數(shù)據(jù)庫的設(shè)計(jì)原理,對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行壓縮[4-5],歷史數(shù)據(jù)存儲(chǔ)占用磁盤空間大大減少,歷史數(shù)據(jù)存儲(chǔ)精確到毫秒級(jí),當(dāng)出現(xiàn)緊急情況時(shí),可以精確調(diào)出當(dāng)時(shí)的工況數(shù)據(jù),便于分析問題。每天的歷史數(shù)據(jù)保存為一個(gè)獨(dú)立文件,便于歷史數(shù)據(jù)的保管。
1.4Hash表
Hash是一種索引表,它使用一種特別的散列數(shù)據(jù)結(jié)構(gòu),在進(jìn)行大量數(shù)據(jù)處理時(shí),可以極大加快數(shù)據(jù)查找和處理。
DTPM軟件分為耙吸挖泥船版本、絞吸挖泥船版本和抓斗挖泥船版本,由工程設(shè)計(jì)程序、施工建設(shè)程序和歷史回放程序3個(gè)模塊組成,包含以下主要功能。
2.1通用功能
WGS84坐標(biāo)系與當(dāng)?shù)厥┕ぷ鴺?biāo)系之間的坐標(biāo)轉(zhuǎn)換計(jì)算,滿足全球范圍內(nèi)施工定位。
文件操作具有導(dǎo)入、顯示水深文件和背景文件,包括XYZ文件、DXF文件、DIG文件。
根據(jù)水深文件生成三維泥面地形,三維地形顯示支持紋理填充和顏色填充,支持正交投影和透視投影。
圖形操作具有旋轉(zhuǎn)、縮放、平移、移動(dòng)、測(cè)量距離和動(dòng)態(tài)觀察等方式。
雙服務(wù)器冗余備份。
用戶權(quán)限管理,分為管理員用戶和普通用戶,管理員用戶可以修改施工參數(shù)如定位參數(shù)、加載施工文件等,普通用戶僅可瀏覽。
通過序列號(hào)對(duì)DTPM軟件進(jìn)行加密和授權(quán)。
具有與第三方軟件通信接口——OPC服務(wù)器接口。
潮位數(shù)據(jù)的獲取方式有接收潮位站信號(hào)、預(yù)置潮汐表、RTK計(jì)算潮位和臨時(shí)手動(dòng)輸入4種方式,潮位站站號(hào)可屏蔽,潮位數(shù)據(jù)有多站就近取用、多站線性內(nèi)插、定站取用3種計(jì)算方式。
船舶定位方式有雙套衛(wèi)星定位設(shè)備定位和單套衛(wèi)星定位設(shè)備與電羅經(jīng)組合定位2種方式。
水深數(shù)據(jù)的過濾顯示,不同深度的水深數(shù)據(jù)以不同顏色顯示,可同時(shí)導(dǎo)入2套水深數(shù)據(jù)進(jìn)行比對(duì)。
船位居中、船位鎖定、標(biāo)記位置、選取工作線操作。
通過以太網(wǎng),串口接入GPS、潮位遙報(bào)儀、電羅經(jīng)等硬件設(shè)備。
信號(hào)的平滑處理。
白晝、黑夜兩種背景模式。
顯示模式有真北方向朝上、艏向朝上兩種顯示模式。
設(shè)計(jì)、編輯、繪制和管理工作線、挖槽剖面和船型。
設(shè)置疏浚機(jī)具相關(guān)參數(shù)。
工程管理:新建、打開、關(guān)閉、保存工程文件,同時(shí)讀取和保存相應(yīng)工程的參數(shù)配置文件,包括定位參數(shù)計(jì)算配置、硬件配置、施工文件配置文件等。
繪制和保存Dig文件,包含直線、多段線、矩形圓、圓弧、多邊形、文本、填充色塊等。
2.2絞吸挖泥船專有功能
2D視圖顯示船位及運(yùn)動(dòng)軌跡、絞刀/斗輪平面位置、深度及運(yùn)動(dòng)軌跡、定位樁平面位置及運(yùn)動(dòng)軌跡、三纜柱位置、剖面位置、絞刀橫移值、定位樁橫移值、錨位等。
3D視圖顯示絞刀在水下三維地形中的姿態(tài)位置,實(shí)現(xiàn)絞刀切削后三維地形的實(shí)時(shí)更新,顯示船體在挖槽內(nèi)的狀態(tài)。
設(shè)置顯示當(dāng)?shù)亟g刀/斗輪位置的挖槽設(shè)計(jì)剖面、浚前剖面。
橫移超寬報(bào)警,超深報(bào)警,走錨報(bào)警,船位區(qū)域報(bào)警。
2.3耙吸挖泥船專有功能
顯示船位、航跡、航向、航速、偏航角、富余水深、錨位等。
顯示耙臂、耙頭三視圖,耙頭平面位置、深度及運(yùn)動(dòng)軌跡,顯示耙頭在挖槽內(nèi)的位置及耙頭至船舷和船底的距離。
3D模式時(shí)顯示耙臂和耙頭在三維地形中的姿態(tài),根據(jù)耙頭軌跡實(shí)時(shí)更新三維地形。
設(shè)置顯示施工區(qū)域內(nèi)任意位置的挖槽設(shè)計(jì)剖面、浚前剖面。
耙頭軌跡記錄和查詢,可設(shè)置記錄條件。
耙頭超深、超寬時(shí)報(bào)警,走錨、偏離工作線時(shí)報(bào)警。
設(shè)備連接故障報(bào)警。
拋錨和起錨錨位記錄、保存。
2.4抓斗挖泥船專有功能
顯示船位及運(yùn)動(dòng)軌跡、抓斗平面位置、抓斗開口度及運(yùn)動(dòng)軌跡、深度等。
3D顯示抓斗在水下三維地形中的狀態(tài),根據(jù)過抓斗中心點(diǎn)實(shí)現(xiàn)三維地形更新,顯示船體在挖槽內(nèi)的狀態(tài)。
設(shè)置顯示當(dāng)?shù)刈ザ肺恢玫耐诓墼O(shè)計(jì)剖面、浚前剖面。
2.5軟件結(jié)構(gòu)圖
編制完成工程設(shè)計(jì)程序軟件結(jié)構(gòu)圖、施工監(jiān)視程序軟件結(jié)構(gòu)圖(圖2)。

圖2 施工監(jiān)視程序軟件結(jié)構(gòu)圖Fig.2 Structure diagram of construction monitoring program software
3.1開發(fā)與運(yùn)行環(huán)境
1)開發(fā)環(huán)境
開發(fā)工具:Visual studio 2010。
開發(fā)語言:C++。
操作系統(tǒng):windows 7。
數(shù)據(jù)庫:實(shí)時(shí)數(shù)據(jù)庫。
2)運(yùn)行環(huán)境
操作系統(tǒng):不低于Windows XP/Windows 2003 Server/Windows 7的windows操作系統(tǒng)。
3.2軟件架構(gòu)
軟件采用C/架構(gòu)和插件式開發(fā)設(shè)計(jì)。軟件開發(fā)使用OpenGL實(shí)現(xiàn)三維功能。
OpenGL可以顯示三維模式,同時(shí)其加權(quán)分量可以實(shí)現(xiàn)透視投影。
使用XML定義將要顯示的圖形元素,如點(diǎn)、圓、線等。配置軟件運(yùn)行需要的信息,包括項(xiàng)目配置、數(shù)據(jù)配置、環(huán)境配置等。
1)性能提升
采用OpenGL硬件加速技術(shù),提高圖形顯示速度,采用hash表加速數(shù)據(jù)處理,實(shí)現(xiàn)圖形的快速捕捉和選取。歷史數(shù)據(jù)查詢使用索引表,極大提高大量數(shù)據(jù)查找速度。
2)軟件界面
采用交互性更強(qiáng)的Ribbon界面替代傳統(tǒng)的菜單欄、工具欄和下拉菜單,使功能項(xiàng)垂直分布,交互性更強(qiáng),界面更友好。
3)可以接入多波束實(shí)時(shí)測(cè)深數(shù)據(jù)
由于多波束測(cè)深儀輸出數(shù)據(jù)量大,使用專門技術(shù)模塊,接入安裝在耙吸挖泥船上的多波束測(cè)深儀數(shù)據(jù),在新海馬輪、新海虎5號(hào)輪上進(jìn)行應(yīng)用測(cè)試,取得了較好的效果。
4)三維地形可視化
優(yōu)化測(cè)深文件(XYZ)中散點(diǎn)生成不規(guī)則三角形的算法,快速生成三維地圖,采用光照紋理等技術(shù),取得了較好的三維地形效果(圖3),為水下可視化施工創(chuàng)造條件。

圖3 3D紋理模式地形圖Fig.3 The terrain map of 3D texture pattern
本文DTPM軟件基于新的技術(shù)框架設(shè)計(jì)開發(fā),通過安裝在多條大型挖泥船上應(yīng)用測(cè)試,已經(jīng)獲得成功。三維功能的實(shí)現(xiàn),使得疏浚作業(yè)從傳統(tǒng)的精確定位的平面施工,進(jìn)入到全新的三維立體作業(yè),多維視角將施工死角暴露無疑,為精細(xì)化施工提供新的技術(shù)平臺(tái)。
軟件分析功能可以分析航速、波浪補(bǔ)償器、高壓沖水、濃度和產(chǎn)量之間的關(guān)系曲線,幫助施工人員尋找合適的航速,較佳的波浪補(bǔ)償器壓力和高壓沖水壓力,后續(xù)將繼續(xù)對(duì)DTPM軟件進(jìn)行升級(jí),增強(qiáng)分析施工效率方面的功能,引入土質(zhì)分布信息,為疏浚作業(yè)輔助決策提供技術(shù)手段。
[1]溫來祥,劉金義.一種支持三維Delaunay三角剖分與Voronoi圖生成的數(shù)據(jù)結(jié)構(gòu)[J].科學(xué)技術(shù)與工程,2010,10(12):2 974-2 978. WEN Lai-xiang,LIU Jin-yi.A data structure for Delaunay triangulation and computing Voronoi diagram in three-dimensions[J]. Science Technology and Engineering,2010,10(12):2 974-2 978.
[2]劉學(xué)軍,龔健雅.約束數(shù)據(jù)域的Delaunay三角剖分與修改算法[J].測(cè)繪學(xué)報(bào),2001(1):82-88. LIU Xue-jun,GONG Jian-ya.Delaunay triangulation of constrained data set[J].Acta Geodaetica et Cartographica Sinica,2001 (1):82-88.
[3]蒲浩,宋占峰,詹振炎.基于約束Delaunay三角剖分的道路三維建模方法[J].華中科技大學(xué)學(xué)報(bào):自然科學(xué)版,2005,33(6): 111-113. PU Hao,SONG Zhan-feng,ZHAN Zhen-yan.3D-modelling for roads based on constrained Delaunay triangulation[J].Journal of Huazhong University of Science and Technology:Natural Science Edition,2005,33(6):111-113.
[4]拓廣忠,慕群.實(shí)時(shí)數(shù)據(jù)庫原理及其壓縮技術(shù)分析[J].華北電力技術(shù),2004(6):17-20. TUO Guang-zhong,MU Qun.Analysis on principle of real-time database and data compression technology[J].North China Electric Power,2004(6):17-20.
[5] 郝文義,王艷萍,謝麗紅.工業(yè)實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)[J].包鋼科技,2006(3):54-56. HAO Wen-yi,WANG Yan-ping,XIE Li-hong.Industry real time database system[J].Science&Technology of Baotou Steel(Group) Corporation,2006(3):54-56.
Development and application of software for dredging tracking and profile monitor
YANG Bo,DAI Wen-bo,ZHOU Yu-miao
(CCCC National Engineer Research Center of Dredging Technology and Equipment Co.,Ltd.,Shanghai 201208,China)
To establish the dredging vessel movement and profile display algorithm models,we used object-oriented programming language Visual C++and OpenGL graphics technology to develop a dredging tracking and profile monitor software to achieve the real-time vessel position and profile display,underwater topography 3D dynamic mining display,and playback and analysis of the history of the construction process for the dredging vessel construction works.The software was successful applied in many large dredger vessels of CCCC Shanghai Dredging Co.,Ltd.,and has achieved good results.
dredging;tracking;profile;software;3D terrain display
U616.1
A
2095-7874(2016)02-0042-04
10.7640/zggwjs201602010
2015-10-15
楊波(1981— ),男,河南南陽市人,工程師,工程測(cè)量專業(yè)。E-mail:eusboy@qq.com