丁亞軍,應治國,陳一民
(1.上海長潤信息技術有限公司,上海 200050;2.上海建橋學院信息技術學院)
虛擬仿真實訓室平臺的建設是“未來校園”開展線上線下相融合的混合實訓教學重要的組成部分,也是人工智能環境下,教師人技協作有效開展實訓教學的重要載體。虛擬現實(Virtual Reality,簡稱VR)是一種將計算機圖形技術與相關設備相結合,可為人們創造一個具有沉浸感、互動性和想象力的良好虛擬環境的仿真技術。增強現實(Augmented Reality,簡稱AR)是將計算機建立的虛擬物體信息疊加在真實的現實場景中,通過三維注冊技術來實現對真實場景的增強。近年來,VR、AR 已廣泛應用于國內外教育與培訓領域,包括設計方案評估、虛擬維修培訓等。VR、AR 技術在樓宇智能化設備安裝與運行專業課程(樓控系統的安裝與維護課程,綜合布線課程)技能實訓方面具有獨特的優勢,可創造一個高逼真度的訓練環境,使受訓人員沉浸在良好交互的場景中,為受訓人員提供身臨其境般的三維空間虛擬感受。
本虛擬仿真實訓室平臺基于數據驅動理念,聚焦樓宇智能化設備安裝與運行專業課程技能實訓功能,采集和積累學生實訓過程數據,通過分析模型,準確判斷學生的學習情況,適時特性化的推送實訓資源,從而縮短實訓學習時長,提升學生的動手能力。
本文將VR、AR 技術應用于樓宇智能化設備安裝與運行專業課程技能實訓環節,應用了上海長潤信息技術有限公司技術團隊自主研發的長潤虛擬仿真實訓管理和共享平臺、長潤虛擬化仿真實訓軟件V1.0.0以及面向職教的智慧教學云計算平臺等技術研究成果,搭建了一種樓宇智能化設備安裝與運行專業課程技能平臺,該平臺應用3ds Max 和Unity3D 軟件創建高逼真度的虛擬場景,采用有限狀態機模型作為模擬實訓過程的核心算法,采用Java 及C#實現程序編制,圖形界面采用UGUI 插件進行設計,仿真中引入了粒子系統。該平臺能夠直觀展現樓宇智能化設備安裝與運行課程中各復雜環境與運行仿真場景,為學生提供一種高逼真度的訓練環境,對提升學生的實戰能力具有重要的意義和價值。
綜合考慮樓宇智能化設備安裝與運行專業課程技能實訓的需求,結合體系架構理論,設計了一種混合式架構(基于瀏覽器/服務器(B/S)模式和客戶端/服務器(C/S)模式),如圖1 所示。主要由兩大部分內容構成,即“管理和共享平臺”及“相關技能虛擬仿真實訓子系統”。以一幢智能化樓宇—“未來大廈”為載體,融入兩門課程(樓宇智能化設備安裝與運行課程、以及綜合布線課程相關技能點實訓模塊)的虛擬化仿真實訓項目和與之相配套的基于典型應用場景的系列技能實訓功能,以大廈實際應用進行樓層內的布點,將實訓項目有效分類、整合,構建以職場工作為原型的實訓體驗環境。學生通過虛擬仿真實訓室的項目實訓,既能讓學生開展單項技能實訓,又能讓學生多角色崗位聯動實訓,從而掌握“未來大廈”的整體管控。

圖1 實訓平臺的總體架構圖
由于傳統方法無法對多個虛擬實訓過程進行融合和優化,同時也難以實現過程、計劃、實施、運維一體化的實訓目標。設計并開發基于建筑信息模型和虛擬現實技術(VR)、增強現實(AR)的實訓空間可以很好地解決這一問題。開發基于VR、AR 技術的實訓平臺,在實訓環境的設計階段,利用該實訓環境協同設計,建立實訓環境的數字化模型。在實訓空間模型的基礎上,設置設備參數,對設施設備運行過程進行仿真,模擬實訓空間(整個大樓所含的主要及關鍵設備)運行過程,再對整個實訓的規劃布局、設備配置等進行評價和優化。
參考真實情況下樓控系統的安裝與維護課程以及綜合布線課程相關實訓環節,我們設計了該實訓平臺,其硬件架構如圖2 所示,包括三維場景可視化、實訓演練、人機交互仿真、在線考核評估等。

