• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      深海集礦機行走的視景仿真系統(tǒng)設計與實現(xiàn)①

      2020-03-25 01:46:22張貴萍
      礦冶工程 2020年1期
      關鍵詞:視景線程深海

      胡 瓊,張貴萍,呂 彤

      (中南大學 機電工程學院,湖南 長沙410083)

      隨著世界經(jīng)濟飛速發(fā)展,資源緊缺的問題日益明顯,探索深海及其蘊育著的豐富資源是當下的發(fā)展方向之一[1-3]。關于勘探和開采海洋礦產(chǎn)資源,世界各國的研究和探索都在不斷深入和推進。由于深海作業(yè)環(huán)境為高壓、強擾動、無自然光的惡劣環(huán)境[4],兼之因海底集礦機行走而攪起的稀軟底質使得集礦機周圍環(huán)境渾濁難以觀察。為了更便捷、直觀地監(jiān)測海底集礦機的作業(yè)狀況,本文基于Visual C ++和視景仿真工具Vega Prime 對深海采礦系統(tǒng)進行可視化仿真。

      1 深海采礦視景仿真系統(tǒng)功能要求

      常見的深海采礦系統(tǒng)主要包括集礦機、輸送軟管、中間艙、揚礦硬管和采礦船5 個部分[5],如圖l 所示。深海集礦機在稀軟底質上按照特定的軌跡行走,并從海底沉積物中采集金屬礦物結核,處理后將其通過輸送軟管輸送到中間艙,然后通過提升泵將結核經(jīng)由揚礦硬管輸送至海面采礦船,完成深海礦物開采工作。

      圖1 深海采礦系統(tǒng)示意

      試驗時,采礦船將深海采礦系統(tǒng)的設備運載至試驗區(qū),然后將采礦設備沉入海底并開始作業(yè)[6]。由于集礦機作業(yè)時周圍黑暗渾濁,難以直接觀察其行走的位置和狀態(tài)。因此,如果能對深海集礦機的行走過程進行可視化仿真,實時監(jiān)測集礦機的行走位置,就可以確保出現(xiàn)意外狀況時能及時采取相應的措施,保障采礦作業(yè)順利完成。本文針對集礦機行走過程中不能直接觀察這一問題,采用Visual C++2008 和Vega Prime來實現(xiàn)集礦機行走過程的可視化仿真。

      要實現(xiàn)集礦機行走過程的可視化,需要做到如下幾個方面:

      1)用Creator 構建虛擬場景。包括地形生成、采礦系統(tǒng)模型創(chuàng)建以及水下環(huán)境的渲染。

      2)在Vega Prime 中驅動虛擬場景。通過LynX 圖形界面配置相關參數(shù),加載三維模型實現(xiàn)整個虛擬場景的渲染及顯示。

      3)通過基于MFC 框架的Vega Prime 程序實時顯示集礦機的位置。在程序運行時,固定加載含有實時數(shù)據(jù)的文件,傳至驅動控制模塊實時顯示集礦機模型的運動路徑。

      4)集礦機行走軌跡繪制。在Vega Prime 主線程開啟后,同時開啟了DRAW 線程,在該線程中,使用OpenGL 繪制集礦機的運動路線圖。

      2 三維虛擬場景的構建

      本文所構建的虛擬場景主要基于海底,將不可見的深海環(huán)境以及在其中工作的采礦系統(tǒng)顯示在用戶界面。構建虛擬場景可分為以下3 個部分:①真實地形生成與顯示;②采礦系統(tǒng)的三維實體建模;③水下自然環(huán)境的模擬。

      2.1 海底地形生成

      地形生成[7]是視景仿真系統(tǒng)開發(fā)中基礎但卻必不可少的一步。三維地形建模包含高程信息的數(shù)據(jù)文件與真實的地形照片,對前者進行網(wǎng)格化處理和內插計算,生成虛擬三維地形;對后者進行計算機圖像處理,然后作為地貌紋理貼在虛擬三維地形曲面上,使得生成的模擬地形具有逼真性。對于大規(guī)模地形的模擬,常采用LOD(Level of Details)技術,根據(jù)視點和模型的距離來改變模型的細致程度。當視點距離模型較近時,模型細節(jié)更多,相對地真實感更好;當視點距離模型較遠,則簡化模型,在不影響實際效果的同時節(jié)約計算資源,提高運行效率。虛擬三維地形建模的詳細流程如圖2 所示。

      圖2 地形生成流程

      Terra Vista 地形建模軟件[8]在不影響三維地形逼真度的基礎上提高地形建模速度方面具有強大的優(yōu)勢。采用Terra Vista 生成地形需要獲取地形DEM(數(shù)字高程模型)數(shù)據(jù)、遙感影像數(shù)據(jù)以及文化特征數(shù)據(jù)等源數(shù)據(jù),并轉換為Terra Vista 支持的格式。其中,DEM 數(shù)據(jù)通過地形轉換算法生成三維地形的三角網(wǎng)模型,如圖3 所示。

      圖3 海底地形三角網(wǎng)模型

      然后獲取帶有地理位置信息的遙感影像數(shù)據(jù),映射生成較為形象的三維地形模型,如圖4 所示。

      圖4 虛擬三維地形模型

      2.2 采礦系統(tǒng)三維建模

      使用Vega prime 軟件進行視景仿真,首先要建立采礦系統(tǒng)的三維實體模型。作為專門應用于實時視景仿真領域的三維建模軟件,Multigen Creator[9]功能強大、操作便捷,且能有效解決視景仿真中真實感、準確性與實時性的問題。針對實時視景仿真的特殊要求,Creator 獨創(chuàng)的一種數(shù)據(jù)格式Open Flight 應運而生,該數(shù)據(jù)格式能夠以足夠的精度和效率對三維模型進行實時渲染,并生成所需要的實時三維數(shù)據(jù)庫[10]。

      本文按照模型與實物1 ∶1的比例,將SolidWorks中建立的三維模型導入Creator。在模型建立中使用Creator 的節(jié)點式分層結構對集礦機履帶貼圖,使集礦機的模型更為逼真。其中,集礦機的建模流程及添加特征紋理后的模型如圖5 和圖6 所示。

      圖5 建模流程

      圖6 集礦機模型

      2.3 自然環(huán)境的模擬

      虛擬環(huán)境中自然環(huán)境的模擬仿真包括天空、大氣、光照等等,這些可以通過LynX Prime 圖形界面進行相應的參數(shù)設置來滿足試驗需要的環(huán)境特征。由于本文研究的是海底環(huán)境的試驗,還需要對海洋水下環(huán)境進行模擬仿真。海洋環(huán)境的模擬又分為海面環(huán)境和海底環(huán)境。

      采用Vega Prime 的海洋模塊,調節(jié)參數(shù)生成如圖7 所示的海面環(huán)境。

      圖7 海面環(huán)境的仿真效果

      采礦系統(tǒng)在海底工作,需要為海底環(huán)境建模。海底環(huán)境的建模較為特殊,需要運用Vega Prime 中的特效模塊進行設置調節(jié)環(huán)境亮度和透明度,再利用霧化功能模塊在此區(qū)域范圍內添加適當?shù)乃{色霧,模擬水下的渾濁,效果如圖8 所示。

      圖8 海底環(huán)境的特效處理

      3 Vega Prime 二次開發(fā)及視景仿真模型驅動

      3.1 基于VC++的可視化程序設計

      使用Vega Prime 軟件開發(fā)視景仿真項目,有多種開發(fā)模式:一是運用LynX Prime 圖形界面直接配置場景,用于開發(fā)一些小型、互動性不高的項目;二是運用Vega Prime 的API 函數(shù)開發(fā)一些較為復雜、交互性較高的項目。本文在開發(fā)過程中結合了兩種模式,先通過LynX Prime 圖形界面配置ACF(由LynX Prime界面創(chuàng)建的文件的擴展名)文件,再以Microsoft Visual Studio 作為集成開發(fā)環(huán)境,使用C++編程,調用Vega Prime 的接口函數(shù)驅動場景,既可以減少源代碼的編寫,又可以在一些交互性較高的場景中實現(xiàn)復雜的功能[11]。

      用VC 來開發(fā)Vega Prime 視景仿真系統(tǒng),常采用多線程應用程序編程[12]。 線程可分為UI(User Interface)線程和工作線程[13],其中,UI 線程具有消息循環(huán)功能,用來響應用戶事件。而工作線程里通常加入Vega Prime 的主線程,來負責運行Vega Prime 的整個程序流程,流程圖如圖9 所示。

      圖9 Vega Prime 仿真程序流程

      每個部分的功能如下:

      1)初始化(initialize),主要對Vega Prime 的各個模塊進行初始化,主要包括渲染庫、場景圖、模塊接口等。

      2)定義(define),典型的VP 應用框架通過vpApp類來定義,該類內嵌了定義ACF 文件、配置仿真類、仿真主循環(huán)、更新以及退出程序。一般來說,用戶可以從vpApp 類來創(chuàng)建自己所需要的類。

      3)配置(configure),在定義階段設置的值需要在該步驟中進行配置,比如多線程模式、線程的優(yōu)先級等。

      4)運行(run),幀循環(huán)在該函數(shù)中運行,并且持續(xù)調用begin Frame()和end Frame()函數(shù)來實現(xiàn)仿真循環(huán)。

      5)更新(update),通過在仿真循環(huán)中執(zhí)行update()函數(shù),并且調用vpApp 對象來實現(xiàn)更新。

      6)關閉(shut down),用于清除并退出Vega Prime系統(tǒng),調用各個模塊的關閉函數(shù)來清除申請的內存空間,終止線程。

      以上Vega Prime 的整個工作流程,對應著Vega Prime 的最小結構框架,配合ACF 文件配置可以實現(xiàn)在深海采礦虛擬場景中漫游。

      3.2 集礦機行走的實時控制

      深海采礦試驗時,集礦機在海底行走,其位置和姿態(tài)一直處于實時變化的狀態(tài)。在Vega Prime 的可視化場景中實現(xiàn)集礦機的運動,有兩種方式,一是LynX Prime 圖形界面的路徑工具Path Tool,采用這種方式定義集礦機的運動路徑,操作靈活便捷,但必須預先定義運動路徑,不能滿足深海采礦過程中獲取實時變化的集礦機位置和姿態(tài)的需求。因此本文采用第二種方式,利用Vega Prime 提供的API 函數(shù),讀取傳感器采集到的相關數(shù)據(jù),實時控制集礦機在虛擬場景中的位置和姿態(tài)。

      3.3 集礦機行走的軌跡繪制

      很多三維圖形應用程序,包括本文應用的Vega Prime 軟件的底層接口均是基于OpenGL。OpenGL 本質上是一種三維圖形系統(tǒng)與硬件的接口。因此本文應用OpenGL 來繪制集礦機的運動軌跡圖。

      Vega Prime 中OpenGL 的繪圖實現(xiàn)是基于事件訂閱公布的機制,核心是系統(tǒng)回調函數(shù)。Vega Prime 中是采用事件觸發(fā)方式,一個事件的回調函數(shù)會在事件觸發(fā)時被自動執(zhí)行[14]。在Vega Prime 的場景實時渲染中,首先在幀循環(huán)中定義一個窗口,然后在該窗口中繪制圖像[15]。

      本文在使用OpenGL 實現(xiàn)集礦機運動軌跡的實時繪制過程中,由于Vega Prime 調用OpenGL 函數(shù)都是在通道中進行的,而通道中幀循環(huán)每幀都在重畫。所以對于集礦機行走過的所有點,需要將其存儲在一個鏈表中,每一幀都將存儲的所有點重新繪制。最后繪制的效果圖如圖10 所示。

      圖10 集礦機行走軌跡

      4 應用實例

      深海采礦系統(tǒng)本身復雜而龐大,對未知的海底進行資源勘探和開采往往都充滿了不確定性,本文設計的視景仿真系統(tǒng)是海上試驗監(jiān)控系統(tǒng)的一部分,采礦時,集礦機、軟管的浮力裝置以及各個連接處放置傳感器,將傳感器采集的參數(shù)傳輸至海面工作站,再通過本文設計和實現(xiàn)的視景仿真系統(tǒng)對其進行三維可視化處理,為深海采礦整體系統(tǒng)的工作提供科學、實時、逼真的顯示,幫助海面工作人員分析、判斷深海采礦作業(yè)系統(tǒng)的工作現(xiàn)狀以作出準確的決策。

      5 結 論

      應用Vega Prime 和MultiGen Creator 視景仿真軟件,建立了包括采礦系統(tǒng)、海洋環(huán)境以及地形在內的虛擬場景?;贛FC 框架的Vega Prime 應用程序實現(xiàn)了對深海集礦機的行走可視化仿真,實時讀取外部的位置數(shù)據(jù)控制集礦機的行走路徑,逼真、精確地顯示了集礦機在海底的實時位置和姿態(tài)。并將OpenGL 圖形庫應用于Vega Prime 開發(fā)平臺,在程序運行過程中實時繪制集礦機的行走軌跡圖,直觀地監(jiān)測深海集礦機的行走路徑,為采礦系統(tǒng)的水面操控提供更加科學而直觀的指導。

      猜你喜歡
      視景線程深海
      向深海進發(fā)
      深海特“潛”隊
      vega及其在戰(zhàn)場環(huán)境視景仿真系統(tǒng)中的應用
      電子測試(2018年4期)2018-05-09 07:28:19
      隱藏在深海里的神秘生物
      淺談linux多線程協(xié)作
      全回轉拖輪運動建模與視景仿真
      深海尋寶
      基于Vortex與Vega Prime的車輛模擬器動力學與視景仿真
      Linux線程實現(xiàn)技術研究
      么移動中間件線程池并發(fā)機制優(yōu)化改進
      佛学| 三穗县| 大安市| 紫阳县| 枣庄市| 辽宁省| 罗平县| 苏尼特左旗| 喀喇沁旗| 井冈山市| 措美县| 岱山县| 九龙城区| 临澧县| 东乡县| 军事| 西乌珠穆沁旗| 长沙市| 江达县| 伊吾县| 建昌县| 济宁市| 天峨县| 乌兰县| 莫力| 大新县| 扎鲁特旗| 方山县| 柳河县| 沭阳县| 新巴尔虎左旗| 绥阳县| 乌苏市| 波密县| 五原县| 武邑县| 高阳县| 镇原县| 崇左市| 临桂县| 关岭|