章 迪,許才軍,陳 巍,張 煜
(1. 武漢大學測繪學院,湖北 武漢 430079; 2. 地球空間信息技術協同創新中心,湖北 武漢 430079)
?
GNSS三維仿真測量實踐教學系統的實現
章迪1,2,許才軍1,2,陳巍1,2,張煜1,2
(1. 武漢大學測繪學院,湖北 武漢 430079; 2. 地球空間信息技術協同創新中心,湖北 武漢 430079)
GNSS三維仿真測量系統將虛擬現實技術用于實踐教學,能夠突破設備、場地、學時等多方面的限制,切實增強學生的實踐能力。本文介紹了其設計思路,并重點闡述了運用Unity3D進行系統開發所涉及的關鍵技術,可為其他教學研究和開發提供參考。
全球衛星導航定位系統;虛擬現實;三維仿真;實踐教學
全球衛星導航定位系統(GNSS)是當前高校測繪類專業教學中非常重要的一門課程。課程要求學生不僅要具備扎實的理論基礎,而且應掌握GNSS靜、動態測量的實踐技能,并將之熟練地應用于科研和工程實踐。但目前GNSS實踐教學仍存在儀器資源不足、室內示教困難、教學學時有限等問題,對學生實踐能力的提升造成了障礙。針對這些問題,廣大教學工作者開始探索各種方法來提高教學效果,如劉智敏等提出應當更新儀器設備,與多家單位建立教學實習基地,結合教師的科學項目培養優秀學生[1];郭敏等提出應當更新利用好儀器設備,完善實習基地,并采用多元化的實習方法和手段[2];李黎等提出應當建立實習基地,加大實踐教學考核的比重[3];章迪等提出建立視頻實驗教學平臺[4]。這些方法可以在一定程度上改善儀器和場地因素帶來的困擾,但購置新的儀器和建設實習場地往往需要大量的資金投入,教師的項目又通常難以覆蓋所有學生。使用虛擬現實技術開發GNSS三維仿真測量系統則為我們提供了新的思路。
虛擬現實又稱為靈境技術,即采用計算機技術為核心的現代高科技手段生成逼真的虛擬環境,讓用戶能采用自然的方式與虛擬世界中的物體進行交互,從而產生身臨其境的感受和體驗[5]。已有一些學者探索將虛擬現實技術用于測繪實驗教學,如馬春艷等使用3ds Max軟件制作了水準儀的模型,并編制了水準測量的演示性動畫[6];范沖等開發了基于Quest3D的虛擬測繪實驗室[7],能夠模擬全站儀導線測量實驗。
目前,可用于虛擬現實開發的軟件有Virtools[8-9]、Quest3D[10-11]、Vega[12-13]、Unity3D[14-15]等。由于Unity3D具有語言兼容性強、平臺適用性廣、地形渲染器強大、簡單易學、支持多種文件格式并提供免費版本等優點,因此本文選用該軟件作為開發工具。Unity3D是由Unity Technologies開發的游戲引擎,它能夠讓開發者輕松創建諸如三維視頻游戲、建筑可視化、實時三維動畫等的互動內容。Unity3D支持3種腳本語言,即JavaScript、C#和BOO。本系統使用C#語言進行腳本編輯。
GNSS三維仿真測量系統的目的是為了讓學生在對各種儀器的外觀、結構有直觀認識的基礎上,能結合理論知識,進行多場景下GNSS的仿真測量,熟練掌握靜態、動態測量的操作步驟。基于這些需求,筆者將系統設計為基礎知識、儀器介紹、靜態測量、動態測量和系統幫助5個部分,如圖1所示。