圖2 平臺的硬件架構
通過數據手套和磁力跟蹤器等設備可實現對操作者動作的捕獲,由PC6 完成對這些交互操作采集與處理;PC2 接收PC6 的輸出并據此完成虛擬場景的繪制、注冊和渲染等;PC2 輸出的虛擬場景同步發送至PC4 和PC5;PC1 使用雙目攝像頭和視頻采集卡對真實場景進行采集和處理,左右眼輸出視頻分別發送至PC4 和PC5;PC4 和PC5 完成虛擬及真實場景的融合,并通過分屏器分別輸出至頭盔顯示器和投影儀,發送到頭盔顯示器的融合場景視頻供操作者使用,而發送至投影儀的融合場景視頻,供觀察者使用,觀察者可以看到與操作者相同的畫面。所有計算機通過高速以太網連接,在PC3 的管理下進行相互間的通訊,PC3是系統的通信和控制中心,另外,PC3還要完成音頻控制、光照控制、設備狀態監控及控制和管理等任務。
另外,通過構建真實的樓宇設施設備模型和交互環境,基于改進自適應跟蹤算法的增強現實三維注冊,可在移動端將AR 人機交互、三維全景漫游、視頻多媒體元素相關結合,實現對虛擬裝備移動可視化與交互,讓學生通過人機交互可視化系統不受時間、地域的限制快速學習新的技術和設備知識,達到快速認知了解樓宇設施設備內部結構以及工作原理的目的。
“虛擬仿真實訓室平臺”不僅提供虛擬實訓服務功能,而且可以采集實訓過程數據,并能對其進行統計分析,展示給老師和學生。其核心業務流程如圖3所示,含實訓準備、實訓演練及實訓統計三大部分,可使學生身臨其境般的學習、訓練,掌握實際技能。讓學生全面了解和認知智能樓宇相關的各方面知識,并通過虛擬化實訓的方式幫助學生擴展書本上無法獲取的知識及經驗,同時記錄學生的學習與實訓過程,并對其學習經歷進行研判。

圖3 虛擬仿真實訓室平臺-業務流程圖
“虛擬仿真實訓室平臺”應用軟件功能主要由兩大部分構成:①管理和共享平臺;②相關技能虛擬仿真實訓子系統”(含兩門課程相關技能點實訓模塊,有拓展空間)。
在實訓教學開始前,教師可以通過管理平臺設置實訓項目,提出要求及關鍵參數,并準備相關的理論或技能知識資源供學生學習。實訓項目相關信息可以從外部系統獲取數據,如實訓課程信息、實訓要求、實訓資源等。學生可以在各虛擬仿真實訓子系統中進行實訓操作。在實訓前先進行理論知識、技能要點、實訓要求的學習,然后正式進入實訓。在實訓過程中,平臺會自動進行各種關鍵性數據的采集,如實訓動作、實訓步驟、時間等等。在實訓演練結束后,通過評價模型對各類實訓過程數據進行統計分析,將統計分析的結果、評價建議以及根據實訓情況推薦的學習資源展示給學生。教師在平臺中可以查看學生歷次實訓的操作記錄和統計分析的信息、維護實訓成績,以及查看各類統計圖表,并根據實訓情況及時調整優化實訓教學內容。最終也可將采集和分析的數據傳輸到外部系統。
三維場景可視化主要實現高真實度的樓宇智能化設備安裝與運行課程中所涉及的場景、各種設備的動態模擬仿真與實時顯示,是確保仿真實訓質量的重要前提。樓宇智能化設備安裝與運行課程中所涉及的大樓以及設備等復雜模型,本文以現實中設備結構模型為依據,在三維工程建模軟件中進行相關設備及裝備的制作,并采用二維平面設計軟件設計與模型外表相符的紋理貼圖,通過三維模型渲染軟件對模型進行渲染,包括紋理貼圖、材質與燈光。以智能化樓宇為例,其構建過程根據CAD圖紙,按照實際和虛擬1:1的尺寸比例搭建框架模型,并結合現場照片,利用3ds Max軟件渲染出最終三維數字化模型。當三維模型立面很多,達到百萬級,而且要展示多個建筑物時,對硬件的內存消耗很大,必須做優化,一方面在3ds MAX中剔除多邊形的背面,只顯示其必要面,減少模型面數,使系統運行順暢,使用材質優化工具對模型進行材質優化,優化所有模型多維或子對象材質,并清除游離點和清除空物體樣條線,減少模型內存,增強模型的穩定性;另一方面可在Unity3D 中把模型做成預制體,只在程序執行的必要時候進行實例化,其余時間處于銷毀狀態。
Unity3D 編譯時選擇合適的分辨率,不是越高越好,根據實際的運行效果,選擇適當的分辨率,可以降級程序運行的存儲和內存空間,提高運行速度,而不會降低學生的體驗效果。將渲染過的模型導入虛擬仿真引擎中進行處理,結合地形地貌系統與天空盒模塊的構建,并采用LOD 分級顯示技術與遮擋剔除技術來優化場景資源,最終成功搭建高逼真度的三維虛擬場景,圖4所示為其中一個三維場景。

