平面四桿機構Matlab仿真及優(yōu)化設計帶開題報告.zip,平面,機構,Matlab,仿真,優(yōu)化,設計,開題,報告
一、選題依據
1.論文(設計)題目
平面四桿機構 Matlab 仿真及優(yōu)化設計
2.研究領域
Matlab 仿真
3.論文(設計)工作的理論意義和應用價值
計算機仿真是在研究系統(tǒng)過程中根據相似原理,利用計算機來逼真模擬研究對象。運動學仿真是指利用計算機仿真軟件包求解機構在所記時間域內的運動學方程, 以此確定機構在連續(xù)運動過程中各個構件的速度和加速度。而 Matlab 軟件具有系統(tǒng)建模方便直觀、仿真功能強大等特點,能為機械系統(tǒng)的建模仿真提供一個強大而方便的工具。使用 Matlab 軟件的 Simulink 仿真工具用于機械工程中機構的運動學仿真, 簡單,直觀,只需通過 M 文件編寫運動學方程,設定特殊時刻為初始值就可以得到任意時刻的位置、速度、加速度的值,并可以觀察它們在運動周期內的變化。通過基于 Matlab 的強大的矩陣運算能力,還可以方便得到三者之間的關系,這是一般解析方法所不及的。
本設計以 Matlab 軟件的 Simulink 軟件包為研究平臺,以連桿機構為研究對象, 通過建立閉環(huán)矢量方程,以牛頓力學為基礎列出動力學方程,通過已知的幾何特性, 利用 Matlab 軟件數值計算能力和 Simulink 仿真模塊來實現系統(tǒng)的建模仿真。通過對機構中各構件進行受力分析,得到動力學的數學模型,再加上機構運動的運動參數, 建立動力學仿真模型,得到機構運動的反力和力矩,避免了復雜的數學解析運算,并保證了計算精度。通過已知的幾何特性,利用 Matlab 軟件數值計算能力和 Simulink 仿真模塊來實現系統(tǒng)的建模仿真。
4.目前研究的概況和發(fā)展趨勢
連桿機構是一種常用的傳動機構,是機械傳動中必不可少的部件,廣泛應用于懸掛系統(tǒng)、工程機械工作裝置等各種機械裝置中。但是,在連桿機構的設計過程中需要大量的數據計算,僅靠人工計算非常繁瑣而且容易出錯,并且難以達到所要求的設計精度,同時在設計過程中無法完成讀設計機構的性能分析和動態(tài)模擬仿真。就目前情況而言,Matlab 已經不再是“矩陣實驗室”,而成為國際上最流行的科學與工程計算的軟件工具,以及一種具有廣泛應用前景的全新的計算機高級編程語言,它在國內外高校和科研部門正扮演著越來越重要的角色,功能也越來越強大,不斷適應新的要求提出新的解決辦法??梢灶A見,在科學運算和科學繪圖領域,Matlab 語言將長期保持其獨一無二的地位,使用 Matlab 可以很好地對機械系統(tǒng)進行分析,為連桿機構的建模仿真提供一個強大而方便的工具。
二、論文(設計)研究的內容
1.重點解決的問題
以 Matlab 軟件的 Simulink 軟件包為研究平臺,以連桿機構為研究對象,通過建立閉環(huán)矢量方程,以牛頓力學為基礎列出動力學方程,通過已知的幾何特性,利用
Matlab 軟件數值計算能力和 Simulink 仿真模塊來實現系統(tǒng)的建模仿真。通過對機構中各構件進行受力分析,得到動力學的數學模型,再加上機構運動的運動參數,建立動力學仿真模型,得到機構運動的反力和力矩。通過已知的幾何特性,利用 Matlab 軟件數值計算能力和 Simulink 仿真模塊來實現系統(tǒng)的建模仿真。
2.擬開展研究的幾個主要方面(論文寫作大綱或設計思路)
(1)連桿機構的運動學分析:建立機構的閉環(huán)矢量方程;
(2)改寫為矩陣形式:通過推導,將各矢量方程聯立,在坐標系中建立相應的矩陣數學模型;
(3)編寫M函數文件求解方程:將編寫的M函數文件嵌入到Simulink模型中,得到仿真模型;
(4)連桿機構的Matlab仿真運算:將參數代入程序后,計算得到機構運動參數, 得出仿真結果。
3.本論文(設計)預期取得的成果
課題基于 Matlab 為研究平臺,以連桿機構為研究對象,進行機械傳動機構的運動學性能分析,建立運動學數學模型,選擇適當的計算方法,編制相應的程序,求解運動學方程,以圖形的形式顯示出該機構在真實系統(tǒng)條件下的運動學特性,具體體現在以下幾點:
(1)連桿機構的閉環(huán)矢量方程;
(2)M 文件;
(3)Simulink 仿真模型;
(4)連桿機構運動學 Matlab 仿真曲線圖;
(5)設計說明書。
三、論文(設計)工作安排
1.擬采用的主要研究方法(技術路線或設計參數);
以四桿機構綜合分析理論為核心,利用 MATLAB 軟件開發(fā)了平面四桿機構綜合與分析系統(tǒng)。充分利用 MATLAB 強大的計算功能和出色的數據可視化功能,完成了四桿剛體導引、軌跡發(fā)生及函數發(fā)生機構綜合與分析軟件的設計。
2.論文(設計)進度計劃
第 1 周:收集研究方向相關資料、研究資料;
第 2 周:閱讀參考文獻,確定研究內容;
第 3 周:撰寫開題報告,擬訂總體設計方案;
第 4 周:完善、修改開題報告,完成外文翻譯;
第 5 周:進行畢業(yè)設計總體規(guī)劃,設計總體實施方案;
第 6 周:根據機構分類,建立閉環(huán)矢量方程;
第 7 周:對閉環(huán)矢量方程進行求導和求解;
第 8 周:連桿軌跡、速度、加速度求解;
第 9 周:連桿軌跡、速度、加速度分析;
第 10 周:對機構數據變曲點、曲率極大極小點進行分析; 第 11 周:建立機構數據的數據庫,編寫 M 文件;
第 12 周:對程序進行調試,撰寫設計說明書;
第 13 周:完善設計內容及設計說明書,準備畢業(yè)設計答辯;
第 14 周:按指導教師及評閱教師的意見修改設計說明書,進行畢業(yè)設計答辯。
四、需要閱讀的參考文獻
[1] 范恒彥,陳長秀. 一種支撐用鉸鏈四桿機構的設計[J]. 陜西國防工業(yè)職業(yè)技術學院學報. 2015(04)
[2] 王琦,何仁. 采用改進差分進化算法的四桿機構軌跡優(yōu)化[J]. 機械設計與制造. 2017(09)
[3] 徐春濤,廉哲滿. 基于矯正解的經過預定三位置的四桿機構設計[J]. 延邊大學學報(自然科學版). 2012(01)
[4] 桑中和. 四桿機構設計的一種解析法(二)[J]. 阜新礦業(yè)學院學報. 1986(02)
[5] L.O. 巴克頓, 羅良玲. 四桿機構的簡易分析法[J]. 南昌大學學報( 工科版). 1980(03)
[6] 覃金昌,林遠艷,張寶磊. 工程四桿機構焊接桿上 F 點的 Simulink/SimMechanics
軌跡仿真分析[J]. 科技信息. 2013(15)
[7] 張建,谷裕. 談四桿機構教學中學生創(chuàng)新能力的培養(yǎng)[J]. 職業(yè)教育研究. 2010(11)
[8] 陳曉軍,朱云開. 基于遺傳模擬退火算法的四桿機構優(yōu)化設計[J]. 機械工程與自動化. 2009(03)
[9] 張威, 王輝. 微分進化應用于四桿機構綜合時的人工干預[J]. 機床與液壓. 2009(07)
[10] 趙云龍,劉俊標,韓立. 雙復合平行四桿機構的研究[J]. 航空精密制造技術. 2007(04)
[11] 劉龍,黎炯宏. 基于 MATLAB 的平面四連桿機構運動仿真[J]. 機電工程技術. 2011(04)
[12] 任澤凱. 基于 MATLAB 和 ADAMS 的四連桿機構運動仿真[J]. 裝備機械. 2016(03)
[13] 徐梓斌, 閔劍青. MATLAB 的四桿機構運動學仿真方法[J]. 林業(yè)機械與木工設備. 2007(05)
[14] 周凌. 基于 Matlab 的四桿機構的運動學動力學仿真[J]. 高職教育. 2011(11)
[15] 王筱華. 四桿機構位移分析及連桿曲線繪制[N]. 大連輕工業(yè)學院學報. 1999(04)
[16] 褚金奎,王立鼎,吳琛. 四桿機構軌跡特性與機構尺寸型關系研究[J]. 中國科 E
輯 工程科學 材料科學. 2004(07)
[17] 鄭立斌, 陳全園, 胡志平. 四連桿機構運動仿真設計[N]. 景德鎮(zhèn)高專學報. 2007(04)
[18] Kailash Chaudhary,Himanshu Chaudhary. Shape optimization of dynamically balanced planar four-bar mechanism[R]. 3rd International Conference on Recent Trends in Computing 2015. 2015(05)
[19] Ahmet Yildiz,Osman Kopmaz,Sevda Telli Cetin. Dynamic modeling and analysis of a four-bar mechanism coupled with a CVT for obtaining variable input speeds?[J]. Journal of Mechanical Science and Technology. 2015(03)
[20] Van De Sande,Werner W.P.J. , Aarts, Ronald G.K.M. ,Brouwer, Dannis M. System behaviour of a multiple overconstrained compliant four-bar mechanism[J]. engineering village. 2017(12)
附:文獻綜述或報告
文獻綜述
一、連桿機構的發(fā)展概述
在過去的幾十年里,國內外的一些學者對連桿機構分析和綜合的研究已取得了令人矚目的成就。
對于連桿機構分析,提出了以單開鏈為單元的理論與方法,以拓撲特征為基礎的新機構組成原理,揭示了機構特征與動力學方程、運動學方程之間的聯系,創(chuàng)立了一套數學模型。連桿機構綜合取得成就有:
(1)提出了綜合桿組的概念,創(chuàng)立了連桿機構按速度、位置、加速度等運動參數綜合進行分析的理論和方法。(2)將計算機技術應用到連桿機構綜合,建立了傳動特征和導引特性的數據庫,有利于提高求解精度和設計速度。(3)提出了基于局部的軌跡的特征,實現整個機構的軌跡,提高軌跡機構求解的精度和設計速度。(4)提出了機架桿方向結構誤差與從動桿桿長機構誤差的概念,并通過改進遺傳算法,完成軌跡機構和函數生成機構的優(yōu)化。20 世紀中期,開始將計算機技術應用到連桿機構綜合。對于鉸鏈四桿機構綜合的幾何方法,一些學者將其公式化,超越方程組和求解代數方程組可以在計算機上進行,從而獲得綜合機構有關的參數,首次實現將計算機實現應用到四桿機構再現函數的最優(yōu)綜合中。60 年代后,位移矩陣法也被應用到機構綜合中, 通過解超越方程組和非線性方程組,求綜合機構的有關參數。
在過去的幾百年中,連桿機構的理論研究取得了巨大的成績。18 世紀后期,機械工程學科在第一次工業(yè)革命后迅速的發(fā)展起來了,機構學也成了一門獨立的新學科。連桿機構早在 13 世紀前期就已經得到了廣泛應用,四桿機構是最簡單也是最早出現的一種機構。早在 18 世紀,著名發(fā)明家瓦特就對連桿機構進行了研究。1784 年,瓦特將四桿機構應用到他發(fā)明的蒸汽機里,為活塞提供近似直線運動。瓦特將連桿機構應用到蒸汽機多年之后,連桿機構并沒有得到快速的發(fā)展,一方面是由于缺乏其運動特性方面的理論基礎。與連桿機構相關的一些文獻在 19 世紀 80 年代后才相繼出現。
19 世紀之后,對連桿機構研究貢獻最大的是德國機構學學派,其研究成果處于世界遙遙領先地位。第二次世界大戰(zhàn)之后,由于計算機技術的快速發(fā)展,使連桿機構在生產中的應用有了新突破,開辟了許多新分支。四桿機構是連桿機構最基本的形式,雖然目前對四桿機構已進行了很多的研究,但是在運動學和動力學方面,四桿機構仍待進一步發(fā)展。對于五桿機構,尤其是五桿以上的多桿多自由度機構,仍待進一步研究。四桿機構雖應用廣泛,形式簡單,但僅僅能實現簡單的功能。隨著機械手、機械自動化機器人的發(fā)展,在機構運動和動力特性方面,人們有了更高的要求,國際上也十分注重這方面的研究。
隨著計算機技術的飛速發(fā)展和科學技術的進步,也促進了機械工程學的快速發(fā)展。連桿機構將朝著多桿機構方向和多學科之間的相會融合和滲透方向發(fā)展。未來連桿機構研究的對象將會是由機構、控制系統(tǒng)和原動機結合成的整個機構系統(tǒng),通過對整個機構系統(tǒng)的研究,揭示其運動學、動力學特征以及其對動力分配的影響,從而改進機構的性能和創(chuàng)造出具有新用途的機構,這將是未來連桿機構發(fā)展的趨勢。
二、Matlab 的發(fā)展及優(yōu)點概述
在 70 年代中期,Cleve Moler 博士和其同事在美國國家科學基金的資助下開發(fā)了調用 EISPACK 和 LINPACK 的 FORTRAN 子程序庫。EISPACK 是特征值求解的 FOETRAN 程序庫,LINPACK 是解線性方程的程序庫。在當時,這兩個程序庫代表矩陣運算的最高水平。到 70 年代后期,身為美國 New Mexico 大學計算機系系主任的 Cleve Moler, 在給學生講授線性代數課程時,想教學生使用 EISPACK 和 LINPACK 程序庫,但他發(fā)現
學生用 FORTRAN 編寫接口程序很費時間,為了讓學生方便的調用 EISPACK 和 LINPACK, 利用業(yè)余時間為學生編寫 EISPACK 和 LINPACK 的接口程序。Cleve Moler 給這個接口程序取名為 Matlab,取名 Matlab(MATrix LABoratory),即 Matrix 和 Laboratory 的組合。在以后的數年里,Matlab 在多所大學里作為教學輔助軟件使用,并作為面向大眾的免費軟件廣為流傳。1983 年春天,Cleve Moler 到 Standford 大學講學,Matlab 深深地吸引了工程師 John Little。John Little 敏銳地覺察到 Matlab 在工程領域的廣闊前景。于是,他和 Cleve Moler、Steve Bangert 一起,由 Steve Bangert 主持開發(fā)編譯解釋程序,Steve Kleiman 完成圖形功能的設計,John Little 和 Cleve Moler 主持開發(fā)了各類數學分分析的子模塊,撰寫用戶指南和大部分的 M 文件。這樣用 C 語言開發(fā)了第二代 Matlab 專業(yè)版,也是 Matlab 第一個商用版,同時賦予了它數值計算和數據圖示化的功能。自從第一版發(fā)行以來,已有眾多的科技工作者加入到 Matlab 的開發(fā)隊伍中,并為形成今天約 Matlab 系統(tǒng)做出了巨大的貢獻。1984 年,Cleve Moler和 John Little 成立了 Math Works 公司,發(fā)行了 Matlab 第 1 版(DoS 版本 1.0)。正式把 Matlab 推向市場。Matlab 的第一個商業(yè)化的版本是同年推出的是 3.0 的 DOS 版本。并繼續(xù)進行 Matlab 的研究和開發(fā),逐步將其發(fā)展成為一個集數值處理、圖形處理、圖像處理、符號計算、文字處理、數學建模、實時控制、動態(tài)仿真、信號處理為一體的數學應用軟件。Matlab 以商品形式出現后,僅短短幾年,就以其良好的開放性和運行的可靠性,使原先控制領域里的封閉式軟件包(如英國的 UMIST,瑞典的 LUND 和 SIMNON,德國的 KEDDC)紛紛淘汰,而改以 Matlab 為平臺加以重建。九十年代初期,在國際上 30 幾個數學類科技應用軟件中,Matlab 在數值計算方面獨占鰲頭,而
Mathematica 和 Maple 則分居符號計算軟件的前兩名。
MathCAD 因其提供計算、圖形、文字處理的統(tǒng)一環(huán)境而深受中學生歡迎。Matlab 已經成為國際控制界公認的標準計算軟件。1992 年,MathWorks 公司于推出了 4.0 版本。1993 年,MathWorks 公司推出了 Matlab 4.1 版。也是在這年(1993 年)MathWorks 公司從加拿大滑鐵盧大學購得 Maple 的使用權,以 Maple 為“引擎”開發(fā)了 Symbolic Math Toolbox 1.0。MathWorks 公司此舉加快結束了國際上數值計算、符號計算孰優(yōu)孰劣的長期爭論,促成了兩種計算的互補發(fā)展新時代。
Matlab 的主要特點有:(1)高效的數值計算及符號計算功能,能使用戶從繁雜的數學運算分析中解脫出來;(2)具有完備的圖形處理功能,實現計算結果和編程的可視化;(3)友好的用戶界面及接近數學表達式的自然化語言,使學者易于學習和掌握;
(4)功能豐富的應用工具箱(如信號處理工具箱、通信工具箱等),為用戶提供了大量方便實用的處理工具。Matlab 語言是一種非常強大的工程計算語言,提供了非常豐富的 Matlab 優(yōu)化工具箱。其優(yōu)化工具箱有許多常用的優(yōu)化算法,廣泛應用于線性規(guī)劃、二次規(guī)劃、非線性優(yōu)化、最小二乘法問題、非線性方程求解、多目標決策等問題,其函數表達簡潔,優(yōu)化算法選擇靈活,參數設置自由,相比于其它很多成熟的優(yōu)化程序具有明顯的優(yōu)越性。
三、連桿機構運動學的 Matlab 分析概述
連桿機構由于其結構簡單,可承受載荷大,連桿曲線具有多樣性等特性,它在眾多領域都有著廣泛的運用。機構運動學仿真就是根據給定的原動件運動規(guī)律,求出機構中其它構件的運動參數。機構運動分析的方法分為圖解法、解析法和實驗法三種, 解析法將機構問題抽象為數學問題,將機構運動參數和結構參數之間的關系用數學解析式來描述,便于推理和對機構在整個運動過程中任意位置的運動性能進行深入分析, 分析精度也較高。隨著計算機技術和數值方法的發(fā)展。解析法運算冗繁的問題得以解決,并體現出運算速度快、計算精度高的顯著優(yōu)勢,因此解析法得到越來越廣泛的應用。無論是分析現有機構工作性能,還是優(yōu)化新機械,仿真都是十分重要的。通過仿真可以確定某些構件運動所需的空間,校驗它們運動是否干涉,而且運動軌跡仿真動畫
則更為形象直觀,速度分析可以確定機構從動件的速度是否合乎要求,加速度分析可以為慣性力計算提供數據。因此,運動學分析既是機構綜合的基礎,又是力分析的基礎。
同時,Matlab 具有強大的運算分析功能,具有集科學計算、程序設計和可視化于一體的高度集成化軟件環(huán)境,是目前國際上公認的最優(yōu)秀的計算分析軟件之一,被廣泛應用于自動控制、信號處理、機械設計、流體力學和數理統(tǒng)計等工程領域。通過運算分析,Matlab 可以從眾多的設計方案中尋找最佳途徑,獲取最優(yōu)結果,大大提高了設計水平和質量。四連桿機構的解析法同樣可以用 Matlab 的計算工具來求值,并結合 Matlab 的可視化手段,把各點的計算值擬合成曲線,得到連桿機構的運動仿真軌跡。Matlab 軟件中的 Simulink 仿真工具用于機械工程中機構的運動學仿真,簡單, 直觀。只需通過 M 文件編寫運動學方程,設定特殊時刻為初始值就可以得到任意時刻的位置、速度、加速度的值,并可以觀察它們在運動周期內的變化。通過基于 Matlab 的強大的矩陣運算能力,還可以方便得到三者之間的關系,這是一般解析方法所不及的。以 Matlab 軟件的 Simulink 軟件包為研究平臺,以平面四桿機構為研究對象,通過建立閉環(huán)矢量方程,以牛頓力學為基礎列出動力學方程,通過已知的幾何特性,利用 Matlab 軟件數值計算能力和 Simulink 仿真模塊來實現系統(tǒng)的建模仿真。通過對機構中各構件進行受力分析,得到動力學的數學模型,再加上機構運動的運動參數,建立動力學仿真模型,得到機構運動的反力和力矩,避免了復雜的數學解析運算,并保證了計算精度。通過已知的幾何特性,利用 Matlab 軟件數值計算能力和 Simulink 仿真模塊來實現系統(tǒng)的建模仿真。
我們以連桿機構為研究對象,應用了基于 Matlab 的 Simulink 對平面連桿機構以及空間連桿機構的運動學和動力學仿真方法。仿真模擬使計算更為簡單,并以曲線圖的形式顯示出在曲柄勻速運動條件下,各參數的隨時間變化的特性。這不僅可以保證系統(tǒng)方案的可行性,還可以提高機械設計的效率,為機構設計提供了新的方法,具有很強的實際工程應用意義。
總之,機構仿真是實現機構優(yōu)化設計的重要方法,特別是對于復雜機構系統(tǒng),這一方法更加顯示出其優(yōu)越性,而 Matlab 可很好地對機械系統(tǒng)進行分析,為機械系統(tǒng)的建模仿真提供一個強大而方便的工具。
平面四桿機構 MATLAB 仿真及優(yōu)化設計
摘 要
在研究機構學時,由于需要處理大量的數據,并且處理過程繁瑣容易出錯,所以需要研究人員找到一種可以直接處理矩陣運算的通用方法,在研究大量的實際問題后,人們發(fā)現,大多數的實例都可構造成矩陣方程來進行運算,MATLAB 恰好具備這一運算特性,能夠滿足人們在機構學研究中的要求。
本設計選取平面四桿機構作為研究對象,首先對其進行運動學和動力學的分析,在此基礎上,建立相應的數學模型,選擇 MATLAB 作為研究工具,建立 Simulink 仿真模型, 對平面四桿機構的運動學特性進行研究。再使用 MATLAB 自身的 GUI 功能,設計出一個平面四桿機構的運動學分析交互式界面,使得用戶只需要輸入相應的參數,即可得到相應的分析結果。最后再根據所有的仿真分析結果進行優(yōu)化設計,得到四桿機構參數的最優(yōu)設計參數。
該方法對平面四桿機構的仿真設計及優(yōu)化處理提供了一種新的解決方案,對平面四桿機構的設計和優(yōu)化提供了一定的幫助,不僅提高了效率和準確性,而且對解決其他類似的問題也具有一定的參考價值。
關鍵詞:機構學;平面四桿機構;MATLAB;仿真分析;優(yōu)化設計
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 國內外研究現狀和發(fā)展 1
1.3 課題主要任務 3
2 平面四桿機構的運動學分析 4
2.1 概述 4
2.2 實例分析 4
3 基于 MATLAB 的運動分析及程序設計 8
3.1 MATLAB 概述 8
3.2 M 文件編寫 8
3.3 基于 MATLAB 的 Simulink 模型的建立 10
3.4 程序運行結果 12
4 曲柄滑塊機構的 GUI 設計 15
4.1 GUI 概述 15
4.2 問題概況 15
4.3 數學分析 16
4.4 界面設計 17
4.5 主要代碼設計流程 19
4.6 界面結果展示 21
5 平面四桿機構的優(yōu)化設計 22
5.1 四桿的優(yōu)化設計方法 22
5.2 建立數學模型 22
5.3 實例計算 24
6 結 論 26
參 考 文 獻 27
附錄 1:外文翻譯 28
附錄 2:外文原文 36
附錄 3:主要程序代碼 45
致 謝 49
I
平面四桿機構MATLAB 仿真及優(yōu)化設計
1 緒論
1.1 課題背景
隨著科技的進步和計算機技術的飛速發(fā)展,機械工程學的發(fā)展也在加速。連桿機構中多桿機構方向和多學科兩個方面,未來會相互融合、相互滲透。在機構、控制系統(tǒng)和原動機結合成的整個機構系統(tǒng)中,通過對整個機構系統(tǒng)的研究,從分析運動學、動力學特征以及其對動力分配的影響,到改進對機構的性能的改造和發(fā)展機構的新用途[15],這將是連桿機構未來發(fā)展趨勢。
連桿機構由于其簡單的結構,較大的可承受載荷,多樣性的連桿曲線等特性,廣泛的應用于眾多領域。機構運動學仿真就是根據給定的原動件的運動規(guī)律,得出機構中其余構件的運動參數[13]。無論是分析現有機構的工作性能,還是優(yōu)化新機械機構,仿真都是十分重要的。通過仿真能夠形象直觀的看出機構的運動軌跡、所需要的空間以及是否干涉,同時速度分析可以確定機構從動件的速度是否符合要求,加速度分析可以提供慣性力計算的數據[13]。
研究該課題的目的在于找到一個通用的方法,用以研究平面四桿機構,將平面四桿機構的運動學特性用圖表、曲線的方式直觀明了的表示出來,優(yōu)化平面四桿機構的設計流程,減少設計時間的同時提高設計精度,結合當下的科學技術,使用計算機軟件進行輔助設計,具有很強的優(yōu)越性。
1.2 國內外研究現狀和發(fā)展
近幾十年來,國內外的一些學者和研究機構對連桿機構的分析和綜合研究已取得了顯著的成績。
對于連桿機構分析,提出了以單開鏈為單元的理論與方法,以拓撲特征為基礎的新機構組成原理,為了揭示機構特征與動力學方程、運動學方程之間的聯系,創(chuàng)立了一套數學模型。連桿機構取得的成就有:
(1)提出了一套綜合桿組的概念,創(chuàng)立了連桿機構通過速度、位置、加速度等運動參數綜合分析的理論和方法;(2)在連桿機構的綜合研究中引入了計算機技術,建立了傳動特征和導引特性的數據庫,并通過局部軌跡特征的建立,提高了設計精度、加快了設計速度;(3)提出了機架桿方向結構誤差與從動桿桿長機構誤差的概念,并通過改進遺傳算法,完成軌跡機構和函數生成機構的優(yōu)化。20 世紀中期,開始將計算機技術應用到連桿機構的綜合研究中[15]。對于鉸鏈四桿機構綜合的幾何方法,一些學者將其公式化,首次實現將計算機應用到四桿機構相應函數的最優(yōu)組合中,將超越方程組和代數方程組的求解放在計算機上進行,從而獲得機構有關的參數。60 年代后,位移矩陣法也
- 49 -
被應用到機構的綜合求解中,同樣是通過求解超越方程組和非線性方程組,得到綜合機構的有關參數。
關于連桿機構的理論,科學家在過去幾百年的研究過程中已經取得了巨大的成績。在 18 世紀后期,第一次工業(yè)革命的發(fā)展浪潮中,機械工程學科也得到了快速的發(fā)展。因
此機構學也成了一門獨立的新學科。在 13 世紀前期,人們就已經開始廣泛應用連桿機構理論[15]。而出現得最早、結構最簡單、應用最廣泛的一種機構就是四桿機構。在連桿機構研究的研究中,最早開始是 18 世紀的科學家瓦特。早在 1784 年的時候,在瓦特發(fā)明的蒸汽機里,他就應用了四桿機構,其目的是為活塞提供近似直線運動。然而,就算瓦特將這項技術應用到蒸汽機里,連桿機構也并沒有得到快速的發(fā)展。主要原因是缺乏相關文獻來記載其運動特性方面研究的理論基礎,然而,與連桿機構理論相關的記載一直未曾出現,直到在 19 世紀 80 年代后才有相關文獻出現。19 世紀之后,各機構開始重視連桿機構的研究,德國機構學學派是最重視這項研究,且貢獻最大的學派,其研究成果在世界上也處于領先狀態(tài)。第二次世界大戰(zhàn)之后,在計算機技術騰飛的同時,連桿機構也在生產中得到應用,開拓了許多研究領域,有了新的突破。在機構學的研究中,四桿機構作為連桿機構中最基本的形式,雖然在其他方面的研究有了突破,但在運動學和動力學方面四桿機構的研究還需努力。對于五桿機構及其以上的多桿多自由度機構,我們的研究還遠遠不夠。平面四桿機構由于簡單,所以僅僅能實現簡單的功能,但隨著機械手、機械自動化機器人的發(fā)展,在機構運動和動力特性方面,人們有了更高的要求,國際上也十分注重這方面的研究。
MATLAB 的出現極大的幫助了機構學的研究,MATLAB 能夠快速而精確的運算復雜函
數,同時 MATLAB 內部有很多簡潔方便且實用的工具箱,能夠為機構的分析和仿真提供相當大的便利,軟件支持多種語言的擴展、語法簡單、門檻低、使用方便,這樣就為機構學的研究提供了一個很好的環(huán)境。
MATLAB 軟件具有系統(tǒng)建模方便直觀、仿真功能強大等特點,能為機械系統(tǒng)的建模仿真提供一個強大而方便的工具。使用 MATLAB 軟件的 Simulink 仿真工具用于機械工程中機構的運動學仿真,簡單,直觀,只需通過 M 文件編寫運動學方程,設定特殊時刻為初始值就可以得到任意時刻的位置、速度、加速度的值,并可以觀察它們在運動周期內的變化。通過基于 MATLAB 的強大的矩陣運算能力,還可以方便得到三者之間的關系,這是一般解析方法所不及的[14]。就目前情況而言,MATLAB 已經不再是“矩陣實驗室”,而成為國際上最流行的科學與工程計算的軟件工具,以及一種具有廣泛應用前景的全新的計算機高級編程語言,它在國內外高校和科研部門正扮演著越來越重要的角色,功能也越來越強大,不斷適應新的要求提出新的解決辦法[13]??梢灶A見,在科學運算和科學繪
圖領域,MATLAB 語言將長期保持其獨一無二的地位,使用 MATLAB 可以很好地對機械系統(tǒng)進行分析,為連桿機構的建模仿真提供一個強大而方便的工具。
1.3 課題主要任務
本課題的主要研究內容是平面四桿機構的運動學仿真分析及優(yōu)化設計,其主要任務如下:
(1)機構運動的數學模型的建立。建立數學模型的過程其實就是對機構進行詳細分析的過程,如角速度的分析,加速度的分析等,建立矩陣模型,用數學方法求出其他所需的值;
(2)使用 MATLAB 進行 M 文件的編寫。根據數學模型編寫出相應的 M 文件,用于實際問題的解決;
(3) Simulink 仿真模型的建立。使用 Simulink 進行仿真,能夠快速準確的顯示出速度隨時間的圖像、加速度隨時間的圖像等;
(4) GUI 人機交互界面的設計。做出一個簡潔直觀的界面、同時實現人機的友好交互,用戶可根據自己的實際需求輸入不同的參數,從而得到相應的圖像;
(5)將仿真得出的圖像進行分析。根據前面工作所得到的參數數據,結合實際情況分析,對平面四桿機構的優(yōu)化提出意見。
2 平面四桿機構的運動學分析
2.1 概述
平面四桿機構的連接形式一般為低副連接,一般由四個剛性構件組成,四個剛性構件均在同一平面內運動。
平面四桿機構是機械學科中的最常見的一種機構,在各種機器設備中有大量的應用, 而鉸鏈四桿機構作為平面四桿機構中具有代表性的一種,它是平面四桿機構的基本形式, 其他類型的四桿機構都可以看作是鉸鏈四桿機構的衍生形式。對于四桿機構的各桿,如 表 2.1 所示:
表 2.1 四桿機構各桿的定義
連架桿
與機架直接相連
連桿
不與機架連接
曲柄
能夠 360°回轉
搖桿
只能在某一角度范圍內往復擺動
根據主動桿是否可以作為曲柄,可將鉸鏈四桿機構分為三類:1)曲柄搖桿機構;2) 雙曲柄機構;3)雙搖桿機構。
由于平面四桿機構有很多類型,因此我們不一一研究,只選取了兩個具有代表性的機構,即鉸鏈四桿機構和曲柄滑塊機構作為研究對象。
2.2 實例分析
設定一個平面四桿機構,取左側固定機架與連桿相交的端點作為坐標原點,建立一個平面直角坐標系。
取固定機架為連桿 1,順時針方向依次為連桿 2、連桿 3、連桿 4,連桿長度分別為
r1、r2、r3 和 r4。規(guī)定各連桿和 x 軸正方向之間的夾角為θ(連桿角度),四桿機構的矢量圖如圖 2.1 所示:
圖 2.1 四連桿機構矢量圖
四個連桿角度分別為q1 、q2 、q3 和q4 ,其中q1 =0°。
設定四連桿的基本條件為: r1 =100mm; r2 =30mm; r3 =80mm; r4 =60mm。我們可以由圖得到一個矢量方程 R2 + R3 = R1 + R4
2.2.1 求解角速度w3 、w4 和加速度a3 、a4 的數學分析
(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)求時間倒數,有:
-w2sinq2 -w3sinq3 = -w4r4sinq4
4
w2cosq2 + w3cosq3 = w r4cosq4
式中, w 為q 對時間的一階導數。
(2.2)
(2.3)
(2.4)
(2.5)
由于式(2.4)和式(2.5)確定了一種關系,用來制約平面四桿機構中三個可動連桿間的相對轉動速率,在本例中,假定連桿 2 與一臺電動機相連,該電動機能夠提足夠大的驅動力使連桿 2 以 6000r/min 的速度勻速轉動,此時w2 為機構的輸入。對式(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)求二階導數,也就是對式(2.6)和式(2.7)再進行求導, 整理,轉化成矩陣形式,可得:
-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 的數學分析:
2 2 3 3
4 4 ?
當 t=0 時,假定q2 =0,利用牛頓-辛普森方法求解位置方程的精確值。假設這兩個方程包含兩個未知量,這個問題可以表示為:
f1 (x1, x2 ) = 0
f2 (x1, x2 ) = 0
(2.10)
(2.11)
假設估計值為 X i ,精確值為 X i ,精確值與估計值之間的差值為Dxi 。用等式表達為:
f1 (x1 + Dx1, x2 + Dx2 ) = 0
f2 (x1 + Dx1, x2 + Dx2 ) = 0
運用泰勒公式將式(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)
轉化為矩陣形式為:
? 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 ,將式轉化為:
? 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 ?
對于四連桿機構,可以將式(2.2)和式(2.3)轉化為:
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 的運動分析及程序設計
3.1 MATLAB 概述
MATLAB 作為一款在全球內廣泛使用的數學軟件,因其強大的功能和巨大的實用性, 受到了越來越多人的青睞。
MATLAB 的中文翻譯為矩陣實驗室。顧名思義,MATLAB 基于矩陣運算,只需要函數便可實現相關的功能,這是一個高科技的計算環(huán)境,主體為一個易于操作使用的視窗環(huán)境,但是能在這個環(huán)境下實現很多強大的功能,MATLAB 具有強大的圖像繪制和仿真能力,為許多需要進行復雜函數運算或建模仿真的眾多科學領域提供了一種全面而精確的解 決方案,代表了當今國際科學計算軟件的先進水平。
MATLAB 的基本數據單位是矩陣,所以可以完成函數繪制、矩陣運算、創(chuàng)建人機界面等功能,并且在工程、信號、金融、分析等多個領域都得到了較為廣泛的應用。再者,
MATLAB 的指令表達方式與工程中的常用表達方式也十分相似,增加了自己的兼容性,降低了使用的門檻,特別是對于非計算機專業(yè)的人來講,簡單易上手,這使得 MATLAB 在高校和研究機構間受到了很大的歡迎。
MATLAB 的 特 點 : 1)能夠高效快速的處理數值和符號運算,使用戶大大的減輕了復雜數值運算的工作
強度;
2)圖形處理功能完善,計算結果和編程過程可視;
3)界面友好,無論是學習者還是用戶,都易于學習和掌握;
4)應用工具箱豐富實用,用戶能夠自由選擇所需的處理工具。
3.2 M 文件編寫
當 ω2 和連桿 2 的所有位置已知時,式(2.8)可以用來求解ω3 和ω4。將ω2 視為仿真的輸入,可以用數值積分從速度中計算出θ2、θ3、θ4。因為ω3 和ω4 兩個速度是從閉環(huán)矢量方程式中求得的,所以編寫一個 sigansudu.m 的 M 文件來儲存該函數,文件的內容如下:
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,這是一個函數文件,文件命名為 weizhi.m,程序代碼為:
function x=weizhi(th)
%此函數有三個輸入值,分別為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 仿真模型
對于四連桿機構,仍取連桿 2 的初始速度為 6000r/min、加速度為-15rad/s2勻加速運動的情況為例進行運動學仿真,畫出仿真框圖如圖 3.2 所示。該模型總共包含 6 個積分模塊:1 個 demux 模塊、1 個常量模塊、1 個 simout 模塊、1 個 function 模塊和 2 個
mux 模塊。將 jiasudu.m 文件嵌入到 function 模塊中,常量模塊中設定常量值為-15。
圖 3.2 四連桿機構運動學仿真 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 程序運行結果
在得出所有積分器的初始條件后,我們將精確數值輸入到相應的積分器其中,然后點擊“run”按鈕,進行仿真。
在文件 sigansudu.slx 中,
輸入以下 MATLAB 命令,查看連桿 3 和連桿 4 的速度隨時間變化的圖像plot(tout,simout(:,3),tout,simout(:,4));
xlabel('時間(s)');
ylabel('角速度(rad/s)');
連桿 3 和連桿 4 的速度隨時間變化的圖像如圖 3.3 所示:
圖 3.3 四連桿機構連桿 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 四連桿機構中連桿 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 四連桿機構中連桿 3 和連桿 4 的角速度仿真結果
在文件 jiasudu.slx 中
輸入以下 MATLAB 命令,查看連桿 3 和連桿 4 的位置隨時間變化的圖像plot(tout,simout(:,3),tout,simout(:,5)); xlabel('時間(s)');
ylabel('位置(rad)');
連桿 3 和連桿 4 的位置隨時間變化的圖像如圖 3.6 所示:
圖 3.6 四連桿機構中連桿 3 和連桿 4 的位置隨時間變化的曲線
4 曲柄滑塊機構的 GUI 設計
4.1 GUI 概述
GUI 又稱圖形用戶界面,是一個人機交互界面,用戶可通過鼠標、鍵盤等輸入設備來控制界面中的輸入框、按鈕等控件,從而完成選擇、調用、打開、啟動等命令和一些其他日常的任務。GUI 界面是一個標準化的界面,所有控件的操作方式都是固定不變的, 但是 GUI 界面可以滿足不同的情況,不再單一的運算某一種函數,而是用戶根據不同的情況、來設定不同的輸入值,從而得到不同的結果。同時,GUI 界面輸出的結果大多可用圖形來表示,這樣就更加的直觀方便,具備很多其余界面無法媲美的功能,這是很多界面所比擬不了的。
GUI 界面的市場前景廣闊,由于 GUI 界面能給產品帶來很高的附加值,很多公司或機構都在從事 GUI 的研究和設計,這對 GUI 的發(fā)展來說無疑是一個利好。在當今社會, 計算機快速發(fā)展的主要成就之一就是 GUI 的廣泛應用,對于一般用戶來講,GUI 的出現大大的方便了他們的使用,不需要進行復雜繁瑣的操作,而是通過使用不同的控件,如菜單、按鈕等方式來進行操作,降低了使用門檻,更加快捷、更加輕松,同時還能得到更為準確的結果。
4.2 問題概況
曲柄滑塊機構如圖 4.1 所示,OA=l1,AB=l2,曲柄 OA 以勻角速度ω轉動,并帶動連桿 AB 做平面運動,滑塊 B 沿水平方向運動,分析并模擬該機構的運動:
圖 4.1 曲柄滑塊機構運動學示意圖
4.3 數學分析
如圖 4.1 所示,規(guī)定φ為 OA 與 x 軸正方向的夾角,θ為 AB 與 x 軸正方向的夾角。以 AB 為研究對象,以 A 為基點、B 為動點,運用剛體平面運動的基點法進行分析,其速度分解如圖 4.2 所示:
圖 4.2 剛體平面運動速度分解圖
根據基點法的速度合成定理有:
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)
設 y1 = f ,y2 = f ,y3 = q ,y4 = q ,y5 = xB ,y6 = xB ,定義矩陣 y = [y1, y2 , y3 , y4 , y5 , y6 ]來分別保存這 6 個運動變量在各個時間點上的取值。這時我們選擇 ode 函數來求解 y 這個運動變量,首先需要求出 y 的微分形式和初值,根據式(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
設初始時φ=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ù 。根據式(4.4),編寫出 ode 函數如圖 4.3 所
0 ê
? l2
示:
1 2 ú
?
圖4.3 ode函數程序
并將該文件保存為f7.m文件。
4.4 界面設計
設計 GUI 人機交互界面,我們可以大致的分為兩個步驟:
○ 1 人機交互界面的外觀設計。按照界面的需求,通過添加不同控件,如文本框、按鈕、按鈕組和對話框等控件,設計出一個簡潔大方、使用方便的人機交互界面。同時明確該交互界面的功能,即在交互界面上的操作會得到相應怎樣的結果。
○ 2 交互界面的完成。在這一部分,用戶將根據在第一階段所確定的界面不同控件的
不同功能,為了達到界面的預期效果,編寫出能夠實現相應功能的函數代碼,確保這個圖形界面能實現預定的功能。
根據式(4.4)可知 OA=l1、AB=l2 和 OA 桿的角速度ω三個變量為運動參數,在 GUI 界面左上的輸入區(qū)域設置 4 個編輯框分別來接受 l、a 和ω這 3 個運動參數和模擬時間。轉角φ在整個運動過程中單調遞增,所以設置了時間 t、φ為查詢條件。
進入 GUI 界面初始環(huán)境,添加 13 個編輯文本框,12 個靜態(tài)文本框、6 個按鈕、3 個坐標軸和 1 個分組控件,同時創(chuàng)建 Open、Print、Close 三個菜單。
在將所有所需的控件都添加到界面中后,拖動它們到相應的位置,在調整好位置之后,設置各控件的屬性。最后的界面效果如圖 4.4 所示:
圖 4.4 用戶界面設計
“曲線”按鈕回調函數:
設置 axes2 的 x 軸、y 軸分別為
(時間/s)、(位移(m)、速度(m/s)、加速度(m/s2))
在 axes2 上畫 B 點位移、速度、加速度曲線
、
4.5 主要代碼設計流程
為了滿足 GUI 的使用需要,在完成界面設計的基礎上,將相應的代碼輸入到各自的回調函數中,可將主要控件的代碼設計歸納為下圖所示:
“計算”按鈕設計流程: “曲線”按鈕設計流程:
設置全局變量
申明全局變量
設置“曲線”、“動畫”、“保存數據”按鈕不可用
在 axes1 上畫 seta 角、角速度、角加速度曲線
將相關運動參數讀入變量
l1、l2 和 omega
設置 axes1 的 x 軸、y 軸分別為
(時間/s)、(轉角(rad)、角速度
(rad/s)、角加速度(rad/s2))
將模擬時間賦給 tfinal
標記三條曲線為“seta 角”、“seta 角速度”、“seta 角加速度”
設置“曲線”、“動畫”、
“保存數據”按鈕可用
標記三條曲線為“B 點位移”、“B 點速度”、“B 點加速度”
以時間為條件進行查詢
設置“phi=”所對應的編輯框為可用
設置“phi=”所對應的編輯框為不可用
模擬機構運動
設置時間查詢所對應的編輯框為可用
設置模擬各桿運動的句柄
選擇了 dx1 單選框時(以時間為查詢對象),設置 f=1
設置模擬各點運動的句柄
“動畫”按鈕設計流程: 分組控件設計流程:
申明全局變量
申明全局變量
設定橫、縱坐標軸的范圍
取得被選擇對象的 Tag 屬性值
選擇了 dx2 單選框時(以 phi 為查詢對象),設置 f=2
“查詢”按鈕設計流程:
申明全局變量
設置時間查詢所對應的編輯框為不可用
計算線型差值的兩個系數
m,n
以φ為條件進行查詢
計算線型差值的兩個系數
m,n
4.6 界面結果展示
在第一部分 OA 編輯框內輸入 1、AB 編輯框內輸入 3、角速度編輯框內輸入 0.5,最后在模擬時間編輯框內輸入 60,依次點擊按鈕計算、曲線和動畫,之后再查詢條件框內輸入相應的查詢條件,得到的仿真和查詢結果如圖 4.5 所示:
圖 4.5 用戶界面運行結果示意
在該 GUI 界面中,能夠十分清晰明了的看見θ角的各項參數和 B 點各項參數的變化情況,并且能夠通過查詢某一時刻的φ值,得到該時刻各項參數的瞬時值,有曲線圖的同時還有機構運動的仿真動畫,十分的直觀方便,使用者可根據自己的不同需要進行設計和仿真。
在 Simulink 仿真圖和 GUI 界面中,我們能發(fā)現相同的一點,就是兩種仿真形式, 都能夠直觀的看到各桿的運動參數,無論是哪一種方法,都很方便,都能夠為四桿的仿真分析提供一個很好的辦法。
5 平面四桿機構的優(yōu)化設計
5.1 四桿的優(yōu)化設計方法
機構的優(yōu)化,就是在給定的機構學、運動學、動力學的要求下,在滿足結構設計要求的前提下,將其他因素的限制在一個合理的范圍內,并建立某種設計準則(目標函數),不斷調整設計參數,進行優(yōu)化計算,獲得最佳的設計方案。對于平面四桿機構來講,優(yōu)化的基本問題是在設定好目標函數的前提下,根據實際情況增加相應的約束條件,最后再進行優(yōu)化計算,目的是找到最優(yōu)的設計參數,其步驟如圖 5.1 所示:
如不滿足, 跳回第一步
圖 5.1 優(yōu)化設計步驟
在進行設計的時候,大多數的實際工程問題都可以用數學公式來建模描述,三個主要考慮的因素為設計變量、目標函數和約束條件。也就是為了使得目標函數能夠達到設計人員的要求,給機構一些約束條件,從而再去尋找合適的設計變量值。
5.2 建立數學模型
首先,應確定設計變量,在鉸鏈四桿機構各桿長度不知道的情況下,由于機構運動規(guī)律不變,所以設主動件 l1 的長度為 1,其余桿長便為 l1 的倍數,這樣的目的是使桿長能夠按比例分布計算,簡化了計算和編程。
我們設定桿 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)
從式子可以看出,設計變量只有 l2、l3 和 l4。故將該設計變量改寫為:
X = [x1; x2 ; x3 ] = [l2 ;l3;l4 ]
(5.2)
在進行目標函數的建立時,設計目標定為追求從動件實際輸入角度系列值與期望實現函數的平方偏差之和最小,即:
n
2
min f ( X ) = ?(fEi -fi )
i=0
(5.3)
其中:n 將輸出角度等分,fEi 為期望輸出角度,fi 為實際輸出角度,分析兩個不同的輸出角度,我們可以得出一個關系式:
= {
f
p -ai -bi (0
收藏