圖1 系統構成
基礎知識部分采用圖文結合的幻燈片方式,主要介紹GNSS測量的基本原理、步驟和相關的注意事項,既有對理論知識的回顧和總結,也包含對實踐操作的前導性學習。
儀器介紹部分,用戶可以從儀器列表中選取要查看的儀器,通過鼠標控制模型旋轉、縮放,從而能夠從各個角度觀察每個儀器模型。當鼠標指針懸停在模型的特定位置時會彈出對相關部位的簡要說明,幫助學生快速熟悉儀器。
靜態測量部分,用戶在設置頁面可以選擇場景、日期、接收機數量、采樣率、截止高度角等參數。進入測量場景后,用戶可以調出俯視圖,并從工具欄中點選控制點拖放至合適位置。之后可以在控制點上架設儀器、測量儀器高,并開啟接收機進行測量。在一個觀測時段結束后,系統會為每臺接收機生成O文件和N文件,用戶可以把它們導出到硬盤上,用于基線解算。
動態測量部分能夠模擬真實的RTK測量過程。用戶先選擇合適的位置架設好基準站,手動開啟接收機、電臺,通過手簿界面設置基準站參數;然后開啟流動站,并設置好坐標系、電臺頻率、電文格式等參數;通過鍵盤、鼠標控制測量員在場景中漫游,以第一或第三人稱視角模擬RTK測量,進行地物、地形的數據采集。測量結束后,用戶可以將觀測值導成CASS文件用于地形圖繪制。
系統幫助是整個系統的操作使用說明,用于提示用戶實現前后移動、視角切換、顯示已知點等功能的操作方法。
系統開發的關鍵技術包含三維建模、素材導入、場景制作、多視角切換等。
1. 三維建模
采用3ds Max軟件制作各類儀器和人物的模型,具體過程本文在此不詳細展開。儀器模型包括控制點標志、三腳架、基座、接收機、基準站電臺、對中桿、鞭狀天線等。人物模型則不僅應對外觀進行建模,還應給每一個人物制作相應的行走、點擊手簿、觀察等動畫。模型建好后,應導出為FBX格式,便于Unity3D能順利導入。
2. 素材導入
本系統使用的素材包括三維模型、動畫、圖片和音樂。在Unity3D的project選項卡中選擇Import New Asset選項將素材導入。三維動畫內置在人物模型中,需要提取出來制作成Animation Controller后再關聯到人物模型上,并編寫腳本讓動畫在合適的時候播放(如圖2所示)。

圖2 控制點布設動畫
二維圖片導入后,需要添加到Atlas圖集中,再通過Sprite控件添加到界面中。
音樂則需要在場景中放置一個帶有Audio Source組件的物體,用于播放音頻文件,以及帶有Audio Listener組件的物體,用于收聽聲音。
3. 場景制作
首先通過GameObject菜單創建一個空白的地形。然后使用地形繪制工具繪制出高低起伏的地貌,并給繪制好的地形添加紋理和地物,如樹木、草叢等,讓它看上去更加真實。建筑、橋梁等三維模型可以根據需要進行縮放、旋轉并放置在場景中。最后可以添加天空盒、河流等,模擬自然界的各種環境(如圖3所示)。

圖3 靜態測量場景
4. 用戶交互界面制作
本系統使用NGUI插件進行圖形界面的制作。以手簿界面開發為例,首先確定界面需要的背景圖片,使用NGUI中的Sprite控件加載圖片放置到合適的位置;然后使用Label控件添加必要的文字說明,使用Button控件添加按鈕,使用Input控件創建輸入框,使用Popup List控件創建下拉列表;最后為每個控件編寫腳本,讓它們能夠對用戶的輸入、鼠標點擊等操作作出響應,或是對用戶輸入的數據進行處理并顯示結果。
5. 坐標系轉換
Unity3D的每個場景都會自帶一個坐標系,包括X、Y、Z3個坐標軸。通過與測繪的坐標系統進行比較,發現其X、Y軸可分別與高斯平面直角坐標的x(南北)和y(東西)軸對應,Z軸坐標值可與高程H對應。將平面坐標加入一定的常數后通過投影反算(中央子午線設置為114°,橢球采用WGS-84,投影方式為高斯投影)轉換為B、L,再與H一起轉換即可得到各點的空間直角坐標。
6. 虛擬觀測值生成
在靜態測量中,利用給定的三維坐標、天線高和廣播星歷,反算出接收機到衛星的距離,再加入模擬的對流層誤差、電離層誤差、接收機鐘差、衛星軌道誤差等誤差,從而得到虛擬的GNSS觀測值,并可輸出包含GPS和BDS(北斗)兩個衛星系統的RINEX 3.0文件。
7. 儀器放置
當用戶點擊了某個位置后,RayCast()函數會從攝像機的中心位置向光標所在方向發射一條射線。當射線遇到碰撞體(如地形)后,函數會返回碰撞點的三維坐標,這樣就可以將儀器模型放置到碰撞點上。類似的原理可用于模擬測量天線高,并使用LineRenderer組件在兩點間渲染一條直線模擬鋼卷尺。計算兩點間的距離即為量高的結果。
8. 儀器開啟和關閉
為了模擬開機操作,先給電源鍵按鈕添加一個碰撞體,并在碰撞體的腳本中加入OnClick()函數,當用戶點擊鼠標時,則開啟或關閉接收機上的指示燈。接收機上的指示燈用Unity3D中的點光源進行模擬。對于那些需要閃爍效果的指示燈,可使用協程技術,控制它們延遲點亮(或熄滅)。
9. 多視角切換
在場景中放置多個攝像機(camera),這些攝像機從不同角度對場景中的特定目標進行渲染,用戶需要在多個視角間自由切換,實際上就是通過啟用不同的攝像機來實現。第一人稱視角的測量體驗感更為真實,而第三人稱視角則有利于用戶對整個場景有更宏觀的感受。如圖4所示。
GNSS三維仿真測量實踐教學系統不僅能對儀器模型和測量場景進行三維立體的展示,還能對動靜態測量進行全方位的交互仿真,并可生成觀測值、測點坐標等仿真數據,以供后續的數據處理實習使用。由于其在形式上為一個可執行程序,只需點擊鼠標即可進行操作,具有成本低廉、攜帶方便、易于操作等諸多優點,非常適合于教師課堂演示和學生課前預習、課后鞏固操練。