圖4 智能化樓宇仿真模型
WebGL是一種三維繪圖協議,為網頁添加OpenGL 特性支持,從而實現3D 圖形渲染。相比較WebPlayer 使用需要先安裝瀏覽器插件,WebGL 使用時,無需額外的插件支撐,便可以實現Web 交互式三維渲染,提高了軟件使用便捷性。在Unity中,WebGL通過il2cpp.exe 將.NET IL 中間語言編譯成C# ++源碼,然后通過各個平臺的C++編譯器進行編譯,達到跨平臺訪問目的。對于C++源碼,Unity支持兩種轉化方式:asm.js 和WebAssembly(wasm),其中asm.js 是文本格式,WebAssembly 是二進制格式。考慮到二進制運行速度更快,體積更小,我們采用wasm方式進行轉化。WebAssembly 是基于堆棧虛擬機的二進制格式,通過編譯程序源碼,可以將程序部署在Web端。以Windows平臺為例,利用底層虛擬機LLVM Emscripten 編譯器將C++編譯成.wasm 文件。由于wasm 不能直接被瀏覽器識別,需要通過JavaScript 接口進行頁面加載,從而實現3D圖形網頁渲染,其原理如圖5所示。

圖5 WebGL原理
良好的人機交互功能能夠提升訓練質量、改善實訓效果。我們選擇HTC Vive 作為交互設備,雙基站追蹤頭盔和手柄位置和角度信息,實時跟新場景和交互動作,實現沉浸式漫游和交互體驗。
場景中導入SteamVR Plugin,Hierarchy 窗口中添加將CameraRig 和SteamVR。手柄和基站定位器鏈接SteamVR 定位系統,通過頭盔和手柄中傳感器,實現定位功能。頭盔和手柄由Camera Rig 控制。刪除原來的Camera,運動手柄連接成功后,虛擬場景中會創建虛擬手柄。選擇視圖中Camera(eye),攝像機將精確地追蹤到頭盔,然后創建腳本并添加到控制器上。在Scripts 文件夾下創建C#語言腳本,刪除Start(),編寫方法程序代碼放入Update()內,對手柄控制器進行一個引用,作為被跟蹤對象。通過SteamVR_Controll-er.Device 訪問到手柄控制器,通過手柄控制器input值追蹤對象并返回這個input 值。頭盔和手柄都是被追蹤對象,在現實中移動和旋轉頭盔與手柄都能被系統追蹤到。在Update()中編寫方法程序,Tracked_Obj 會被賦值SteamVR_Tracked Object 對象,通過訪問手柄的輸入信號并傳輸到控制臺,實現程序表達的動作。
選擇瞬移的方式來實現虛擬場景中的移動漫游功能,借助運動手柄向目的地面發射激光,攝像機瞬間移動到激光定位的位置,達到虛擬場景中的視野移動。首先利用預配置的ViveNavMesh 在Unity3d 中烘焙一個導航網格。添加ParabolicPointer 組件后,生成指示網格從Vive Nav Mesh 中采樣獲得指示數據。給SteamVR Camera 添加Vive Teleporter 組件,組件通過控制傳送機制從Parbolic Pointer中獲取指示數據,確定傳送的位置,移動后實時渲染的新場景平穩地切入轉換減少了眩暈感。
本系統的交互點數量龐大,有如按鈕、照明燈、調速旋鈕等,虛擬交互點保持與現實一致的邏輯動作過程。先將交互點進行分類處理,然后用C#語言編寫程序控制交互點動作。另外采用界面開發插件UGUI完成交互界面設計,根據需求,設計人機交互界面,包括登錄界面、功能模塊界面、仿真操作界面、設置界面、在線學習與考核界面等。
我們所開發的實訓項目支持多種主流平臺發布,包括PC、手機及平板等,訓練人員可通過本地電腦、手機或平板進行培訓考核,極大增強了仿真培訓的便捷性。本平臺包含兩門課程實訓內容,主要通過“知識認知”和“技能實訓”兩種形式呈現。
根據實訓課程相關知識點,組織學習資源,引導學生在虛擬仿真實訓場景中進行學習,通過對真實工作場景的高度還原,引導學生熟悉實際工作崗位上所要接觸到的知識點。虛擬仿真技術與傳統文字、圖片或視頻技術相比較,可以從事物的外在架構逐步透視到內在構成,結合預先設置好的學習路線、平臺可以引導學生依照專業崗位職責設置開展學習活動,從而使得學生形成整體上的認知,如圖6所示。

