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