肖 乾, 彭俊江, 李 萍, 周生通, 楊文斌, 周 鵬
(1.華東交通大學(xué)載運工具與裝備教育部重點實驗室,南昌330013;2.株洲國創(chuàng)軌道科技有限公司,湖南株洲412001;3.中車株洲電力機車有限公司大功率交流傳動電力機車系統(tǒng)集成國家重點實驗室,湖南株洲412001)
為有效解決運能不足,我國正大力發(fā)展高速鐵路技術(shù),建設(shè)高速鐵路網(wǎng)。高速列車運行速度快,對車輛、輪軌、弓網(wǎng)等系統(tǒng)提出了極高的要求[1]。轉(zhuǎn)向架是4 動4 拖動力分派動車組(China Railway High speed,CRH3)的重要組件,對轉(zhuǎn)向架的檢修檢測是保證高速列車運行品質(zhì)和安全的重要因素。傳統(tǒng)模式下的CRH3 型動/拖轉(zhuǎn)向架檢修培訓(xùn)是通過實物樣機,結(jié)合視頻動畫等方式進行。傳統(tǒng)模式下的CRH3 型動/拖轉(zhuǎn)向架檢修培訓(xùn)因?qū)嵨飿訖C數(shù)量有限、操作過程枯燥、實際操作少、涉及內(nèi)容片面等缺點,無法實現(xiàn)人員的高效崗位技能培訓(xùn)。
國內(nèi)專家學(xué)者已將3D 虛擬現(xiàn)實技術(shù)引入軌道車輛轉(zhuǎn)向架的檢修檢測研究,并已取得一些成果。米小珍等[2]使用Cult3D構(gòu)建CRH3 轉(zhuǎn)向架虛擬檢修環(huán)境,應(yīng)用三維建模軟件(3D Studio Max,3Ds Max)、CAD完成虛擬場景3D模型工作,結(jié)合多媒體技術(shù)完成CRH3型轉(zhuǎn)向架的虛擬檢修模擬。金燕等[3]以CRH380BL型車轉(zhuǎn)向架為研究對象,基于Cult3D 平臺,結(jié)合Pro/E、Authorware完成了CRH380BL轉(zhuǎn)向架虛擬檢修仿真系統(tǒng)的開發(fā)。張嘉鷺等[4]研究了基于Cortona3D 虛擬引擎,在B/S架構(gòu)基礎(chǔ)上開發(fā)了CRH380AL動車轉(zhuǎn)向架、軸向輪對、制動閘片的虛擬檢修系統(tǒng)。楊崗等[5]研究了基于Virtools平臺,結(jié)合SolidWorks、3Ds Max等三維軟件實現(xiàn)了CRH1 型轉(zhuǎn)向架虛擬檢修與裝配的仿真系統(tǒng)研究。諶亮等[6]研究了應(yīng)用虛擬現(xiàn)實建模語言(Virtual Reality Modeling Language,VRML)語言編輯CRH5 轉(zhuǎn)向架虛擬檢修、裝配環(huán)境,并設(shè)置求解器,結(jié)合HyperMesh、ANSYS 進行轉(zhuǎn)向架有限元分析的聯(lián)合仿真系統(tǒng)。對關(guān)于轉(zhuǎn)向架虛擬檢修研究文獻發(fā)現(xiàn),研究成果主要集中在對轉(zhuǎn)向架模型展示和多媒體技術(shù)基礎(chǔ)上的模擬檢修,而虛擬檢修環(huán)境的交互性、沉浸性和真實感存在不足,缺乏對檢修動作物理效果的模擬。
Unity3D是一款融合了高優(yōu)化度渲染,高效物理特性的引擎,可實現(xiàn)多平臺發(fā)布的層級式虛擬系統(tǒng)開發(fā)平臺[7]。本文CRH3 型動/拖轉(zhuǎn)向架虛擬檢修系統(tǒng)(以下簡稱轉(zhuǎn)向架虛擬檢修系統(tǒng))設(shè)計及關(guān)鍵技術(shù)研究,以Unity3D 引擎為基礎(chǔ),利用三維動畫軟件Autodesk Maya(Maya),3Ds Max,Photoshop 等三維軟件,以某動車段檢修車間為原型構(gòu)建轉(zhuǎn)向架虛擬檢修環(huán)境。通過場景建模、圖形處理,虛擬交互設(shè)計、系統(tǒng)優(yōu)化調(diào)試,在Unity3D 可視化程度高、交互性、沉浸感強的基礎(chǔ)上開發(fā)第一人稱視角下綜合互動型的轉(zhuǎn)向架虛擬檢修系統(tǒng),實現(xiàn)用戶對CRH3 型轉(zhuǎn)向架的全面學(xué)習(xí)。
轉(zhuǎn)向架虛擬檢修系統(tǒng)是一款采用基于Unity 3D層級式技術(shù),利用Maya,Photoshop 搭建模型與完成圖形渲染處理,實時、分層地處理導(dǎo)入Unity3D 的FBX格式三維模型,通過其創(chuàng)造高質(zhì)量、高視覺效果的三維仿真系統(tǒng)[8]。系統(tǒng)邏輯設(shè)計從檢修需求分析入手,嚴格參照鐵路檢修部門檢修作業(yè)指導(dǎo)手冊思想,并結(jié)合一線教師經(jīng)驗,采用單線程分層編輯簡化系統(tǒng)。系統(tǒng)初步完成后針對系統(tǒng)交互界面,系統(tǒng)場景交互控制與響應(yīng)進行調(diào)試,針對CRH3 型轉(zhuǎn)向架檢修需求完善系統(tǒng)整體信息。生成操作界面友好,針對性、實用性強的高度虛擬再現(xiàn)的轉(zhuǎn)向架虛擬檢修系統(tǒng)。系統(tǒng)整體結(jié)構(gòu)如圖1 所示。
圖1 系統(tǒng)總體結(jié)構(gòu)圖
系統(tǒng)應(yīng)用層分為登錄、轉(zhuǎn)向架虛擬拆解、構(gòu)架檢修、輪對檢修和軸箱檢修等模塊。
(1)登錄模塊。系統(tǒng)根據(jù)輸入的用戶信息應(yīng)用關(guān)系型數(shù)據(jù)庫管理系統(tǒng)結(jié)構(gòu)化查詢語言(Struchured Query Language,SQL)編寫的信息數(shù)據(jù)庫進行比對,識別用戶。
(2)轉(zhuǎn)向架虛擬拆解模塊。系統(tǒng)針對CRH3 型轉(zhuǎn)向架不同構(gòu)件的拆解需求,在虛擬檢修場景中設(shè)置UI交互界面與拆解工具仿真聲音源指導(dǎo)用戶選擇正確的拆解工具,在符合拆解工藝的要求下完成轉(zhuǎn)向架的全部拆解工作。
(3)構(gòu)架檢修模塊。用戶進入此模塊后,系統(tǒng)會激活預(yù)先建立的故障與檢修數(shù)據(jù)庫。根據(jù)構(gòu)架檢修工藝需求,用戶可通過外部交互設(shè)備(鼠標、鍵盤)控制場景視角,確定檢修位置,通過用戶界面(User Interface,UI)的指導(dǎo)信息完成構(gòu)架檢修的全部流程。同時系統(tǒng)在此環(huán)節(jié)中設(shè)置條件判斷,操作錯誤時系統(tǒng)虛擬對象不響應(yīng),并發(fā)出錯誤提示,此部分可考核用戶對檢修工藝的掌握程度。
(4)輪對檢修模塊。系統(tǒng)中輪對檢修場景采用虛擬的自動化檢修車間布置,由UI指導(dǎo)界面與動畫引擎DoTween插件制作的動畫模擬完成輪對檢修。
(5)軸箱檢修模塊。針對軸箱檢修工藝,結(jié)合Unity3D內(nèi)置的Animation 控件與外部交互設(shè)備、高光High插件、UI交互界面完成軸箱檢修工作。
系統(tǒng)各模塊布局合理,符合轉(zhuǎn)向架檢修作業(yè)操作思路與工藝流程。
系統(tǒng)場景中模型功能復(fù)雜,表現(xiàn)形式多樣,Unity3D系統(tǒng)內(nèi)置的建模功能無法滿足系統(tǒng)高質(zhì)量的場景要求,Unity3D支持從Maya,3Ds Max 中導(dǎo)入FBX格式文件。轉(zhuǎn)向架虛擬檢修系統(tǒng)場景模型總體由Maya完成,轉(zhuǎn)向架模型由Pro/E嚴格遵循實體尺寸建模。完成建模后檢查模型是否存在共面、破面、反面以及是否符合功能要求等情況,具體建模結(jié)構(gòu)如圖2所示。
圖2 建模結(jié)構(gòu)圖
為提高系統(tǒng)場景亮度及模型真實感,增強現(xiàn)實感,利用Photoshop 精繪貼圖創(chuàng)建材質(zhì)[9]。Maya貼圖時根據(jù)模型特性選擇相匹配的貼圖格式,系統(tǒng)中不帶通道的為JPG格式,帶通道的32 bit的PNG格式。Maya中對場景模型添加材質(zhì)后經(jīng)Arnold 渲染,提高場景的真實效果。導(dǎo)出FBX 文件后導(dǎo)入Unity3D 引擎。Pro/e完成的轉(zhuǎn)向架機械模型導(dǎo)出OBJ格式后經(jīng)Maya 轉(zhuǎn)換為FBX圖形格式導(dǎo)入Unity3D。通過NGUI插件、粒子特效、DoTween動畫、腳本控制等實現(xiàn)場景模型相關(guān)功能及特性。系統(tǒng)部分模型如圖3 所示。
圖3 系統(tǒng)模型
UI是人機交互的開端,也是實現(xiàn)CRH3 型轉(zhuǎn)向架檢修作業(yè)指導(dǎo)系統(tǒng)功能多樣化、完整化與增強現(xiàn)實的重要基礎(chǔ)。友好、高效、簡捷型用戶界面能夠有效地提升用戶與系統(tǒng)良好的交互感,保證用戶學(xué)習(xí)效率。
的系統(tǒng)交互主界面如圖4 所示,交互界面設(shè)計采用NGUI開發(fā)。NGUI 是嚴格遵循KISS 原則并用C#編寫的Unity 插件。NGUI功能易于調(diào)節(jié)和擴展,其提供強大的UI系統(tǒng)和事件通知框架[10]。系統(tǒng)設(shè)計時將界面背景圖和NGUI 相結(jié)合,通過AtlasMaker 添加新的UI控件樣式,應(yīng)用面向UI的編程思想,編程實現(xiàn)控件的交互功能。系統(tǒng)UI交互主界面由三維場景區(qū)、右側(cè)UI指導(dǎo)欄、天車UI 控制手柄和左側(cè)模塊切換欄組成。系統(tǒng)交互功能的設(shè)計是基于面向?qū)ο蟮尿?qū)動原則,實現(xiàn)主要功能模型與UI應(yīng)用界面高保真原型。系統(tǒng)交互前均設(shè)計有預(yù)信息提示,當(dāng)系統(tǒng)功能的規(guī)則與用戶習(xí)慣的規(guī)則具有一定的差異時,遵循差異化規(guī)則,通過UI界面給出提示。場景中轉(zhuǎn)向架拆解工具交互功能的實現(xiàn)是系統(tǒng)交互功能實現(xiàn)的重要基礎(chǔ)。
系統(tǒng)場景中涉及眾多檢修環(huán)節(jié),為最大限度模擬真實檢修場景,增強現(xiàn)實感。系統(tǒng)在構(gòu)架檢修中的漆修環(huán)節(jié)與焊修環(huán)節(jié)使用Unity 3D 內(nèi)置的粒子系統(tǒng)(Particle System),虛擬模仿檢修過程中的物理效果。系統(tǒng)中的粒子會隨著時間推移不斷變形和運動(Size by speed等屬性),會自動產(chǎn)生新的粒子,符合電焊火花的物理特性,可以提高系統(tǒng)場景內(nèi)物體檢修時的可觀賞性和真實度[11]。具體實現(xiàn)時首先在系統(tǒng)Scence中加載粒子系統(tǒng)資源,然后在屬性面板中根據(jù)特效需求設(shè)置粒子系統(tǒng)參數(shù),主要在屬性面板中設(shè)置Emission,Size over Lifetime Collision,Renderer 等參數(shù),并利Photoshop 精繪貼圖創(chuàng)建材質(zhì)賦予Renderer 中Material,模擬焊修與漆修時物理特性,實現(xiàn)高度模擬效果。轉(zhuǎn)向架構(gòu)架焊修特效如圖5 所示。
CRH3 型轉(zhuǎn)向架檢修指導(dǎo)過程中,系統(tǒng)為順利實現(xiàn)場景交互功能,必然會出現(xiàn)虛擬模型的交結(jié)與碰撞。虛擬檢修工具在檢修場景中實施相關(guān)檢修操作,如轉(zhuǎn)向架構(gòu)架的拆解、檢修、點擊電焊槍模型會顯示電焊槍UI控制界面等過程,均涉及碰撞檢測與處理。
Unity3D物理組件配置有球碰撞體,盒碰撞體,膠囊碰撞體,網(wǎng)格碰撞體等,將它們加載至模型對象上實現(xiàn)相關(guān)碰撞信息的處理,其算法屬于層級包圍盒法[12-13]。針對系統(tǒng)實際情況,使用球碰撞體與盒碰撞體中的觸發(fā)器(Is Trigger)模式,在碰撞體屬性面板參數(shù)設(shè)置中勾選Is Trigger。盒碰撞與球碰撞采用的算法是層級包圍盒法中的軸向包圍盒(AABB)檢測算法。包圍盒法簡單性好,但是緊密性差[14]。AABB 包圍盒算法的基本算法是將2 個碰撞體的包圍盒分別向X、Y、Z 3 個坐標軸投影,只有2 個包圍盒在3 個坐標軸上的投影區(qū)間都相交時才能判斷2 個包圍盒相碰撞[15]。如圖6 所示。
設(shè)A、B分別為兩碰撞體的檢測包圍盒,OA、OB分別為A、B 的中心點,其在X 軸上的投影點為XA與XB,AA′與BB′分別為A 和B 的X 正方向半軸在X 軸方向上的投影。若AA′+BB′≥XAXB,則在X軸上A與B是相交的,反之則A與B是不相交的。若A與B 在X、Y、Z方向的投影均相交,則可以得到A與B 在三維空間是相碰撞的,即AA′、BB′間的碰撞測試只需進行6次比較運算則可進行判斷。
圖6 AABB碰撞檢測示意圖
要順利、完美地展現(xiàn)系統(tǒng)場景內(nèi)各部分內(nèi)容,必須對系統(tǒng)項目進行性能優(yōu)化。對于轉(zhuǎn)向架虛擬檢修系統(tǒng),優(yōu)化方面主要考慮圖形渲染、渲染管線和虛擬場景圖形性能優(yōu)化。如系統(tǒng)中模型頂點數(shù)目、面數(shù)、批處理數(shù)量等。要保持系統(tǒng)運行平穩(wěn)流暢,不影響視圖效果,需要嚴格控制CPU在每幀需要計算的布料模擬、粒子檢修動畫、頂點網(wǎng)格。系統(tǒng)在開發(fā)完成后通過以下方法進行CPU、GPU等進行優(yōu)化:
(1)渲染定級,場景中圖形分級別渲染;
(2)材質(zhì)共用,同時利用Mesh Baker 組件將部分模型合并;
(3)減少UV 貼圖中的硬邊,用Normal 貼圖和Ambient Occlusion map實現(xiàn)凹凸效果;
(4)編寫高效Shader,應(yīng)用占用內(nèi)存小、計算耗時少的操作符代替nversesqart、exp、normalize等。
通過以上方法對CPU、GPU 等優(yōu)化后,虛擬檢修系統(tǒng)性能得到明顯的改善,不存在卡頓或圖形畸變現(xiàn)象。優(yōu)化后的檢修系統(tǒng)性能參數(shù)如圖7 所示。項目總內(nèi)存1.40 GB,Camera.Render及其調(diào)用子函數(shù)所占用的時間比由78.3%下降到了66%。
轉(zhuǎn)向架虛擬檢修系統(tǒng)由開發(fā)人員對場景、代碼與邏輯關(guān)系進行系統(tǒng)性優(yōu)化后發(fā)布打包文件進行調(diào)試。系統(tǒng)一次完整的測試時間為6 min,為使測試界面流暢,系統(tǒng)場景傳輸速率為30 F/s[16]。系統(tǒng)調(diào)試主要針對以下4 個方面展開:
(1)場景模型是否符合實體形狀和功能要求;
(2)檢修流程工藝是否準確;
(3)NGUI控件激活的動作和響應(yīng)信息是否準確;
(4)系統(tǒng)運行的流暢性、實用性是否符合要求。
系統(tǒng)優(yōu)化調(diào)試完成后,將轉(zhuǎn)向架虛擬檢修系統(tǒng)通過unity3D 菜單欄File-BuildSetting-Add Open Scens-Build流程導(dǎo)出,如圖8 所示,生成最終的虛擬檢修作業(yè)指導(dǎo)系統(tǒng)。
圖7 性能分析窗口
圖8 系統(tǒng)發(fā)布平臺選擇
本文針對現(xiàn)代工業(yè)中CRH3 的檢修指導(dǎo)、學(xué)習(xí)與科學(xué)實驗,利用基于Unity3D的轉(zhuǎn)向架虛擬檢修系統(tǒng),應(yīng)用虛擬現(xiàn)實技術(shù)在工業(yè)領(lǐng)域的嘗試與應(yīng)用,實現(xiàn)了轉(zhuǎn)向架的在線交互3D展示技術(shù)。依靠Unity 3D友好的UI、強大的物理引擎,支持多腳本語言等特性開發(fā)了在線交互、視覺效果優(yōu)化與數(shù)據(jù)驅(qū)動的可視化技術(shù)。結(jié)果表明,利用在線交互、數(shù)據(jù)驅(qū)動的可視化技術(shù)使得轉(zhuǎn)向架虛擬檢修的指導(dǎo)與學(xué)習(xí)更加直觀,科學(xué),高效。實現(xiàn)了理論學(xué)習(xí)與操作實踐并用,提高了用戶的學(xué)習(xí)效率,以及對轉(zhuǎn)向架檢修作業(yè)的全面教學(xué)、指導(dǎo)、培訓(xùn)以及科學(xué)實驗等功能。由于系統(tǒng)復(fù)雜,本文僅展示了系統(tǒng)關(guān)鍵部分,同時,系統(tǒng)也需要進一步完善圖形圖像處理與數(shù)據(jù)分析處理技術(shù),提高系統(tǒng)的智能處理能力。