徐笑瑩,馬思群,陶 然,李 健,段承鑫,史良宇(.大連交通大學(xué)機車車輛工程學(xué)院,遼寧 大連 608;.大連交通大學(xué)藝術(shù)學(xué)院,遼寧 大連 608;.中車大連機車車輛有限公司,遼寧 大連 60;.北陸先端科學(xué)技術(shù)大學(xué)院大學(xué)知識科學(xué)系,能美市 日本)
輪對軸承作為高速動車組重要的組成部件之一,其溫度的變化很大程度上影響著整個動車組的安全運行,因此鐵路行業(yè)以及高校紛紛針對相關(guān)工作人員和學(xué)生開展軸溫監(jiān)測系統(tǒng)工作原理及檢修流程的培訓(xùn)。
虛擬現(xiàn)實技術(shù)(Virtual Reality),是指以計算機技術(shù)為核心、結(jié)合人工智能等相關(guān)技術(shù),借助交互、運算和顯示設(shè)備,生成逼真的虛擬環(huán)境[1]。自虛擬現(xiàn)實概念提出以來,虛擬現(xiàn)實技術(shù)已經(jīng)發(fā)展了半個多世紀,其在高速動車組方面已經(jīng)有所應(yīng)用,比如動車組虛擬檢修培訓(xùn)系統(tǒng)及仿真[2]、動車組受電弓虛擬拆裝培訓(xùn)系統(tǒng)[3]、設(shè)備吊裝虛擬仿真系統(tǒng)[4]等。
傳統(tǒng)方式下實現(xiàn)動車組軸溫監(jiān)測系統(tǒng)的技術(shù)培訓(xùn)僅能借助書本知識或者實物展示來進行,存在不便捷、耗資大、效率低等問題。開發(fā)一種基于虛擬現(xiàn)實技術(shù)的軸溫監(jiān)測虛擬培訓(xùn)系統(tǒng),可將軸溫監(jiān)測原理及檢修過程完整地展現(xiàn)在一個虛擬現(xiàn)實系統(tǒng)內(nèi),通過場景演示和人機交互達到便捷高效培訓(xùn)的目的,有效地解決了傳統(tǒng)方式的弊端。
動車組軸溫監(jiān)測系統(tǒng)由Pt100鉑電阻傳感器、MVB總線和中央控制單元等多個部分組成,是一個集溫度監(jiān)測、自動報警、實時數(shù)據(jù)采集與傳輸于一身的復(fù)雜系統(tǒng),實現(xiàn)對輪對軸承溫度的實時監(jiān)測,主要由測溫單元和主控單元兩部分構(gòu)成。目前國內(nèi)CRH型動車組大多采用車載型接觸式測溫裝置,軸溫傳感器采用雙通道Pt100傳感器,對軸承溫度進行監(jiān)測并將采集到的溫度信號反饋給兩個不同的溫度采集模塊CompactPt100[5],轉(zhuǎn)換成數(shù)字信號后由多功能車輛總線MVB每隔一段時間反饋至動車組CCU中央控制單元進行數(shù)據(jù)交換。中央控制單元將采集到的溫度數(shù)據(jù)存儲并處理后發(fā)布相應(yīng)指令,并在人機顯示界面HMI顯示對應(yīng)信息。
系統(tǒng)的結(jié)構(gòu)框架分為三個層次,如圖1所示。通過用戶層、邏輯層和數(shù)據(jù)層整體的功能實現(xiàn)建立動車組輪對軸溫監(jiān)測虛擬培訓(xùn)系統(tǒng)。
圖1 系統(tǒng)結(jié)構(gòu)框圖
1)用戶層通過硬件和軟件之間的交互實現(xiàn)Unity 3D系統(tǒng)的交互表現(xiàn),系統(tǒng)可發(fā)布為沉浸式VR和桌面式VR,用戶可根據(jù)實際需求,使用不同的輸入輸出設(shè)備,達到不同的培訓(xùn)效果。
2)邏輯層通過路徑規(guī)劃實現(xiàn)系統(tǒng)需求,是用戶層和數(shù)據(jù)層的橋梁。登錄系統(tǒng)后,主頁內(nèi)包含虛擬檢修車間和動車組場景、軸溫監(jiān)測系統(tǒng)流程展示、動車組運行狀態(tài)下實時軸溫監(jiān)測和教學(xué)資源庫四個部分。
3)數(shù)據(jù)層是整個系統(tǒng)平臺的支撐,是用戶層與邏輯層運行的基礎(chǔ),包含系統(tǒng)內(nèi)的文件資源,例如動車組、維修車間、溫度傳感器等3D模型的數(shù)據(jù)信息,各零件、物體之間的邏輯約束關(guān)系數(shù)據(jù),Unity 3D系統(tǒng)場景內(nèi)光照、聲音、相機位置和角度等環(huán)境資源數(shù)據(jù)。
1)明確系統(tǒng)結(jié)構(gòu),規(guī)劃系統(tǒng)功能:首先,明確系統(tǒng)的結(jié)構(gòu)表達、人員培訓(xùn)和信息查詢的需求,使用Axure RP快速創(chuàng)建系統(tǒng)原型,展示系統(tǒng)頁面信息架構(gòu)和頁面之間交互流程與形式,預(yù)產(chǎn)出交互設(shè)計的靜態(tài)原型與動態(tài)原型。
2)模型構(gòu)建及優(yōu)化:根據(jù)照片、數(shù)據(jù)等信息利用CAD繪制維修車間和列車結(jié)構(gòu)的平面圖紙,導(dǎo)入至3ds Max中作為三維建模的平面底圖基準(zhǔn)。依據(jù)底圖和系統(tǒng)規(guī)劃構(gòu)建三維模型,在完整表達模型結(jié)構(gòu)的基礎(chǔ)上,精簡數(shù)據(jù)量。對于有交互需求的模型部分,著重構(gòu)建其模型結(jié)構(gòu),保證交互過程的真實性。
3)系統(tǒng)功能實現(xiàn):構(gòu)建完成后的三維模型導(dǎo)出FBX文件至Unity 3D中進行系統(tǒng)開發(fā),通過C#腳本撰寫,實現(xiàn)系統(tǒng)的功能,并添加圖像效果工具,烘托整體系統(tǒng)氛圍。
本系統(tǒng)通過多細節(jié)層次技術(shù)(Levels ofDetial,LOD)提高系統(tǒng)畫面的渲染速度。LOD技術(shù)是一種以物體模型的節(jié)點在顯示環(huán)境中所處的位置和重要度決定物體渲染的資源分配,降低非重要物體的面數(shù)和細節(jié)度,從而獲得高效率渲染運算的場景優(yōu)化技術(shù)[6]。
圖2 視角劃分示意圖
本文在傳統(tǒng)LOD技術(shù)中,添加視角范圍的約束條件。在虛擬現(xiàn)實系統(tǒng)中,用戶的視角范圍一般為90°,視點中心線45°范圍內(nèi)為主要視角V0,兩側(cè)范圍為次要視角V1,處于主要視角范圍內(nèi)的模型則視為重要物體,視角范圍劃分如圖2所示。
系統(tǒng)中視點與模型之間的距離為D,當(dāng)近距離接觸模型時,視點處于D0范圍內(nèi),用戶可以清晰看到模型結(jié)構(gòu)與細節(jié),視覺效果逼真;處于D0與D1范圍之間時,可看到模型結(jié)構(gòu),但缺少細節(jié);當(dāng)視點處于D1范圍之外時,只能看到模型大致輪廓。按照用戶處于不同范圍,系統(tǒng)分別調(diào)用不同層次的模型,三個模型按照復(fù)雜程度從高到低分別命名為:Mod0、Mod1、Mod2。系統(tǒng)運行過程中調(diào)用的Mod與視點到模型之間的距離D和視點所處視角位置V之間的關(guān)系如式(1):
(1)
通常構(gòu)建LOD模型的方法主要有:細分法、采樣法和刪減法[7],以本系統(tǒng)中的動車組輪對軸承部分模型為例,采用刪減法通過3ds Max軟件進行仿真構(gòu)建,構(gòu)建三種不同層級LOD模型,如圖3所示。
圖3 不同LOD層級模型對比
不同LOD層級對比如表1所示。將構(gòu)建完成的三個LOD模型導(dǎo)入至Unity 3D中,即可通過在復(fù)雜場景下調(diào)用不同層次的模型進行場景性能優(yōu)化的效果。
表1 不同LOD層級對比
續(xù)表1
圖4 改進的碰撞檢測算法流程圖
在現(xiàn)有的碰撞檢測方法中,層次包圍盒法僅對包圍盒進行相交測試且包圍盒幾何特性簡單,與被檢測物體存在偏差,因此檢測精度相對較低;空間分解法把被測對象所在空間分割成若干個體積相等的小單元空間,只對占據(jù)同一單元空間或相鄰單元空間的對象進行相交檢測[8],適用于對象較少且分布相對均勻的場景中,因此本系統(tǒng)采用一種二者混合的改進碰撞檢測方法,具體算法流程如圖4。
首先利用空間分解法劃分邊長為d的等體積正方體單元空間,快速確定與被測對象互為相鄰的對象,減少包圍盒的構(gòu)建數(shù)量。具體實現(xiàn)方式為:以AABB包圍盒為例,假設(shè)其主對角線的線段端點分別為Q1(X1,Y1,Z1)、Q2(X2,Y2,Z2),以一個三維坐標(biāo)q1(x1,y1,z1)表示端點Q1所在的單元空間,該坐標(biāo)可由式(2)得出:
x1=X1/d,y1=Y1/d,z1=Z1/d
(2)
則該對象所在空間可用q1和q2之間所有小單元空間的集合表示,占有集合中相同單元空間的其他對象與之互為相鄰對象。
確定存在相鄰對象后,采用優(yōu)化后的混合層次包圍盒算法實現(xiàn)系統(tǒng)的碰撞檢測。該算法的核心為構(gòu)造上層是AABB,下層是OBB的混合層次包圍盒樹結(jié)構(gòu),并實現(xiàn)其遍歷。包圍盒之間運算復(fù)雜度和碰撞檢測的速度取決于樹結(jié)構(gòu)的遍歷方式,本文算法的遍歷方式為由上層至下層的深度遍歷,配合結(jié)構(gòu)簡單的AABB上層結(jié)構(gòu)和緊湊的OBB下層結(jié)構(gòu),既可以減少算法的運算量,迅速排除不相交的相鄰單元空間對象,又可以保障測試精度。算法中的部分代碼及功能如下:
void BVHCollide(CollisionResult *result,BTree a,BTree b)
{
if(!BVOverlap(a,b))return;//對兩根節(jié)點是否相交進行檢測
if(IsLeaf(a)&&IsLeaf(b))//檢測兩節(jié)點是否為葉子節(jié)點,
{
CollidePrimitives(result,a,b);//判斷葉子節(jié)點是否碰撞
}
else
{
if(DescendA(a,b))//調(diào)用下降,由上至下
{
BVHCollide(a→left,b);//相交測試子任務(wù)
BVHCollide(a→right,b);
}
else
{
BVHCollide(a,b→left);
BVHCollide(a,b→right);
}
}
}
本文系統(tǒng)利用LOD場景優(yōu)化方法和改進的碰撞檢測算法,通過Unity 3D進行場景制作和交互設(shè)計。包含列車總線控制基礎(chǔ)和列車軸溫監(jiān)測系統(tǒng)等相關(guān)理論內(nèi)容,通過仿真模擬檢修車間和動車組場景,以沉浸式、多感知性和交互性的方式展示了動車組軸溫監(jiān)測系統(tǒng)的基本原理。系統(tǒng)的主要功能如下:
1)漫游瀏覽:系統(tǒng)場景直觀地展示檢修車間和動車組內(nèi)布局,用戶可選擇系統(tǒng)預(yù)設(shè)定路線自動漫游或自主瀏覽。漫游過程中,可選擇分層單獨展示檢修車間、車頭、車廂及內(nèi)部軸溫監(jiān)測設(shè)備等場景,方便高效了解檢修車間及動車組的構(gòu)造,提升理論認知。
2)動車組軸溫監(jiān)測流程:直觀地展示軸溫監(jiān)測所需的硬件設(shè)施和列車總線信號傳輸?shù)牧鞒蹋ㄟ^顏色、材質(zhì)、邊緣發(fā)光等效果突出結(jié)構(gòu)特征,使復(fù)雜的信號傳輸過程表達的更加清晰。用戶通過點擊、縮放、拖曳、旋轉(zhuǎn)等交互方式,了解零部件等信息,如圖5所示。
圖5 系統(tǒng)軸溫監(jiān)測原理界面
3)模擬動車組運行狀態(tài)下實時軸溫監(jiān)測:模擬動車組運行過程中不同軸溫狀態(tài)下的實時信號傳輸過程,在司機駕駛室的HMI屏內(nèi),實時顯示不同車號的軸溫數(shù)值和溫度傳感器的狀態(tài)。
4)學(xué)習(xí)與訓(xùn)練相結(jié)合:系統(tǒng)搭載的數(shù)據(jù)庫儲存視頻、文獻、題庫等教學(xué)資源,為課堂培訓(xùn)提供更多的呈現(xiàn)模式。其中包含仿真實操練習(xí)和測試模塊,理論與實訓(xùn)相結(jié)合,有效地鍛煉了用戶動手能力。
針對現(xiàn)有軌道交通行業(yè)虛擬仿真培訓(xùn)資源較為匱乏的現(xiàn)狀,本文提出了基于虛擬現(xiàn)實技術(shù)的動車組輪對軸溫監(jiān)測培訓(xùn)系統(tǒng),并得到以下結(jié)論:
1)在傳統(tǒng)LOD算法的基礎(chǔ)上,提出了基于視點距離和視角范圍的LOD場景優(yōu)化方法,通過Unity 3D內(nèi)參數(shù)調(diào)節(jié),證明了該方法具有較好的優(yōu)化效果,并提升了系統(tǒng)的真實性和流暢性。
2)現(xiàn)有的基本碰撞檢測算法難以實現(xiàn)高質(zhì)量的碰撞檢測,本系統(tǒng)中碰撞檢測采用空間分解法和混合層次包圍盒法相結(jié)合的改進碰撞檢測算法,通過實際應(yīng)用于系統(tǒng)對象的碰撞檢測中可發(fā)現(xiàn),該算法不僅保證了檢測精度,而且加快了檢測速度。
3)用戶可在不受時間和空間的限制下,快速理解并掌握軸溫監(jiān)測系統(tǒng)流程,彌補了培訓(xùn)方式的匱乏,為企業(yè)和學(xué)校降低培訓(xùn)成本。