平面四桿機構(gòu)Matlab仿真及優(yōu)化設(shè)計,平面,機構(gòu),matlab,仿真,優(yōu)化,設(shè)計
大連大學
DALIAN UNIVERSITY
2018 屆畢業(yè)論文(設(shè)計)
題目名稱: 平面四桿機構(gòu) MATLAB 仿真及優(yōu)化設(shè)計
所 在 學 院 :
機械工程學院
專業(yè)( 班級):
機英 143 班
學 生 姓 名 :
劉昊坤
指 導 教 師 :
李洋流
評 閱 人 :
賈衛(wèi)平
院 長 :
吳 蒙 華
平面四桿機構(gòu) MATLAB 仿真及優(yōu)化設(shè)計
總計:畢業(yè)論文: 52 頁表 格: 2 表
插 圖: 15 幅
指導教師: 李 洋 流 評 閱 人: 賈 衛(wèi) 平 完成時間: 2018 年 5 月 20 日
摘 要
在研究機構(gòu)學時,由于需要處理大量的數(shù)據(jù),并且處理過程繁瑣容易出錯,所以需要研究人員找到一種可以直接處理矩陣運算的通用方法,在研究大量的實際問題后,人們發(fā)現(xiàn),大多數(shù)的實例都可構(gòu)造成矩陣方程來進行運算,MATLAB 恰好具備這一運算特性,能夠滿足人們在機構(gòu)學研究中的要求。
本設(shè)計選取平面四桿機構(gòu)作為研究對象,首先對其進行運動學和動力學的分析,在此基礎(chǔ)上,建立相應的數(shù)學模型,選擇 MATLAB 作為研究工具,建立 Simulink 仿真模型, 對平面四桿機構(gòu)的運動學特性進行研究。再使用 MATLAB 自身的 GUI 功能,設(shè)計出一個平面四桿機構(gòu)的運動學分析交互式界面,使得用戶只需要輸入相應的參數(shù),即可得到相應的分析結(jié)果。最后再根據(jù)所有的仿真分析結(jié)果進行優(yōu)化設(shè)計,得到四桿機構(gòu)參數(shù)的最優(yōu)設(shè)計參數(shù)。
該方法對平面四桿機構(gòu)的仿真設(shè)計及優(yōu)化處理提供了一種新的解決方案,對平面四桿機構(gòu)的設(shè)計和優(yōu)化提供了一定的幫助,不僅提高了效率和準確性,而且對解決其他類似的問題也具有一定的參考價值。
關(guān)鍵詞:機構(gòu)學;平面四桿機構(gòu);MATLAB;仿真分析;優(yōu)化設(shè)計
I
ABSTRACT
In the mechanism research,there is a large amount of data which needs to be processed, and the process is so cumbersome and error-prone. So researchers need to find a general method that can handle matrix operations directly. After researching many practical problems, people found that most of the examples can be constructed as matrix equations for operation.
MATLAB has this feature that can meet people's demands in institutional research.
This design chooses a planar four-link mechanism as a research object. First, analyze the kinematics and dynamics, and then, establish a mathematical model. Selecting MATLAB as a research tool and establishing a Simulink simulation model to research the kinematics of the planar four-link mechanism. Then use MATLAB's own function to design a kinematics analysis interactive interface of a planar four-link mechanism. User should only enter the corresponding parameters, you can get the corresponding analysis results. Finally, according to the results of all simulation analysis, the optimal design parameters of the four-link mechanism are obtained.
This method provides a new solution for the simulation design and optimization of the planar four-link mechanism. It has given a hand to the design and optimization of the planar four-link mechanism, which not only improves the efficiency and accuracy, but also has certain reference value for solving other similar problems..
Keyword:Institutional;Planar four-link mechanism;MATLAB;Motion Analysis; Optimized design
II
目 錄
摘 要 I
ABSTRACT II
1 緒論 1
1.1 課題背景 1
1.2 國內(nèi)外研究現(xiàn)狀和發(fā)展 1
1.3 課題主要任務 3
2 平面四桿機構(gòu)的運動學分析 4
2.1 概述 4
2.2 實例分析 4
3 基于 MATLAB 的運動分析及程序設(shè)計 8
3.1 MATLAB 概述 8
3.2 M 文件編寫 8
3.3 基于 MATLAB 的 Simulink 模型的建立 10
3.4 程序運行結(jié)果 12
4 曲柄滑塊機構(gòu)的 GUI 設(shè)計 15
4.1 GUI 概述 15
4.2 問題概況 15
4.3 數(shù)學分析 16
4.4 界面設(shè)計 17
4.5 主要代碼設(shè)計流程 19
4.6 界面結(jié)果展示 21
5 平面四桿機構(gòu)的優(yōu)化設(shè)計 22
5.1 四桿的優(yōu)化設(shè)計方法 22
5.2 建立數(shù)學模型 22
5.3 實例計算 24
6 結(jié) 論 26
參 考 文 獻 27
附錄 1:外文翻譯 28
附錄 2:外文原文 36
附錄 3:主要程序代碼 45
致 謝 49
I
平面四桿機構(gòu)MATLAB 仿真及優(yōu)化設(shè)計
1 緒論
1.1 課題背景
隨著科技的進步和計算機技術(shù)的飛速發(fā)展,機械工程學的發(fā)展也在加速。連桿機構(gòu)中多桿機構(gòu)方向和多學科兩個方面,未來會相互融合、相互滲透。在機構(gòu)、控制系統(tǒng)和原動機結(jié)合成的整個機構(gòu)系統(tǒng)中,通過對整個機構(gòu)系統(tǒng)的研究,從分析運動學、動力學特征以及其對動力分配的影響,到改進對機構(gòu)的性能的改造和發(fā)展機構(gòu)的新用途[15],這將是連桿機構(gòu)未來發(fā)展趨勢。
連桿機構(gòu)由于其簡單的結(jié)構(gòu),較大的可承受載荷,多樣性的連桿曲線等特性,廣泛的應用于眾多領(lǐng)域。機構(gòu)運動學仿真就是根據(jù)給定的原動件的運動規(guī)律,得出機構(gòu)中其余構(gòu)件的運動參數(shù)[13]。無論是分析現(xiàn)有機構(gòu)的工作性能,還是優(yōu)化新機械機構(gòu),仿真都是十分重要的。通過仿真能夠形象直觀的看出機構(gòu)的運動軌跡、所需要的空間以及是否干涉,同時速度分析可以確定機構(gòu)從動件的速度是否符合要求,加速度分析可以提供慣性力計算的數(shù)據(jù)[13]。
研究該課題的目的在于找到一個通用的方法,用以研究平面四桿機構(gòu),將平面四桿機構(gòu)的運動學特性用圖表、曲線的方式直觀明了的表示出來,優(yōu)化平面四桿機構(gòu)的設(shè)計流程,減少設(shè)計時間的同時提高設(shè)計精度,結(jié)合當下的科學技術(shù),使用計算機軟件進行輔助設(shè)計,具有很強的優(yōu)越性。
1.2 國內(nèi)外研究現(xiàn)狀和發(fā)展
近幾十年來,國內(nèi)外的一些學者和研究機構(gòu)對連桿機構(gòu)的分析和綜合研究已取得了顯著的成績。
對于連桿機構(gòu)分析,提出了以單開鏈為單元的理論與方法,以拓撲特征為基礎(chǔ)的新機構(gòu)組成原理,為了揭示機構(gòu)特征與動力學方程、運動學方程之間的聯(lián)系,創(chuàng)立了一套數(shù)學模型。連桿機構(gòu)取得的成就有:
(1)提出了一套綜合桿組的概念,創(chuàng)立了連桿機構(gòu)通過速度、位置、加速度等運動參數(shù)綜合分析的理論和方法;(2)在連桿機構(gòu)的綜合研究中引入了計算機技術(shù),建立了傳動特征和導引特性的數(shù)據(jù)庫,并通過局部軌跡特征的建立,提高了設(shè)計精度、加快了設(shè)計速度;(3)提出了機架桿方向結(jié)構(gòu)誤差與從動桿桿長機構(gòu)誤差的概念,并通過改進遺傳算法,完成軌跡機構(gòu)和函數(shù)生成機構(gòu)的優(yōu)化。20 世紀中期,開始將計算機技術(shù)應用到連桿機構(gòu)的綜合研究中[15]。對于鉸鏈四桿機構(gòu)綜合的幾何方法,一些學者將其公式化,首次實現(xiàn)將計算機應用到四桿機構(gòu)相應函數(shù)的最優(yōu)組合中,將超越方程組和代數(shù)方程組的求解放在計算機上進行,從而獲得機構(gòu)有關(guān)的參數(shù)。60 年代后,位移矩陣法也
- 50 -
被應用到機構(gòu)的綜合求解中,同樣是通過求解超越方程組和非線性方程組,得到綜合機構(gòu)的有關(guān)參數(shù)。
關(guān)于連桿機構(gòu)的理論,科學家在過去幾百年的研究過程中已經(jīng)取得了巨大的成績。在 18 世紀后期,第一次工業(yè)革命的發(fā)展浪潮中,機械工程學科也得到了快速的發(fā)展。因
此機構(gòu)學也成了一門獨立的新學科。在 13 世紀前期,人們就已經(jīng)開始廣泛應用連桿機構(gòu)理論[15]。而出現(xiàn)得最早、結(jié)構(gòu)最簡單、應用最廣泛的一種機構(gòu)就是四桿機構(gòu)。在連桿機構(gòu)研究的研究中,最早開始是 18 世紀的科學家瓦特。早在 1784 年的時候,在瓦特發(fā)明的蒸汽機里,他就應用了四桿機構(gòu),其目的是為活塞提供近似直線運動。然而,就算瓦特將這項技術(shù)應用到蒸汽機里,連桿機構(gòu)也并沒有得到快速的發(fā)展。主要原因是缺乏相關(guān)文獻來記載其運動特性方面研究的理論基礎(chǔ),然而,與連桿機構(gòu)理論相關(guān)的記載一直未曾出現(xiàn),直到在 19 世紀 80 年代后才有相關(guān)文獻出現(xiàn)。19 世紀之后,各機構(gòu)開始重視連桿機構(gòu)的研究,德國機構(gòu)學學派是最重視這項研究,且貢獻最大的學派,其研究成果在世界上也處于領(lǐng)先狀態(tài)。第二次世界大戰(zhàn)之后,在計算機技術(shù)騰飛的同時,連桿機構(gòu)也在生產(chǎn)中得到應用,開拓了許多研究領(lǐng)域,有了新的突破。在機構(gòu)學的研究中,四桿機構(gòu)作為連桿機構(gòu)中最基本的形式,雖然在其他方面的研究有了突破,但在運動學和動力學方面四桿機構(gòu)的研究還需努力。對于五桿機構(gòu)及其以上的多桿多自由度機構(gòu),我們的研究還遠遠不夠。平面四桿機構(gòu)由于簡單,所以僅僅能實現(xiàn)簡單的功能,但隨著機械手、機械自動化機器人的發(fā)展,在機構(gòu)運動和動力特性方面,人們有了更高的要求,國際上也十分注重這方面的研究。
MATLAB 的出現(xiàn)極大的幫助了機構(gòu)學的研究,MATLAB 能夠快速而精確的運算復雜函
數(shù),同時 MATLAB 內(nèi)部有很多簡潔方便且實用的工具箱,能夠為機構(gòu)的分析和仿真提供相當大的便利,軟件支持多種語言的擴展、語法簡單、門檻低、使用方便,這樣就為機構(gòu)學的研究提供了一個很好的環(huán)境。
MATLAB 軟件具有系統(tǒng)建模方便直觀、仿真功能強大等特點,能為機械系統(tǒng)的建模仿真提供一個強大而方便的工具。使用 MATLAB 軟件的 Simulink 仿真工具用于機械工程中機構(gòu)的運動學仿真,簡單,直觀,只需通過 M 文件編寫運動學方程,設(shè)定特殊時刻為初始值就可以得到任意時刻的位置、速度、加速度的值,并可以觀察它們在運動周期內(nèi)的變化。通過基于 MATLAB 的強大的矩陣運算能力,還可以方便得到三者之間的關(guān)系,這是一般解析方法所不及的[14]。就目前情況而言,MATLAB 已經(jīng)不再是“矩陣實驗室”,而成為國際上最流行的科學與工程計算的軟件工具,以及一種具有廣泛應用前景的全新的計算機高級編程語言,它在國內(nèi)外高校和科研部門正扮演著越來越重要的角色,功能也越來越強大,不斷適應新的要求提出新的解決辦法[13]??梢灶A見,在科學運算和科學繪
圖領(lǐng)域,MATLAB 語言將長期保持其獨一無二的地位,使用 MATLAB 可以很好地對機械系統(tǒng)進行分析,為連桿機構(gòu)的建模仿真提供一個強大而方便的工具。
1.3 課題主要任務
本課題的主要研究內(nèi)容是平面四桿機構(gòu)的運動學仿真分析及優(yōu)化設(shè)計,其主要任務如下:
1.3.1 機構(gòu)運動的數(shù)學模型的建立。建立數(shù)學模型的過程其實就是對機構(gòu)進行詳細分析的過程,如角速度的分析,加速度的分析等,建立矩陣模型,用數(shù)學方法求出其他所需的值;
1.3.2 使用 MATLAB 進行 M 文件的編寫。根據(jù)數(shù)學模型編寫出相應的 M 文件,用于實際問題的解決;
1.3.3 Simulink 仿真模型的建立。使用 Simulink 進行仿真,能夠快速準確的顯示出速度隨時間的圖像、加速度隨時間的圖像等;
1.3.4 GUI 人機交互界面的設(shè)計。做出一個簡潔直觀的界面、同時實現(xiàn)人機的友好交互,用戶可根據(jù)自己的實際需求輸入不同的參數(shù),從而得到相應的圖像;
1.3.5 將仿真得出的圖像進行分析。根據(jù)前面工作所得到的參數(shù)數(shù)據(jù),結(jié)合實際情況分析,對平面四桿機構(gòu)的優(yōu)化提出意見。
2 平面四桿機構(gòu)的運動學分析
2.1 概述
平面四桿機構(gòu)的連接形式一般為低副連接,一般由四個剛性構(gòu)件組成,四個剛性構(gòu)件均在同一平面內(nèi)運動。
平面四桿機構(gòu)是機械學科中的最常見的一種機構(gòu),在各種機器設(shè)備中有大量的應用, 而鉸鏈四桿機構(gòu)作為平面四桿機構(gòu)中具有代表性的一種,它是平面四桿機構(gòu)的基本形式, 其他類型的四桿機構(gòu)都可以看作是鉸鏈四桿機構(gòu)的衍生形式。對于四桿機構(gòu)的各桿,如 表 2.1 所示:
表 2.1 四桿機構(gòu)各桿的定義
連架桿
與機架直接相連
連桿
不與機架連接
曲柄
能夠 360°回轉(zhuǎn)
搖桿
只能在某一角度范圍內(nèi)往復擺動
根據(jù)主動桿是否可以作為曲柄,可將鉸鏈四桿機構(gòu)分為三類:1)曲柄搖桿機構(gòu);2) 雙曲柄機構(gòu);3)雙搖桿機構(gòu)。
由于平面四桿機構(gòu)有很多類型,因此我們不一一研究,只選取了兩個具有代表性的機構(gòu),即鉸鏈四桿機構(gòu)和曲柄滑塊機構(gòu)作為研究對象。
2.2 實例分析
設(shè)定一個平面四桿機構(gòu),取左側(cè)固定機架與連桿相交的端點作為坐標原點,建立一個平面直角坐標系。
取固定機架為連桿 1,順時針方向依次為連桿 2、連桿 3、連桿 4,連桿長度分別為r1、r2、r3 和 r4。規(guī)定各連桿和 x 軸正方向之間的夾角為θ(連桿角度),四桿機構(gòu)的矢量圖如圖 2.1 所示:
圖 2.1 四連桿機構(gòu)矢量圖
四個連桿角度分別為q1 、q2 、q3 和q4 ,其中q1 =0°。
設(shè)定四連桿的基本條件為: r1 =100mm; r2 =30mm; r3 =80mm; r4 =60mm。我們可以由圖得到一個矢量方程 R2 + R3 = R1 + R4
2.2.1 求解角速度w3 、w4 和加速度a3 、a4 的數(shù)學分析
(2.1)
為了方便將矢量方程求導,首先需要將矢量方程分別沿 x 方向和 y 方向分解,得到兩個標量表達式,即:
r2 cosq2 + r3 cosq3 = r1 cosq1 + r4 cosq4 r2 sinq2 + r3 sinq3 = r1 sinq1 + r4 sinq4 式中,q1 恒為零。
對式(2.2)和式(2.3)求時間倒數(shù),有:
-w2sinq2 -w3sinq3 = -w4r4sinq4
4
w2cosq2 + w3cosq3 = w r4cosq4
式中, w 為q 對時間的一階導數(shù)。
(2.2)
(2.3)
(2.4)
(2.5)
由于式(2.4)和式(2.5)確定了一種關(guān)系,用來制約平面四桿機構(gòu)中三個可動連桿間的相對轉(zhuǎn)動速率,在本例中,假定連桿 2 與一臺電動機相連,該電動機能夠提足夠大的驅(qū)動力使連桿 2 以 6000r/min 的速度勻速轉(zhuǎn)動,此時w2 為機構(gòu)的輸入。對式(2.4) 和式(2.5)進行整理,得:
-w3r3sinq3 + w4r4sinq4 = w2r2sinq2
w3r3cosq3 -w4r4cosq4 = -w2r2cosq2
化為矩陣形式為:
(2.6)
(2.7)
? -r3 sinq3
r4 sinq4
??w3 ? = ?w2r2 sinq2 ?
? r cosq -r cosq ÷?w ÷ ? -w r cosq ÷
è 3 3 4 4 ?è 4 ? è
2 2 2 ?
(2.8)
對式(2.2)和式(2.3)求二階導數(shù),也就是對式(2.6)和式(2.7)再進行求導, 整理,轉(zhuǎn)化成矩陣形式,可得:
-r3 sinq3
r4 sinq4
é r cosq
-r cosq
ù éa
ù = é
2 2 3 3
4 4 ù
a3
r2a2 sinq2 +w2r cosq2 +w2r cosq3 -w2r cosq4
? 3 3 4 4 ? ? 4 ? ?-r2a2 cosq2 +w2r sinq2 +w2r sinq3 -w2r sinq4
(2.9)
2.2.2 求解位置q3 和q4 的數(shù)學分析:
2 2 3 3
4 4 ?
當 t=0 時,假定q2 =0,利用牛頓-辛普森方法求解位置方程的精確值。假設(shè)這兩個方程包含兩個未知量,這個問題可以表示為:
f1 (x1, x2 ) = 0
f2 (x1, x2 ) = 0
(2.10)
(2.11)
假設(shè)估計值為 Xi ,精確值為 Xi ,精確值與估計值之間的差值為Dxi 。用等式表達為:
f1 (x1 + Dx1, x2 + Dx2 ) = 0
f2 (x1 + Dx1, x2 + Dx2 ) = 0
d f1
d x1
d f1
d x2 x ,x
1 2
運用泰勒公式將式(2.12)等號左邊的部分展開,為:
(2.12)
(2.13)
f ( x , x ) = f (x , x ) +
Dx +
Dx + é高階項ù
(2.14)
1 1 2 1 1 2
x1 ,x2 1
2 ? ?
同理將式(2.11)展開,與式(2.14)合并,忽略不計高階項,得到:
ì? f
( x ,x
)= f
( x , x
)+d f1 Dx + d f1
Dx
1 1 2 1 1 2
í
d x1
x1 ,x2
1 d x2
x1 ,x2 2
f ( x ,x
)= f
( x ,x
)+d f2
Dx +d f2
Dx
?? 2 1 2 2 1 2
d x1
x1 ,x2
1 d x2
x1 ,x2 2
(2.15)
轉(zhuǎn)化為矩陣形式為:
? d f1
d f1 ?
( f1 ( x1 ,x2 ) )+ ? d x1
x1 ,x2
d x2
x1 ,x2
÷(Dx1
) = ( 0 )
f2 ( x1 ,x2 )
? d f2
d f2
÷
Dx2 0
(2.16)
è d x1
x1 ,x2
d x2
x1 ,x2 ?
式(2.16)中給出了估計值與精確值之間差值的計算方法,為求Dxi ,將式轉(zhuǎn)化為:
? d f1
d f1
-1
?
(Dx1
) = ? d x1
x1 ,x2
d x2
x1 ,x2 ÷
( - f1 ( x1 ,x2 ) )
Dx2
? d f2
d f2
÷
- f2 ( x1 ,x2 )
(2.17)
è d x1
x1 ,x2
d x2
x1 ,x2 ?
對于四連桿機構(gòu),可以將式(2.2)和式(2.3)轉(zhuǎn)化為:
f1(q3 ,q4 ) = r2cosq2 + r3cosq3 - r1 - r4cosq4 f1(q3 ,q4 ) = r2 sinq2 + r3 sinq3 - r4 sinq4 由于:
q3 = q3 + Dq3
q4 = q4 + Dq4
Dq4
r3 cosq3
-r4 cosq4
- f2 (q3 ,q4 )
(2.22)
所以有:
(2.18)
(2.19)
(2.20)
(2.21)
3 3 3 3 3 1 3 4
( Dq
) = (-r sinq
r sinq )-1 (- f (q
,q ) )
3 基于 MATLAB 的運動分析及程序設(shè)計
3.1 MATLAB 概述
MATLAB 作為一款在全球內(nèi)廣泛使用的數(shù)學軟件,因其強大的功能和巨大的實用性, 受到了越來越多人的青睞。
MATLAB 的中文翻譯為矩陣實驗室。顧名思義,MATLAB 基于矩陣運算,只需要函數(shù)便可實現(xiàn)相關(guān)的功能,這是一個高科技的計算環(huán)境,主體為一個易于操作使用的視窗環(huán)境,但是能在這個環(huán)境下實現(xiàn)很多強大的功能,MATLAB 具有強大的圖像繪制和仿真能力,為許多需要進行復雜函數(shù)運算或建模仿真的眾多科學領(lǐng)域提供了一種全面而精確的解 決方案,代表了當今國際科學計算軟件的先進水平。
MATLAB 的基本數(shù)據(jù)單位是矩陣,所以可以完成函數(shù)繪制、矩陣運算、創(chuàng)建人機界面等功能,并且在工程、信號、金融、分析等多個領(lǐng)域都得到了較為廣泛的應用。再者, MATLAB 的指令表達方式與工程中的常用表達方式也十分相似,增加了自己的兼容性,降低了使用的門檻,特別是對于非計算機專業(yè)的人來講,簡單易上手,這使得 MATLAB 在高校和研究機構(gòu)間受到了很大的歡迎。
MATLAB 的特點:
1) 能夠高效快速的處理數(shù)值和符號運算,使用戶大大的減輕了復雜數(shù)值運算的工作強度;
2) 圖形處理功能完善,計算結(jié)果和編程過程可視;
3) 界面友好,無論是學習者還是用戶,都易于學習和掌握;
4) 應用工具箱豐富實用,用戶能夠自由選擇所需的處理工具。
3.2 M 文件編寫
當 ω2 和連桿 2 的所有位置已知時,式(2.8)可以用來求解ω3 和ω4。將ω2 視為仿真的輸入,可以用數(shù)值積分從速度中計算出θ2、θ3、θ4。因為ω3 和ω4 兩個速度是從閉環(huán)矢量方程式中求得的,所以編寫一個 sigansudu.m 的 M 文件來儲存該函數(shù),文件的內(nèi)容如下:
function x=sigansudu (u) r=[100 30 80 60];
% r 為四連桿的各連桿長度
a=[-r(3)*sin(u(3)) r(4)*sin(u(4));
r(3)*cos(u(3)) -r(4)*cos(u(4))];
b=[u(1)*r(2)*sin(u(2));-u(1)*r(2)*cos(u(2))];
x=a\b;
% x 為計算所得的ω3 和ω4 的值
編寫 M 文件來求解θ3 和θ4,這是一個函數(shù)文件,文件命名為 weizhi.m,程序代碼為:
function x=weizhi(th)
%此函數(shù)有三個輸入值,分別為q2 、q3 、q4 ,兩個輸出值為q3 和q4 的精確值
th2=th(1);
% th2 為θ2 的初始值
th3cs=th(2);
% th3cs 為θ3 的初始估計值
th4cs=th(3);
% th4cs 為θ4 的初始估計值
r=[100 30 80 60];
%四連桿的各個桿的長度e=1.0e-6;
%e 為循環(huán)終止條件,當計算的差值即 f 向量的模小于 e 時即停止循環(huán)
f=[r(3)*cos(th3cs)-r(4)*cos(th4cs)+r(2)*cos(th2)-r(1)
r(3)*sin(th3cs)-r(4)*sin(th4cs)+r(2)*sin(th2)]; while norm(f)>e;
J=[-r(3)*sin(th3cs) r(4)*sin(th4cs);
r(3)*cos(th3cs) -r(4)*cos(th4cs)]; d=inv(J)*(-1.0*f);
th3cs=th3cs+d(1); th4cs=th4cs+d(2);
f=[r(3)*cos(th3cs)-r(4)*cos(th4cs)+r(2)*cos(th2)-r(1)
r(3)*sin(th3cs)-r(4)*sin(th4cs)+r(2)*sin(th2)]; norm(f);
end; th3=th3cs; th4=th4cs; x=[th3,th4];
編寫 M 文件,求出α3 和α4 的值
function x=jiasudu(u)
% x 為計算所得的α3 和α4 的值
% u(1)為α2 的初始值
% u(2)為ω2 的初始值
% u(3)為ω3 的初始值
% u(4)為ω4 的初始值
% u(5)為θ2 的初始值;
% u(6)為θ3 的初始值
% u(7)為θ4 的初始值r1=100;
r2=30; r3=80; r4=60;
% r1,r2,r3,r4 分別為四連桿的各桿長度a=[-r3*sin(u(6)) r4*sin(u(7));
r3*cos(u(6)) -r4*cos(u(7))]; b=[r2*u(1)*sin(u(5))+r2*u(2)^2*cos(u(5))+r3*u(3)^2*cos(u(6))-r4*u(4)^2*
cos(u(7));
-r2*u(1)*cos(u(5))+r2*u(2)^2*sin(u(5))+r3*u(3)^2*sin(u(6))-r4*u(4)^2*sin(u( 7))];
x=a\b;
3.3 基于MATLAB 的 Simulink 模型的建立
將文件 sigansudu.m 嵌入到 Simulink 仿真系統(tǒng)中的 function 塊中,在 Simulink 圖形方式中,總共包含 3 個積分模塊,1 個常量模塊,1 個 demuk 模塊,1 個 simout 模塊和 2 個 muk 模塊。
把各個模塊連接起來,得到相應的 Smulink 仿真模型,如圖 3.1 所示:
圖 3.1 求解w3 和w4 的 Simulink 仿真模型
對于四連桿機構(gòu),仍取連桿 2 的初始速度為 6000r/min、加速度為-15rad/s2勻加速運動的情況為例進行運動學仿真,畫出仿真框圖如圖 3.2 所示。該模型總共包含 6 個積分模塊:1 個 demux 模塊、1 個常量模塊、1 個 simout 模塊、1 個 function 模塊和 2 個mux 模塊。將 jiasudu.m 文件嵌入到 function 模塊中,常量模塊中設(shè)定常量值為-15。
圖 3.2 四連桿機構(gòu)運動學仿真 Simulink 模型
在該模型中,仍假定q2 =0,由之前的 M 文件可以得到w3 、w4 、q3 和q4 精確的初始值,也就是各積分器的初始條件,如表 3.1 所示:
表 3.1 勻加速仿真的初始條件
積分器
初始條件
q2 / rad
0
q3 / rad
0.76879354899197
q4 / rad
1.68712997846865
w2 / (rad / s)
628
w3 / (rad / s)
-294.375000000012
w4 / (rad / s)
-274.75000000226
3.4 程序運行結(jié)果
在得出所有積分器的初始條件后,我們將精確數(shù)值輸入到相應的積分器其中,然后點擊“run”按鈕,進行仿真。
在文件 sigansudu.slx 中,
輸入以下 MATLAB 命令,查看連桿 3 和連桿 4 的速度隨時間變化的圖像plot(tout,simout(:,3),tout,simout(:,4));
xlabel('時間(s)');
ylabel('角速度(rad/s)');
連桿 3 和連桿 4 的速度隨時間變化的圖像如圖 3.3 所示:
圖 3.3 四連桿機構(gòu)連桿 3 和連桿 4 的角速度圖像
在文件 jiasudu.slx 中
輸入以下 MATLAB 命令,查看連桿 3 和連桿 4 的角加速度隨時間變化的圖像plot(tout,simout(:,6),tout,simout(:,7));
xlabel('時間(s)');
ylabel('角加速度(rad/s)');
連桿 3 和連桿 4 的角加速度隨時間變化的圖像如圖 3.4 所示:
圖 3.4 四連桿機構(gòu)中連桿 3 和連桿 4 的角加速度隨時間變化的曲線
在文件 jiasudu.slx 中
輸入以下 MATLAB 命令,查看連桿 3 和連桿 4 的角速度隨時間變化的圖像plot(tout,simout(:,2),tout,simout(:,4));
xlabel('時間(s)');
ylabel('角速度(rad/s)');
連桿 3 和連桿 4 的角速度隨時間變化的圖像如圖 3.5 所示:
圖 3.5 四連桿機構(gòu)中連桿 3 和連桿 4 的角速度仿真結(jié)果
在文件 jiasudu.slx 中
輸入以下 MATLAB 命令,查看連桿 3 和連桿 4 的位置隨時間變化的圖像plot(tout,simout(:,3),tout,simout(:,5));
xlabel('時間(s)');
ylabel('位置(rad)');
連桿 3 和連桿 4 的位置隨時間變化的圖像如圖 3.6 所示:
圖 3.6 四連桿機構(gòu)中連桿 3 和連桿 4 的位置隨時間變化的曲線
4 曲柄滑塊機構(gòu)的 GUI 設(shè)計
4.1 GUI 概述
GUI 又稱圖形用戶界面,是一個人機交互界面,用戶可通過鼠標、鍵盤等輸入設(shè)備來控制界面中的輸入框、按鈕等控件,從而完成選擇、調(diào)用、打開、啟動等命令和一些其他日常的任務。GUI 界面是一個標準化的界面,所有控件的操作方式都是固定不變的, 但是 GUI 界面可以滿足不同的情況,不再單一的運算某一種函數(shù),而是用戶根據(jù)不同的情況、來設(shè)定不同的輸入值,從而得到不同的結(jié)果。同時,GUI 界面輸出的結(jié)果大多可用圖形來表示,這樣就更加的直觀方便,具備很多其余界面無法媲美的功能,這是很多界面所比擬不了的。
GUI 界面的市場前景廣闊,由于 GUI 界面能給產(chǎn)品帶來很高的附加值,很多公司或機構(gòu)都在從事 GUI 的研究和設(shè)計,這對 GUI 的發(fā)展來說無疑是一個利好。在當今社會, 計算機快速發(fā)展的主要成就之一就是 GUI 的廣泛應用,對于一般用戶來講,GUI 的出現(xiàn)大大的方便了他們的使用,不需要進行復雜繁瑣的操作,而是通過使用不同的控件,如菜單、按鈕等方式來進行操作,降低了使用門檻,更加快捷、更加輕松,同時還能得到更為準確的結(jié)果。
4.2 問題概況
曲柄滑塊機構(gòu)如圖 4.1 所示,OA=l1,AB=l2,曲柄 OA 以勻角速度ω轉(zhuǎn)動,并帶動連桿 AB 做平面運動,滑塊 B 沿水平方向運動,分析并模擬該機構(gòu)的運動:
圖 4.1 曲柄滑塊機構(gòu)運動學示意圖
4.3 數(shù)學分析
如圖 4.1 所示,規(guī)定φ為 OA 與 x 軸正方向的夾角,θ為 AB 與 x 軸正方向的夾角。以 AB 為研究對象,以 A 為基點、B 為動點,運用剛體平面運動的基點法進行分析,其速度分解如圖 4.2 所示:
圖 4.2 剛體平面運動速度分解圖
根據(jù)基點法的速度合成定理有:
VB = VA +VBA
其中,VA = l1w ,VBA = l2q ,將式(4.1)向 x,y 方向投影并化簡得:
(4.1)
{
q = l1 cosf w
l2 cosq
VB =l2q sinq -l1w sinf
(4.2)
將式(4.2)對時間求導并化簡得:
q = l1 cosf sinqqw -l1 sinf cosqw2
{ l2 cos2 q
aB =
l1w
cos2 q
(cosfq -cosq cos(f -q )w )
(4.3)
設(shè) y1 = f ,y2 = f ,y3 = q ,y4 = q ,y5 = xB ,y6 = xB ,定義矩陣 y = [ y1, y2 , y3 , y4 , y5 , y6 ] 來分別保存這 6 個運動變量在各個時間點上的取值。這時我們選擇 ode 函數(shù)來求解 y 這個運動變量,首先需要求出 y 的微分形式和初值,根據(jù)式(4.3),y 的微分方程組如下:
? dt
2
ì dy1 = y
?
? dt
? dy2 = 0
?
? dt
? dy3 = y
? 4
(4.4)
dy l
í
? ?4 = ?1 (cos y sin y w y
- l sin y cos y w2 )
2 3
? dt l
?
cos2 y
1 3 4 1 1 3
? dy5 = y
? dt
?
? dy6 =
6
l1w
( y cos y - cos y cos( y - y )w )
3
?? dt
cos2 y
4 1 3 1 3
設(shè)初始時φ=0,θ=π,則可推導出 X
= l + l ,f = w ,q =- l1 w ,V = 0 ,則有
l
B 1 2 B
2
運動變量初值 y = é0,w,p , - l1 w, l
+ l , 0ù 。根據(jù)式(4.4),編寫出 ode 函數(shù)如圖 4.3 所
0 ê
? l2
示:
1 2 ú
?
圖4.3 ode函數(shù)程序
并將該文件保存為f7.m文件。
4.4 界面設(shè)計
設(shè)計 GUI 人機交互界面,我們可以大致的分為兩個步驟:
○1 人機交互界面的外觀設(shè)計。按照界面的需求,通過添加不同控件,如文本框、按鈕、按鈕組和對話框等控件,設(shè)計出一個簡潔大方、使用方便的人機交互界面。同時明確該交互界面的功能,即在交互界面上的操作會得到相應怎樣的結(jié)果。
○2 交互界面的完成。在這一部分,用戶將根據(jù)在第一階段所確定的界面不同控件的
不同功能,為了達到界面的預期效果,編寫出能夠?qū)崿F(xiàn)相應功能的函數(shù)代碼,確保這個圖形界面能實現(xiàn)預定的功能。
根據(jù)式(4.4)可知 OA=l1、AB=l2 和 OA 桿的角速度ω三個變量為運動參數(shù),在 GUI 界面左上的輸入?yún)^(qū)域設(shè)置 4 個編輯框分別來接受l、a 和ω這 3 個運動參數(shù)和模擬時間。轉(zhuǎn)角φ在整個運動過程中單調(diào)遞增,所以設(shè)置了時間 t、φ為查詢條件。
進入 GUI 界面初始環(huán)境,添加 13 個編輯文本框,12 個靜態(tài)文本框、6 個按鈕、3 個坐標軸和 1 個分組控件,同時創(chuàng)建 Open、Print、Close 三個菜單。
在將所有所需的控件都添加到界面中后,拖動它們到相應的位置,在調(diào)整好位置之后,設(shè)置各控件的屬性。最后的界面效果如圖 4.4 所示:
圖 4.4 用戶界面設(shè)計
“曲線”按鈕回調(diào)函數(shù):
確定相關(guān)點的坐標,為模擬動畫做準備
用ode45 命令求解運動變量矩陣 y,
同時返回時間向量 t
確定運動變量初值,并賦值給y0
設(shè)置 axes2 的 x 軸、y 軸分別為
(時間/s)、(位移(m)、速度(m/s)、加速度(m/s2))
在axes2 上畫B 點位移、速度、加速度曲線
、
4.5 主要代碼設(shè)計流程
為了滿足 GUI 的使用需要,在完成界面設(shè)計的基礎(chǔ)上,將相應的代碼輸入到各自的回調(diào)函數(shù)中,可將主要控件的代碼設(shè)計歸納為下圖所示:
“計算”按鈕設(shè)計流程: “曲線”按鈕設(shè)計流程:
設(shè)置全局變量
申明全局變量
設(shè)置“曲線”、“動畫”、“保存數(shù)據(jù)”按鈕不可用
在 axes1 上畫 seta 角、角速度、角加速度曲線
將相關(guān)運動參數(shù)讀入變量
l1、l2 和 omega
設(shè)置 axes1 的 x 軸、y 軸分別為
(時間/s)、(轉(zhuǎn)角(rad)、角速度
(rad/s)、角加速度(rad/s2))
將模擬時間賦給tfinal
標記三條曲線為“seta 角”、“seta 角速度”、“seta 角加速度”
設(shè)置“曲線”、“動畫”、“保存數(shù)據(jù)”按鈕可用
標記三條曲線為“B 點位移”、“B 點速度”、“B 點加速度”
以時間為條件進行查詢
設(shè)置“phi=”所對應的編輯框為可用
設(shè)置“phi=”所對應的編輯框為不可用
模擬機構(gòu)運動
設(shè)置時間查詢所對應的編輯框為可用
設(shè)置模擬各桿運動的句柄
選擇了 dx1 單選框時(以時間為查詢對象),設(shè)置 f=1
設(shè)置模擬各點運動的句柄
“動畫”按鈕設(shè)計流程: 分組控件設(shè)計流程:
申明全局變量
申明全局變量
設(shè)定橫、縱坐標軸的范圍
取得被選擇對象的Tag 屬性值
選擇了 dx2 單選框時(以 phi 為查詢對象),設(shè)置 f=2
“查詢”按鈕設(shè)計流程:
申明全局變量
設(shè)置時間查詢所對應的編輯框為不可用
計算線型差值的兩個系數(shù)
m,n
以φ為條件進行查詢
計算線型差值的兩個系數(shù)
m,n
4.6 界面結(jié)果展示
在第一部分 OA 編輯框內(nèi)輸入 1、AB 編輯框內(nèi)輸入 3、角速度編輯框內(nèi)輸入 0.5,最后在模擬時間編輯框內(nèi)輸入 60,依次點擊按鈕計算、曲線和動畫,之后再查詢條件框內(nèi)輸入相應的查詢條件,得到的仿真和查詢結(jié)果如圖 4.5 所示:
圖 4.5 用戶界面運行結(jié)果示意
在該 GUI 界面中,能夠十分清晰明了的看見θ角的各項參數(shù)和 B 點各項參數(shù)的變化情況,并且能夠通過查詢某一時刻的φ值,得到該時刻各項參數(shù)的瞬時值,有曲線圖的同時還有機構(gòu)運動的仿真動畫,十分的直觀方便,使用者可根據(jù)自己的不同需要進行設(shè)計和仿真。
在 Simulink 仿真圖和 GUI 界面中,我們能發(fā)現(xiàn)相同的一點,就是兩種仿真形式, 都能夠直觀的看到各桿的運動參數(shù),無論是哪一種方法,都很方便,都能夠為四桿的仿真分析提供一個很好的辦法。
5 平面四桿機構(gòu)的優(yōu)化設(shè)計
5.1 四桿的優(yōu)化設(shè)計方法
機構(gòu)的優(yōu)化,就是在給定的機構(gòu)學、運動學、動力學的要求下,在滿足結(jié)構(gòu)設(shè)計要求的前提下,將其他因素的限制在一個合理的范圍內(nèi),并建立某種設(shè)計準則(目標函數(shù)),不斷調(diào)整設(shè)計參數(shù),進行優(yōu)化計算,獲得最佳的設(shè)計方案。對于平面四桿機構(gòu)來講,優(yōu)化的基本問題是在設(shè)定好目標函數(shù)的前提下,根據(jù)實際情況增加相應的約束條件,最后再進行優(yōu)化計算,目的是找到最優(yōu)的設(shè)計參數(shù),其步驟如圖 5.1 所示:
提出設(shè)計要求
結(jié)束
進行結(jié)果分析,滿足工程適用性
選取最適當?shù)膬?yōu)化方法進行程序編輯
建立滿足設(shè)計要求的數(shù)學模型
如不滿足, 跳回第一步
圖 5.1 優(yōu)化設(shè)計步驟
在進行設(shè)計的時候,大多數(shù)的實際工程問題都可以用數(shù)學公式來建模描述,三個主要考慮的因素為設(shè)計變量、目標函數(shù)和約束條件。也就是為了使得目標函數(shù)能夠達到設(shè)計人員的要求,給機構(gòu)一些約束條件,從而再去尋找合適的設(shè)計變量值。
5.2 建立數(shù)學模型
首先,應確定設(shè)計變量,在鉸鏈四桿機構(gòu)各桿長度不知道的情況下,由于機構(gòu)運動規(guī)律不變,所以設(shè)主動件 l1 的長度為 1,其余桿長便為 l1 的倍數(shù),這樣的目的是使桿長能夠按比例分布計算,簡化了計算和編程。
我們設(shè)定桿 1 即 l1 的初始角度為j0 ,桿 2 即 l2 的初始角度為φ0,分析可得:
? 0
ìj = arccos(l1 +l2 )2 +l42 -l32
2(l1 +l2 )l4
í (l +l )2 +l 2 -l 2
??f0 =arccos
1 2 4 3
2l3l4
(5.1)
從式子可以看出,設(shè)計變量只有 l2、l3 和 l4。故將該設(shè)計變量改寫為:
X = [x1; x2 ; x3 ] = [l2 ;l3;l4 ]
(5.2)
在進行目標函數(shù)的建立時,設(shè)計目標定為追求從動件實際輸入角度系列值與期望實現(xiàn)函數(shù)的平方偏差之和最小,即:
n
2
min f ( X ) = ?(fEi -fi )
i=0
(5.3)
其中:n 將輸出角度等分,fEi 為期望輸出角度,fi 為實際輸出角度,分析兩個不同的輸出角度,我們可以得出一個關(guān)系式:
= {
f
p -ai -bi (0
收藏