摘要: 以車輛的振動模型為例,探討了結(jié)合MATLAB軟件和虛擬現(xiàn)實編程語言在振動問題中的應用。將車輛簡化為在鉛直平面內(nèi)的兩自由度模型,通過虛擬現(xiàn)實編程語言創(chuàng)建模型構(gòu)件的三維模型,并與MATLAB的仿真工具包Simulink接口。建立了仿真模型,并得到了仿真模型在給定的初始條件下的響應,以動畫的形式直觀地表達出來。虛擬現(xiàn)實技術(shù)的應用,使得抽象的振動問題和數(shù)學公式變成直觀的運動,其仿真結(jié)果符合結(jié)構(gòu)的振動規(guī)律,表明虛擬現(xiàn)實技術(shù)對于振動問題的仿真是可行的。
0 引言
虛擬現(xiàn)實(VirtualReality)簡稱VR,是近年來出現(xiàn)的高新技術(shù),也稱靈境技術(shù)或人工環(huán)境。虛擬現(xiàn)實是利用計算機技術(shù)模擬產(chǎn)生一個三維空間的虛擬環(huán)境,提供使用者關(guān)于視覺、聽覺、觸覺等感官的模擬,如同身臨其境一般,可以及時、沒有限制地觀察三度空間內(nèi)的事物[1]。
基于虛擬現(xiàn)實技術(shù)的直觀性,它被廣泛地用于城市規(guī)劃、醫(yī)學、礦山、軍事、航天工業(yè)、藝術(shù)與教育等行業(yè)中[25]。本文是對虛擬現(xiàn)實技術(shù)在振動力學問題的研究中的應用進行初步探索,通過虛擬現(xiàn)實技術(shù)來實現(xiàn)振動系統(tǒng)的可視化,更便于人們?nèi)パ芯空駝訂栴},這在生產(chǎn)實踐中是很必要的。所以通過虛擬現(xiàn)實技術(shù)來實現(xiàn)振動的可視化不僅有其理論意義也有其現(xiàn)實意義。
1 振動系統(tǒng)的理想化力學模型的建立
一個振動系統(tǒng)究竟簡化成幾個自由度的振動模型,要根據(jù)系統(tǒng)的結(jié)構(gòu)特點和所研究的目的來決定。例如,研究車輛在鉛直面內(nèi)的振動時,可以將系統(tǒng)簡化為如圖1(b)所示的模型,剛體爛爜代表車身,它的位置可以由質(zhì)心爞偏離其平衡位置的鉛直位移牪爞及繞質(zhì)心的轉(zhuǎn)角犤來確定。這樣,車輛在鉛直面內(nèi)的振動問題就被簡化為一個兩自由度的振動系統(tǒng)。
圖1 車輛在沿直面內(nèi)的振動模型
自由振動的微分方程為:
(1)
為了研究方便,模型參數(shù)取m=1,Ic=1,k1=1,k2=1,l1=l2=2,剛體的初始高度為2,則該模型的運動微分方程為:
(2)
2 利用VRML實現(xiàn)三維模型的創(chuàng)建
2.1 地面的建立
在VRML建模的過程中,可以在原點畫個很薄的板來代替地面[1],地面的尺寸是個長為6,寬為4,厚為0。5的長方體薄板,在VRML語言中創(chuàng)建長方體的語句是
Box{
Size 6 4 0.1
}
2.2 車身的建立
將車身簡化為長方體,假設(shè)其尺寸為:長為2,厚為0.5,寬為0.5.不過在建立車身模型的時候,需要將坐標向上平移2,在平移后再創(chuàng)建長方體,創(chuàng)建長方體的語句和創(chuàng)建地面模型一樣。平移的語句為
Transform{
translation 0 0 2
}
2.3 彈簧的創(chuàng)建
彈簧的創(chuàng)建較為復雜,創(chuàng)建彈簧需要先創(chuàng)建一個個離散的點,最后再將一個一個的點連接起來[6],彈簧的創(chuàng)建位置為質(zhì)心爞的兩邊1.8的距離。
2.4 模型與Simulink接口的定義
在本模型中需要給3個物體定義接口,第1個是剛體爛爜,然后是兩個彈簧。在剛體的接口中,有剛體的平移translation 和剛體的轉(zhuǎn)動rotation,如果不對剛體定義中心轉(zhuǎn)點的時候,系統(tǒng)默認的點就是在創(chuàng)建剛體時的坐標原點。因此,在本模型中,不需要定義中心轉(zhuǎn)點,因為剛體的轉(zhuǎn)軸就是剛體的中心點,剛好是系統(tǒng)的默認點。在兩彈簧的接口中,只有一個壓縮,因為彈簧沒有平移和轉(zhuǎn)動,只有剛體運動對彈簧產(chǎn)生的壓縮[7]。車輛振動的VRML三維模型如圖2所示
圖2 車輛振動的VRML三維模型
3 利用Simulink建立振動仿真模型
3.1 振動微分方程的導入
在應用Simulink進行仿真的時候,導入的微分方程要形成一個閉環(huán)。在此模型的Simulink仿真中,需要導入的方程為式 (2), 在對方程導入的過程中,需要把其分為上下兩個方程。進入MATLAB的Simulink仿真模塊中,建立一空白模型,在窗口中從Simulink模塊庫中添加模塊。在方程導入的過程中需要用到積分模塊integrator,加法模塊sum,增益模塊gain。創(chuàng)建的方程如圖3所示。
圖3 振動方程的Simulink模型
3.2 振動方向的控制
從圖3中可以看出有兩個輸出,分別為牪爞和剛體轉(zhuǎn)角犤,但是這兩個輸出都是標量,不能控制剛體的運動。因為VRML無法識別運動方向和轉(zhuǎn)動軸,所以要對其進行向量化。在對牪爞向量化時,只需要用牪爞的值乘以一個表示方向的向量就可以了,可以乘以(0 1 0),因為剛體的平移是牪方向的。在對角度向量化時,它和位移的向量化是有所不一樣的。一個物體的轉(zhuǎn)動,需要用兩個量來表示,一個是轉(zhuǎn)動的大小,這是一個標量;另一個是轉(zhuǎn)動軸的方向,這是個矢量,需要用到mux模塊,這是個將兩種信號合成的模塊,它可以使得角度的輸出和轉(zhuǎn)動軸兩種信號合成,其中轉(zhuǎn)動軸的方向為(0 0 1),即繞牫軸。
3.3 彈簧壓縮的控制
彈簧的壓縮也是要用向量表示,分別為牨軸方向的壓縮,牪方向的壓縮,牫方向的壓縮。至此,完成了Simulink仿真模型的建立[8],如圖4所示。
圖4 車輛的Simulink仿真模型
3.4 與VRML的結(jié)合
在與VRML的結(jié)合中用到的模塊是vrsink模塊,將模塊放至窗口中,雙擊此模塊添加文件,設(shè)置接口,最終得到的仿真模型如圖5所示。
圖5 設(shè)置接口后的Simulink仿真模型
4 仿真參數(shù)的設(shè)定
4.1 模塊參數(shù)的設(shè)定
如果不對模塊參數(shù)進行設(shè)定,模塊將使用默認值為仿真值,因此對模塊參數(shù)設(shè)定是必要的。在本模型中,需要對增益模塊進行參數(shù)設(shè)定[9]。用鼠標雙擊增益模塊就可以進行設(shè)置。
4.2 系統(tǒng)初始條件的設(shè)定
對于一個振動系統(tǒng),如果沒有初始條件,系統(tǒng)是不會運動的。在本模型中,給剛體的初始條件為線速度-0.4,沿牪軸方向,角速度為0。到此,完成了建模的整個過程。在給定的初始條件下,進行仿真計算,圖6即為仿真過程中不同時刻抓到的圖。
圖6 車輛的仿真過程
由模型的振動過程可以看到,其振動規(guī)律符合結(jié)構(gòu)的振動規(guī)律。用同樣的方法完成了三自由度系統(tǒng)和拍振系統(tǒng)的仿真,其仿真結(jié)果也很好地符合了振動規(guī)律,圖7是仿真過程中的圖。
圖7 三自由度系統(tǒng)和拍振模型的仿真過程
5 結(jié)論
本文通過MATLAB軟件和虛擬現(xiàn)實編程語言(VRML)對振動系統(tǒng)的振動過程進行了仿真。提出了將MATLAB與VRML相結(jié)合來實現(xiàn)系統(tǒng)振動可視化的思想,初步建立了振動力學問題的虛擬設(shè)計系統(tǒng)框架,實現(xiàn)了振動機構(gòu)的空間建模、三維圖形實時顯示和虛擬動態(tài)仿真,同時也為以MATLAT 和VRML為基礎(chǔ)開發(fā)其它虛擬設(shè)計系統(tǒng)提供了一個參考。建立了一種基于Simulink和VRML的各類振動模型仿真的方法,為振動力學問題的研究提供了一種研究方法和手段。
另外,本文所作的工作僅針對較為簡單的線性理想系統(tǒng),而對于復雜系統(tǒng)和非線性問題的仿真,還有待于進一步地深入研究。虛擬仿真技術(shù)的應用,使得振動問題可視化,但要實現(xiàn)仿真,最重要的是建立能夠反映振動系統(tǒng)主要特征的力學模型,尤其是對于復雜系統(tǒng)和非線性問題。同時,振動微分方程的導入也是一個主要環(huán)節(jié),振動系統(tǒng)的振動是由微分方程進行控制的,在導入的過程中應注意模塊的使用和順序,特別是對于復雜系統(tǒng)的振動方程的導入。本文所建的實體模型是簡化后的力學模型,要真正實現(xiàn)系統(tǒng)的仿真可視化,實際振動系統(tǒng)的真實三維模型的創(chuàng)建也是必不可少的,只有這樣才能使人有親臨其境的感覺,才能體現(xiàn)出虛擬仿真的實際意義。
參考文獻:
[1] 陽化冰.虛擬現(xiàn)實構(gòu)造語言VRML[M].北京:北京航空航天大學出版社,2000.
[2] 陳虎.虛擬現(xiàn)實技術(shù)在網(wǎng)絡(luò)課件設(shè)計中的應用[J].東華大學學報(自然科學版),2005,31(4):146148.Chen Hu.Theapplication ofthevirtualrealityin thedesign ofnetwork courseware[J].JournalofDonghuaUniversity(NaturalscienceEdition),2005,31(4):146148.(inChinese)
[3] 韓流.基于虛擬現(xiàn)實技術(shù)的航空渦扇發(fā)動機仿真系統(tǒng)[J].計算機仿真,2009(12):5761.HanLiu.A simulationsystem ofturbofanenginebasedonvirtualreality[J].JournalofComputerSimulation,2009(12):5761.(inChinese)
[4] 郭燕舞.虛擬現(xiàn)實技術(shù)在神經(jīng)外科的臨床應用研究[D].廣州:南方醫(yī)科大學,2008.
[5] 亓永峰.武器裝備虛擬維修訓練系統(tǒng)的設(shè)計研究[J].艦船電子工程,2010,30(1):133136.QiYongfeng.Studyonthedesignofcertainweaponequipmentvirtualmaintenancesystem[J].ShipElectronicEngineering,2010,30(1):133136.(inChinese)
[6] 王波.基于VRML文件的立體顯示平臺及相關(guān)技術(shù)研究[J].計算機工程與應用,2003(12):136138.WangBo.A stereodisplayplatform basedonVRML[J].ComputerEngineeringandApplications,2003(12):136138.(inChinese)
[7] 張杰.虛擬現(xiàn)實建模語言VRML在機構(gòu)運動顯示方面的應用[J].工程圖學學報,2000(1):111116.ZhangJie.ApplicationofVRMLtotheshowingofthemotionofmechanism[J].JournalofEngineeringGraphics,2000(1):111116.(inChinese)
[8] 徐金明.MATLAB實用教程[M].北京:北方交通大學出版社,2005.
[9] 沈輝.精通Simulink系統(tǒng)仿真與控制[M].北京:北京大學出版社,2003.