為了更好地實現實驗目的,提高實驗效率,作者以機構運動方案設計實驗的要求、實驗原理、方法為藍本,用計算機虛擬實驗技術,模擬仿真該實驗的全過程,設計了一個機構運動方案設計虛擬實驗系統.應用該系統,學生在實驗前在計算機上對自己所設計方案的可行性、正確性進行可視化驗證,然后再進行實際的拼接,提高了實驗效率.
1 虛擬實驗系統的功能
1)必須具備齊全的模型、而且盡量接近實物,這樣才能對實驗進行真實的模擬.
2)靈活性強,零件的參數能根據需要隨時進行調整,實現尺寸驅動功能,即改變其中一個零件的參數后,只需要重建模型,其它零件的相應點的位置會跟著發生改變,零件之間依然保持相應的聯結關系,而不需重新進行裝配.
3)對于機構運動的模擬仿真功能.
4)具有運動特性分析和動力特性分析的功能.
5)具有實驗指導功能.系統的結構流程圖如圖1所示.

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