陳乙,楊岳,陳超,石育,易兵
(1.中南大學 交通運輸工程學院,湖南 長沙 410075;2.華北科技學院 計算機學院,河北 廊坊 065201)
軌道車輛吸能結(jié)構(gòu)(以下簡稱吸能結(jié)構(gòu))能有效提高軌道車輛的耐撞性,進而提高軌道車輛運行安全性[1-2]。目前,研究人員主要通過有限元分析軟件對吸能結(jié)構(gòu)碰撞仿真[3-8],該仿真方法利用有限元分析軟件對吸能結(jié)構(gòu)碰撞變形過程數(shù)值計算求解,并利用其后處理模塊等值線、云圖、形變等方式顯示求解結(jié)果。但是有限元分析軟件碰撞仿真方法存在以下主要缺點:吸能結(jié)構(gòu)碰撞變形過程的動態(tài)可視化效果有限,不能直觀表達動態(tài)效果,無法滿足耐撞性展示分析需要;海量的吸能結(jié)構(gòu)碰撞變形求解結(jié)果無法快速表達,對計算機性能要求高;吸能結(jié)構(gòu)模型與用戶的交互性弱,用戶體驗感差等。針對吸能結(jié)構(gòu)的有限元碰撞仿真方法的缺點,需要一種能實現(xiàn)其碰撞變形過程實時分析的高沉浸感虛擬碰撞仿真方法。隨著虛擬現(xiàn)實技術(shù)的快速發(fā)展,基于該技術(shù)的研究方法在多個領(lǐng)域得到應(yīng)用[9-11],該技術(shù)能有效提高虛擬仿真效果和效率,俞勝平等[12]采用虛擬現(xiàn)實技術(shù)研究煉鋼連鑄動態(tài)調(diào)度仿真,開發(fā)了基于虛擬現(xiàn)實的煉鋼連鑄調(diào)度仿真系統(tǒng);WANG等[13]將該技術(shù)應(yīng)用于車削過程仿真研究,構(gòu)建了一個虛擬切削系統(tǒng)。HUANG等[14-15]研究了傳感器與有限元仿真分析方法的結(jié)合,提出了一種基于AR環(huán)境的實時有限元仿真分析系統(tǒng)。在碰撞仿真方面,潘福全等[16]研究了虛擬現(xiàn)實環(huán)境下汽車兩車碰撞仿真,開發(fā)了基于Quest3D平臺的汽車碰撞仿真系統(tǒng)。而將虛擬現(xiàn)實技術(shù)與有限元軟件碰撞仿真方法結(jié)合,利用基于虛擬現(xiàn)實技術(shù)的高真實感沉浸式環(huán)境,能有限提高吸能結(jié)構(gòu)碰撞變形仿真的真實感和效果。但是,在沉浸式環(huán)境下實現(xiàn)軌道車輛吸能結(jié)構(gòu)碰撞變形的虛擬仿真,仍然存在以下難點:1)有限元仿真分析結(jié)果中的幾何網(wǎng)格模型及其物理屬性信息的數(shù)據(jù)量非常大,而碰撞仿真等動態(tài)分析過程具有成百上千的仿真時間步,且每一個時間步長均會產(chǎn)生大量數(shù)據(jù),需要對帶時間步的有限元仿真分析結(jié)果進行大量簡化,才能實現(xiàn)其在虛擬現(xiàn)實系統(tǒng)的流暢可視化和實時交互;2)通常虛擬環(huán)境引擎主要為網(wǎng)格模型渲染和可視化,無法直接對有限元分析結(jié)果進行可視化和交互,因此需要開發(fā)從常用的有限元分析軟件到沉浸式虛擬環(huán)境引擎的接口;3)為提高用戶體驗感和虛擬仿真效果,需要構(gòu)建高真實感的實車碰撞實驗場景,通過虛實結(jié)合的軌道車輛吸能結(jié)構(gòu)碰撞變形虛擬仿真方法,進一步提高吸能結(jié)構(gòu)碰撞變形仿真的真實感和效果。因此,本文提出一種軌道車輛吸能結(jié)構(gòu)碰撞變形的沉浸式虛擬仿真方法:1)將虛擬現(xiàn)實技術(shù)與有限元軟件碰撞仿真方法相結(jié)合,并通過簡化處理吸能結(jié)構(gòu)動態(tài)幾何模型和碰撞物理模型,從而有效縮減吸能結(jié)構(gòu)有限元碰撞仿真分析結(jié)果數(shù)據(jù);2)建立仿真軟件與沉浸式虛擬環(huán)境引擎之間的數(shù)據(jù)接口,實現(xiàn)實時直觀呈現(xiàn)吸能結(jié)構(gòu)碰撞變形有限元計算分析結(jié)果。3)搭建高真實感實車碰撞虛擬仿真實驗場景,實現(xiàn)吸能結(jié)構(gòu)的交互仿真分析和高沉浸感的碰撞變形可視化。本文詳細描述了本文提出的方法,并通過實驗驗證本文方法的有效性。
為了詳細介紹本文所提出的在沉浸式環(huán)境下實現(xiàn)軌道車輛吸能結(jié)構(gòu)碰撞變形的虛擬仿真方法,整個方案如圖1所示,主要包括3個部分:1)吸能結(jié)構(gòu)碰撞數(shù)據(jù)模型:在傳統(tǒng)有限元分析軟件環(huán)境下,構(gòu)建吸能結(jié)構(gòu)幾何模型并將其有限元網(wǎng)格化,以此得到吸能結(jié)構(gòu)幾何網(wǎng)格模型。設(shè)定吸能結(jié)構(gòu)的材料、屬性,并通過非線性數(shù)值模擬方法對其進行碰撞仿真求解,得到吸能結(jié)構(gòu)各時間步的動態(tài)幾何模型和碰撞物理模型;在此基礎(chǔ)上,研究吸能結(jié)構(gòu)動態(tài)幾何模型和碰撞物理模型的簡化方法,將吸能結(jié)構(gòu)動態(tài)幾何模型和碰撞物理模型進行簡化,并將簡化后的模型有序存儲和管理;2)虛擬仿真可視化:研究仿真軟件與虛擬環(huán)境引擎之間的數(shù)據(jù)接口從而讀取和渲染數(shù)據(jù)模型,實現(xiàn)該簡化后模型在虛擬現(xiàn)實系統(tǒng)中的動態(tài)可視化。3)吸能結(jié)構(gòu)碰撞變形沉浸式虛擬仿真:搭建高真實感的實車碰撞實驗場景,并在此基礎(chǔ)上實現(xiàn)吸能結(jié)構(gòu)碰撞變形的沉浸式虛擬仿真。全過程涉及到多種數(shù)據(jù)和模型的轉(zhuǎn)化處理。
圖1 軌道車輛吸能結(jié)構(gòu)碰撞變形的沉浸式虛擬仿真方案Fig.1 Immersive virtual simulation scheme for collision and deformation of rail vehicle energy-absorbing structure
吸能結(jié)構(gòu)數(shù)據(jù)模型包括:碰撞動態(tài)幾何模型和碰撞物理模型。如圖2所示,首先在有限元軟件中建立吸能結(jié)構(gòu)初始時刻的幾何模型O0=(Z0,E0),該網(wǎng)格模型包含在有限元軟件輸出的求解文件(Key文 件)內(nèi)PART版 塊 中,其 中Z={z=i|1≤i≤N}、E={e=j|1≤j≤N}為模型所有節(jié)點和元素的集合。再對吸能結(jié)構(gòu)的材料、屬性、碰撞條件進行設(shè)定,并使用傳統(tǒng)非線性有限元軟件LS-DYNA對碰撞過程進行仿真分析。
圖2 吸能結(jié)構(gòu)碰撞數(shù)據(jù)模型的獲取Fig.2 Acquisition of dynamic geometric model and physical model of energy-absorbing structure collision
在任意時刻t,假設(shè)某質(zhì)點的坐標定義為xi(i=1,2,3…),運動方程為:xi=xi(Xa,t),由動量守恒、質(zhì)量和能量守恒定律和虛位移原理對物體碰撞分析[17]得:
式中:M為對角質(zhì)量矩陣;?(t)為節(jié)點加速度向量;A為節(jié)點載荷向量;F為節(jié)點應(yīng)力場的等效節(jié)點力向量,ρ為當前質(zhì)量密度;[N]為形函數(shù)矩陣;[B]為應(yīng)變矩陣;{σ}為柯西應(yīng)力矢量,{σ}={σxx,σyy,σss,σxy,σys,σsx}T。
將碰撞全過程[0,T]分為m個時間步,由顯式中心差分法[18],得:
式中:M為質(zhì)量矩陣;f ext為外部節(jié)點力;fint為內(nèi)部節(jié)點力。
得到碰撞過程內(nèi)任一tm時間步各節(jié)點的應(yīng)力f m,位移dm,速度vm,加速度am等物理屬性,以此得到吸能結(jié)構(gòu)的碰撞物理模型P=(F,D,V,A…)。其中F,D,V,A分別表示吸能結(jié)構(gòu)各節(jié)點物理屬性的集合,同時根據(jù)各節(jié)點位移dm屬性和初始幾何模型O0=(Z0,E0)可獲得碰撞動態(tài)幾何模型O=(Z,E)。
首先提取吸能結(jié)構(gòu)碰撞動態(tài)幾何模型O=(Z,E)和碰撞物理模型P=(F,D,V,A…)的重要表面網(wǎng)格及對應(yīng)物理屬性,并對幾何模型三角化處理。
再依據(jù)應(yīng)力f m,位移dm,速度vm和加速度am等物理屬性的具體含義,按照式(4)和式(5)計算物理屬性重要度加權(quán)的節(jié)點二次誤差和各節(jié)點分散處理的總體物理屬性值[19]。
式中:g為節(jié)點c在笛卡爾坐標系里的幾何坐標;s則為節(jié)點的n維屬性坐標。f∈p(c)表示包含節(jié)點c的一階鄰域的所有三角形面片組成的集合。(c)為節(jié)點c的幾何二次誤差,(c)為單個物理場屬性節(jié)點重要度二次誤差。
同時按照式(6)計算各節(jié)點的物理屬性梯度。
式中:c為節(jié)點坐標;p為節(jié)點物理屬性;m為節(jié)點所在的一階領(lǐng)域的三角形面片數(shù);為節(jié)點c的第j個鄰接三角形的重心坐標;Pj2,Pj3為第j個鄰接三角形的另外兩點的物理屬性值。
通過遍歷網(wǎng)格模型中的所有邊對,按照式(7)計算各邊對物理屬性梯度加權(quán)的折疊代價,并將邊對按折疊代價根據(jù)大小排序,建立邊折疊鏈表。
最后進行邊折疊操作,將折疊前原邊對的兩節(jié)點的分散總體物理屬性求和處理后賦值為折疊后的節(jié)點,并更新該點周圍鄰域節(jié)點對。
對節(jié)點的折疊簡化后吸能結(jié)構(gòu)碰撞動態(tài)幾何模型Oless=(Zless,Eless)僅含有吸能結(jié)構(gòu)模型表面的部分節(jié)點及元素,以及所有時間步下的碰撞物理模型Pless=(Fless,Dless,Vless,Aless…)從而縮減吸能結(jié)構(gòu)碰撞變形動態(tài)可視化的數(shù)據(jù)量。
為實現(xiàn)簡化后吸能結(jié)構(gòu)幾何模型和物理模型的有序存儲,并在多時間步的情況下實現(xiàn)流暢可視化,本文采用分區(qū)存儲方案如圖3所示,主要包括:按照不同的吸能結(jié)構(gòu)分區(qū)存儲;同一吸能結(jié)構(gòu)下,按照不同時間步分區(qū)存儲;在同一時間步下按照不同物理屬性分區(qū)存儲。將不同吸能結(jié)構(gòu)的數(shù)據(jù)模型以不同的“name”命名存儲;同一吸能結(jié)構(gòu)數(shù)據(jù)模型下的分區(qū)中,包含簡化后的幾何模型Oless=(Zless,Eless)和所有時間步的碰撞物理模型Pless=(Fless,Dless,Vless,Aless…),分別以“name+tm”命名存儲;同一時間步分區(qū)內(nèi)含有該時間步下吸能結(jié)構(gòu)不同物理屬性值,并以“name+tm+屬性”命名。
在沉浸式虛擬環(huán)境下,為了實時呈現(xiàn)吸能結(jié)構(gòu)的碰撞變形過程和該過程中的物理屬性變化,需在沉浸式碰撞場景內(nèi)準確讀取簡化后碰撞幾何模型Oless=(Zless,Eless),和碰撞物理模型Pless=(Fless,Dless,Vless,Aless…)。本文按照圖4所示進行讀取模型,渲染吸能結(jié)構(gòu)三維模型,并將吸能結(jié)構(gòu)碰撞過程的物理屬性通過云圖方式渲染。
圖4 沉浸式虛擬環(huán)境下讀取及渲染模型方法Fig.4 Method of reading and rendering model in virtual reality environment
1)根據(jù)吸能結(jié)構(gòu)的名稱讀取數(shù)據(jù)文件,獲取該吸能結(jié)構(gòu)碰撞幾何模型Oless=(Zless,Eless),根據(jù)各節(jié)點的順序標簽重新排列節(jié)點以確保連續(xù)且升序,將節(jié)點信息依次存儲在數(shù)組B[]中,其中數(shù)組索引表示節(jié)點序號標簽。通過虛擬環(huán)境引擎Unity中MeshFilter.Mesh.vertices接口獲取B[]數(shù)組內(nèi)節(jié)點信息。同時依次獲取元素信息,建立E[]數(shù)組存儲碰撞幾何模型中元素信息,通過Unity接口Unity.MeshFilter.Mesh.Trangels獲取E[]數(shù)組內(nèi)元素信息。
2)云圖渲染物理屬性方法:獲取目標吸能結(jié)構(gòu)t時間步時的碰撞物理模型,創(chuàng)建二維數(shù)組S[i][j]以存儲該碰撞物理模型,讀入t時間步時的各節(jié)點序號及節(jié)點對應(yīng)物理屬性值,其中數(shù)組索引i表示節(jié)點序號,j表示物理屬性的種類標簽。根據(jù)碰撞全過程內(nèi)該物理屬性的最大值Pmax和最小值Pmin,通過Unity.Mesh.colors接口給Mesh內(nèi)節(jié)點賦予不同的RGB值,同時根據(jù)各點的位移屬性值更新各點坐標,最后由Shader內(nèi)Vertex Shader和Fragment Shader實現(xiàn)碰撞吸能結(jié)構(gòu)的顏色渲染。
3)設(shè)置2組用于讀取節(jié)點、元素及屬性的數(shù)組B[],E[],S[][]和B2[],E2[],S2[][],當目前時間步為Unity時間幀時,第1組數(shù)組讀取本時間步對應(yīng)節(jié)點及物理屬性值,并將其可視化。同時第2組數(shù)組同時讀取下一時間幀對應(yīng)的時間步的節(jié)點及物理屬性值,為下一時間幀的數(shù)據(jù)可視化做好數(shù)據(jù)存儲,實現(xiàn)流暢可視化。
考慮流程層次的復(fù)雜性,本文如圖5所示在Unity虛擬環(huán)境下循環(huán)讀取簡化后的幾何模型和碰撞物理模型。打開數(shù)據(jù)文件后,Unity腳本將按照輸出數(shù)據(jù)庫層次結(jié)構(gòu)讀取內(nèi)容;其中外部循環(huán)用于控制時間步、讀取物理屬性和渲染物體,內(nèi)部循環(huán)用于讀取不同的吸能結(jié)構(gòu),從而滿足完全讀取碰撞仿真分析中所有幾何模型和物理屬性需求??紤]到不同吸能結(jié)構(gòu)數(shù)據(jù)名稱不同,因此在剛開始創(chuàng)建分析吸能結(jié)構(gòu)時需定義其名稱,并通過腳本第1次遇到名稱時讀取并存儲名稱,然后根據(jù)這些名稱對所有相關(guān)數(shù)據(jù)進行處理和分組,以此滿足處理不同吸能結(jié)構(gòu)。
圖5 循環(huán)讀取數(shù)據(jù)模型方法Fig.5 Cyclic read data model method
通過HTC Vive構(gòu)建了沉浸交互式虛擬仿真實驗場景,主要包括:發(fā)射裝置、液壓制動閥、沖擊小車、軌道和剛性擋墻等,如圖6所示。用戶選擇啟動碰撞實驗后,系統(tǒng)啟動發(fā)射裝置,當發(fā)射裝置獲得需要的動力后,發(fā)射車和沖擊小車發(fā)射、此時發(fā)射車制動而沖擊小車在軌道上繼續(xù)運動至與剛性擋墻發(fā)生碰撞,整個過程在沉浸式環(huán)境下實現(xiàn)了該吸能結(jié)構(gòu)碰撞變形過程的動態(tài)可視化。
圖6 軌道車輛吸能結(jié)構(gòu)碰撞變形沉浸式虛擬仿真場景Fig.6 Virtual simulation scene of collision and deformation of energy-absorbing structure of rail vehicle in immersive environment
在具體實驗操作時,用戶通過頭戴式顯示器,在該場景中任一角度能夠直觀沉浸式觀察該吸能結(jié)構(gòu)和其碰撞變形過程。用戶通過2個手柄在虛擬環(huán)境中漫游并交互選擇需要可視化的吸能結(jié)構(gòu)物理屬性,如應(yīng)變屬性能實時可視化碰撞過程中物體的變形,應(yīng)力屬性可觀察物體表面應(yīng)力云圖的實時變化等,提升了碰撞虛擬仿真的真實感和用戶的體驗感。
本文采用軌道車輛的某新型蜂窩吸能結(jié)構(gòu)[20]的虛擬碰撞過程,驗證本文沉浸式環(huán)境下物體碰撞變形的動態(tài)可視化方法的可行性和有效性。如圖7所示,在傳統(tǒng)建模軟件Hypermesh環(huán)境下構(gòu)建有限元模型,該有限元模型由4個部分組成,包括沖擊小車,某新型蜂窩吸能結(jié)構(gòu),剛性壁和剛性軌道。薄壁零件使用Belytschko-Tsay殼單元描述,前端板,后端板和導軌采用恒應(yīng)力固體元件,使用固體元素對蜂窩結(jié)構(gòu)進行建模,并使用“*MAT_MODIFIED_HONEYCOMB”蜂窩材料描述其整體性能[21]。
圖7 某新型蜂窩吸能結(jié)構(gòu)及沖擊小車有限元分析模型Fig.7 A new type of honeycomb energy-absorbing structure and finite element analysis model
使用傳統(tǒng)非線性有限元軟件LS-DYNA對碰撞過程進行仿真分析,將“AUTOMATIC_SINGLE_SURFACE”和“AUTOMATIC_SURFACE_TO_SURFACE”接觸算法分別用于復(fù)合吸能結(jié)構(gòu)的自接觸及復(fù)合吸能結(jié)構(gòu)與剛性墻之間的接觸。吸能結(jié)構(gòu)固定在沖擊小車的前端,含有吸能結(jié)構(gòu)的沖擊小車以19.52 m/s的速度行進至撞擊固定剛性墻。
對比本文方法獲得的的新型蜂窩吸能結(jié)構(gòu)簡化結(jié)果模型與有限元分析結(jié)果模型,圖8(a)和8(b)分別展示了在T=0.007 s時,吸能結(jié)構(gòu)的前端板、后端板及導軌在本文方法的簡化前后的應(yīng)變物理屬性網(wǎng)格模型,簡化前該網(wǎng)格模型有11 734個節(jié)點,簡化后的網(wǎng)格模型僅含有1 177個表面節(jié)點;圖8(c)和8(d)展示了在T=0.035 s時,吸能結(jié)構(gòu)內(nèi)蜂窩結(jié)構(gòu)部分簡化前后的位移物理屬性網(wǎng)格模型,簡化前該網(wǎng)格模型有60 060個節(jié)點,簡化后網(wǎng)格模型僅含有5 640個表面節(jié)點,對比云圖可知簡化過程較好地保留了物體表面物理屬性。
圖8 吸能結(jié)構(gòu)部分結(jié)構(gòu)物理屬性網(wǎng)格模型簡化Fig.8 Simplification of partial structural grids model of energy-absorbing structures with physical properties
為了進一步減少數(shù)據(jù)量和加強可視化效果,本文在簡化前端板、后端板及導軌部分基礎(chǔ)上,剔除不可見的蜂窩結(jié)構(gòu)和隔板部分,將原86 677個節(jié)點的有限元網(wǎng)格模型簡化至僅含有8 964個表面節(jié)點,如圖9所示,本方法在大量簡化仿真分析模型數(shù)據(jù)量的情況下,能夠保證物理屬性變化的一致性,從而能夠提高仿真分析結(jié)果在虛擬現(xiàn)實引擎中動態(tài)可視化的流暢度,快速對比吸能結(jié)構(gòu)可視化結(jié)果。
對比分析圖9吸能結(jié)構(gòu)碰撞過程中的T=0.007 s,T=0.003 5 s時的吸能結(jié)構(gòu)發(fā)生碰撞變形,且應(yīng)變物理屬性云圖發(fā)生對應(yīng)變化,可以看到圖9(a)和9(b)2個時刻中沉浸式虛擬環(huán)境下的幾何模型和物理屬性云圖與有限元數(shù)值分析軟件環(huán)境下的幾何模型和應(yīng)變屬性云圖基本相同,這說明基于沉浸式虛擬現(xiàn)實技術(shù)的吸能結(jié)構(gòu)碰撞變形虛擬仿真獲得的結(jié)果與有限元分析數(shù)值分析結(jié)果具有較好的匹配度。另外,如圖9(c)所示沉浸式虛擬環(huán)境下吸能結(jié)構(gòu)呈現(xiàn)的T=0.003 5 s的位移屬性也滿足較好的匹配度。進一步實驗發(fā)現(xiàn),加速度、速度、不同方向的應(yīng)變分量、應(yīng)力分量等物理屬性與有限元分析軟件后處理模塊中的可視化結(jié)果都有較好的匹配度。分析結(jié)果進一步驗證了沉浸式環(huán)境下軌道車輛吸能結(jié)構(gòu)碰撞變形的虛擬仿真方法的有效性和可靠性。
圖9 帶物理屬性的吸能結(jié)構(gòu)對比Fig.9 Comparison of energy-absorbing structures with physical properties
1)簡化處理吸能結(jié)構(gòu)幾何網(wǎng)格模型和含有時間步的吸能結(jié)構(gòu)碰撞物理屬性模型,提取吸能結(jié)構(gòu)表面節(jié)點及其物理屬性,大大簡化數(shù)據(jù)量。
2)搭建仿真軟件與沉浸式虛擬環(huán)境引擎之間的數(shù)據(jù)接口,實現(xiàn)有限元分析結(jié)果在虛擬環(huán)境下的可視化。
3)實現(xiàn)沉浸式環(huán)境下吸能結(jié)構(gòu)碰撞變形的動態(tài)可視化。