李愷,練德強
(廣州鐵路職業(yè)技術學院機車車輛學院,廣州510430)
地鐵列車設備認知作為城市軌道交通車輛專業(yè)(以下簡稱城軌車輛專業(yè))的基礎實踐課程,在整個教學計劃當中必不可少。同時作為引領學生熟悉車載設備,了解各部件之間的相互關系及其工作原理,順利上崗工作的不可或缺的關鍵環(huán)節(jié),因此認知教學在城軌專業(yè)教學過程中有著重要地位[1]。而傳統的教學方式是在車輛段由教師帶領學生以參觀的方式進行教學,但存在許多弊端,首先,因為參觀的車輛一般為地鐵公司的真車,因此車上設備不允許教師或者學生觸碰,因此車載設備的結構、工作原理不能良好地體現,沒有動手環(huán)節(jié),學生技能水平的提高有限;其次,參觀的真車的環(huán)境較為復雜,許多地方存在高電壓等危險,因此學生的安全得不到保障[2]。
隨著虛擬現實技術的發(fā)展,越來越多的實踐教學采用虛擬培訓方式進行,達到良好的效果,一些高校將VR 技術應用于微電子網絡實驗室[3],構建虛擬科學實訓室(VMS Lab-G),但其輸入設備普遍采用鼠標、鍵盤和觸屏,僅僅限于桌面化虛擬現實,體驗感、參與感、沉浸感無法滿足用戶要求。
本文主要是將沉浸式VR 技術引入城軌車輛專業(yè)教學中,通過HTC VIVE 虛擬現實頭戴式顯示器(VR頭顯),結合HTC 控制手柄,搭建地鐵列車設備認知教學系統。
HTC VIVE 是HTC 公司與VALVE 公司合作的一套沉浸式虛擬現實設備,由頭戴式顯示器(Head-Mounted Display,HMD)、手持控制器、定位系統(Lighthouse)三部分組成[4]。其組成如圖1 所示。
圖1 HTC VIVE沉浸式虛擬現實設備
HMD 頭顯由OLED 屏幕制成,單眼有效分辨率為1200×1080,合成的雙眼分辨率為2160×1200。VIVE支持配戴眼鏡的同時佩戴HMD 頭顯。同時,其畫面刷新率為90Hz,數據延遲低至22ms,無畫面遲鈍感,因此不易引起用戶不適。除了肢體動作以外,HTC VIVE 沒有其他任何形式的用戶輸入,屬于自然的人機交互方式。
HTC VIVE 的空間追蹤定位系統,用于追蹤用戶在區(qū)域內的位置,從而達到更為良好的沉浸式體驗,如圖2 所示。
圖2 HTC VIVE追蹤定位系統
而HTC 的定位系統的實現主要依靠Lighthouse 定位技術實現,Lighthouse 屬于激光掃描定位技術,是由兩個激光傳感器(基站)掃描用戶的位置追蹤傳感器,獲得用戶的位置和方向信息[5]。激光傳感器如圖3 所示,位置追蹤傳感器是由光敏傳感器組成,如圖4 所示。Lighthouse 的兩個激光發(fā)射器以對角的形式安裝,形成一個15×15 英尺的空間區(qū)域(區(qū)域可以根據實際空間大小進行調整)。每個激光傳感器由兩個掃描模塊(分為水平和垂直掃描)發(fā)射激光光束,如圖5 所示,以每秒6 次的頻率不停的掃描設置的區(qū)域空間[6-8]。位置追蹤傳感器被安置在頭戴顯示器(HMD)和手持控制器上,其數量超過70 個。
圖3 Lighthouse激光傳感器
圖4 HMD的位置追蹤傳感器
在激光掃過的同時頭戴顯示器開始計數,光敏傳感器在接收到激光后,通過計算接受的時間,可以準確得到出頭戴顯示器(HMD)和手持控制器相對于兩個基站的空間位置。于此同時,在激光束掃描過程中,如若擊中多個光敏傳感器,迅速形成三維模型。因此Lighthouse 定位技術不僅能跟蹤出HMD 的位置,還能準確辨別HMD 的方向[9]。
圖5 Lighthouse定位技術原理
HTC VIVE 的人機交互屬于自然交互,主要通過HMD 的位置以及手持控制器的操作實現交互功能,其中手持控制器的各個按鍵說明如圖6 所示[10]。
圖6 HTC VIVE 手持控制器按鍵功能圖
PC 端與手持控制器以及HMD 的信息通信有對應的開發(fā)接口,VALVE 公司預留了開發(fā)接口,集成了以個SKD 包——OpenVR,在常見的VR 開發(fā)平臺上幾乎都進行了整合,可直接調用,非常方便。
手持控制器中的觸控板具有按鍵和觸控兩種功能,按鍵功能與常見的鍵盤按鈕類似,觸控功能與鼠標移動功能類似,可用于移動旋轉功能的設計中,但是其值有范圍,其范圍為(-1,1)。具體使用圖如圖7 所示。
圖7 手持控制器觸摸板取值范圍
地鐵列車設備認知教學是虛擬培訓中的一種,為了能更好的實現系統功能,本文采用Unity3D 作為系統的開發(fā)平臺,Unity3D 內部集成了OpenVR、Oculus、JDK 等VR 設備開發(fā)包,能非常方便地開發(fā)并實現沉浸式交互功能。
整個系統分為四個部分:基礎知識學習模塊、列車設備學習模塊、考核評估模塊和系統管理模塊。其結構圖如圖8 所示。
圖8 地鐵列車設備認知教學系統框架圖
(1)基礎知識學習模塊:通過文字說明、圖像資料、視頻資源以及動畫仿真等方式進行教學,用以指導學員對地鐵列車的基礎知識進行講解,以便學生熟悉列車各系統結構、組成及其工作原理等基本知識的學習。
(2)列車設備學習模塊:學習列車關鍵部件設備的工作原理、設備作業(yè)、檢修維護方法等知識,使學生對列車各部件有大致了解,提高學生知識的掌握程度。
(3)考核評估模塊:考核分兩種:理論和實操考核,使得學員能自行檢測學習效果,對理論知識進行深化和鞏固,使學生操作技能的提升,并通過模擬拆解列車設備的過程,進一步提高學生對設備工作原理的理解,提升學習效果。
(4)系統管理功能:能夠滿足對用戶管理、教學資源管理、考核管理等功能,便于系統維護與更新,使得系統能穩(wěn)定良好運行。
虛擬現實系統的模型大致有兩類:①直接利用已有的三維建模軟件所設計的三維模型。②采用3DMax、Maya、Creator 等視景建模軟件生成的三維模型。前者,建模較為精密,但對呈現的設備硬件要求較高,因此不適合針對大型場景進行建模。后者,其模型并不追求精度,因此其單個模型的渲染面片數量與第一種方式相比較少,因而在需要實時交互時具有:渲染速度快、用戶體驗好的特點。本文可考慮兼容兩者優(yōu)勢進行場景建模,從而實現較好的實時交互體驗。其建模流程如圖9 所示。
圖9 虛擬場景建模流程圖
HTC 人機交互屬于自然交互方式,主要以凝視交互和手柄交互兩種方式。
(1)凝視交互功能
凝視交互即利用視覺焦點代替鼠標指針,觸發(fā)類似鼠標單擊、雙擊、懸浮等交互事件,實現視覺交互功能。如圖10 所示。
圖10 凝視交互示意圖
凝視交互功能實現原理:利用射線檢測原理,由VR 眼鏡中心處(攝像機中心點)發(fā)射出一條射線(Ray),通過Raycast 判斷射線與虛擬物體是否發(fā)生碰撞,從而判定是否選擇物體,并參考暫留時間設計觸發(fā)后的響應。其中關鍵代碼如下所示:
Void Update()
{
Ray ray=new Ray(transform.position,transform.forward);RaycastHit hit;
if(Physics.Raycast(ray,out hit,150))
{
……//設置事件觸發(fā)的處理方法;
}
}
(2)手柄交互功能
HTC VIVE 的手柄交互可類比于鍵盤按鈕和觸摸板的功能進行設計,其功能按鈕示意圖如圖6 所示,在前文已有描述此處不再贅述。
在Unity3D 中,HTC VIVE 的手柄控制器分為左右兩個,先識別的為右,后者為左,此處以右手柄為例,介紹各個按鈕對應于Unity3D 的按鈕代碼,其映射關系如表1 所示[10]。
表1 HTC VIVE 的手柄控制器與Unity3D 按鈕映射關系表
利用if(Input.GetKey(“KeyCode”))方法就可以判斷用戶按下手柄哪個按鍵,利用If(Input.GetAxis(“AxisCode”))即可判斷用于操作了哪個操縱桿及其方向。
本文主要基于HTC VIVE 的地鐵列車設備認知教學系統開發(fā),現已實際運用,本節(jié)將展示系統的運行實例,以驗證本系統的特點。
系統運行部分功能如圖11 所示。
圖11 基于HTC VIVE的地鐵列車設備認知教學系統運行實例圖
筆者主要針對傳統實踐教學的不足,引入沉浸式VR 技術,通過HTC VIVE 虛擬現實頭戴式顯示器(VR頭顯),結合HTC 控制手柄,搭建一套無場地限制、實踐教學環(huán)節(jié)安全可靠的地鐵列車設備認知教學系統,并以進行實例驗證,在虛擬培訓以及VR 技術與教學相融合的方面具有一定的參考價值。