桌面式虛擬仿真訓練教學系統(tǒng)的開發(fā)與實現(xiàn)_第1頁
桌面式虛擬仿真訓練教學系統(tǒng)的開發(fā)與實現(xiàn)_第2頁
桌面式虛擬仿真訓練教學系統(tǒng)的開發(fā)與實現(xiàn)_第3頁
桌面式虛擬仿真訓練教學系統(tǒng)的開發(fā)與實現(xiàn)_第4頁
桌面式虛擬仿真訓練教學系統(tǒng)的開發(fā)與實現(xiàn)_第5頁
全文預覽已結(jié)束

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

桌面式虛擬仿真訓練教學系統(tǒng)的開發(fā)與實現(xiàn)

基于專業(yè)技術(shù)的大型機械裝置虛擬仿真系統(tǒng)研發(fā)方案三維虛擬模擬(3d虛擬模擬)是利用三維建模技術(shù)為現(xiàn)實世界創(chuàng)建三維場景的三維場景。在特定的軟件環(huán)境中,整個三維場景被驅(qū)動,用戶輸入輸入,用戶根據(jù)不同的操作對應的反應,并顯示在三維環(huán)境中?,F(xiàn)代機械裝置往往結(jié)構(gòu)復雜,功能原理深奧,單純依靠實物進行教學、訓練,費用高且效率低,而利用開發(fā)的虛擬仿真系統(tǒng),不需要借助實物就可在計算機上進行日常的教學、訓練,費用低廉而且安全,在身臨其境的人機交互中,原本復雜深奧的裝置構(gòu)造、原理、拆裝、維修知識變得直觀易懂。雖然此類虛擬仿真系統(tǒng)已經(jīng)出現(xiàn),但還存在諸多的不足,如文獻中采用VB+VRML開發(fā)的仿真模型僅僅具有單調(diào)的顏色和簡單的反光特性;三維模型瀏覽需借助于外部已有的瀏覽器,而外部的瀏覽器需要單獨安裝,這使得整個系統(tǒng)的移植性不強。文獻中的VC+VRML系統(tǒng)交互方式單一,拆裝、機構(gòu)運動只能被動的進行動畫瀏覽。文獻中的Visproducts+VisMockupVisLab+VisJackVisVSA系統(tǒng),對開發(fā)所需硬件水平要求高,昂貴的圖形工作站、三維鼠標、立體眼鏡等設備顯然不利于其推廣使用;文獻中的Multigen+OpenGvs+Virtools+OpenGL+XML+ACESS+VC系統(tǒng)開發(fā),開發(fā)難度大,周期長,成本高。本文為解決此類問題展開了研究,通過分析研究,提出了一種新的基于普通微機和簡單交互設備(主要包括二維鼠標和普通彩色顯示器)的大型機械裝置虛擬仿真系統(tǒng)的開發(fā)方案:1-DEAS+OpenGL+VC++。桌面式虛擬仿真應用系統(tǒng)的開發(fā)一般有兩種模式,如圖1所示。一種模式是直接使用底層圖形接口如OpenGL、Direct3D、Java3D等,另一種模式是使用位于底層圖形接口之上的開發(fā)平臺,如國外著名的商業(yè)產(chǎn)品OpenGVS、VEGA、Virtools和開源平臺OSG,以及國內(nèi)圖形平臺BH-Graph等。第一種模式的特點是可以完全自主控制應用系統(tǒng)的底層細節(jié),靈活性強,可以較好體現(xiàn)應用系統(tǒng)需求方意愿,第二種模式需借助于已有仿真圖形平臺,系統(tǒng)開發(fā)自主性不高。同時,這些仿真平臺軟件的價格往往比較昂貴,系統(tǒng)開發(fā)經(jīng)濟性不高。本文系統(tǒng)開發(fā)選擇第一種開發(fā)模式。桌面式虛擬現(xiàn)實系統(tǒng)相對沉浸式和增強型虛擬現(xiàn)實系統(tǒng),對硬件要求要低得多,本虛擬仿真訓練系統(tǒng)開發(fā)硬件環(huán)境為:(1)桌面式個人計算機(IntelPentiumII450或以上);軟件環(huán)境為:(1)Windows操作系統(tǒng);(2)OpenGL程序應用接口(API)。本方案選擇I-DEAS軟件作為建立三維仿真模型的平臺。I-DEAS是世界上最著名的機械CAD設計自動化軟件,革命性的VGXTM變數(shù)式幾何系統(tǒng)技術(shù),讓使用者以更直覺的方式去雕塑三維實體模型;并直接在電腦三維實體原型上進行修改,如同以雙手拼組真實的零件一樣。運用VC++與OpenGL聯(lián)合開發(fā)交互圖形應用程序是因為:(1)同其它編程語言相比,VC對OpenGL的支持最好,能很方便地進行OpenGL編程,而且其功能十分強大。而Delphi不能對OpenGL提供很好的支持。(2)單純用VC++很難設計出高性能的三維圖形工具,目前圖形開發(fā)包DirectX適于游戲開發(fā)以及加強多媒體性能等方面,而OpenGL則可以制作出更順暢的3D效果,且OpenGL性能優(yōu)于DirectX。(3)OpenGL可以與VC++建立緊密接口,便于實現(xiàn)有關(guān)計算和圖形算法,可保證算法的正確性和可靠性。2場景仿真設計本系統(tǒng)采用模塊化結(jié)構(gòu),模塊定義和功能主要根據(jù)系統(tǒng)的各種功能需要,這些功能主要包括:(1)數(shù)據(jù)庫支持獲得接近最優(yōu)的虛擬拆卸序列,用以指導、提示操作者正確完成拆卸過程;(2)三維場景顯示模塊(主要包括機械裝置三維仿真模型、機構(gòu)仿真動畫、材質(zhì)、光照等),對場景模型的編輯、控制、瀏覽等;(3)友好的用戶圖形界面(GUI)設計。相應的,設計出本系統(tǒng)的三個模塊:拆卸序列規(guī)劃;虛擬場景交互式瀏覽、編輯和動畫仿真;用戶圖形界面,如圖2所示。拆卸序列規(guī)劃模塊利用DCG(disassemblyconstraintgraph)序列生成法和遺傳算法得到接近最優(yōu)的拆卸序列。DCG法能夠得到拆卸維修某一部件時的所有合理拆卸序列,然后由遺傳算法來選擇最優(yōu)的序列,優(yōu)化主要考慮拆卸所花的時間,主要影響因素有拆卸工具的變換和拆卸方位的變換。關(guān)于這部分功能的具體實現(xiàn)途徑在文獻中已有詳細論述,這里不做討論。虛擬環(huán)境模塊包含了兩個子模塊,如圖2所示:幾何建模模塊和場景顯示模塊。系統(tǒng)仿真對象幾何模型的建立和驅(qū)動將在后文中詳細介紹。GUI模塊則用來將上述的模塊集合在一起成為一個完整的系統(tǒng)。3系統(tǒng)的一些關(guān)鍵技術(shù)和實現(xiàn)3.1實時交互功能I-DEAS采用三維實體模型,該種模型文件通常非常大,在基于普通微機的硬件條件下不能滿足實時交互的要求。所以,在本方案中,將I-DEAS實體模型轉(zhuǎn)換為結(jié)構(gòu)相對簡單的表面(多邊形)模型就成為了必要,在這里選擇3DS格式,因為3DS是一種非常普遍的三維圖形數(shù)據(jù)格式,結(jié)構(gòu)相對簡單清晰,易于加工處理,如在后文中將要提到的簡化和用于程序讀取。3.23基于sd軟件的數(shù)據(jù)簡化將仿真模型從I-DEAS實體格式轉(zhuǎn)換為3DS多邊形格式后,雖然文件有所減小,但對于大型復雜機械裝置,在較低的圖形硬件水平下,模型數(shù)據(jù)簡化仍是必要的。3DS模型簡化可以綜合采用以下兩種方法:方法一:由于多邊形的數(shù)量取決于很多方面。比如由于零件的曲率,一個大部分是平面的5MB的3DS文件創(chuàng)建的三角形數(shù)量級會低于同樣一個5MB的包含管道及螺桿的3DS文件,所以,在I-DEAS中通過修改原仿真模型來減少數(shù)據(jù)的大小是簡化方法之一。方法二:通過Polytrans、3DSMAX等專業(yè)3DS文件處理軟件進行修改簡化。3.3定義各種封裝完成簡化并添加了材質(zhì)、光照、紋理等信息的仿真對象幾何模型3DS格式數(shù)據(jù),實現(xiàn)OpenGL對其的讀取的方法為:首先定義一系列的結(jié)構(gòu),如對象的材質(zhì)、材質(zhì)庫、位置矢量、四元數(shù)等,然后通過定義各種類封裝對3DS文件中各種對象的處理和讀取操作。讀入模型數(shù)據(jù)后就可利用OpenGL的常用繪圖函數(shù)如glVertex3f()進行繪圖顯示了,而對于模型的放大、縮小、平移、旋轉(zhuǎn)、拾取等交互控制則主要是利用矩陣堆棧和OpenGL的選擇拾取和反饋機制來實現(xiàn)。3.4拉格朗日算法中的碰撞檢測虛擬拆裝是一個成功的虛擬仿真系統(tǒng)所不可或缺的功能,在1-DEAS+OpenGL+VC++開發(fā)方案中,用屏幕上的光標來代替拆裝虛擬“手”,利用OpenGL的選擇拾取機制和結(jié)合VC++編程實現(xiàn)整體裝配中單個零部件的拾取和拖動。碰撞檢測是提高虛擬交互式拆裝真實性和實用性的最有效途徑,碰撞檢測的實現(xiàn)最重要的是研究選擇碰撞檢測算法的問題,由于現(xiàn)在虛擬物體模型大多采用多面體表示(1-DEAS+OpenGL+VC++方案中的3DS模型為三角形,三角面片模型能夠很好地滿足虛擬現(xiàn)實系統(tǒng)實時性的要求),碰撞檢測實際上就是電腦計算判斷多面體相交的問題,場景中海量的姿態(tài)、位置各異的多面體使得上述計算是一項十分復雜耗時的工作,I-DEAS+OpenGL+VC++開發(fā)方案基于普通計算機硬件,這就使得對碰撞檢測算法的適當簡化顯得十分必要,其中建立裝配約束關(guān)系被證明了是一種十分有效的方法,這里的裝配約束是指裝配體中零件間的位置約束關(guān)系,主要從幾何方面考慮,如面貼合約束、對齊約束和定向約束等。裝配約束本質(zhì)上可歸結(jié)為幾何元素點、線、面之間的相互關(guān)系,它的具體建立由OpenGL編程實現(xiàn),程序體的功能就是保證用虛擬“手”拖動某一零部件實現(xiàn)拆裝時根據(jù)實際中該零部件與其他零部件的位置關(guān)系(也就是上面說所的點、線、面之間的相互關(guān)系)限定其運動的自由度。3.5運動仿真的過程OpenGL支持雙緩存(DoubleBuffers)技術(shù),該技術(shù)提供了一種生成平滑動畫的機制。這使利用OpenGL生成動畫非常簡單。在利用OpenGL設計動畫時,時間間隔起著十分重要的作用。時間間隔很大時,將浪費很多系統(tǒng)時間,時間間隔較小時,視頻不能進行正確地刷新,將有可能產(chǎn)生幀信息的丟失。在確定時間間隔時,一般應綜合考慮系統(tǒng)的視頻刷新頻率和計算的復雜度等因素。在進行機構(gòu)的運動仿真時,首先要建立運動機構(gòu)的三維幾何模型,并對模型進行各種坐標變換,以確定這些模型在三維空間中的定位和取向,并選定有利的觀察點。建立模型以后,接下來可以采用運動的動畫顯示技術(shù),仿真機構(gòu)運動,以模擬實際的機構(gòu)運動情況。因為任何一個運動形式都是由平動和轉(zhuǎn)動組成的,OpenGL正是提供了實現(xiàn)這兩種分運動的函數(shù),glRotatef()和glTranslatef(),只需將機構(gòu)運動規(guī)律或各運動部件相互的運動約束寫成程序語句(當然也可先在外部人工計算出各運動部件的絕對運動規(guī)律),然后調(diào)用上述兩個函數(shù),再添加交互控制函數(shù)即可制作出交互的機構(gòu)運動動畫,圖3所示為調(diào)距槳的仿真調(diào)距原理動畫其中的兩幀。4裝卸機構(gòu)的設計系統(tǒng)的用戶圖形界面設計參考了當今在工業(yè)領(lǐng)域被廣泛使用的CAD軟件的界面設計,使操作者對其更覺友好和熟悉。以某型調(diào)距槳裝置為例來驗證該系統(tǒng)的功能,如圖4所示。假定操作對象為該調(diào)距槳裝置的槳殼體部件,在窗口1左上子窗口中的裝配關(guān)系樹上選定該部件,最優(yōu)拆卸序列生成并顯示在窗口3中。選擇“開始拆卸”后,“實時拆卸信息顯示”窗口給出拆卸每一步的狀態(tài),包括目標對象、正在拆卸對象、拆卸所需總步數(shù)、已進行步數(shù)。圖4中正在拆卸對象為前活塞桿,選擇主菜單欄上的“拆卸工具”為“工具4”,鼠標形狀變化為“工具4”字樣,點擊選取并拖動拆卸對象實現(xiàn)拆卸動作(該功能主要根據(jù)OpenGL的選擇拾取機制實現(xiàn)),同時,“實物圖片顯示”子窗口顯示該拆卸對象實物圖片,窗口3中顯示該對象的功能、結(jié)構(gòu)和下一步拆卸對象等文字信息,加深操作和觀賞人員對裝置整體及其部件拆卸知識的理解。在拆卸過程中,工具選擇錯誤或拆裝順序錯誤都將使操作無法繼續(xù)進行。拆卸完成后,通過點擊“RESET”,可以從頭開始反復練習拆卸過程。在拆卸過程中,還可以通過配合使用鍵盤、鼠標來實現(xiàn)對拆卸對象的放大、縮小、平移、旋轉(zhuǎn)的導航控制;“場景編輯”和“顯示模式”選擇個性化的場景光照、模型材質(zhì)和點、線框、實體顯示模式。5機械cad仿真多通道設計技術(shù)VC++應用程序打包生成.exe文件或安裝文件后可以脫離VC++環(huán)境獨立安裝運行,本文提出的I-DEAS+OpenGL+VC++虛擬仿真系統(tǒng)開發(fā)方案有著廣泛的適用性;VC++和OpenGL底層開發(fā)法,還具有能夠?qū)崿F(xiàn)用戶的個性化需求,滿足計算機通訊實時性的優(yōu)點,但它的缺點是要求用戶掌握較深的編程知識;機械CAD三維實體模型數(shù)據(jù)的文件大且結(jié)構(gòu)復雜,直接進行場景驅(qū)動對硬件水平要求高,編程困難,利用本文提出的幾種方法實現(xiàn)了將機

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論