為了更好地實現(xiàn)實驗?zāi)康?提高實驗效率,作者以機(jī)構(gòu)運動方案設(shè)計實驗的要求、實驗原理、方法為藍(lán)本,用計算機(jī)虛擬實驗技術(shù),模擬仿真該實驗的全過程,設(shè)計了一個機(jī)構(gòu)運動方案設(shè)計虛擬實驗系統(tǒng).應(yīng)用該系統(tǒng),學(xué)生在實驗前在計算機(jī)上對自己所設(shè)計方案的可行性、正確性進(jìn)行可視化驗證,然后再進(jìn)行實際的拼接,提高了實驗效率.
1虛擬實驗系統(tǒng)的功能
1)必須具備齊全的模型、而且盡量接近實物,這樣才能對實驗進(jìn)行真實的模擬.
2)靈活性強(qiáng),零件的參數(shù)能根據(jù)需要隨時進(jìn)行調(diào)整,實現(xiàn)尺寸驅(qū)動功能,即改變其中一個零件的參數(shù)后,只需要重建模型,其它零件的相應(yīng)點的位置會跟著發(fā)生改變,零件之間依然保持相應(yīng)的聯(lián)結(jié)關(guān)系,而不需重新進(jìn)行裝配.
3)對于機(jī)構(gòu)運動的模擬仿真功能.
4)具有運動特性分析和動力特性分析的功能.
5)具有實驗指導(dǎo)功能.系統(tǒng)的結(jié)構(gòu)流程圖如圖1所示.
2系統(tǒng)開發(fā)方法
虛擬實驗系統(tǒng)選用的平臺是三維設(shè)計軟件系統(tǒng)SolidWorks。SolidWorks它是基于Windows的全參數(shù)化特征造型軟件,可十分方便地實現(xiàn)復(fù)雜的三維零件實體造型、復(fù)雜裝配和生成工程圖,以參數(shù)化和特征建模的技術(shù)為核心,為設(shè)計人員提供了良好的設(shè)計環(huán)境,還可以方便地對SolidWorks進(jìn)行二次開發(fā).用戶二次開發(fā)的應(yīng)用程序,可直接掛在SolidWorks的菜單下,形成統(tǒng)一的界面.一般而言,開發(fā)人員首先需要在SolidWorks的界面上添加自己的菜單項,以此作為激活用戶程序的接口,完成與用戶的數(shù)據(jù)交換。
SolidWorks的API(Application Programming Interface應(yīng)用編程接口)提供了兩種接口方式:有OLE Automation的Idispatch和作為Windows基礎(chǔ)的COM(Component Object model).Idispatch的方法可用于VB、VBA或VC的開發(fā)環(huán)境,常作為快速開發(fā)的手段.本文開發(fā)的實驗系統(tǒng)所使用的程序就是采用的Idispatch接口方法,用VC++6.0編寫的.在程序編好后,編譯即可形成DLL文件.不同的操作系統(tǒng)需要用不同的設(shè)置:Windows95/98采用"MBCS";WindowsNT/2000采用"Unicode";生成需要的3dll文件后,就可以使用SolidWorks的"文件/打開"菜單,在過濾器中選擇"AddIns(3.dll)",加載自己的DLL.若該DLL在注冊表中注冊成功,還可使用"工具/插件"菜單進(jìn)行一次性加載,以后啟動SolidWorks,就可自動加載該DLL,無須再進(jìn)行加載操作,十分方便.
3系統(tǒng)功能的實現(xiàn)
3.1實驗裝配零件庫的建立
為了滿足模型齊全的要求,筆者選用SolidWorks2001進(jìn)行零件的三維造型,并把所有實驗室內(nèi)要用到的零件做成了一個零件庫.通過對SolidWorks進(jìn)行設(shè)置,可以使自己創(chuàng)建的零件庫像工具條一樣陳列在SolidWorks主窗口中.具體方法是:通過選擇SolidWorks主菜單中的工具選項選擇文件位置,將文件夾顯示為調(diào)色板零件,再選"添加",選中自己的零件庫文件夾的存放位置.要使用這個零件庫,只需要打開它就可以了.方法是,啟動SolidWorks后,在工具下選擇FeaturePalette,隨后便有一個小窗口被打開,選中用戶添加的文件夾,就會有一個新的窗口打開,創(chuàng)建的零件庫內(nèi)所有零件都以圖標(biāo)的形式陳列在窗口內(nèi),就好象在真實實驗里看到的擺放在實驗室里的零件一樣.但使用起來比在真實實驗室里方便多了,你只需要移動滑動條,就可以找到所需要的零件.
3.2機(jī)構(gòu)運動設(shè)計方案的確定
在擬訂方案之前,首先可以從過去成功的設(shè)計案例中進(jìn)行檢索,看是否有與設(shè)計要求類似的設(shè)計案例.如果有,則以這個案例為模板,并對其作適當(dāng)?shù)男薷?以滿足當(dāng)前的設(shè)計要求.這樣做即可以保證設(shè)計要求,還可提高設(shè)計效率.如果沒有類似的設(shè)計案例,則利用所掌握的專業(yè)知識和經(jīng)驗進(jìn)行新的設(shè)計.機(jī)構(gòu)運動方案的設(shè)計具體由以下幾個步驟組成:
1)輸入設(shè)計要求(包括輸入輸出間的函數(shù)關(guān)系和工藝動作要求等等)以及外部的各種約束條件.
2)將設(shè)計要求及外部條件分解成各個基本動作、基本運動及其約束條件
3)初步選定能完成設(shè)計要求的基本機(jī)構(gòu)或已有案例.
4)將初步選定的基本機(jī)構(gòu)進(jìn)行組合,得到多種可能的設(shè)計方案.
5)對各種方案進(jìn)行初步的尺度綜合.
6)對各種方案的機(jī)構(gòu)進(jìn)行性能分析(包括運動和動力性能分析).
7)對各種方案進(jìn)行評價和排序,以選出最滿意的方案.
8)如果所有方案均不滿意,則重新進(jìn)行機(jī)構(gòu)選型及組合、尺度綜合及性能分析、方案評價及排序等工作.其中對方案的機(jī)構(gòu)性能分析可以通過所設(shè)計的虛擬實驗系統(tǒng)來完成.
學(xué)生要做的就是先按以上步驟初步確定設(shè)計方案,畫出機(jī)構(gòu)運動簡圖,然后利用虛擬實驗系統(tǒng)進(jìn)行虛擬裝配,給出初始輸入條件,讓系統(tǒng)進(jìn)行分析計算,學(xué)生根據(jù)分析計算結(jié)果對設(shè)計方案優(yōu)劣作出判斷,如果滿意,則根據(jù)確定的方案進(jìn)行實際的拼接,如果不滿意,則對機(jī)構(gòu)進(jìn)行構(gòu)型演化,再裝配,再分析,直至得出滿意方案.
3.3虛擬裝配
在虛擬裝配之前在磁盤上新建一個文件夾,用以存放選擇的零件和最后形成的裝配體.首先選出裝配所需要的零件,從零件庫拖出相應(yīng)零件的圖標(biāo),系統(tǒng)就會打開相應(yīng)零件的編輯窗口,選擇另存為,把這個零件存放到新建的文件夾中.注意不要改變沒有保存的編輯窗口中零件的各項參數(shù),因為放在這個零件庫中的零件是一個參考模板文件,它的參數(shù)一旦發(fā)生改變,所有以它為參考模板文件生成的文件中的相應(yīng)參數(shù)都會發(fā)生改變,所以在拖出圖標(biāo)后,一定要將其另存到自己的文件夾中.即可以在裝配之前選好所要用的零件,也可在裝配時隨取,一般只需要選好幾類零件就可以了.SolidWorks是基于Windows操作系統(tǒng)的 ,使用起來完全和 Windows 一樣 ,可以利用復(fù)制、粘貼的形式在裝配體窗口內(nèi)生成同樣類型的多個零件.
如果是初始裝配,則需打開一個新的裝配體文件,將選好的零件插入到這個裝配體文件中,在零件之間添加相應(yīng)的裝配配合關(guān)系就可以了.各構(gòu)件之間的裝配關(guān)系和其運動副關(guān)系是這樣定義的:若是轉(zhuǎn)動副,則在兩零件連接處添加端面貼合和同軸心關(guān)系;若是移動副,則在兩零件接觸處添加平面貼合關(guān)系.對于機(jī)架和導(dǎo)軌等固定不動的構(gòu)件通過右擊SolidWorks特征管理樹(Feature manager)中相應(yīng)零件的實體名,在彈出的菜單內(nèi)選擇固定來實現(xiàn).
由于是虛擬裝配,自然比真實裝配輕松得多.因為SolidWorks可以實現(xiàn)尺寸驅(qū)動,所以改變裝配完的機(jī)構(gòu)中構(gòu)件的某些參數(shù),如桿長,機(jī)架的位置后,只需要對裝配體機(jī)構(gòu)進(jìn)行重建模型,其它零件的相應(yīng)位置會根據(jù)配合關(guān)系跟著改變,而不需要拆卸后重新裝配.圖2所示為運用此系統(tǒng)裝配好的四桿機(jī)構(gòu),并且已在SolidWorks界面上加載了自己的菜單,準(zhǔn)備進(jìn)行運動仿真.
3.4對機(jī)構(gòu)運動的干涉檢查
在裝配體形成后,首先要對其進(jìn)行初步的干涉檢查.可以使用SolidWorks自帶的干涉檢查功能.如果覺得不夠直觀的話,則可以用拖動其中某個構(gòu)件的方法,觀察各個構(gòu)件的運動情況,直觀地看它們的運動是否會發(fā)生干涉.進(jìn)一步的干涉檢查,可以在運動的仿真過程中.選擇編程加載的菜單下運動仿真項,對裝配搭建的機(jī)構(gòu)進(jìn)行運動仿真.在仿真過程中可以觀察到是否發(fā)生干涉,如果發(fā)生干涉,兩個零件將有重疊的部分,這就需要對機(jī)構(gòu)中的參數(shù)進(jìn)行調(diào)整.
3.5機(jī)構(gòu)運動的仿真
機(jī)構(gòu)的動態(tài)仿真的實現(xiàn)相當(dāng)于在每一運動時刻,將各個構(gòu)件根據(jù)約束擺放到空間的指定位置上.構(gòu)件的初始位置在裝配體裝配好以后就確定了,其中機(jī)架位置的坐標(biāo)值用戶是可以自己設(shè)定的,而構(gòu)件在運動當(dāng)中的各個數(shù)據(jù)是由外部機(jī)構(gòu)分析程序提供.因此,這種機(jī)構(gòu)三維仿真方法不受機(jī)構(gòu)的復(fù)雜性和自由度所限制.給出不同的輸入,外部分析程序會提供不同的運動數(shù)據(jù)分析結(jié)果,使機(jī)構(gòu)得以實現(xiàn)不同的運動.運動數(shù)據(jù)分析結(jié)果被存儲在數(shù)據(jù)庫中以便需要時進(jìn)行調(diào)用.
3.6機(jī)構(gòu)運動特性分析和動力學(xué)特性分析
運動仿真之后,還需要對機(jī)構(gòu)進(jìn)行運動特性和動力學(xué)特性分析.從而判斷出所設(shè)計出的機(jī)構(gòu)的優(yōu)劣.方法是輸出特征點的位置、速度、加速度、和力分析曲線.具體實現(xiàn)是通過VC編程繪制曲線圖,從數(shù)據(jù)庫中取出保存好的繪圖所用的數(shù)據(jù).如果所設(shè)計的方案未打到設(shè)計要求,就需要修改設(shè)計方案,進(jìn)行機(jī)構(gòu)構(gòu)型的演化.演化的方法主要有運動副變換、加桿組、運動倒置、加自由度、運動等效變換,不斷對方案進(jìn)行修改,然后裝配,進(jìn)行運動學(xué)特性和力學(xué)特性分析,直到形成最滿意的方案.
3.7實驗指導(dǎo)功能
實驗指導(dǎo)主要是在修改設(shè)計方案時,系統(tǒng)提供幫助信息,告訴以通過那些方法來優(yōu)化機(jī)構(gòu),在學(xué)生選好一種方法后,系統(tǒng)會給出方法的原理,幫助使用者快速地修改方案.
|