金 燕,兆文忠
JIN Yan, ZHAO Wen-zhong
(大連交通大學 交通運輸工程學院,大連 116028)
在產品方案設計階段,企業如何能讓客戶迅速對產品設計方案建立起直觀認識,提高溝通效率,是實現良好設計的關鍵。傳統的交流方式是通過產品的圖片和文字等二維平面信息進行的,不利于客戶對產品形成形象、直觀的認識,滿足不了感觀需求。虛擬現實技術[1]的出現為這種交流提供了一種新的手段,借助逼真的三維可視化虛擬環境,設計人員可以進行直觀的產品數字化模型設計與裝配,獲得虛擬樣機[2],提高設計質量、避免設計缺陷,同時因為代替了物理樣機,也降低了開發成本。采用這種技術手段,企業可以就產品方案設計,與客戶實現更直觀高效的交流與溝通,使客戶詳細了解產品的內部結構與功能,從而完善產品設計,滿足客戶要求。作者應用虛擬現實技術,對某企業的出口鐵路貨車-平車創建了三維模型,并進行了虛擬裝配[3],然后基于VRML語言,借助于可視化編輯工具,對平車的虛擬裝配過程和功能實現了仿真[4]。本文以下部分將從工具和關鍵技術等方面詳細介紹仿真的實現方法。
1)仿真語言
VRML是虛擬現實建模語言[5],能夠創建可視化的三維虛擬環境與場景,通過瀏覽器瀏覽,使人產生一種身臨其境的感覺。它不僅具有多媒體、人機交互等功能,還具有與平臺無關性。由于VRML文件(.wrl)是一種ASCII碼的描述性語言,與其它三維模型格式文件相比,占用存儲空間要小得多。對于鐵路平車比較復雜的三維模型,采用VRML文件格式進行虛擬裝配與功能仿真,可以大大減小文件長度,節省存儲空間。另外,在產品方案設計階段,往往需要修改設計,零部件模型采用(.wrl)格式,且均為獨立的模塊文件,則不會因修改模型而影響仿真的實現。
2)仿真平臺
由于VRML文件是文本文件,如果采用人工編寫代碼,工作量很大,效率也很低,SGI公司針對VRML開發的Cosomo Worlds編輯工具,使得創建三維場景與制作動畫可視化,所見即所得,因此在該平臺進行產品虛擬裝配與功能仿真,能夠在很大程度上減少工作量,提高實現仿真的效率。
3)建模工具
產品模型的建立與裝配對于產品設計的質量至關重要,Cosmo Worlds編輯工具雖然提供了建模功能,但對平車這樣復雜的結構難以用該工具創建模型,目前應用比較廣泛的CAD/CAE軟件I-DEAS,具有很強的三維建模、裝配和分析功能[6]。借助于該軟件對平車建立三維模型,然后進行虛擬裝配,并對零部件的可裝配性進行檢驗與評估,可以達到優化產品設計的目的。另外I-DEAS還提供了VRML輸出接口,可以方便地將平車的零部件模型輸出為(.wrl)格式。
4)瀏覽播放器
VRML文件需要通過瀏覽器支持才能運行,采用SGI公司開發的CosmoPlayer播放器瀏覽仿真過程,具有流暢的瀏覽功能,而且界面操作簡潔、方便和快捷。
在對鐵路平車進行虛擬裝配和功能仿真的過程中,采用了模塊化設計思想。首先創建平車各零部件的三維模型,然后進行虛擬裝配,模型格式轉換后,再進行虛擬裝配過程和功能的仿真,最后完善仿真效果以達到形象、生動的演示目的。仿真實現流程如圖1所示,下面介紹所采用的幾個關鍵技術和實現方法。

圖1 實現虛擬裝配和功能仿真流程圖
2.1.1 建模與虛擬裝配
鐵路平車主要用于運輸鋼材、木材、汽車、機械設備等體積或重量比較大的貨物,本文所涉及的平車用于運輸汽車,它的組成與層次結構如圖2所示:

圖2 平車的組成與層次結構
以I-DEAS軟件作為產品設計平臺,按照平車的組成結構,首先在Master Modeler模塊中分別對轉向架、底架和鉤緩裝置各組成部分的零部件進行三維模型設計,創建實體模型,然后根據它們之間的約束關系和層次關系,在Master Assembly模塊進行虛擬裝配。在虛擬裝配過程中,還要進行干涉檢驗,以確保設計產品的可裝配性。
2.1.2 實體模型定位
由于對平車虛擬裝配后,其裝配體的零部件是虛擬件,需要在Master Modeler模塊中用移動、旋轉等工具將每一個零部件實體進行定位組成實體裝配體。這樣在Cosmo Worlds中實現仿真時,其三維空間坐標系與導入的(.wrl)零部件坐標系恰好重合,即Cosmo Worlds坐標系原點與零部件空間坐標變換節點Transform的相對坐標偏移量Translation域值的默認值都是[0 0 0],也就是零部件的裝配位置均為[0 0 0],所以將所有零部件實體模型導入便能組成平車裝配體,為實現仿真做好模型準備。
2.1.3 模型格式轉換
借助于Cosmo Worlds可視化編輯工具實現仿真,需要將平車的實體零部件模型轉換為VRML格式文件, I-DEAS軟件提供了VRML文件的輸出接口,將平車裝配體的搖枕、側架等零部件模型逐一輸出為(.wrl)格式。在輸出VRML文件時,先選取Display命令下Part對話框中的參考線(Reference Line)一項,使得輸出的幾何體不帶中心線、參考點等一些影響視覺效果的無關信息,然后選取Export命令輸出VRML文件,在幾何體part對話框中選取只輸出幾何(Geometry Only)選項,這個選項生成的文件比其它選項生成的文件節省一定的存儲空間,輸出的信息能夠滿足實現虛擬裝配仿真的需要。
Cosmo Worlds有兩種導入文件方式,(Import)導入和(Import As Inline)內聯節點導入。(Import)導入方式導入的模型文件包含了幾何體的三維造型數據、材料和顏色等所有信息,對于平車這樣比較復雜的結構,零部件數量也比較多,如果以Import方式導入,會導致源文件過大,給程序的調試帶來諸多不便。采用模塊化設計思想,以(Import As Inline)內聯節點方式導入模型文件,使得實現仿真的源文件由若干子程序組成,即作為(.wrl)格式文件的零部件模型均為獨立的模塊,且模型文件只包含三維造型信息,這樣不僅減小源文件的大小,節省了存儲空間,提高代碼的重用率,而且不會因產品方案設計階段對某零部件模型的修改,影響虛擬裝配及功能仿真的實現,從而提高了軟件設計的質量。
2.3.1 仿真動畫原理
基于VRML平車虛擬裝配及功能的仿真是通過制作動畫實現的。VRML作為文本描述性語言主要由文件頭、節點、事件、腳本和路由等組成。節點是VRML的基本組成要素,最具特色的節點是動態交互感知節點,它包括時間傳感器節點(TimeSensor)、動畫插補器節點、觸摸傳感器節點(TouchSensor)及感知節點。其中動畫插補器節點有位置插補器節點(PositionInterpolator)和方向插補器節點(OrientationInterpolator)等。
實現仿真動畫時,利用了VRML的時間傳感器、各種插補器節點以及路由語句,通過路由傳遞事件形成控制流完成動畫過程。首先運用時間傳感器節點創建一個控制動畫效果的時鐘, 設置時鐘的開始時間、結束時間、播放速度和是否循環等參數,然后通過路由輸出這個時鐘事件,在虛擬場景中驅動各種插補器節點中定義的關鍵幀(key)和關鍵值(keyValue),VRML瀏覽器根據插補器節點的設置,采用線性插值方法實現關鍵幀動畫[7]。在平車虛擬裝配及功能仿真中,利用插補器節點中的關鍵幀控制零部件的裝配順序和視點的變化順序,關鍵值設置零部件的裝配路徑和旋轉角度以及視點的移動軌跡和旋轉角度。
2.3.2 實現過程
在實現虛擬裝配仿真之前,首先要進行總體規劃,確定零部件的合理裝配順序和路徑,使其在裝配時避免發生干涉。根據平車的結構總體裝配順序確定為:先安裝轉向架的搖枕、側架、制動組成和輪對組成,然后將底架落下,接著裝配鉤緩裝置的沖擊座和車鉤,再安裝轉臺機構的油缸、油泵以及回轉機構。
在Cosmo Worlds制作動畫過程中,按照裝配順序和規劃的路徑,先用Inline方式將零部件模型導入,然后創建仿真動畫,定義動畫指針的長度和速度, 再點擊(Add Actor)命令,添加動作,將指針拖到確定的關鍵幀位置,利用移動(或旋轉)工具移動(或旋轉)零部件,點擊(Master Record)后,便產生了該零部件Transform的PositionInterpolator或OrientationInterpolator的關鍵幀域值(key)和關鍵值(keyValue)。在界面的右側可以精確輸入、修改各節點的域值,這樣就實現了仿真動畫,圖3為虛擬裝配仿真動畫制作過程截圖。

