金 燕,兆文忠
JIN Yan, ZHAO Wen-zhong
(大連交通大學 交通運輸工程學院,大連 116028)
在產(chǎn)品方案設(shè)計階段,企業(yè)如何能讓客戶迅速對產(chǎn)品設(shè)計方案建立起直觀認識,提高溝通效率,是實現(xiàn)良好設(shè)計的關(guān)鍵。傳統(tǒng)的交流方式是通過產(chǎn)品的圖片和文字等二維平面信息進行的,不利于客戶對產(chǎn)品形成形象、直觀的認識,滿足不了感觀需求。虛擬現(xiàn)實技術(shù)[1]的出現(xiàn)為這種交流提供了一種新的手段,借助逼真的三維可視化虛擬環(huán)境,設(shè)計人員可以進行直觀的產(chǎn)品數(shù)字化模型設(shè)計與裝配,獲得虛擬樣機[2],提高設(shè)計質(zhì)量、避免設(shè)計缺陷,同時因為代替了物理樣機,也降低了開發(fā)成本。采用這種技術(shù)手段,企業(yè)可以就產(chǎn)品方案設(shè)計,與客戶實現(xiàn)更直觀高效的交流與溝通,使客戶詳細了解產(chǎn)品的內(nèi)部結(jié)構(gòu)與功能,從而完善產(chǎn)品設(shè)計,滿足客戶要求。作者應(yīng)用虛擬現(xiàn)實技術(shù),對某企業(yè)的出口鐵路貨車-平車創(chuàng)建了三維模型,并進行了虛擬裝配[3],然后基于VRML語言,借助于可視化編輯工具,對平車的虛擬裝配過程和功能實現(xiàn)了仿真[4]。本文以下部分將從工具和關(guān)鍵技術(shù)等方面詳細介紹仿真的實現(xiàn)方法。
1)仿真語言
VRML是虛擬現(xiàn)實建模語言[5],能夠創(chuàng)建可視化的三維虛擬環(huán)境與場景,通過瀏覽器瀏覽,使人產(chǎn)生一種身臨其境的感覺。它不僅具有多媒體、人機交互等功能,還具有與平臺無關(guān)性。由于VRML文件(.wrl)是一種ASCII碼的描述性語言,與其它三維模型格式文件相比,占用存儲空間要小得多。對于鐵路平車比較復(fù)雜的三維模型,采用VRML文件格式進行虛擬裝配與功能仿真,可以大大減小文件長度,節(jié)省存儲空間。另外,在產(chǎn)品方案設(shè)計階段,往往需要修改設(shè)計,零部件模型采用(.wrl)格式,且均為獨立的模塊文件,則不會因修改模型而影響仿真的實現(xiàn)。
2)仿真平臺
由于VRML文件是文本文件,如果采用人工編寫代碼,工作量很大,效率也很低,SGI公司針對VRML開發(fā)的Cosomo Worlds編輯工具,使得創(chuàng)建三維場景與制作動畫可視化,所見即所得,因此在該平臺進行產(chǎn)品虛擬裝配與功能仿真,能夠在很大程度上減少工作量,提高實現(xiàn)仿真的效率。
3)建模工具
產(chǎn)品模型的建立與裝配對于產(chǎn)品設(shè)計的質(zhì)量至關(guān)重要,Cosmo Worlds編輯工具雖然提供了建模功能,但對平車這樣復(fù)雜的結(jié)構(gòu)難以用該工具創(chuàng)建模型,目前應(yīng)用比較廣泛的CAD/CAE軟件I-DEAS,具有很強的三維建模、裝配和分析功能[6]。借助于該軟件對平車建立三維模型,然后進行虛擬裝配,并對零部件的可裝配性進行檢驗與評估,可以達到優(yōu)化產(chǎn)品設(shè)計的目的。另外I-DEAS還提供了VRML輸出接口,可以方便地將平車的零部件模型輸出為(.wrl)格式。
4)瀏覽播放器
VRML文件需要通過瀏覽器支持才能運行,采用SGI公司開發(fā)的CosmoPlayer播放器瀏覽仿真過程,具有流暢的瀏覽功能,而且界面操作簡潔、方便和快捷。
在對鐵路平車進行虛擬裝配和功能仿真的過程中,采用了模塊化設(shè)計思想。首先創(chuàng)建平車各零部件的三維模型,然后進行虛擬裝配,模型格式轉(zhuǎn)換后,再進行虛擬裝配過程和功能的仿真,最后完善仿真效果以達到形象、生動的演示目的。仿真實現(xiàn)流程如圖1所示,下面介紹所采用的幾個關(guān)鍵技術(shù)和實現(xiàn)方法。
圖1 實現(xiàn)虛擬裝配和功能仿真流程圖
2.1.1 建模與虛擬裝配
鐵路平車主要用于運輸鋼材、木材、汽車、機械設(shè)備等體積或重量比較大的貨物,本文所涉及的平車用于運輸汽車,它的組成與層次結(jié)構(gòu)如圖2所示:
圖2 平車的組成與層次結(jié)構(gòu)
以I-DEAS軟件作為產(chǎn)品設(shè)計平臺,按照平車的組成結(jié)構(gòu),首先在Master Modeler模塊中分別對轉(zhuǎn)向架、底架和鉤緩裝置各組成部分的零部件進行三維模型設(shè)計,創(chuàng)建實體模型,然后根據(jù)它們之間的約束關(guān)系和層次關(guān)系,在Master Assembly模塊進行虛擬裝配。在虛擬裝配過程中,還要進行干涉檢驗,以確保設(shè)計產(chǎn)品的可裝配性。
2.1.2 實體模型定位
由于對平車虛擬裝配后,其裝配體的零部件是虛擬件,需要在Master Modeler模塊中用移動、旋轉(zhuǎn)等工具將每一個零部件實體進行定位組成實體裝配體。這樣在Cosmo Worlds中實現(xiàn)仿真時,其三維空間坐標系與導(dǎo)入的(.wrl)零部件坐標系恰好重合,即Cosmo Worlds坐標系原點與零部件空間坐標變換節(jié)點Transform的相對坐標偏移量Translation域值的默認值都是[0 0 0],也就是零部件的裝配位置均為[0 0 0],所以將所有零部件實體模型導(dǎo)入便能組成平車裝配體,為實現(xiàn)仿真做好模型準備。
2.1.3 模型格式轉(zhuǎn)換
借助于Cosmo Worlds可視化編輯工具實現(xiàn)仿真,需要將平車的實體零部件模型轉(zhuǎn)換為VRML格式文件, I-DEAS軟件提供了VRML文件的輸出接口,將平車裝配體的搖枕、側(cè)架等零部件模型逐一輸出為(.wrl)格式。在輸出VRML文件時,先選取Display命令下Part對話框中的參考線(Reference Line)一項,使得輸出的幾何體不帶中心線、參考點等一些影響視覺效果的無關(guān)信息,然后選取Export命令輸出VRML文件,在幾何體part對話框中選取只輸出幾何(Geometry Only)選項,這個選項生成的文件比其它選項生成的文件節(jié)省一定的存儲空間,輸出的信息能夠滿足實現(xiàn)虛擬裝配仿真的需要。
Cosmo Worlds有兩種導(dǎo)入文件方式,(Import)導(dǎo)入和(Import As Inline)內(nèi)聯(lián)節(jié)點導(dǎo)入。(Import)導(dǎo)入方式導(dǎo)入的模型文件包含了幾何體的三維造型數(shù)據(jù)、材料和顏色等所有信息,對于平車這樣比較復(fù)雜的結(jié)構(gòu),零部件數(shù)量也比較多,如果以Import方式導(dǎo)入,會導(dǎo)致源文件過大,給程序的調(diào)試帶來諸多不便。采用模塊化設(shè)計思想,以(Import As Inline)內(nèi)聯(lián)節(jié)點方式導(dǎo)入模型文件,使得實現(xiàn)仿真的源文件由若干子程序組成,即作為(.wrl)格式文件的零部件模型均為獨立的模塊,且模型文件只包含三維造型信息,這樣不僅減小源文件的大小,節(jié)省了存儲空間,提高代碼的重用率,而且不會因產(chǎn)品方案設(shè)計階段對某零部件模型的修改,影響虛擬裝配及功能仿真的實現(xiàn),從而提高了軟件設(shè)計的質(zhì)量。
2.3.1 仿真動畫原理
基于VRML平車虛擬裝配及功能的仿真是通過制作動畫實現(xiàn)的。VRML作為文本描述性語言主要由文件頭、節(jié)點、事件、腳本和路由等組成。節(jié)點是VRML的基本組成要素,最具特色的節(jié)點是動態(tài)交互感知節(jié)點,它包括時間傳感器節(jié)點(TimeSensor)、動畫插補器節(jié)點、觸摸傳感器節(jié)點(TouchSensor)及感知節(jié)點。其中動畫插補器節(jié)點有位置插補器節(jié)點(PositionInterpolator)和方向插補器節(jié)點(OrientationInterpolator)等。
實現(xiàn)仿真動畫時,利用了VRML的時間傳感器、各種插補器節(jié)點以及路由語句,通過路由傳遞事件形成控制流完成動畫過程。首先運用時間傳感器節(jié)點創(chuàng)建一個控制動畫效果的時鐘, 設(shè)置時鐘的開始時間、結(jié)束時間、播放速度和是否循環(huán)等參數(shù),然后通過路由輸出這個時鐘事件,在虛擬場景中驅(qū)動各種插補器節(jié)點中定義的關(guān)鍵幀(key)和關(guān)鍵值(keyValue),VRML瀏覽器根據(jù)插補器節(jié)點的設(shè)置,采用線性插值方法實現(xiàn)關(guān)鍵幀動畫[7]。在平車虛擬裝配及功能仿真中,利用插補器節(jié)點中的關(guān)鍵幀控制零部件的裝配順序和視點的變化順序,關(guān)鍵值設(shè)置零部件的裝配路徑和旋轉(zhuǎn)角度以及視點的移動軌跡和旋轉(zhuǎn)角度。
2.3.2 實現(xiàn)過程
在實現(xiàn)虛擬裝配仿真之前,首先要進行總體規(guī)劃,確定零部件的合理裝配順序和路徑,使其在裝配時避免發(fā)生干涉。根據(jù)平車的結(jié)構(gòu)總體裝配順序確定為:先安裝轉(zhuǎn)向架的搖枕、側(cè)架、制動組成和輪對組成,然后將底架落下,接著裝配鉤緩裝置的沖擊座和車鉤,再安裝轉(zhuǎn)臺機構(gòu)的油缸、油泵以及回轉(zhuǎn)機構(gòu)。
在Cosmo Worlds制作動畫過程中,按照裝配順序和規(guī)劃的路徑,先用Inline方式將零部件模型導(dǎo)入,然后創(chuàng)建仿真動畫,定義動畫指針的長度和速度, 再點擊(Add Actor)命令,添加動作,將指針拖到確定的關(guān)鍵幀位置,利用移動(或旋轉(zhuǎn))工具移動(或旋轉(zhuǎn))零部件,點擊(Master Record)后,便產(chǎn)生了該零部件Transform的PositionInterpolator或OrientationInterpolator的關(guān)鍵幀域值(key)和關(guān)鍵值(keyValue)。在界面的右側(cè)可以精確輸入、修改各節(jié)點的域值,這樣就實現(xiàn)了仿真動畫,圖3為虛擬裝配仿真動畫制作過程截圖。
圖3 虛擬裝配仿真動畫制作過程截圖
2.3.3 VRML節(jié)點的運用
在制作動畫中,實際上利用了VRML的各插補器節(jié)點來實現(xiàn)仿真動畫。
1)利用位置插補器節(jié)點,清晰地表達了虛擬裝配過程,使零部件按照裝配順序和規(guī)劃的路徑依次從視窗外移動到視窗內(nèi),組成平車的裝配體。
2) 利用方向插補器節(jié)點,將某些零部件進行旋轉(zhuǎn)來表達其細節(jié),全方位地展示了零部件的構(gòu)造,以便客戶詳細了解產(chǎn)品的結(jié)構(gòu)。
3)由于平車裝配體的體積比較大且結(jié)構(gòu)較復(fù)雜,需要清楚表達各方位的裝配以及局部裝配,利用(Viewpoint)節(jié)點添加了視點,并對其定義了動畫,通過改變視點的位置和方向,能夠從視窗的一個視點切換到另一個視點或者放大和縮小。
4)利用觸摸傳感器節(jié)點,使得演示具有交互功能,可以通過鼠標點擊零部件確定動畫演示的開始。
5)為了真實地模擬裝配過程以及展示產(chǎn)品的功能,利用方向插補器節(jié)點和位置插補器節(jié)點,對緊固件的裝配添加了緊固動作;轉(zhuǎn)臺機構(gòu)的轉(zhuǎn)盤和轉(zhuǎn)盤中心座添加了旋轉(zhuǎn)動作來表達裝卸汽車的回轉(zhuǎn)機構(gòu)功能,使得整個演示更加生動和形象。
2.3.4 仿真效果完善
1)賦材質(zhì)
由于平車的底架下面安裝了轉(zhuǎn)向架,轉(zhuǎn)臺下面還安裝了回轉(zhuǎn)機構(gòu)等裝置,為了能透過底架和轉(zhuǎn)盤看到其下面的裝置,分別將底架及轉(zhuǎn)盤的模型設(shè)置為半透明。另外,零部件的材質(zhì)和色彩直接影響虛擬裝配仿真的演示效果,為了真實地模擬平車的質(zhì)感,區(qū)分不同的零部件,同時考慮到演示的美觀效果,對底架和轉(zhuǎn)盤分別賦予藍色和紫色,其它零部件均賦予不銹鋼色、銅色等金屬材質(zhì)。
2)刪除冗余代碼
動畫制作完成后,輸出(.wrl)仿真動畫文件。通過瀏覽器瀏覽,發(fā)現(xiàn)零部件在裝配過程中從視窗外移動到視窗內(nèi)的裝配位置時,其運動軌跡并沒有按照預(yù)定的行走,而是添加了一些緩沖動作才到達裝配位置。這是因為輸出(.wrl)動畫文件時,Cosmo Worlds軟件在零部件的起始和結(jié)束動作之間產(chǎn)成了一些關(guān)鍵幀和關(guān)鍵值,這種情況下零部件的裝配路徑并非最短路徑。為了消除演示過程中的這種緩沖影響,設(shè)計了一個程序?qū)?.wrl)動畫文件進行編輯,自動刪除冗余代碼,便可以得到理想的演示效果,而且能夠提高瀏覽速度。冗余代碼的刪除也可以通過手工方式完成。
完善了平車虛擬裝配及功能仿真動畫后,還將其制作了AVI動畫文件,這樣不僅可以用VRML瀏覽器播放,而且可以不受VRML瀏覽器的限制,在任何計算機環(huán)境都能播放,使得與客戶的溝通更為便捷。平車虛擬裝配及功能仿真效果如圖4所示:
作者采用基于VRML語言的虛擬現(xiàn)實技術(shù),對某企業(yè)出口的鐵路貨車-平車應(yīng)用I-DEAS軟件建立了三維仿真模型,利用Cosmo Worlds可視化編輯工具設(shè)計實現(xiàn)了平車虛擬裝配及功能的仿真。
本系統(tǒng)應(yīng)用于該產(chǎn)品的競標取得了成功,得到了企業(yè)和國外客戶的認可。通過仿真動畫演示,清晰、直觀地表達了平車的詳細結(jié)構(gòu)和功能,由于方案設(shè)計中模塊化設(shè)計的采用,使得零部件模型的修改不會影響仿真動畫的實現(xiàn),從而提高了企業(yè)與客戶的溝通效率,可以快速完善產(chǎn)品設(shè)計。實際應(yīng)用表明,這種技術(shù)手段對于企業(yè)競標以及在方案設(shè)計階段與客戶的交流提供了一種高效的溝通方式,不僅能夠滿足客戶對設(shè)計產(chǎn)品的感觀需求,而且能夠降低成本,縮短開發(fā)周期,提高產(chǎn)品的設(shè)計質(zhì)量。
[1] 黃臻臻.虛擬現(xiàn)實技術(shù)及應(yīng)用進展[J].科技信息,2009,(21).
[2] 熊光楞,李伯虎,柴旭東.虛擬樣機技術(shù)[J].系統(tǒng)仿真學報,2001,1(13):114-117.
[3] 吳志堅.虛擬裝配技術(shù)在鐵路貨車設(shè)計中的應(yīng)用研究[J].企業(yè)技術(shù)開發(fā),2006,7(25):24-26.
[4] 方錫武.基于VRML的機械傳動機構(gòu)的運動仿真[J].系統(tǒng)仿真,2007,06(24):203-206.
[5] 張金釗,張金銻,張金銳.虛擬現(xiàn)實三維立體網(wǎng)絡(luò)程序設(shè)計語言VRML——第二代網(wǎng)絡(luò)程序設(shè)計語言[M].清華大學出版社,北京交通大學出版社.2004.
[6] 崔鳳奎.I-DEAS機械設(shè)計 [M].機械工業(yè)出版社,2005.1.
[7] 任繼文.利用VRML實現(xiàn)行星輪系機構(gòu)運動仿真[J]. 華東交通大學學報,2009.2(26):105-110.