圖6 樓宇自動化虛擬仿真認知實訓
根據真實工作崗位要求,我們設計了相關技能實訓及考核環節,引導學生在虛擬仿真實訓場景中進行實訓或考核。傳統的虛擬仿真實訓場景一旦開發完畢即固化且難以調整,考慮到現代樓宇自動化管理技術的發展,實際工作場景隨著管理需求的變更或設備技術的提升,相關技能學習或實訓要求會隨之有所改變,因此提供了一套虛擬仿真實訓場景參數設置接口,依照相關接口可以定義實訓場景的各類參數,如需要顯示的設備名稱、描述;互動操作的取值范圍,限制條件等,通過這一模式,可以最大限度利用“三維場景可視化”環節的工作成果,同時亦可為未來場景擴展做好準備。
“知識認知”和“技能實訓”時,系統將采集其過程數據,并根據一定的規則加以評判(如,是否在指定時間內完成,是否掌握該崗位必要的技能點等等),對學生技能掌握情況有一個定量的分析供師生參考,也為個性化教學提供參考數據,這是本平臺的一大創新點,如圖7所示。

圖7 樓宇自動化虛擬仿真實訓評估
基于虛擬現實與仿真技術,結合Unity3D 虛擬仿真引擎,對樓控系統的運行與維護課程以及綜合布線課程實訓的關鍵技術進行了探索性研究,開發了一種高真實度的行為仿真模型,成功搭建了一種虛擬仿真實訓室平臺。該平臺能夠直觀展現樓宇智能化設備安裝與運行課程以及綜合布線課程中各種復雜環境與運行仿真場景,為學生提供一種高度逼真的訓練環境,支持注冊登錄、虛擬漫游、實訓演練、在線考核評估等功能,可發布到電腦、手機或平板,可以隨機隨時進行考核培訓,增強了培訓的便捷性。該研究成果具有重要意義和實用價值。