圖3 虛擬裝配仿真動畫制作過程截圖
2.3.3 VRML節點的運用
在制作動畫中,實際上利用了VRML的各插補器節點來實現仿真動畫。
1)利用位置插補器節點,清晰地表達了虛擬裝配過程,使零部件按照裝配順序和規劃的路徑依次從視窗外移動到視窗內,組成平車的裝配體。
2) 利用方向插補器節點,將某些零部件進行旋轉來表達其細節,全方位地展示了零部件的構造,以便客戶詳細了解產品的結構。
3)由于平車裝配體的體積比較大且結構較復雜,需要清楚表達各方位的裝配以及局部裝配,利用(Viewpoint)節點添加了視點,并對其定義了動畫,通過改變視點的位置和方向,能夠從視窗的一個視點切換到另一個視點或者放大和縮小。
4)利用觸摸傳感器節點,使得演示具有交互功能,可以通過鼠標點擊零部件確定動畫演示的開始。
5)為了真實地模擬裝配過程以及展示產品的功能,利用方向插補器節點和位置插補器節點,對緊固件的裝配添加了緊固動作;轉臺機構的轉盤和轉盤中心座添加了旋轉動作來表達裝卸汽車的回轉機構功能,使得整個演示更加生動和形象。
2.3.4 仿真效果完善
1)賦材質
由于平車的底架下面安裝了轉向架,轉臺下面還安裝了回轉機構等裝置,為了能透過底架和轉盤看到其下面的裝置,分別將底架及轉盤的模型設置為半透明。另外,零部件的材質和色彩直接影響虛擬裝配仿真的演示效果,為了真實地模擬平車的質感,區分不同的零部件,同時考慮到演示的美觀效果,對底架和轉盤分別賦予藍色和紫色,其它零部件均賦予不銹鋼色、銅色等金屬材質。
2)刪除冗余代碼
動畫制作完成后,輸出(.wrl)仿真動畫文件。通過瀏覽器瀏覽,發現零部件在裝配過程中從視窗外移動到視窗內的裝配位置時,其運動軌跡并沒有按照預定的行走,而是添加了一些緩沖動作才到達裝配位置。這是因為輸出(.wrl)動畫文件時,Cosmo Worlds軟件在零部件的起始和結束動作之間產成了一些關鍵幀和關鍵值,這種情況下零部件的裝配路徑并非最短路徑。為了消除演示過程中的這種緩沖影響,設計了一個程序對(.wrl)動畫文件進行編輯,自動刪除冗余代碼,便可以得到理想的演示效果,而且能夠提高瀏覽速度。冗余代碼的刪除也可以通過手工方式完成。
完善了平車虛擬裝配及功能仿真動畫后,還將其制作了AVI動畫文件,這樣不僅可以用VRML瀏覽器播放,而且可以不受VRML瀏覽器的限制,在任何計算機環境都能播放,使得與客戶的溝通更為便捷。平車虛擬裝配及功能仿真效果如圖4所示:
作者采用基于VRML語言的虛擬現實技術,對某企業出口的鐵路貨車-平車應用I-DEAS軟件建立了三維仿真模型,利用Cosmo Worlds可視化編輯工具設計實現了平車虛擬裝配及功能的仿真。
本系統應用于該產品的競標取得了成功,得到了企業和國外客戶的認可。通過仿真動畫演示,清晰、直觀地表達了平車的詳細結構和功能,由于方案設計中模塊化設計的采用,使得零部件模型的修改不會影響仿真動畫的實現,從而提高了企業與客戶的溝通效率,可以快速完善產品設計。實際應用表明,這種技術手段對于企業競標以及在方案設計階段與客戶的交流提供了一種高效的溝通方式,不僅能夠滿足客戶對設計產品的感觀需求,而且能夠降低成本,縮短開發周期,提高產品的設計質量。
[1] 黃臻臻.虛擬現實技術及應用進展[J].科技信息,2009,(21).
[2] 熊光楞,李伯虎,柴旭東.虛擬樣機技術[J].系統仿真學報,2001,1(13):114-117.
[3] 吳志堅.虛擬裝配技術在鐵路貨車設計中的應用研究[J].企業技術開發,2006,7(25):24-26.
[4] 方錫武.基于VRML的機械傳動機構的運動仿真[J].系統仿真,2007,06(24):203-206.
[5] 張金釗,張金銻,張金銳.虛擬現實三維立體網絡程序設計語言VRML——第二代網絡程序設計語言[M].清華大學出版社,北京交通大學出版社.2004.
[6] 崔鳳奎.I-DEAS機械設計 [M].機械工業出版社,2005.1.
[7] 任繼文.利用VRML實現行星輪系機構運動仿真[J]. 華東交通大學學報,2009.2(26):105-110.