彭 博, 胡遠(yuǎn)彪
(1.中國(guó)地質(zhì)大學(xué)〈北京〉工程技術(shù)學(xué)院,北京 100083; 2.國(guó)土資源部深部地質(zhì)鉆探技術(shù)重點(diǎn)實(shí)驗(yàn)室,北京 100083)
水平定向鉆進(jìn)(Horizontal Directional Drilling,HDD)是一種高效的、高風(fēng)險(xiǎn)的非開挖施工技術(shù)。目前廣泛地應(yīng)用于供水管道、排水管道、石油天然氣管道、電信管線等的鋪設(shè)工程中[1]。隨著以HDD為主的非開挖技術(shù)的普及,國(guó)內(nèi)各大高校開始加強(qiáng)對(duì)非開挖專業(yè)人才的培養(yǎng),目前開設(shè)非開挖課程或?qū)I(yè)的科研院所和高校有中國(guó)地質(zhì)大學(xué)(武漢)“中美聯(lián)合非開挖工程研究中心”、中國(guó)地質(zhì)大學(xué)(北京)、成都理工大學(xué)等。此外,自2000年開始,中國(guó)地質(zhì)學(xué)會(huì)非開挖技術(shù)專業(yè)委員會(huì)面向非開挖從業(yè)人員和在校學(xué)生開設(shè)有水平定向鉆進(jìn)培訓(xùn)班。但是作為一門以施工為目的的學(xué)科,高校和培訓(xùn)班在非開挖教學(xué)方面都存在教學(xué)手段單一,學(xué)生帶入感低,缺乏動(dòng)手操作環(huán)節(jié)的問題。
虛擬仿真技術(shù)(Virtual Simulation Technology)又稱虛擬現(xiàn)實(shí)技術(shù),是一種可以創(chuàng)建和體驗(yàn)虛擬世界的計(jì)算機(jī)仿真系統(tǒng)[2]。該技術(shù)最早由James. D. Foley在20世紀(jì)80年代提出,用于美國(guó)軍方作戰(zhàn)模擬系統(tǒng),90年代初得到進(jìn)一步發(fā)展,目前廣泛應(yīng)用于飛機(jī)、船舶、車輛虛擬駕駛培訓(xùn),機(jī)械、化工以及醫(yī)療教學(xué)培訓(xùn)等方面[3-5]。虛擬仿真技術(shù)在非開挖領(lǐng)域的應(yīng)用處于起步階段,陳聰發(fā)等通過3ds MAX完成三維地質(zhì)建模,利用Unity3D和VisualC#.NET開發(fā)環(huán)境實(shí)現(xiàn)虛擬現(xiàn)實(shí)場(chǎng)景的實(shí)時(shí)展示和可視化交互[6],為虛擬仿真技術(shù)在非開挖領(lǐng)域的應(yīng)用做出探索。
綜上所述,結(jié)合虛擬仿真技術(shù),研發(fā)用于教學(xué)的HDD培訓(xùn)系統(tǒng)有一定的現(xiàn)實(shí)意義。
本文研究的虛擬仿真培訓(xùn)系統(tǒng)的主要功能在Unity3D中實(shí)現(xiàn)。Unity3D是由Unity Technologies公司開發(fā)的專業(yè)跨平臺(tái)游戲開發(fā)及虛擬現(xiàn)實(shí)引擎,通過3D模型、圖像、視頻、聲音等相關(guān)資源的導(dǎo)入,借助Unity相關(guān)場(chǎng)景構(gòu)建模塊,用戶可以輕松實(shí)現(xiàn)對(duì)復(fù)雜虛擬世界的創(chuàng)建。Unity3D編輯器可以運(yùn)行在Windows、Mac OS X以及Linux平臺(tái),其最主要的特點(diǎn)是一次開發(fā)就可以部署到時(shí)下所有主流游戲平臺(tái),例如Windows、Mac、Wii、iPhone和Android平臺(tái)?;赨nity3D的虛擬現(xiàn)實(shí)系統(tǒng)場(chǎng)景逼真,交互自如,便于傳輸,為虛擬現(xiàn)實(shí)技術(shù)在教育應(yīng)用和普及創(chuàng)造了條件[7]。
Unity3D的視覺編輯特點(diǎn)是所見即所得,根據(jù)實(shí)際需要而組成一些相關(guān)的場(chǎng)景。其內(nèi)置NVIDIA的Physx物理引擎,可以高效、逼真地模擬重力、摩擦力、空氣阻力、剛體碰撞等物理效果。此外,Unity3D具有在三維空間渲染出二維圖像的粒子系統(tǒng),可以方便快捷地模擬煙霧、火焰、水流等效果,所以它較適合快速開發(fā)虛擬環(huán)境下的仿真系統(tǒng)。本研究涉及的模擬地下鉆進(jìn)場(chǎng)景中,導(dǎo)向鉆頭、擴(kuò)孔器、地層等GameObject對(duì)象都有屬于其的特定屬性,同時(shí)通過綁定在對(duì)向物體上的Unity3D腳本控制其運(yùn)動(dòng),最后通過添加在系統(tǒng)場(chǎng)景中的多個(gè)攝像頭多角度、全方位地體現(xiàn)在游戲視窗中。
Unity3D自帶3D建模功能,可以快速創(chuàng)建立方體、球體、膠囊體等基本幾何體,但是對(duì)于創(chuàng)建本研究所需的水平定向鉆機(jī)、導(dǎo)向鉆頭和擴(kuò)孔器等復(fù)雜模型有一定的難度。本研究采用SolidWorks軟件進(jìn)行復(fù)雜模型的建模,該軟件是一款基于Windows平臺(tái),面向機(jī)械行業(yè)的三維設(shè)計(jì)軟件。它采用Parasolid底層圖形核心,基于特征的參數(shù)化和變量化設(shè)計(jì)技術(shù),操作簡(jiǎn)便,適合創(chuàng)建本研究所需的三維模型。
由于Unity3D不支持SolidWorks生成的SLDPRT格式文件,需要采用3ds MAX軟件把SLDPRT格式的模型文件轉(zhuǎn)換為Unity3D可以兼容的FBX格式文件。此外,F(xiàn)BX格式文件還可以保存在3ds MAX軟件中完成的模型貼圖和動(dòng)畫制作信息,便于模型導(dǎo)入U(xiǎn)nity3D后的使用。
HDD虛擬仿真培訓(xùn)系統(tǒng)根據(jù)軟件工程的思路,從系統(tǒng)需求分析入手,設(shè)計(jì)系統(tǒng)的各個(gè)功能模塊。首先收集施工場(chǎng)地周圍環(huán)境信息、鉆遇地層信息、水平定向鉆機(jī)型號(hào)、導(dǎo)向鉆頭及擴(kuò)孔器規(guī)格參數(shù),應(yīng)用SolidWorks軟件完成水平定向鉆機(jī)、導(dǎo)向鉆頭和擴(kuò)孔器等復(fù)雜模型的建模,并通過3ds MAX軟件進(jìn)行渲染和格式處理,導(dǎo)出為Unity3D兼容的FBX格式文件。采用Unity3D游戲引擎搭建虛擬水平定向鉆進(jìn)地上和地下兩個(gè)場(chǎng)景,通過引擎自帶的建模功能完成地上建筑物、地下地層等基本模型的建模,并整合導(dǎo)入的FBX模型文件,布置場(chǎng)景,進(jìn)行場(chǎng)景效果設(shè)置,完成地上和地下兩個(gè)場(chǎng)景的構(gòu)建。
場(chǎng)景構(gòu)建完畢后,對(duì)場(chǎng)景漫游技術(shù)、多攝像機(jī)跟隨技術(shù)、物理效應(yīng)仿真技術(shù)和軌跡記錄及跟隨技術(shù)進(jìn)行研究。根據(jù)培訓(xùn)需求完成場(chǎng)景漫游、多視角顯示、控制鉆進(jìn)、顯示參數(shù)4個(gè)功能的開發(fā),生成界面友好、操作簡(jiǎn)單、教學(xué)性強(qiáng)的培訓(xùn)系統(tǒng)。整個(gè)系統(tǒng)總體結(jié)構(gòu)如圖1所示。
信息的收集主要包括施工場(chǎng)地周圍環(huán)境信息、鉆遇地層信息、HDD鉆機(jī)型號(hào)、導(dǎo)向鉆頭及擴(kuò)孔器型號(hào)等。
2.2.1 施工場(chǎng)地和鉆遇地層信息
本虛擬仿真培訓(xùn)系統(tǒng)模擬在軟土地層以及巖層中施工,其中軟土地層施工場(chǎng)地以北京科技大學(xué)校內(nèi)場(chǎng)景為例建模,具體位置為北京市海淀區(qū)學(xué)院路30號(hào)。由前期地層分析以及鉆孔波速測(cè)試獲取的地層信息如表1所示。
圖1 HDD虛擬仿真培訓(xùn)系統(tǒng)結(jié)構(gòu)Fig.1 Structure of virtual simulation training system for HDD
表1 北京科技大學(xué)附近地層信息Table 1 Information of formations nearby USTB
HDD施工過程中常用手持無線導(dǎo)航儀進(jìn)行導(dǎo)航,其所能探測(cè)的最深距離為30 m左右,探測(cè)更深處會(huì)出現(xiàn)精度下降等問題。因此,國(guó)內(nèi)大部分采用手持導(dǎo)航儀導(dǎo)航的HDD施工都在距離地表30 m范圍以內(nèi)。綜上所述,收集到的地層信息滿足HDD虛擬仿真培訓(xùn)系統(tǒng)中的地層建模需求。
巖層鉆進(jìn)是近年HDD研究發(fā)展的重點(diǎn),本系統(tǒng)參考江蘇某天然氣公司穿越104國(guó)道的工程實(shí)例搭建巖層HDD鉆進(jìn)環(huán)境及鉆進(jìn)設(shè)備模型,穿越地層為中風(fēng)化石英砂巖,中細(xì)粒沙狀結(jié)構(gòu),質(zhì)地堅(jiān)硬,巖性破碎。
2.2.2 HDD鉆機(jī)及鉆進(jìn)設(shè)備信息
鉆機(jī)模型的建模參考XZ-320型水平定向鉆機(jī)(見圖2),該鉆機(jī)額定功率140 kW,最大推拉力320 kN,最大扭矩12000 N·m,采用橡膠履帶,對(duì)道路、草坪等施工環(huán)境影響小,入土角度10°~20°。XZ-320型鉆機(jī)采用?73 mm鉆桿,鉆桿單根長(zhǎng)度3 m。
圖2 XZ-320型鉆機(jī)實(shí)物Fig.2 XZ-320 drill rig
軟土地層中鉆進(jìn)采用的導(dǎo)向鉆頭建模參考鴨嘴鉆頭,巖層中鉆進(jìn)的導(dǎo)向鉆頭建模參考三牙輪鉆頭,擴(kuò)孔器的建模采用適用于較硬地層的帶腰籠翼狀擴(kuò)孔鉆頭,如圖3所示。
圖3 鉆具實(shí)物Fig.3 Drill tools
Unity3D對(duì)當(dāng)前主流的三維模型格式提供了良好的支持。本系統(tǒng)采用SolidWorks進(jìn)行鉆機(jī)、導(dǎo)向鉆頭和擴(kuò)孔器的建模,通過3ds MAX處理模型文件,將其轉(zhuǎn)換為Unity3D所兼容的FBX格式,最終導(dǎo)入U(xiǎn)nity3D平臺(tái)(見圖4、圖5)。利用Unity3D自帶的建模功能進(jìn)行地面建筑物、道路和地下地層等常規(guī)幾何體的建模,采用Photoshop軟件處理貼圖尺寸及清晰度,使貼圖效果逼真,符合真實(shí)城市環(huán)境。最終完成的三維模型構(gòu)建效果如圖6所示。
2.4.1 場(chǎng)景漫游技術(shù)
圖4 鉆具在Unity3D中效果Fig.4 Effect of drill tools in Unity3D
虛擬仿真技術(shù)的重要特征之一是沉浸感。本文研究的虛擬仿真培訓(xùn)系統(tǒng)分為地上和地下兩個(gè)場(chǎng)景,在地上場(chǎng)景中具有場(chǎng)景漫游功能,支持用戶通過〗鍵盤和鼠標(biāo)控制自主游覽虛擬城市,通過顯示器觀察HDD施工場(chǎng)地及其周圍環(huán)境,增強(qiáng)用戶沉浸感。實(shí)現(xiàn)該功能的場(chǎng)景漫游技術(shù)邏輯如圖7所示。
2.4.2 多攝像機(jī)跟隨技術(shù)
圖5 HDD鉆機(jī)建模、渲染及其在Unity3D中的效果Fig.5 Set up a 3D model of HDD drill rig, render it and it’s effect in Unity3D
圖6 HDD施工場(chǎng)地及地層的建模效果Fig.6 Model effect of construction field and formations of HDD
圖7 場(chǎng)景漫游技術(shù)邏輯Fig.7 Logic of researching scene roaming technology
多角度、全方位地觀察HDD導(dǎo)向孔施工過程是虛擬仿真培訓(xùn)系統(tǒng)的主要特點(diǎn)。用戶通過全方面的觀察從而可以更深入理解鉆孔軌跡三要素:方位角,頂角和孔深。此外,多角度觀察導(dǎo)向鉆頭在曲線段的造斜過程,便于用戶理解導(dǎo)向鉆頭的造斜原理。
Unity3D游戲引擎使用場(chǎng)景中的Camera(攝像機(jī))對(duì)象將虛擬世界呈現(xiàn)給用戶,并且同一場(chǎng)景中允許有多個(gè)攝像機(jī)存在,通過分屏技術(shù)使用戶可以通過多個(gè)角度觀察場(chǎng)景中的內(nèi)容。在本系統(tǒng)地下場(chǎng)景中添加4個(gè)攝像機(jī)對(duì)象,其中3個(gè)攝像機(jī)用于體現(xiàn)導(dǎo)向鉆頭或擴(kuò)孔器的三視圖,一個(gè)攝像機(jī)以遠(yuǎn)視角體現(xiàn)虛擬施工過程中的鉆孔軌跡。并且采用Unity3D自帶的腳本編輯器MonoDevelop編寫C#腳本,綁定在4個(gè)攝像機(jī)對(duì)象上,用于跟隨移動(dòng)中的導(dǎo)向鉆頭及擴(kuò)孔器,實(shí)現(xiàn)多視角顯示功能。攝像機(jī)跟隨移動(dòng)的主要代碼如下所示:
void Start()
{offset=transform.position- playerTransform.position; }
//初始化函數(shù)開始調(diào)用一次,計(jì)算初始物體A與B的偏移距離
void Update()
{transform.position= playerTransform.position + offset; }
//更新函數(shù)每幀調(diào)用一次,更新攝像機(jī)位置為觀察物體當(dāng)前位置加上原始偏移
2.4.3 物理效應(yīng)仿真技術(shù)
真實(shí)HDD施工過程中,由于受到重力以及軟硬交接地層等因素的影響,鉆頭會(huì)產(chǎn)生振動(dòng)現(xiàn)象,導(dǎo)向孔軌跡發(fā)生偏移[8-9]。Unity3D內(nèi)置物理引擎,通過添加RigidBody組件,可以模擬導(dǎo)向鉆頭受到重力,地層對(duì)其的摩擦力等物理效應(yīng)。同時(shí),通過給導(dǎo)向鉆頭添加Collider組件,配合C#腳本中OnTriggerEnter()函數(shù)的使用達(dá)到進(jìn)入不同的地層對(duì)其鉆速和轉(zhuǎn)速有不同的影響作用的效果,使用戶有更深的沉浸感和更好的用戶體驗(yàn)。具體實(shí)現(xiàn)邏輯如圖8所示。
圖8 物理效應(yīng)仿真技術(shù)邏輯Fig.8 Logic of physical effect simulation technology
此外,采用泥漿進(jìn)行鉆孔沖洗是HDD鋪管施工的重要環(huán)節(jié),通過導(dǎo)向鉆頭噴射出的高壓泥漿具有攜帶巖屑、潤(rùn)滑和冷卻鉆頭及鉆具、穩(wěn)定孔壁,以及使地層不均勻破碎,從而達(dá)到造斜或糾偏等作用[10]。本研究采用Unity3D中的粒子系統(tǒng)模擬導(dǎo)向鉆頭水口的泥漿噴射效果,利用Photoshop處理泥漿的真實(shí)圖像,對(duì)Unity3D中的模擬泥漿進(jìn)行貼圖處理。在系統(tǒng)模擬導(dǎo)向孔施工過程中,用戶可以通過鍵盤控制泥漿的噴射,具體效果如圖9所示。
圖9 泥漿噴射效果Fig.9 Effect of mud eject
2.4.4 軌跡記錄及跟隨技術(shù)
HDD擴(kuò)孔施工由安裝在出土點(diǎn)鉆桿端部的擴(kuò)孔器沿導(dǎo)向孔回拉完成。由于導(dǎo)向孔的施工由用戶通過鍵盤控制完成,每一次的導(dǎo)向孔軌跡均不一致,因此需要記錄導(dǎo)向鉆頭鉆進(jìn)過程中的位置信息用于模擬回拉擴(kuò)孔施工。采用MonoDevelop編寫C#腳本,創(chuàng)建可以動(dòng)態(tài)存貯Vector3的List數(shù)組,用于存放導(dǎo)向鉆頭的位置信息,即導(dǎo)向孔的位置信息。當(dāng)導(dǎo)向孔施工完成,停止記錄位置信息,并調(diào)用Reverse()函數(shù)翻轉(zhuǎn)List數(shù)組中的Vector3數(shù)據(jù)的順序。最后采用iTween插件中控制對(duì)象移動(dòng)的函數(shù)iTween.MoveTo(),參照翻轉(zhuǎn)后的導(dǎo)向鉆頭位置信息,使擴(kuò)孔器按照導(dǎo)向孔軌跡完成回拉擴(kuò)孔的虛擬仿真效果。軌跡記錄及跟隨技術(shù)的具體實(shí)現(xiàn)邏輯如圖10所示。
圖10 軌跡記錄及跟隨技術(shù)邏輯Fig.10 Logic of track record and follow-up technology
Unity3D擁有非常強(qiáng)大的跨平臺(tái)功能,允許用戶把自己開發(fā)的系統(tǒng)發(fā)布在10多個(gè)不同的平臺(tái)上。同時(shí),Unity3D會(huì)根據(jù)不同的平臺(tái)而自動(dòng)調(diào)整設(shè)置,為目標(biāo)硬件和格式導(dǎo)入最佳質(zhì)量及壓縮比的資源[5]。
本研究將系統(tǒng)發(fā)布于桌面。在Unity3D中點(diǎn)擊File-Building Settings,添加地上和地下兩個(gè)場(chǎng)景至Sence in Build窗口,在Platform選項(xiàng)中選擇PC,Mac&Linux Standalone選項(xiàng),點(diǎn)擊Build即可把系統(tǒng)發(fā)布至桌面,生成exe運(yùn)行文件以及一個(gè)名為UnityPlayer的應(yīng)用程序擴(kuò)展文件。此外,只有當(dāng)這兩個(gè)文件同時(shí)存在于同一個(gè)文件夾中,發(fā)布的系統(tǒng)才能正常運(yùn)行。
基于Unity3D的HDD虛擬仿真培訓(xùn)系統(tǒng)經(jīng)測(cè)試運(yùn)行流暢,腳本觸發(fā)正常,人機(jī)交互自如,并且場(chǎng)景切換無卡頓現(xiàn)象。地上場(chǎng)景中用戶經(jīng)過設(shè)計(jì)路線游覽場(chǎng)景后可通過鍵盤和鼠標(biāo)自動(dòng)控制游覽,觀察HDD施工場(chǎng)地及周圍環(huán)境情況,實(shí)現(xiàn)場(chǎng)景漫游功能。跳轉(zhuǎn)至地下場(chǎng)景后,用戶可通過鍵盤控制導(dǎo)向鉆頭進(jìn)行導(dǎo)向孔施工,通過改變鉆頭的轉(zhuǎn)速、鉆壓和泵壓完成曲線段和直線段的鉆進(jìn),實(shí)現(xiàn)控制鉆進(jìn)功能。同時(shí),用戶界面上通過UGUI技術(shù)實(shí)時(shí)顯示鉆進(jìn)參數(shù)信息,分屏后的4個(gè)界面從不同角度觀察鉆頭工作情況以及導(dǎo)向孔軌跡,實(shí)現(xiàn)顯示參數(shù)和多視角顯示功能。地上和地下場(chǎng)景運(yùn)行界面如圖11所示。
圖11 不同場(chǎng)景的運(yùn)行界面Fig.11 Running interface of varies scene
運(yùn)用虛擬仿真技術(shù)豐富非開挖教學(xué)手段,以Unity3D游戲引擎為主,以SolidWorks、3ds MAX和Photoshop軟件為輔,通過場(chǎng)景漫游技術(shù)、多攝像機(jī)跟隨技術(shù)、物理效應(yīng)仿真技術(shù)和軌跡記錄及跟隨技術(shù)的研究,結(jié)合非開挖教學(xué)的實(shí)際需求,完成場(chǎng)景漫游、多視角顯示、控制鉆進(jìn)、顯示參數(shù)的功能。經(jīng)測(cè)試,該系統(tǒng)運(yùn)行流暢,場(chǎng)景間切換迅速,用戶可輕松通過鍵盤和鼠標(biāo)完成游覽場(chǎng)景,控制鉆進(jìn)等操作,并通過界面實(shí)時(shí)觀察鉆進(jìn)參數(shù),深入理解非開挖HDD施工過程及相關(guān)知識(shí)。
HDD虛擬仿真培訓(xùn)系統(tǒng)的使用激發(fā)學(xué)生學(xué)習(xí)熱情,實(shí)現(xiàn)情景學(xué)習(xí),便于學(xué)生理解施工過程和原理。該系統(tǒng)的研究是虛擬現(xiàn)實(shí)技術(shù)應(yīng)用于非開挖領(lǐng)域的一次嘗試,為廣大開設(shè)非開挖課程的高校和培訓(xùn)機(jī)構(gòu)提供教學(xué)新思路,具有一定應(yīng)用推廣價(jià)值。