曾德惠
(湖北民族學(xué)院 理學(xué)院,湖北 恩施 445000)
機(jī)構(gòu)的運(yùn)動(dòng)學(xué)分析,就是從幾何的角度出發(fā),在已知機(jī)構(gòu)尺寸及原動(dòng)件運(yùn)動(dòng)規(guī)律的基礎(chǔ)上,求解機(jī)構(gòu)中其余構(gòu)件的運(yùn)動(dòng)參數(shù),包括構(gòu)件上點(diǎn)的軌跡、位移、速度、加速度以及構(gòu)件的角位移、角速度和角加速度[1].無(wú)論分析評(píng)價(jià)現(xiàn)有機(jī)械的運(yùn)動(dòng)性能,還是設(shè)計(jì)優(yōu)化新機(jī)械,對(duì)機(jī)構(gòu)進(jìn)行運(yùn)動(dòng)分析都是十分重要的,同時(shí)它還是研究機(jī)械動(dòng)力性能的必要前提.
機(jī)構(gòu)運(yùn)動(dòng)分析的方法主要有圖解法和解析法兩種.圖解法是運(yùn)用理論力學(xué)中的速度、加速度合成原理列出機(jī)構(gòu)上相應(yīng)點(diǎn)之間的相對(duì)運(yùn)動(dòng)矢量方程,以一定比例尺畫出對(duì)應(yīng)的矢量多邊形,用幾何的方法得出相應(yīng)的運(yùn)動(dòng)參數(shù).解析法的關(guān)鍵是建立位移方程式,速度與加速度分析則是利用位移方程式對(duì)時(shí)間求導(dǎo)一次、二次而解線性方程的問(wèn)題.常用的解析法有向量法、復(fù)數(shù)法[2]、矩陣法等,就其核心都是建立閉環(huán)矢量方程[3].
圖解法形象直觀、易于掌握,適于機(jī)構(gòu)某瞬時(shí)運(yùn)動(dòng)參數(shù)的計(jì)算.而解析法借助計(jì)算機(jī),可以獲得系列結(jié)果和運(yùn)動(dòng)線圖,適于機(jī)構(gòu)整個(gè)運(yùn)動(dòng)過(guò)程的運(yùn)動(dòng)分析.本文以工程上廣泛應(yīng)用的平面四桿機(jī)構(gòu)為例,采用解析法中的矩陣法建立數(shù)學(xué)模型,通過(guò)Matab編程實(shí)現(xiàn)機(jī)構(gòu)的運(yùn)動(dòng)學(xué)分析,并給出具體實(shí)例來(lái)探討說(shuō)明運(yùn)動(dòng)學(xué)的計(jì)算機(jī)輔助分析及應(yīng)用.
利用計(jì)算機(jī)對(duì)機(jī)構(gòu)進(jìn)行解析法運(yùn)動(dòng)分析時(shí),大致的方法步驟為:機(jī)構(gòu)運(yùn)動(dòng)簡(jiǎn)圖-數(shù)學(xué)模型-Matlab編程調(diào)試-輸出結(jié)果及分析.
將力學(xué)模型轉(zhuǎn)換為數(shù)學(xué)模型是編程計(jì)算的關(guān)鍵.機(jī)構(gòu)運(yùn)動(dòng)學(xué)分析以機(jī)構(gòu)運(yùn)動(dòng)簡(jiǎn)圖為基礎(chǔ),應(yīng)用理論力學(xué)原理,充分利用矢量、矩陣、線性方程等數(shù)學(xué)工具,將力學(xué)模型用數(shù)學(xué)方法簡(jiǎn)潔地描述出來(lái)[4].
圖1 平面四桿機(jī)構(gòu)運(yùn)動(dòng)簡(jiǎn)圖
運(yùn)動(dòng)學(xué)分析要預(yù)先知道機(jī)構(gòu)的幾何特性,即各構(gòu)件的長(zhǎng)度.圖1所示為四桿機(jī)構(gòu)的運(yùn)動(dòng)簡(jiǎn)圖,已知桿長(zhǎng)分別為L(zhǎng)1、L2、L3和L4,設(shè)曲柄AB繞A點(diǎn)以角速度ω1勻速旋轉(zhuǎn),要求分析各桿的運(yùn)動(dòng)情況,并以連桿BC中點(diǎn)E為例說(shuō)明桿件上點(diǎn)的速度和加速度的求解.按照以下的方法和步驟建立該四桿機(jī)構(gòu)運(yùn)動(dòng)學(xué)分析的數(shù)學(xué)模型.
用解析法作機(jī)構(gòu)運(yùn)動(dòng)分析的關(guān)鍵是位置方程的建立和求解.首先,在運(yùn)動(dòng)簡(jiǎn)圖的基礎(chǔ)上建立直角坐標(biāo)系,將各構(gòu)件表示為桿矢量,再根據(jù)各桿矢量構(gòu)成的封閉圖形,寫出機(jī)構(gòu)的閉環(huán)矢量方程式[5-7].
如圖1所示,以A點(diǎn)為坐標(biāo)原點(diǎn)設(shè)定機(jī)構(gòu)的Axy坐標(biāo)系,將x軸設(shè)在機(jī)架AD連線上,并標(biāo)出各桿矢量的方位角.約定和假設(shè):由x正向旋轉(zhuǎn)到矢量的矢端若為逆時(shí)針轉(zhuǎn)動(dòng),則該矢量方位角為正;桿件之間夾角的表示與矢量方位角的表示相一致.
1)構(gòu)件角位移分析
考慮各桿長(zhǎng)度保持不變,四桿機(jī)構(gòu)ABCD閉環(huán)矢量方程為:AB+BC-AD-DC=0,即:
L1+L2-L3-L4=0
(1)
由式(1)向x、y軸上分別投影得四桿機(jī)構(gòu)的角位移方程(2):
L1cosθ1+L2cosθ2-L3cosθ3-L4=0
L1sinθ1+L2sinθ2-L3sinθ3=0
(2)
式(2)包含兩個(gè)非線性方程,解此非線性方程組可求出兩個(gè)未知的方位角.
2)構(gòu)件上點(diǎn)的位置分析
構(gòu)件上各點(diǎn)位置由點(diǎn)的坐標(biāo)確定.這里以連桿BC上的中點(diǎn)E為例加以說(shuō)明.E點(diǎn)位置坐標(biāo)如下:
xE=L1·cosθ1+L2/2·cosθ2
xE=L1·sinθ1+L2/2·sinθ2
(3)
1)構(gòu)件角速度分析
為求各桿的角速度,將機(jī)構(gòu)的坐標(biāo)投影方程(2)中各式分別對(duì)時(shí)間t取一階導(dǎo)數(shù),再把已知數(shù)據(jù)放在方程右邊,未知角速度放在方程左邊,整理寫成矩陣形式如式(4),求解即可得出桿BC和CD的角速度ω2和ω3.
(4)
2)構(gòu)件上點(diǎn)的速度分析
為求點(diǎn)的速度,可將點(diǎn)的位置方程對(duì)時(shí)間t取一階導(dǎo)數(shù).對(duì)式(3)求導(dǎo)得出連桿BC上中點(diǎn)E的速度方程,寫成矩陣形式如下:
(5)
1)構(gòu)件角加速度分析
為求各桿的角加速度,可將角速度方程(4)式對(duì)時(shí)間t求一階導(dǎo)數(shù),整理寫成矩陣形式的角加速度方程如式(6),求解即可得出桿BC和CD的角加速度α2和α3.
(6)
2)構(gòu)件上點(diǎn)的加速度分析
由式(3)對(duì)時(shí)間t求二階導(dǎo)數(shù),或由(5)式對(duì)時(shí)間t求一階導(dǎo)數(shù)得出連桿BC上中點(diǎn)的加速度方程,寫成矩陣形式如下:
(7)
上述方法同樣適用于復(fù)雜機(jī)構(gòu)以及構(gòu)件上任意點(diǎn)的運(yùn)動(dòng)分析.
由前面的分析可見(jiàn),式(2)的位置方程當(dāng)θ1已知時(shí)是包含兩個(gè)未知量θ2、θ3的非線性方程組,手工計(jì)算難度很大,但運(yùn)用Matlab的優(yōu)化工具箱函數(shù)fsolve能對(duì)它方便地求解.該函數(shù)相當(dāng)于對(duì)矢量方程(2)等式左邊就目標(biāo)值 0 尋優(yōu)求值,求解方法步驟如下[3,8-10]:
1)建立函數(shù)文件Position .m子程序
function F=Position (theta23,theta1,L1,L2,L3,L4)
F=[L1*cos(theta1)+L2*cos(theta23(1))-L3*cos(theta23(2))-L4;
L1*sin(theta1)+L2*sin(theta23(1))-L3*sin(theta23(2))];
2)主程序中在給定的初值下,調(diào)用fsolve函數(shù)求方程的根
[theta2,theta3]=fsolve(@Position,[pi/6;pi/3], ptimset('display','off'),theta1,L1,L2,L3,L4) ;
其中: Position是求解未知量θ2、θ3的函數(shù)名;[pi/6;pi/3]是對(duì)待求量的初始猜測(cè)值.
速度和加速度的計(jì)算只需求解線性方程組,如式(4)~(7)用矩陣形式建立起一個(gè)數(shù)學(xué)模型AX=B.根據(jù)線性方程組的不同特點(diǎn),一般可選用直接法和迭代法求解.直接法分為運(yùn)算符求解和矩陣分解求解,通過(guò)對(duì)矩陣和Matlab相關(guān)函數(shù)的操作實(shí)現(xiàn),如除法命令X=AB或B/A,函數(shù)lu()等等;迭代法分為Gauss-Seidel迭代法、jacobi迭代法、超松馳迭代法和兩步迭代法,需要自編一段程序?qū)崿F(xiàn)[4].本文采用除法命令X=B/A直接法求解未知速度或加速度.
以L1=20 mm,L2=35 mm,L3=30 mm,L4=40 mm,ω1=4 rad/s,α1=0,桿件轉(zhuǎn)角θ2、θ3尋優(yōu)初值分別為30°和60°作為具體實(shí)例編程,用計(jì)算機(jī)求解得到各運(yùn)動(dòng)參數(shù)數(shù)值列表如下:
表1 運(yùn)動(dòng)參數(shù)列表
為了進(jìn)一步掌握機(jī)構(gòu)的性能,可以根據(jù)表1所列數(shù)據(jù)利用Matlab編程作出機(jī)構(gòu)在一個(gè)運(yùn)動(dòng)循環(huán)中的運(yùn)動(dòng)線圖,用plot 函數(shù)[10]將計(jì)算結(jié)果可視化如圖2~5所示.
圖2 BC、CD桿轉(zhuǎn)角曲線
圖3 連桿中點(diǎn)軌跡曲線
圖4 BC、CD桿角速度曲線
圖5 BC、CD桿角加速度曲線
在機(jī)構(gòu)的運(yùn)動(dòng)分析中,根據(jù)運(yùn)動(dòng)簡(jiǎn)圖建立機(jī)構(gòu)的閉環(huán)位置矢量方程,再用投影和求導(dǎo)的方法可方便地建立速度及加速度方程,轉(zhuǎn)化為矩陣形式,容易引入Matlab編程計(jì)算,借助于計(jì)算機(jī)輔助手段,把學(xué)生和設(shè)計(jì)人員從繁雜的數(shù)學(xué)計(jì)算和枯燥的編程中解放出來(lái),為解決類似工程技術(shù)問(wèn)題提供了行之有效的方法和手段.
[1] 鄒慧君,張春林,李杞儀.機(jī)械原理[M].北京:高等教育出版社,2006.
[2] 吉知難,楊悅.復(fù)極矢量法在機(jī)構(gòu)運(yùn)動(dòng)分析中的應(yīng)用[J].機(jī)械與電子,2008,26(6):67-68.
[3] 約翰·F·加德納.機(jī)構(gòu)動(dòng)態(tài)仿真:使用MATLAB和Simulink[M].周進(jìn)雄,張隆,譯.西安:西安交通大學(xué)出版社,2002.
[4] 曾德惠.Matlab輔助工程靜力學(xué)分析[J].湖北民族學(xué)院學(xué)報(bào):自然科學(xué)版,2010,28(1):72-75.
[5] Edward B.Magrab.MATLAB原理與工程應(yīng)用[M].高會(huì)生,李新葉,胡智奇,等,譯.北京:電子工業(yè)出版社,2002.
[6] 鄭樹(shù)琴,成建平,王大江.曲柄搖桿機(jī)構(gòu)運(yùn)動(dòng)軌跡計(jì)算機(jī)仿真[J].太原理工大學(xué)學(xué)報(bào),2001,32(3):290-292.
[7] 王永超.基于Matlab的機(jī)構(gòu)運(yùn)動(dòng)仿真方法及其比較[J].計(jì)算機(jī)仿真,2004,21(8):82-84.
[8] 蘇金明,阮沈勇,王永利.Matlab工程數(shù)學(xué)[M].北京:電子工業(yè)出版社,2005.
[9] 胡曉珍,陳忠維.基于MATLAB/fsolve函數(shù)的四連桿機(jī)構(gòu)運(yùn)動(dòng)軌跡仿真[J].機(jī)械工程師,2007,38(7):44-45.
[10] 王正林,劉明.精通MATLAB7[M].北京:電子工業(yè)出版社,2006.