隨著計(jì)算機(jī)技術(shù)的發(fā)展,為了滿(mǎn)足市場(chǎng)競(jìng)爭(zhēng)對(duì)產(chǎn)品高性能的要求,對(duì)所設(shè)計(jì)的產(chǎn)品進(jìn)行動(dòng)力學(xué)、運(yùn)動(dòng)學(xué)等方面的仿真是很必要的。通過(guò)建立仿真軟件支持的產(chǎn)品模型,從而實(shí)現(xiàn)機(jī)電一體化產(chǎn)品方案的確定,并可以及時(shí)快速的利用模型仿真結(jié)果分析得到反饋信息,進(jìn)而改進(jìn)和優(yōu)化設(shè)計(jì)方案[1]。Matlab軟件利用強(qiáng)大的科學(xué)數(shù)值計(jì)算能力和良好的Simulink人機(jī)交互圖形界面仿真環(huán)境可以對(duì)機(jī)械系統(tǒng)進(jìn)行建模仿真以及系統(tǒng)參數(shù)優(yōu)化[2、3]。特別是SimMechanics工具箱的推出,使得機(jī)械系統(tǒng)的建模與仿真變得更加簡(jiǎn)便易行。
近年來(lái)在機(jī)械產(chǎn)品仿真設(shè)計(jì)方面采用MATLAB/Simulink的方法已經(jīng)成為熱點(diǎn)。文[4]中在對(duì)二級(jí)倒立擺系統(tǒng)的動(dòng)力學(xué)方程進(jìn)行建模的基礎(chǔ)上,將其轉(zhuǎn)化為線(xiàn)性定常系統(tǒng)的狀態(tài)控制問(wèn)題,運(yùn)用LQR控制器在MATLAB平臺(tái)上實(shí)現(xiàn)了該系統(tǒng)的最優(yōu)控制策略,并給出了相應(yīng)的實(shí)驗(yàn)結(jié)果。文[5]中運(yùn)用Simulink的基礎(chǔ)模塊搭建了連桿機(jī)構(gòu)仿真模型,并對(duì)六桿機(jī)構(gòu)進(jìn)行了簡(jiǎn)單的運(yùn)動(dòng)學(xué)分析。文[6]在介紹了Simulink仿真模塊的基礎(chǔ)上,利用Simulink基礎(chǔ)模塊對(duì)二桿操作手進(jìn)行了分析和仿真。但上述仿真基本是采用基礎(chǔ)模型的搭建和編程的方法實(shí)現(xiàn)的,這使得機(jī)械產(chǎn)品系統(tǒng)設(shè)計(jì)比較繁瑣,而SimMechanics工具箱的推出,使得機(jī)械系統(tǒng)的建模與仿真變得更加簡(jiǎn)便、直觀(guān)、易行。本文分別以平面四桿機(jī)構(gòu)和雙擺機(jī)構(gòu)為例介紹了SimMechanics工具箱的應(yīng)用和技巧,分析了兩種機(jī)構(gòu)的仿真結(jié)果。仿真結(jié)果表明:采用SimMechanics可以更容易地解決機(jī)構(gòu)系統(tǒng)的仿真問(wèn)題,使工程技術(shù)人員能更專(zhuān)注于對(duì)機(jī)械系統(tǒng)的各種運(yùn)動(dòng)進(jìn)行分析的應(yīng)用設(shè)計(jì),并可以得出直觀(guān)的動(dòng)畫(huà)效果。
1.SimMechanics簡(jiǎn)介
SimMechanics是The Math Work公司于2001年10月推出的機(jī)構(gòu)系統(tǒng)模塊集(SimMechanics Block-set),它可以對(duì)各種運(yùn)動(dòng)副連接的剛體進(jìn)行建模與仿真,實(shí)現(xiàn)對(duì)機(jī)構(gòu)系統(tǒng)進(jìn)行分析與設(shè)計(jì)的目的。它提供了一個(gè)可以在Simulink環(huán)境下直接實(shí)用的模塊集,可以將表示各種機(jī)構(gòu)的模塊在普通Simulink窗口中繪制出來(lái),并通過(guò)它自己提供的檢測(cè)與驅(qū)動(dòng)模塊和普通的Simulink模塊連接起來(lái),獲得整個(gè)系統(tǒng)的仿真結(jié)果[3]。如圖1所示:
圖1 SimMechanics工具箱
2.機(jī)構(gòu)仿真
2.1平面四桿機(jī)構(gòu)的仿真
如圖2所示為一平面四桿機(jī)構(gòu)的運(yùn)動(dòng)簡(jiǎn)圖,假設(shè)AB桿繞A點(diǎn)以
圖2 平面四桿機(jī)構(gòu)運(yùn)動(dòng)簡(jiǎn)圖
打開(kāi)Simulink中的SimMechanics工具箱,從剛體模塊組中復(fù)制Ground模塊到仿真圖中,然后從運(yùn)動(dòng)副模塊組中復(fù)制Revolute模塊構(gòu)造出第一個(gè)轉(zhuǎn)動(dòng)副,依此類(lèi)推,就可以將所有的模塊都復(fù)制到仿真圖中,然后用類(lèi)似于普通Simulink模塊的聯(lián)結(jié)方法對(duì)所復(fù)制的模塊進(jìn)行相應(yīng)連接,這樣就完成了機(jī)構(gòu)的簡(jiǎn)單搭建工作。另外考慮到A點(diǎn)是機(jī)構(gòu)的輸入端,所以要從Sensors & Actuators模塊組中復(fù)制Joint Actuator模塊以及step模塊用于提供正弦信號(hào),相應(yīng)的,C點(diǎn)是輸出端,故在仿真圖中添加從Sensors & Actuators模塊組中復(fù)制的Joint Sensor模塊以及scop模塊,以得到C點(diǎn)運(yùn)動(dòng)的角速度、角加速度曲線(xiàn)。如圖3所示其機(jī)構(gòu)仿真框圖。
圖3 平面四桿機(jī)構(gòu)仿真框圖
在SimMechanics仿真框圖中,如果模塊已經(jīng)相應(yīng)連接完畢,會(huì)自動(dòng)填寫(xiě)好模塊的主動(dòng)端和從動(dòng)端名稱(chēng)。對(duì)于平面四桿機(jī)構(gòu)中的轉(zhuǎn)動(dòng)副來(lái)說(shuō),要設(shè)定的參數(shù)是坐標(biāo)系和轉(zhuǎn)動(dòng)向量。如圖4所示。
圖4轉(zhuǎn)動(dòng)副的參數(shù)設(shè)置
為簡(jiǎn)單起見(jiàn),此機(jī)構(gòu)的四個(gè)轉(zhuǎn)動(dòng)副坐標(biāo)系均選為世界坐標(biāo)(World),另此機(jī)構(gòu)僅繞z軸正向旋轉(zhuǎn),則方向向量選為[0,0,1]。對(duì)于機(jī)構(gòu)的A和D端要分別進(jìn)行坐標(biāo)的設(shè)定,根據(jù)已知條件可以得出兩點(diǎn)的坐標(biāo)分別為[0,0,0]和[30,0,0],如圖5所示D點(diǎn)坐標(biāo)設(shè)定。
圖5 D點(diǎn)坐標(biāo)設(shè)定
連桿剛體的參數(shù)設(shè)定包括剛體質(zhì)量、剛體慣性、剛體坐標(biāo)系等設(shè)置。以連桿BC為例來(lái)依次進(jìn)行說(shuō)明,如圖5所示。其中,連桿的質(zhì)量(Mass)和慣性量(Inertia)都是要通過(guò)Matlab程序給出的,在其參數(shù)設(shè)定表中只是給定其代表符號(hào),例如圖5中連桿BC的質(zhì)量和慣性量分別命名為mbc和tbc。另外,剛體連接系統(tǒng)(Body coordinate system)中要給出其位置向量和連接方向參數(shù),如圖6中所示。
圖6 連桿的參數(shù)設(shè)定
完成上述兩項(xiàng)工作以后,需要對(duì)仿真框圖中較為復(fù)雜的模塊參數(shù)通過(guò)m文件的形式寫(xiě)入Matlab工作空間,取上述平面四桿機(jī)構(gòu)為例,m文件內(nèi)容如下:
r=5;=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;
這里需要說(shuō)明的是,因?yàn)榇怂臈U機(jī)構(gòu)中各個(gè)連桿均視為均勻的圓柱形鐵桿,故其慣性矩陣為。
2.1.4
運(yùn)行參數(shù)設(shè)置的m文件以后,各個(gè)參數(shù)都將寫(xiě)入Matlab的工作空間,再運(yùn)行機(jī)構(gòu)的仿真框圖,得出其動(dòng)畫(huà)仿真效果圖。如圖7所示。
圖7 平面四桿機(jī)構(gòu)動(dòng)態(tài)仿真效果圖
圖8是由scop中輸出的C點(diǎn)的角度、角速度、角加速度的曲線(xiàn)。
圖
需要說(shuō)明的是,用戶(hù)既可以使用Matlab自身的圖形Matlab Graphic和Simulink的示波器顯示仿真結(jié)果,還可以依賴(lài)虛擬現(xiàn)實(shí)工具箱Virtual Reality Toolbox對(duì)仿真機(jī)構(gòu)進(jìn)行動(dòng)畫(huà)顯示。單擊Simulation/Mechanical environment按鈕,選擇Visualization標(biāo)簽,可以進(jìn)行輸出顯示的設(shè)置。
2.2雙擺機(jī)構(gòu)的仿真
如圖9所示,雙擺的機(jī)構(gòu)簡(jiǎn)圖,其連桿為均勻的圓柱形鐵桿,在AB桿上提供一個(gè)正弦輸入,通過(guò)仿真模型的建立可以分析A和B兩點(diǎn)的運(yùn)動(dòng)情況。
圖9 雙擺機(jī)構(gòu)簡(jiǎn)圖
如圖10所示,其機(jī)構(gòu)仿真框圖。
圖10 雙擺機(jī)構(gòu)仿真框圖
然后對(duì)各個(gè)模塊進(jìn)行參數(shù)設(shè)置,進(jìn)而進(jìn)行m文件參數(shù)寫(xiě)入,程序如下:
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文件運(yùn)行完畢以后,就可以運(yùn)行仿真框圖,得出其機(jī)構(gòu)動(dòng)態(tài)仿真圖,如圖11所示。
圖11 雙擺機(jī)構(gòu)動(dòng)態(tài)仿真圖
同時(shí),可以通過(guò)scop來(lái)查看A和B點(diǎn)的運(yùn)動(dòng)情況,如圖12和13所示。
圖
圖13 B點(diǎn)運(yùn)動(dòng)情況分析
3.結(jié)束語(yǔ)
本文在介紹Matlab中SimMechanics工具箱的基礎(chǔ)上,分別以四桿機(jī)構(gòu)和雙擺機(jī)構(gòu)為例介紹了SimMechanics工具箱的應(yīng)用和技巧,分析了兩種機(jī)構(gòu)的仿真結(jié)果。仿真研究結(jié)果表明:SimMechanics工具箱具有系統(tǒng)建模方便直觀(guān),仿真功能強(qiáng)大,自動(dòng)模型分析等優(yōu)勢(shì),是對(duì)機(jī)械系統(tǒng)的各種運(yùn)動(dòng)進(jìn)行動(dòng)態(tài)建模及仿真的良好工具。
4.參考文獻(xiàn)
[1]孫桓,陳作模,機(jī)械原理,高等教育出版社,1995;
[2]薛定宇,科學(xué)運(yùn)算語(yǔ)言MATLAB5.3程序設(shè)計(jì)與應(yīng)用,清華大學(xué)出版社,2000;
[3]薛定宇,陳陽(yáng)泉,基于MATLAB/Simulink的系統(tǒng)仿真技術(shù)與應(yīng)用,清華大學(xué)出版社,2002;
[4]錢(qián)偉康,方宗達(dá),基于MATLAB的二級(jí)倒立擺控制系統(tǒng)設(shè)計(jì)方法,上海理工大學(xué)學(xué)報(bào),2004,26(6)
[5] 王芳,張海燕.基于Simulink的連桿機(jī)構(gòu)運(yùn)動(dòng)學(xué)仿真[J].機(jī)械設(shè)計(jì)與研究,2004,20(2)
[6] 常鋒娟,盧章平.基于Simulink的機(jī)構(gòu)仿真技術(shù)[J].機(jī)電工程,2001,18(1)