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