全 瑩,王荊石,鄭博文
(1.中國鐵路呼和浩特局集團有限公司呼和浩特貨運中心,呼和浩特 010010;2.蘭州安信鐵路科技有限公司,蘭州 730070;3.甘肅省軌道交通信號與控制評測行業(yè)技術(shù)中心,蘭州 730070;4.甘肅省工業(yè)交通自動化工程技術(shù)研究中心,蘭州 730070)
近年來我國也在軌道交通虛擬仿真培訓(xùn)上進行了大量的研究與應(yīng)用,研究內(nèi)容包括了鐵路設(shè)計、鐵路作業(yè)和鐵路培訓(xùn)等方面。其中鐵路培訓(xùn)工作與虛擬現(xiàn)實技術(shù)結(jié)合設(shè)計的虛擬仿真培訓(xùn)系統(tǒng)為鐵路培訓(xùn)發(fā)揮了重大作用。虛擬現(xiàn)實技術(shù)與鐵路叉車作業(yè)結(jié)合設(shè)計的半實物仿真系統(tǒng),解決了職工培訓(xùn)理論與現(xiàn)實脫節(jié)、培訓(xùn)成本大、培訓(xùn)效果不明顯的問題。同時,構(gòu)建數(shù)字化操作管理系統(tǒng)使用戶的培訓(xùn)、學(xué)習(xí)與實訓(xùn)可以得到良好的記錄。
Unity3D是一個大型游戲開發(fā)平臺,該平臺三維動畫、可視化物體和動作實時性等技術(shù)已發(fā)展的較為完善。將Unity3D引擎開發(fā)工具應(yīng)用到鐵路虛擬場景上,利用3ds建模工具構(gòu)建鐵路貨運虛擬模型,充分利用其強大的建模能力。三維模型建立后,導(dǎo)入到Unity3D平臺。系統(tǒng)軟件設(shè)計如圖1所示。
圖1 系統(tǒng)軟件設(shè)計
本系統(tǒng)操作臺硬件叉車為實物1∶1還原。由懸浮式座椅、駕駛座艙、底座平臺、PC系統(tǒng)、視屏顯示器、方向機、檔位桿、操作桿、IC卡讀寫裝置、360視角調(diào)整搖桿、油門、離合、剎車踏板、轉(zhuǎn)向開關(guān)、數(shù)據(jù)采集卡、控制臺及各種功能控制按鈕組件等組成。設(shè)備采用與真實叉車相同的操作部件,逼真的操作手感,使得其操作功能、操作感覺與真機完全吻合。
真實還原鐵路貨運叉車現(xiàn)場環(huán)境,使得貨運職工在室內(nèi)叉車平臺上就能真實感受到現(xiàn)場環(huán)境,獲得沉浸式體驗。叉車實訓(xùn)功能模塊,均來自于貨運現(xiàn)場叉車作的實際拆解。利用VR技術(shù)于典型場景,受培訓(xùn)者可以直觀了解叉車作業(yè)的操作流程。
利用虛擬技術(shù)設(shè)計多種叉車作業(yè)流程,包括水平搬運、堆垛/取貨和裝貨/卸貨等。同時附帶虛擬交互功能,貨運職工可以與虛擬技術(shù)所呈現(xiàn)的功能模塊進行體驗。針對培訓(xùn)場景的培訓(xùn)視頻,利用Unity的dotween工具插件開發(fā)了相關(guān)播放設(shè)置,見表1。
表1 播放設(shè)置表
自動化考核,包括以下功能:①考核點設(shè)置及試題庫管理;②人工(隨機)組卷及試卷管理;③實訓(xùn)考核管理(包括實訓(xùn)考核名稱、實訓(xùn)考核層級選擇、試卷選擇、實訓(xùn)考核時間、總分設(shè)置、及格線設(shè)置、實訓(xùn)考核模式開啟和關(guān)閉等功能);④智能及人工閱卷(實訓(xùn)考核過程回放)。培訓(xùn)者在操作過程中所有的動作流程通過大數(shù)據(jù)都會被采集到數(shù)據(jù)庫中,通過智能分析,將每個培訓(xùn)者的實際考試情況記錄下來。最終系統(tǒng)會對培訓(xùn)者做出整體測評,評價該貨運職工實際操作能力。
以實物仿真、AR虛擬技術(shù)及鐵路貨物裝卸安全技術(shù)規(guī)則等技術(shù)規(guī)章為技術(shù)支撐,搭建室內(nèi)裝卸機械操作實訓(xùn)區(qū),對叉車進行虛擬仿真實訓(xùn)。AR技術(shù)將虛擬和現(xiàn)實連在一起,員工坐在真實的叉車上,感受到真實的室外作業(yè)場景。
叉車操作系統(tǒng)采用了基于Unity物理引擎編寫的以第一人稱的畫面行動組件。Unity本身的物理引擎可以較為準(zhǔn)確完整描述虛擬世界的相關(guān)動作,為使用戶體驗感更強,在Unity中使用RotateView()函數(shù),攝像頭根據(jù)此腳本就可以自由旋轉(zhuǎn)。在3D場景中,函數(shù)通過對第一人稱的作用力使得第一人稱移動。而該移動是在模擬號的3D環(huán)境中進行移動,可以較好的完成上下移動,前進與后退等。同時利用3Dmax軟件對虛擬場景進行優(yōu)化,將看不到的場景、畫面進行精簡與刪除,精簡模型量,使得虛擬場景展現(xiàn)出的操作場景更加逼真。
叉車作業(yè)的流程與操作順序必須滿足現(xiàn)場作業(yè)的工作流程。交互腳本中需要添加順序操作的邏輯功能,整個交互腳本需要實現(xiàn)現(xiàn)實與虛擬的交互性,培訓(xùn)人員坐在叉車上操作手柄等操作在虛擬搭建的場景上要有同步真實的動作。利用C#編程進行腳本的語言設(shè)計與開發(fā),C#編寫的手柄移動腳本要實現(xiàn)手柄在虛擬場景中的拖動前進后退提升落下等相關(guān)功能。
叉車在進行虛擬場景作業(yè)時,需要時刻清楚是否碰撞到相關(guān)物體或被物體所碰撞,碰撞從概念上來講,一個物體收到另外一個物體的力,并發(fā)生位置或狀態(tài)的變化,稱為碰撞。常用的為OncCollion檢測和On-Trigger檢測。在該虛擬環(huán)境中,采用觸發(fā)檢測的方法來判斷是否產(chǎn)生碰撞,使用該觸發(fā)檢測的前提是需要在被檢測物體上勾選Is Trigger選項。使用3個相關(guān)重要函數(shù):OnTriggerEnter():開始碰撞、OnTriggerStay():碰撞中、OnTriggerExit():結(jié)束碰撞。相關(guān)碰撞檢測設(shè)置代碼如下(圖2):當(dāng)開始碰撞時,將碰撞標(biāo)簽與“object”標(biāo)簽對比,若相等,定義碰撞開始。觸發(fā)一個對話,并記錄“開始撞到”。碰撞過程中,記錄“停留在撞擊狀態(tài)”。碰撞結(jié)束,關(guān)閉該會話,并記錄“結(jié)束撞擊”。
圖2 碰撞檢測設(shè)置代碼
叉車在虛擬場景中的移動是整個交互操作系統(tǒng)的重要組成部分之一,所有的動作均編寫在腳本里面,利用腳本來實現(xiàn)動作。在Unity3D的操作界面中選擇3D Object中的Caspsule創(chuàng)建一個3D立體物體膠囊,并將其命名為Player,通過更改其Inspectors的Transform屬性,將立體物體膠囊移動到地面上合適的位置。將相機(Camera)的父級拖拽到立體物體膠囊(Player)的子層級中,充當(dāng)視角,并調(diào)整到適當(dāng)位置。在SImpleNaturePack中創(chuàng)建一個C#Scripe的腳本。設(shè)置好一個單元移動速度,GetKey函數(shù)用于監(jiān)視輸入指令,并在玩家移動時觸發(fā)語句。根據(jù)觸發(fā)時間乘以單位移動速度所花費的單位時間,可將相應(yīng)的單位按規(guī)定方向移動。在角色模擬器的攝像機組件中添加腳本,通過GetAxis函數(shù)監(jiān)視鼠標(biāo)在垂直和水平方向上的輸入,設(shè)置好參數(shù)值,記錄上次移動的位置,當(dāng)Player移動觸發(fā)語句時,移動速度v乘以相應(yīng)時間t,攝像機就可以實現(xiàn)旋轉(zhuǎn)相應(yīng)的角度,達到控制視角的效果。
通過半實訓(xùn)仿真系統(tǒng)的模塊設(shè)計與交互場景的實現(xiàn),系統(tǒng)搭建了半實物仿真平臺操作界面。
實訓(xùn)具體操作結(jié)構(gòu)圖如圖3所示。
圖3 系統(tǒng)操作結(jié)構(gòu)圖
用戶在登錄該半實訓(xùn)仿真平臺后,選擇自己的實訓(xùn)題目。同時在登錄界面僅可看到系統(tǒng)根據(jù)自己所選題目按照考試要求生成的實訓(xùn)題目,系統(tǒng)的培訓(xùn)內(nèi)容則不可見。當(dāng)實訓(xùn)考試結(jié)束或人為自動退出考試界面后,系統(tǒng)恢復(fù)顯示培訓(xùn)內(nèi)容。
受訓(xùn)人員選擇實訓(xùn)任務(wù)后,系統(tǒng)根據(jù)選擇的叉車實訓(xùn)場景生成相應(yīng)的虛擬環(huán)境,在完成該任務(wù)后,系統(tǒng)判定。若任務(wù)未完成,系統(tǒng)記錄,重新選擇實訓(xùn)場景。直至受訓(xùn)人員完成所有實訓(xùn)場景,系統(tǒng)判定均認定成功,系統(tǒng)進入下一系統(tǒng),員工完成培訓(xùn)任務(wù)的學(xué)習(xí),系統(tǒng)給出最終評定成績,供給實訓(xùn)老師參考。實訓(xùn)標(biāo)準(zhǔn)流程如圖4所示。
圖4 實訓(xùn)標(biāo)準(zhǔn)流程
實訓(xùn)考核層次劃分為集團公司級、站段級和車間級。為了對員工培訓(xùn)的公平及選拔人才的需要,考試試題存在著不同的難度等級。員工所選擇的等級越高,系統(tǒng)設(shè)置的題目難度會增加。作為機器學(xué)習(xí)的一種,每個屬性的測試就會相應(yīng)地有一個非葉的點存在于決策樹上。每個特征屬性的輸出則會在決策樹上存在一個對應(yīng)的分支。在對系統(tǒng)等級的難度設(shè)置上,決策樹就要從實訓(xùn)等級這一根節(jié)點出發(fā),測試相應(yīng)的實訓(xùn)等級。并按照實訓(xùn)等級輸出來選擇對應(yīng)的分支,系統(tǒng)基于決策樹的實訓(xùn)等級設(shè)計如圖5所示。
圖5 實訓(xùn)等級設(shè)計
具體的設(shè)置方法:①實訓(xùn)考核的層級越高,高難度考核點的出現(xiàn)比例越大;②實訓(xùn)考核的層級越高,高難度考點所占的分數(shù)比例越大。
實訓(xùn)打分為系統(tǒng)自動打分,考試結(jié)束,系統(tǒng)隨即給出考核結(jié)果。參培員工若對結(jié)果有異議,可申請人工輔助判卷。實訓(xùn)單位教師通過實訓(xùn)過程的全程記錄,人工給出考核成績。
智能成績的統(tǒng)計需要數(shù)據(jù)庫的設(shè)計,采用SQL數(shù)據(jù)庫收集數(shù)據(jù)。描述學(xué)員信息、成績信息、操作過程中的動作屬性信息和操作流程中所使用的工機具信息等,能夠更好地完成針對職工的自動評判,通過操作即可自動實現(xiàn)成績的判斷,并傳輸至上位機,在平面交互界面進行顯示。
基于半實物仿真技術(shù)的鐵路叉車培訓(xùn)系統(tǒng)已在本局鐵路貨運中心運用,該系統(tǒng)使得培訓(xùn)員工在室內(nèi)真實叉車模型上即可模擬叉車現(xiàn)場作業(yè),用逼真的作業(yè)場景使培訓(xùn)員工獲得了良好的培訓(xùn)效果。通過演練各種作業(yè)場景,提高了培訓(xùn)員工各個場景的作業(yè)能力,對于現(xiàn)場作業(yè)中的“看不見”“摸不著”的設(shè)備與場景,虛擬技術(shù)也提供了各種操作環(huán)境與真實作業(yè)感覺。員工的作業(yè)水平,作業(yè)能力、作業(yè)素質(zhì)均得到了全面的提升。
本系統(tǒng)解決了傳統(tǒng)鐵路培訓(xùn)的現(xiàn)場實訓(xùn)與作業(yè)沖突、培訓(xùn)功能單一、設(shè)備不易全方位觀看的缺點,提出了一個基于虛擬現(xiàn)實技術(shù)的創(chuàng)新場景,最大程度上調(diào)動了培訓(xùn)員工的學(xué)習(xí)積極性與參與趣味性。虛擬現(xiàn)實技術(shù)的低成本與高性能使得貨運叉車的培訓(xùn)變得更加高效、安全與節(jié)能。