章 迪,許才軍,陳 巍,張 煜
(1. 武漢大學(xué)測(cè)繪學(xué)院,湖北 武漢 430079; 2. 地球空間信息技術(shù)協(xié)同創(chuàng)新中心,湖北 武漢 430079)
?
GNSS三維仿真測(cè)量實(shí)踐教學(xué)系統(tǒng)的實(shí)現(xiàn)
章迪1,2,許才軍1,2,陳巍1,2,張煜1,2
(1. 武漢大學(xué)測(cè)繪學(xué)院,湖北 武漢 430079; 2. 地球空間信息技術(shù)協(xié)同創(chuàng)新中心,湖北 武漢 430079)
GNSS三維仿真測(cè)量系統(tǒng)將虛擬現(xiàn)實(shí)技術(shù)用于實(shí)踐教學(xué),能夠突破設(shè)備、場(chǎng)地、學(xué)時(shí)等多方面的限制,切實(shí)增強(qiáng)學(xué)生的實(shí)踐能力。本文介紹了其設(shè)計(jì)思路,并重點(diǎn)闡述了運(yùn)用Unity3D進(jìn)行系統(tǒng)開發(fā)所涉及的關(guān)鍵技術(shù),可為其他教學(xué)研究和開發(fā)提供參考。
全球衛(wèi)星導(dǎo)航定位系統(tǒng);虛擬現(xiàn)實(shí);三維仿真;實(shí)踐教學(xué)
全球衛(wèi)星導(dǎo)航定位系統(tǒng)(GNSS)是當(dāng)前高校測(cè)繪類專業(yè)教學(xué)中非常重要的一門課程。課程要求學(xué)生不僅要具備扎實(shí)的理論基礎(chǔ),而且應(yīng)掌握GNSS靜、動(dòng)態(tài)測(cè)量的實(shí)踐技能,并將之熟練地應(yīng)用于科研和工程實(shí)踐。但目前GNSS實(shí)踐教學(xué)仍存在儀器資源不足、室內(nèi)示教困難、教學(xué)學(xué)時(shí)有限等問(wèn)題,對(duì)學(xué)生實(shí)踐能力的提升造成了障礙。針對(duì)這些問(wèn)題,廣大教學(xué)工作者開始探索各種方法來(lái)提高教學(xué)效果,如劉智敏等提出應(yīng)當(dāng)更新儀器設(shè)備,與多家單位建立教學(xué)實(shí)習(xí)基地,結(jié)合教師的科學(xué)項(xiàng)目培養(yǎng)優(yōu)秀學(xué)生[1];郭敏等提出應(yīng)當(dāng)更新利用好儀器設(shè)備,完善實(shí)習(xí)基地,并采用多元化的實(shí)習(xí)方法和手段[2];李黎等提出應(yīng)當(dāng)建立實(shí)習(xí)基地,加大實(shí)踐教學(xué)考核的比重[3];章迪等提出建立視頻實(shí)驗(yàn)教學(xué)平臺(tái)[4]。這些方法可以在一定程度上改善儀器和場(chǎng)地因素帶來(lái)的困擾,但購(gòu)置新的儀器和建設(shè)實(shí)習(xí)場(chǎng)地往往需要大量的資金投入,教師的項(xiàng)目又通常難以覆蓋所有學(xué)生。使用虛擬現(xiàn)實(shí)技術(shù)開發(fā)GNSS三維仿真測(cè)量系統(tǒng)則為我們提供了新的思路。
虛擬現(xiàn)實(shí)又稱為靈境技術(shù),即采用計(jì)算機(jī)技術(shù)為核心的現(xiàn)代高科技手段生成逼真的虛擬環(huán)境,讓用戶能采用自然的方式與虛擬世界中的物體進(jìn)行交互,從而產(chǎn)生身臨其境的感受和體驗(yàn)[5]。已有一些學(xué)者探索將虛擬現(xiàn)實(shí)技術(shù)用于測(cè)繪實(shí)驗(yàn)教學(xué),如馬春艷等使用3ds Max軟件制作了水準(zhǔn)儀的模型,并編制了水準(zhǔn)測(cè)量的演示性動(dòng)畫[6];范沖等開發(fā)了基于Quest3D的虛擬測(cè)繪實(shí)驗(yàn)室[7],能夠模擬全站儀導(dǎo)線測(cè)量實(shí)驗(yàn)。
目前,可用于虛擬現(xiàn)實(shí)開發(fā)的軟件有Virtools[8-9]、Quest3D[10-11]、Vega[12-13]、Unity3D[14-15]等。由于Unity3D具有語(yǔ)言兼容性強(qiáng)、平臺(tái)適用性廣、地形渲染器強(qiáng)大、簡(jiǎn)單易學(xué)、支持多種文件格式并提供免費(fèi)版本等優(yōu)點(diǎn),因此本文選用該軟件作為開發(fā)工具。Unity3D是由Unity Technologies開發(fā)的游戲引擎,它能夠讓開發(fā)者輕松創(chuàng)建諸如三維視頻游戲、建筑可視化、實(shí)時(shí)三維動(dòng)畫等的互動(dòng)內(nèi)容。Unity3D支持3種腳本語(yǔ)言,即JavaScript、C#和BOO。本系統(tǒng)使用C#語(yǔ)言進(jìn)行腳本編輯。
GNSS三維仿真測(cè)量系統(tǒng)的目的是為了讓學(xué)生在對(duì)各種儀器的外觀、結(jié)構(gòu)有直觀認(rèn)識(shí)的基礎(chǔ)上,能結(jié)合理論知識(shí),進(jìn)行多場(chǎng)景下GNSS的仿真測(cè)量,熟練掌握靜態(tài)、動(dòng)態(tài)測(cè)量的操作步驟?;谶@些需求,筆者將系統(tǒng)設(shè)計(jì)為基礎(chǔ)知識(shí)、儀器介紹、靜態(tài)測(cè)量、動(dòng)態(tài)測(cè)量和系統(tǒng)幫助5個(gè)部分,如圖1所示。
圖1 系統(tǒng)構(gòu)成
基礎(chǔ)知識(shí)部分采用圖文結(jié)合的幻燈片方式,主要介紹GNSS測(cè)量的基本原理、步驟和相關(guān)的注意事項(xiàng),既有對(duì)理論知識(shí)的回顧和總結(jié),也包含對(duì)實(shí)踐操作的前導(dǎo)性學(xué)習(xí)。
儀器介紹部分,用戶可以從儀器列表中選取要查看的儀器,通過(guò)鼠標(biāo)控制模型旋轉(zhuǎn)、縮放,從而能夠從各個(gè)角度觀察每個(gè)儀器模型。當(dāng)鼠標(biāo)指針懸停在模型的特定位置時(shí)會(huì)彈出對(duì)相關(guān)部位的簡(jiǎn)要說(shuō)明,幫助學(xué)生快速熟悉儀器。
靜態(tài)測(cè)量部分,用戶在設(shè)置頁(yè)面可以選擇場(chǎng)景、日期、接收機(jī)數(shù)量、采樣率、截止高度角等參數(shù)。進(jìn)入測(cè)量場(chǎng)景后,用戶可以調(diào)出俯視圖,并從工具欄中點(diǎn)選控制點(diǎn)拖放至合適位置。之后可以在控制點(diǎn)上架設(shè)儀器、測(cè)量?jī)x器高,并開啟接收機(jī)進(jìn)行測(cè)量。在一個(gè)觀測(cè)時(shí)段結(jié)束后,系統(tǒng)會(huì)為每臺(tái)接收機(jī)生成O文件和N文件,用戶可以把它們導(dǎo)出到硬盤上,用于基線解算。
動(dòng)態(tài)測(cè)量部分能夠模擬真實(shí)的RTK測(cè)量過(guò)程。用戶先選擇合適的位置架設(shè)好基準(zhǔn)站,手動(dòng)開啟接收機(jī)、電臺(tái),通過(guò)手簿界面設(shè)置基準(zhǔn)站參數(shù);然后開啟流動(dòng)站,并設(shè)置好坐標(biāo)系、電臺(tái)頻率、電文格式等參數(shù);通過(guò)鍵盤、鼠標(biāo)控制測(cè)量員在場(chǎng)景中漫游,以第一或第三人稱視角模擬RTK測(cè)量,進(jìn)行地物、地形的數(shù)據(jù)采集。測(cè)量結(jié)束后,用戶可以將觀測(cè)值導(dǎo)成CASS文件用于地形圖繪制。
系統(tǒng)幫助是整個(gè)系統(tǒng)的操作使用說(shuō)明,用于提示用戶實(shí)現(xiàn)前后移動(dòng)、視角切換、顯示已知點(diǎn)等功能的操作方法。
系統(tǒng)開發(fā)的關(guān)鍵技術(shù)包含三維建模、素材導(dǎo)入、場(chǎng)景制作、多視角切換等。
1. 三維建模
采用3ds Max軟件制作各類儀器和人物的模型,具體過(guò)程本文在此不詳細(xì)展開。儀器模型包括控制點(diǎn)標(biāo)志、三腳架、基座、接收機(jī)、基準(zhǔn)站電臺(tái)、對(duì)中桿、鞭狀天線等。人物模型則不僅應(yīng)對(duì)外觀進(jìn)行建模,還應(yīng)給每一個(gè)人物制作相應(yīng)的行走、點(diǎn)擊手簿、觀察等動(dòng)畫。模型建好后,應(yīng)導(dǎo)出為FBX格式,便于Unity3D能順利導(dǎo)入。
2. 素材導(dǎo)入
本系統(tǒng)使用的素材包括三維模型、動(dòng)畫、圖片和音樂(lè)。在Unity3D的project選項(xiàng)卡中選擇Import New Asset選項(xiàng)將素材導(dǎo)入。三維動(dòng)畫內(nèi)置在人物模型中,需要提取出來(lái)制作成Animation Controller后再關(guān)聯(lián)到人物模型上,并編寫腳本讓動(dòng)畫在合適的時(shí)候播放(如圖2所示)。
圖2 控制點(diǎn)布設(shè)動(dòng)畫
二維圖片導(dǎo)入后,需要添加到Atlas圖集中,再通過(guò)Sprite控件添加到界面中。
音樂(lè)則需要在場(chǎng)景中放置一個(gè)帶有Audio Source組件的物體,用于播放音頻文件,以及帶有Audio Listener組件的物體,用于收聽聲音。
3. 場(chǎng)景制作
首先通過(guò)GameObject菜單創(chuàng)建一個(gè)空白的地形。然后使用地形繪制工具繪制出高低起伏的地貌,并給繪制好的地形添加紋理和地物,如樹木、草叢等,讓它看上去更加真實(shí)。建筑、橋梁等三維模型可以根據(jù)需要進(jìn)行縮放、旋轉(zhuǎn)并放置在場(chǎng)景中。最后可以添加天空盒、河流等,模擬自然界的各種環(huán)境(如圖3所示)。
圖3 靜態(tài)測(cè)量場(chǎng)景
4. 用戶交互界面制作
本系統(tǒng)使用NGUI插件進(jìn)行圖形界面的制作。以手簿界面開發(fā)為例,首先確定界面需要的背景圖片,使用NGUI中的Sprite控件加載圖片放置到合適的位置;然后使用Label控件添加必要的文字說(shuō)明,使用Button控件添加按鈕,使用Input控件創(chuàng)建輸入框,使用Popup List控件創(chuàng)建下拉列表;最后為每個(gè)控件編寫腳本,讓它們能夠?qū)τ脩舻妮斎?、鼠?biāo)點(diǎn)擊等操作作出響應(yīng),或是對(duì)用戶輸入的數(shù)據(jù)進(jìn)行處理并顯示結(jié)果。
5. 坐標(biāo)系轉(zhuǎn)換
Unity3D的每個(gè)場(chǎng)景都會(huì)自帶一個(gè)坐標(biāo)系,包括X、Y、Z3個(gè)坐標(biāo)軸。通過(guò)與測(cè)繪的坐標(biāo)系統(tǒng)進(jìn)行比較,發(fā)現(xiàn)其X、Y軸可分別與高斯平面直角坐標(biāo)的x(南北)和y(東西)軸對(duì)應(yīng),Z軸坐標(biāo)值可與高程H對(duì)應(yīng)。將平面坐標(biāo)加入一定的常數(shù)后通過(guò)投影反算(中央子午線設(shè)置為114°,橢球采用WGS-84,投影方式為高斯投影)轉(zhuǎn)換為B、L,再與H一起轉(zhuǎn)換即可得到各點(diǎn)的空間直角坐標(biāo)。
6. 虛擬觀測(cè)值生成
在靜態(tài)測(cè)量中,利用給定的三維坐標(biāo)、天線高和廣播星歷,反算出接收機(jī)到衛(wèi)星的距離,再加入模擬的對(duì)流層誤差、電離層誤差、接收機(jī)鐘差、衛(wèi)星軌道誤差等誤差,從而得到虛擬的GNSS觀測(cè)值,并可輸出包含GPS和BDS(北斗)兩個(gè)衛(wèi)星系統(tǒng)的RINEX 3.0文件。
7. 儀器放置
當(dāng)用戶點(diǎn)擊了某個(gè)位置后,RayCast()函數(shù)會(huì)從攝像機(jī)的中心位置向光標(biāo)所在方向發(fā)射一條射線。當(dāng)射線遇到碰撞體(如地形)后,函數(shù)會(huì)返回碰撞點(diǎn)的三維坐標(biāo),這樣就可以將儀器模型放置到碰撞點(diǎn)上。類似的原理可用于模擬測(cè)量天線高,并使用LineRenderer組件在兩點(diǎn)間渲染一條直線模擬鋼卷尺。計(jì)算兩點(diǎn)間的距離即為量高的結(jié)果。
8. 儀器開啟和關(guān)閉
為了模擬開機(jī)操作,先給電源鍵按鈕添加一個(gè)碰撞體,并在碰撞體的腳本中加入OnClick()函數(shù),當(dāng)用戶點(diǎn)擊鼠標(biāo)時(shí),則開啟或關(guān)閉接收機(jī)上的指示燈。接收機(jī)上的指示燈用Unity3D中的點(diǎn)光源進(jìn)行模擬。對(duì)于那些需要閃爍效果的指示燈,可使用協(xié)程技術(shù),控制它們延遲點(diǎn)亮(或熄滅)。
9. 多視角切換
在場(chǎng)景中放置多個(gè)攝像機(jī)(camera),這些攝像機(jī)從不同角度對(duì)場(chǎng)景中的特定目標(biāo)進(jìn)行渲染,用戶需要在多個(gè)視角間自由切換,實(shí)際上就是通過(guò)啟用不同的攝像機(jī)來(lái)實(shí)現(xiàn)。第一人稱視角的測(cè)量體驗(yàn)感更為真實(shí),而第三人稱視角則有利于用戶對(duì)整個(gè)場(chǎng)景有更宏觀的感受。如圖4所示。
GNSS三維仿真測(cè)量實(shí)踐教學(xué)系統(tǒng)不僅能對(duì)儀器模型和測(cè)量場(chǎng)景進(jìn)行三維立體的展示,還能對(duì)動(dòng)靜態(tài)測(cè)量進(jìn)行全方位的交互仿真,并可生成觀測(cè)值、測(cè)點(diǎn)坐標(biāo)等仿真數(shù)據(jù),以供后續(xù)的數(shù)據(jù)處理實(shí)習(xí)使用。由于其在形式上為一個(gè)可執(zhí)行程序,只需點(diǎn)擊鼠標(biāo)即可進(jìn)行操作,具有成本低廉、攜帶方便、易于操作等諸多優(yōu)點(diǎn),非常適合于教師課堂演示和學(xué)生課前預(yù)習(xí)、課后鞏固操練。
圖4 多視角切換
三維仿真系統(tǒng)形式新穎、學(xué)生喜聞樂(lè)見,突破了GNSS傳統(tǒng)實(shí)踐教學(xué)模式在時(shí)間和空間上的局限性,有利于提高學(xué)生的學(xué)習(xí)興趣,激發(fā)他們的創(chuàng)新熱情。需要注意的是,三維仿真測(cè)量系統(tǒng)絕不意味著可以“以虛代實(shí)”甚至“只虛不實(shí)”,教學(xué)過(guò)程一定要堅(jiān)持“虛實(shí)結(jié)合、以虛促實(shí)”的原則,必須以提高學(xué)生的實(shí)際動(dòng)手能力為落腳點(diǎn)。
將本系統(tǒng)應(yīng)用于筆者所在院校測(cè)繪工程專業(yè)的GNSS實(shí)踐教學(xué),讓學(xué)生經(jīng)過(guò)虛擬系統(tǒng)訓(xùn)練之后再進(jìn)行實(shí)地操練。與傳統(tǒng)模式相比,發(fā)現(xiàn)他們對(duì)整個(gè)實(shí)習(xí)過(guò)程能有更宏觀的把握,學(xué)習(xí)效率顯著提升。當(dāng)然任何一種模式都不是盡善盡美的,如何能更好地將虛擬現(xiàn)實(shí)技術(shù)應(yīng)用于教學(xué),還需要在實(shí)踐中不斷地探索和總結(jié)。
[1]劉智敏,獨(dú)知行,郭金運(yùn),等. 注冊(cè)測(cè)繪師制度下GNSS測(cè)量課程教學(xué)改革探討[J]. 測(cè)繪工程,2014(11):78-80.
[2]郭敏,李天子,李春意. 《GNSS原理及應(yīng)用》課程的教學(xué)改革探索[J]. 測(cè)繪科學(xué),2013(4):207-208.
[3]李黎,龍四春,張金平,等. GPS原理與應(yīng)用課程教學(xué)改革探討[J]. 當(dāng)代教育理論與實(shí)踐,2014(5):118-119.
[4]章迪,郭際明,許才軍,等. 測(cè)繪專業(yè)視頻實(shí)驗(yàn)教學(xué)平臺(tái)建設(shè)[J]. 地理空間信息, 2014(6): 174-176.
[5]胡小強(qiáng).虛擬現(xiàn)實(shí)技術(shù)基礎(chǔ)與應(yīng)用[M].北京:郵電大學(xué)出版社,2009:1-2.
[6]馬春艷,徐傳陽(yáng),沈成虎,等. 基于虛擬現(xiàn)實(shí)仿真技術(shù)的測(cè)繪儀器模型設(shè)計(jì)開發(fā)[J].測(cè)繪通報(bào),2013(8):71-73.
[7]范沖,周鳳平,周敏. 基于Quest3D的虛擬測(cè)繪實(shí)驗(yàn)室的設(shè)計(jì)與實(shí)現(xiàn)[J]. 測(cè)繪通報(bào),2014(2):119-121.
[8]王式太,殷敏. 基于Virtools的虛擬全站儀測(cè)量訓(xùn)練系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 文理導(dǎo)航(下旬),2013(10):4-5.
[9]王登杰. 基于虛擬現(xiàn)實(shí)的工程測(cè)量實(shí)驗(yàn)技術(shù)研究[J]. 工程勘察,2011(12):55-58.
[10]張彤. 基于Quest3D的汽車虛擬駕駛培訓(xùn)系統(tǒng)的研究[D].焦作:河南理工大學(xué),2012.
[11]王麗麗,趙曉春,張清智,等. 基于Quest3D的虛擬園林漫游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 中國(guó)農(nóng)學(xué)通報(bào),2009(2):180-183.
[12]黃夏榮. 無(wú)人機(jī)飛行視景仿真平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[D].南京:南京理工大學(xué),2007.
[13]程小寧. 虛擬校園漫游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].南昌:南昌航空大學(xué),2013.
[14]王平論. 基于低空攝影測(cè)量的三維虛擬場(chǎng)景研究與實(shí)現(xiàn)[D].徐州:中國(guó)礦業(yè)大學(xué),2014.
[15]曾勇. 基于Unity3d的挖掘機(jī)模擬訓(xùn)練系統(tǒng)研究[D].長(zhǎng)安:長(zhǎng)安大學(xué),2013.
Realization of GNSS 3D Simulation Practical Teaching System
ZHANG Di,XU Caijun,CHEN Wei, ZHANG Yu
10.13474/j.cnki.11-2246.2016.0172.
2015-04-21
武漢大學(xué)實(shí)驗(yàn)技術(shù)項(xiàng)目;武漢大學(xué)開放實(shí)驗(yàn)項(xiàng)目
章迪(1984—),男,博士生,主要研究方向?yàn)镚NSS科研與教學(xué)。E-mail:155224268@qq.com
G64;P208
B
0494-0911(2016)05-0120-03
引文格式: 章迪,許才軍,陳巍,等. GNSS三維仿真測(cè)量實(shí)踐教學(xué)系統(tǒng)的實(shí)現(xiàn)[J].測(cè)繪通報(bào),2016(5):120-122.