圖4 多視角切換
三維仿真系統形式新穎、學生喜聞樂見,突破了GNSS傳統實踐教學模式在時間和空間上的局限性,有利于提高學生的學習興趣,激發他們的創新熱情。需要注意的是,三維仿真測量系統絕不意味著可以“以虛代實”甚至“只虛不實”,教學過程一定要堅持“虛實結合、以虛促實”的原則,必須以提高學生的實際動手能力為落腳點。
將本系統應用于筆者所在院校測繪工程專業的GNSS實踐教學,讓學生經過虛擬系統訓練之后再進行實地操練。與傳統模式相比,發現他們對整個實習過程能有更宏觀的把握,學習效率顯著提升。當然任何一種模式都不是盡善盡美的,如何能更好地將虛擬現實技術應用于教學,還需要在實踐中不斷地探索和總結。
[1]劉智敏,獨知行,郭金運,等. 注冊測繪師制度下GNSS測量課程教學改革探討[J]. 測繪工程,2014(11):78-80.
[2]郭敏,李天子,李春意. 《GNSS原理及應用》課程的教學改革探索[J]. 測繪科學,2013(4):207-208.
[3]李黎,龍四春,張金平,等. GPS原理與應用課程教學改革探討[J]. 當代教育理論與實踐,2014(5):118-119.
[4]章迪,郭際明,許才軍,等. 測繪專業視頻實驗教學平臺建設[J]. 地理空間信息, 2014(6): 174-176.
[5]胡小強.虛擬現實技術基礎與應用[M].北京:郵電大學出版社,2009:1-2.
[6]馬春艷,徐傳陽,沈成虎,等. 基于虛擬現實仿真技術的測繪儀器模型設計開發[J].測繪通報,2013(8):71-73.
[7]范沖,周鳳平,周敏. 基于Quest3D的虛擬測繪實驗室的設計與實現[J]. 測繪通報,2014(2):119-121.
[8]王式太,殷敏. 基于Virtools的虛擬全站儀測量訓練系統的設計與實現[J]. 文理導航(下旬),2013(10):4-5.
[9]王登杰. 基于虛擬現實的工程測量實驗技術研究[J]. 工程勘察,2011(12):55-58.
[10]張彤. 基于Quest3D的汽車虛擬駕駛培訓系統的研究[D].焦作:河南理工大學,2012.
[11]王麗麗,趙曉春,張清智,等. 基于Quest3D的虛擬園林漫游系統的設計與實現[J]. 中國農學通報,2009(2):180-183.
[12]黃夏榮. 無人機飛行視景仿真平臺的設計與實現[D].南京:南京理工大學,2007.
[13]程小寧. 虛擬校園漫游系統的設計與實現[D].南昌:南昌航空大學,2013.
[14]王平論. 基于低空攝影測量的三維虛擬場景研究與實現[D].徐州:中國礦業大學,2014.
[15]曾勇. 基于Unity3d的挖掘機模擬訓練系統研究[D].長安:長安大學,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
武漢大學實驗技術項目;武漢大學開放實驗項目
章迪(1984—),男,博士生,主要研究方向為GNSS科研與教學。E-mail:155224268@qq.com
G64;P208
B
0494-0911(2016)05-0120-03
引文格式: 章迪,許才軍,陳巍,等. GNSS三維仿真測量實踐教學系統的實現[J].測繪通報,2016(5):120-122.