隨著計算機技術的發展,為了滿足市場競爭對產品高性能的要求,對所設計的產品進行動力學、運動學等方面的仿真是很必要的。通過建立仿真軟件支持的產品模型,從而實現機電一體化產品方案的確定,并可以及時快速的利用模型仿真結果分析得到反饋信息,進而改進和優化設計方案[1]。Matlab軟件利用強大的科學數值計算能力和良好的Simulink人機交互圖形界面仿真環境可以對機械系統進行建模仿真以及系統參數優化[2、3]。特別是SimMechanics工具箱的推出,使得機械系統的建模與仿真變得更加簡便易行。
1.SimMechanics簡介
SimMechanics是The Math Work公司于2001年10月推出的機構系統模塊集(SimMechanics Block-set),它可以對各種運動副連接的剛體進行建模與仿真,實現對機構系統進行分析與設計的目的。它提供了一個可以在Simulink環境下直接實用的模塊集,可以將表示各種機構的模塊在普通Simulink窗口中繪制出來,并通過它自己提供的檢測與驅動模塊和普通的Simulink模塊連接起來,獲得整個系統的仿真結果[3]。
該模塊中包含下列幾個子模塊:
(1) 剛體子模塊組(Bodies):有兩個模塊,機架和剛體,在使用剛體模塊時,用戶還可以根據實際情況設置包括剛體質量、位置、方向和坐標系在內的一系列參數;
(2) 約束與驅動模塊組(Constrains & Drivers):有靜力學約束的模塊,如齒輪約束等,還包括各種傳動模塊;
(3) 輔助工具模塊組(Utilities):這里的模塊語序在其他模塊中添加節點,或將信息轉換成虛擬現實工具箱用的數據;
(4) 運動副模塊組(Joints):提供了各種運動副的圖標,如回轉副、平面副等,可以用這些運動副來連接剛體,構造所需機構;
(5) 檢測與驅動模塊組(Sensors & Actuators):檢測模塊用來和普通的Simulink模塊交換信息。驅動模塊用來給機構添加Simulink輸入量。
下面就分別以平面四桿機構和雙倒立擺機構為例來介紹SimMechanics工具箱的應用和技巧,并對仿真結果進行分析。
2.機構仿真
2.1平面四桿機構的仿真
如圖1所示為一平面四桿機構的運動簡圖,假設AB桿繞A點以 的角速度旋轉,分析C點的運動情況。
圖1 平面四桿機構運動簡圖
打開Simulink中的SimMechanics工具箱,從剛體模塊組中復制Ground模塊到仿真圖中,然后從運動副模塊組中復制Revolute模塊構造出第一個轉動副,依此類推,就可以將所有的模塊都復制到仿真圖中,然后用類似于普通Simulink模塊的聯結方法對所復制的模塊進行相應連接,這樣就完成了機構的簡單搭建工作。另外考慮到A點是機構的輸入端,所以要從Sensors & Actuators模塊組中復制Joint Actuator模塊以及step模塊用于提供正弦信號,相應的,C點是輸出端,故在仿真圖中添加從Sensors & Actuators模塊組中復制的Joint Sensor模塊以及scop模塊,以得到C點運動的角速度、角加速度曲線。如圖2所示其機構仿真框圖。
圖2 平面四桿機構仿真框圖
在SimMechanics仿真框圖中,如果模塊已經相應連接完畢,會自動填寫好模塊的主動端和從動端名稱。對于平面四桿機構中的轉動副來說,要設定的參數是坐標系和轉動向量。如圖3所示。
圖3 轉動副的參數設置
圖4 D點坐標設定
圖5 連桿的參數設定
2.1.3 m文件編輯
完成上述兩項工作以后,需要對仿真框圖中較為復雜的模塊參數通過m文件的形式寫入Matlab工作空間,取上述平面四桿機構為例,m文件內容如下:
r=5; gg=7.81*pi*r^2; lab=10; lbc=10*sqrt(2); lcd=20*sqrt(2);
mab=gg*lab*0.001; mbc=gg*lbc*0.001; mcd=gg*lcd*0.001;
tab=diag([r^2/2,lab^2/12,lab^2/12])*lab*gg*1e-9;
tbc=diag([r^2/2,lbc^2/12,lbc^2/12])*lbc*gg*1e-9;
tcd=diag([r^2/2,lcd^2/12,lcd^2/12])*lcd*gg*1e-9;
這里需要說明的是,因為此四桿機構中各個連桿均視為均勻的圓柱形鐵桿,故其慣性矩陣為 。

2.1.4 仿真結果分析
運行參數設置的m文件以后,各個參數都將寫入Matlab的工作空間,再運行機構的仿真框圖,得出其動畫仿真效果圖。如圖6所示。
圖6 平面四桿機構動態仿真效果圖
圖7 C點運動情況分析
需要說明的是,用戶既可以使用Matlab自身的圖形Matlab Graphic和Simulink的示波器顯示仿真結果,還可以依賴虛擬現實工具箱Virtual Reality Toolbox對仿真機構進行動畫顯示。單擊Simulation/Mechanical environment按鈕,選擇Visualization標簽,可以進行輸出顯示的設置。
2.2雙倒立擺機構的仿真
如圖8所示,雙倒立擺的機構簡圖,其連桿為均勻的圓柱形鐵桿,在AB桿上提供一個正弦輸入,通過仿真模型的建立可以分析A和B兩點的運動情況。
圖8 雙倒立擺機構簡圖
如圖9所示,其機構仿真框圖。
圖9 雙倒立擺機構仿真框圖
r=5; gg=7.81*pi*r^2; l1=10; l2=10; m1=gg*l1*0.001; m2=gg*l2*0.001;
t1=diag([r^2/2,l1^2/12,l1^2/12])*l1*gg*1e-9
t2=diag([r^2/2,l2^2/12,l2^2/12])*l2*gg*1e-9
待m文件運行完畢以后,就可以運行仿真框圖,得出其機構動態仿真圖,如圖10所示。
圖10 雙倒立擺機構動態仿真圖
圖11 A點運動情況分析 圖12 B點運動情況分析
本文在介紹Matlab中SimMechanics工具箱的基礎上,分別以四桿機構和雙倒立擺機構為例介紹了SimMechanics工具箱的應用和技巧,分析了兩種機構的仿真結果。仿真研究結果表明:SimMechanics工具箱具有系統建模方便直觀,仿真功能強大,自動模型分析等優勢,是對機械系統的各種運動進行動態建模及仿真的良好工具。