用matlab分析四杆机构
基于matlab的四杆机构运动分析
基于matlab的四杆机构运动分析一、四杆机构基本概念四杆机构是一种通过变换连杆长度,改变机构运动形态的机械系统。
四杆机构通常由固定连杆、推动连杆、连接杆和工作连杆四个连杆组成,其中固定连杆和推动连杆固定不动,连接杆和工作连杆则沿固定轴线的方向做平动或旋转运动。
四杆机构的基本构造如下图所示:四杆机构的四个连杆的长度和构造参数,以及驱动机构的运动决定了机构的运动特性。
在进行四杆机构运动分析时,需要通过求解运动学关系式和动力学方程,得到连杆的运动规律和力学特性。
二、四杆机构运动学分析1.运动学基本方程四杆机构的运动学分析基本方程是连杆长度变化的定理,即:l₁²+l₂²-2l₁l₂cosθ₂=l₃²+l₄²-2l₃l₄cosθ₄其中,l₁,l₂分别为固定连杆和推动连杆长度;l₃,l₄分别为连接杆和工作连杆长度;θ₂,θ₄分别为推动连杆和工作连杆的夹角。
2.运动学求解方法根据四杆机构运动学基本方程,可以求解机构中任意连杆的角度和位置,从而分析机构运动规律。
在matlab程序中,运动分析可以采用分析法或图解法。
分析法通常采用向量法或坐标法,即将四杆机构中各连杆和运动副的运动量表示为向量或坐标,然后根据连杆长度变化的定理,求解四个未知角度θ₁、θ₂、θ₃、θ₄。
图解法则先通过画图确定机构的运动规律,在图上求解连杆的角度。
比如可以采用伯格(Bourgeois)图法或恰普利恩(Chaplygin)图法等。
四杆机构动力学分析基本方程包括平衡方程和力平衡方程。
平衡方程:当四杆机构处于平衡状态时,连杆的受力关系可以表示为:ΣF=0其中ΣF为各连杆受力的合力。
ΣF=m×a其中,m为每个连杆的质量,a为连杆的加速度。
四杆机构动力学求解方法以matlab为工具,可借助matlab的求解器完成求解。
具体可以利用matlab的优化工具箱、控制工具箱和系统动态学工具箱等,来实现机构模型的动态模拟、仿真和优化设计。
基于MATLAB的四杆机构运动分析
石河子大学毕业设计(论文)题目:基于MATLAB的四杆机构运动分析与动画模拟系统院(系):机械电气工程学院专业:机械设计制造及其自动化学号: 2002071189姓名: 娄元建指导教师:葛建兵完成日期:二零零六年五月基于MATLAB的四杆机构运动分析与动画模拟系统[摘要] 本文介绍MATLAB开发机构运动分析和动画模拟系统的方法,并且利用MATLAB软件实现平面四杆机构的运动仿真。
以MATLAB程序设计语言为平台,将参数化设计与交互式相结合,设计出四杆机构仿真系统,能够实现四杆机构的参数化设计,并且能够进行机构的速度和加速度分析。
系统具有方便用户的良好界面,并给出界面设计程序,从而使机构分析更加方便、快捷、直观和形象,设计者只需输几参数就可得到仿真结果,为平面四杆机构的设计与分析提供一条便捷的途径。
[关键词] 机构;运动分析;动画模拟;仿真;参数化;MATLABAbstract:The kinematical analysis and animation method of the mechanism using MATLAB was discussed in the paper , and the kinematic simulation of planar four-bar mechanism with software MATLAB . And emulational system was developed , the system adopted Matlab as a design , It combined parametic design with interactive design and had good interface for user , that can realize parametic design of four-bar mechanism , also to make real speed and acceleration of mechanism 。
基于MATLAB的四杆变幅机构结构参数分析(1)
作者简介:黄鹤辉(1947-),男,广西宜州市人,广西工学院副教授。
收稿日期:2002-12-17基于M A TLAB 的四杆变幅机构结构参数分析黄鹤辉,陈 晨(广西工学院机械工程系,广西柳州 545006)摘要:本文介绍利用M A TLAB [1]数值计算和数据可视化功能对门座式起重机四杆变幅机构结构参数进行分析,各参数变化时对运动规律的影响。
关键词:门座式起重机;四杆变幅机构;结构分析中图分类号:TB 11 文献标识码:A :1004-2148(2003)01-0029-04引言 四杆变幅机构是门座式起重机应用最广泛的一种装置。
它的设计要求是:在变幅过程中由物品引起的臂架力矩要尽量地小,变幅轨迹的最大铅垂落差要尽量地小,速度要均匀,机构重量要轻等。
由于四杆变幅机构结构参数较多,用一般的解析法或图解法很难分析其运动规律。
本文介绍利用M A TLAB 强大的数值计算功能和数据可视化功能,当初步选定某一结构方案后,计算臂架一定转角范围内象鼻梁端点(起吊点)的轨迹坐标和臂架力矩值并绘制曲线,并在其它参数确定的情况下将某一参数在一定范围内取不同值绘制轨迹曲线和力矩曲线,分析各参数对轨迹、力矩曲线的影响规律,为合理确定各参数提供直观、可靠的依据。
在此基础上,也可借助M A TLAB 优化工具箱的函数进行优化计算[2],最后再次将优化结果绘制曲线验证。
由于M A TALB 语言书写简洁,且无须设计者进行复杂的优化计算基础编程工作,易于在实际设计工作中推广应用。
1 四杆变幅机构运动分析[3] 四杆变幅机构结构简图如图1所示。
图中S m ax ,S m in —机构最大、最小的变幅值: h —起升高度;(x ,y )—象鼻梁E 点坐标;(x 0,y 0)—拉杆固定支点B 0的坐标;l 0—A 0B 0间的长度;l 0—臂架A 0D 的长度;l 2—象鼻梁后臂DB 的长度;l 3—拉杆B 0B 的长度;l 4—象鼻梁前臂D E 的长度;图1 四杆变幅机构Η—象鼻梁前后臂之间的夹角;Α—臂架的摆角;Β—拉杆的摆角;Υ—象鼻梁前臂与x 轴的夹角。
基于matlab的平面四连杆机构设计以及该机构的运动分析参考模板
基于matlab的平面四连杆机构设计以及该机构的运动仿真分析摘要四连杆机构因其结构方便灵活,能够传递动力并实现多种运动形式而被广泛应用于各个领域,因此对其进行运动分析具有重要的意义。
传统的分析方法主要应用几何综合法和解析综合法,几何综合法简单直观,但是精确度较低;解析法精确度较高,但是计算工作量大。
随着计算机辅助数值解法的发展,特别是MATLAB软件的引入,解析法已经得到了广泛的应用。
对于四连杆的运动分析,若应用MATLAB 则需要大量的编程,因此我们引入proe软件,我们不仅可以在此软件中建立实物图,而且还可以对其进行运动仿真并对其运动分析。
在设计四连杆时,我们利用解析综合法建立数学模型,再根据数学模型在MATLAB中编程可以求得其他杆件的长度。
针对范例中所求得的各连杆的长度,我们在proe软件中画出其三维图(如图4)并在proe软件中进行仿真分析得出CB,的角加速度的变化,从而得到CB,两接触处所受到的力是成周期性变化的,可以看出CB,两点处的疲劳断裂,我们提B,两点处极易疲劳断裂,针对C出了在设计四连杆中的一些建议。
关键字:解析法 MATLAB 软件 proe 软件 运动仿真建立用解析法设计平面四杆机构模型对于问题中所给出的连架杆AB 的三个位置与连架杆CD 的三个位置相对应,即三组对应位置为:332211,,,,,ψϕψϕψϕ,其中他们对应的值分别为: 52,45,82,90,112,135,为了便于写代数式,可作出AB 与CD 对应的关系,其图如下:图—2 AB 与CD 三个位置对应的关系通过上图我们可以通过建立平面直角坐标系并利用解析法来求解,其直角坐标系图如下:φααi θi φi图—3 平面机构直角坐标系通过建立直角坐标系OXY ,如上图所示,其中0α与0φ为AB 杆与CD 杆的初始角,各杆件的长度分别用矢量d c b a ,,,,表示,将各矢量分别在X 轴与Y 轴上投影的方程为⎩⎨⎧=++=+)sin(*)sin(*)sin(*)cos(*)cos(*)cos(*φθαφθαc b a c d b a在上述的方程中我们可以消除θ,从而可以得到α与φ之间的关系如下:)cos(2)cos(2)cos(2)(2222αφαφab ac cd b d c a +-=+-++ (1) 为便于化简以及matlab 编程我们可以令:⎪⎪⎪⎩⎪⎪⎪⎨⎧==-++=c d H a d H ac b d c a H 32222212 (2) 通过将(2)式代入(1)式中则可以化简得到如下等式: )cos()cos()cos(321αφαφH H H +-=+ (3)我们可以通过(3)式将两连架杆对应的位置带入(3)式中,我们可以得到如下方程:⎪⎩⎪⎨⎧+-=++-=++-=+)cos()cos()cos()cos()cos()cos()cos()cos()cos(333332123222211311121ϕψϕψϕψϕψϕψϕψH H H H H H H H H (4) 联立(4)方程组我们可以求得321,,H H H ,再根据(2)中的条件以及所给定的机架d 的长度,我们可以求出其它杆件的长度为:⎪⎪⎪⎩⎪⎪⎪⎨⎧-++===1222322acH d c a b H d c H d a (5)四连杆设计范例:在日常生活中,我们经常看到消防门总能自动关上,其实它是利用四连杆机构与弹簧组成的。
基于matlab的平面四杆机构运动分析_毕业论文
……………………. ………………. …………………毕业论文基于MATLAB的平面四杆机构运动分析院部机械与电子工程学院装订线……………….……. …………. …………. ………摘要 (I)Abstract (II)1 绪论 (1)2 平面四杆机构运动分析 (2)2.1 平面四杆机构简介 (2)2.2 平面四杆机构类型分析 (3)2.3 建立平面四杆机构的数学模型 (4)2.3.1 建立平面四杆机构的封闭矢量位置方程式 (4)2.3.2 运用矢量法和矩阵法求解封闭矢量方程式 (5)2.3.3 求解过程涉及的数学、物理计算方法 (6)3 基于MATLAB 的运动分析程序设计 (7)3.1 MATLAB简介 (7)3.2 程序设计流程 (8)3.3 编写程序的M文件 (10)3.3.1编写fun函数 (10)3.3.2编写主程序 (10)3.4 程序运行输出结果 (12)4 基于MATLAB的GUI分析系统设计 (15)4.1 GUI简介 (15)4.2 GUI界面设计 (15)4.3 GUI代码编写 (16)4.3.1 Edit Text代码编写 (16)4.3.2 Pop-up Menu代码编写 (16)4.4 GUI分析系统运行效果 (17)5 结论 (18)参考文献 (20)致谢 (20)附录 (20)附录一主函数程序代码 (20)附录二popupmenu4_Callback函数下程序代码 (23)Abstract (II)1 Introduction (1)2 The analysis of motion for planar four-bar mechanism (2)2.1 Intoduction to the planar four-bar mechanism (2)2.2 Analysis for the types of planar four-bar mechanism (3)2.3 Build the mathematical model of planar four-bar mechanism (4)2.3.1 Build the closed position vector equation for planar four-bar mechanism (4)2.3.2 Apply the vector & matrix method to solve the closed vector equation (4)2.3.3 Mathematical & physical calculation method involved in the solving process (5)3 The program design for the motion analysis based on MATLAB (7)3.1 Introduction to MATLAB (7)3.2 The program design process (7)3.3 Write the M-file for program (9)3.3.1 Write the fun function (9)3.3.2 Write the main function (9)3.4 The output of running the program (11)4 The design of GUI analysis system based on MATLAB (14)4.1 Introducton to GUI (14)4.2 The interface design of GUI (14)4.3 Write the GUI code (15)4.3.1 Write the Edit Text code (15)4.3.2 Write the Pop-up Menu code (15)4.4 The running effect of the GUI analysis system (16)5 Conclusion (19)References (20)Acknowledgement (21)Appendix (22)Appendix I The main function code (22)Appendix II The popupmenu4_Callback function code (25)基于MATLAB的平面四杆机构运动分析摘要:建立以平面四杆机构为研究对象的数学模型,以MATLAB软件为载体,利用MATLAB矩阵数据分析处理功能,设计了平面四杆机构运动分析程序。
MATLAB程序:已知三个位置设计平面四杆机构求解程序(位移矩阵法)
%MATLAB程序:已知三个位置设计平面四杆机构求解程序(位移矩阵法)clear;clc;%凡是变量名前带v的为数值变量,不带的是符号变量vxp1=0; vyp1=0; vsita1=0*pi/180;vxp2=-2; vyp2=6; vsita2=40*pi/180;vxp3=-10; vyp3=8; vsita3=90*pi/180; %精确位置P1,P2,P3及各角度vsita12=vsita2-vsita1;vsita13=vsita3-vsita1;vxa=-10; vya=-2;vxd=-5; vyd=-2; %选定A,D点%所有数值均在此确定,更改此处即可解出不同数值的四杆机构位移矩阵方程syms xp1 yp1 xp2 yp2 xp3 yp3 sita12 sita13;syms xa ya xb1 yb1 xb2 yb2 xb3 yb3;f1='(xb2-xa)^2+(yb2-ya)^2=(xb1-xa)^2+(yb1-ya)^2';f2='(xb3-xa)^2+(yb3-ya)^2=(xb1-xa)^2+(yb1-ya)^2'; %前两个机构方程f3='xb2=cos(sita12)*xb1-sin(sita12)*yb1+xp2-xp1*cos(sita12)+yp1*sin(sita12)';f4='yb2=sin(sita12)*xb1+cos(sita12)*yb1+yp2-xp1*sin(sita12)-yp1*cos(sita12)'; %由第一个位移矩阵方程得出f5='xb3=cos(sita13)*xb1-sin(sita13)*yb1+xp3-xp1*cos(sita13)+yp1*sin(sita13)';f6='yb3=sin(sita13)*xb1+cos(sita13)*yb1+yp3-xp1*sin(sita13)-yp1*cos(sita13)'; %由第二个位移矩阵方程得出f1=subs(f1,{xa,ya},{vxa,vya});f2=subs(f2,{xa,ya},{vxa,vya});f3=subs(f3,{xp1,xp2,yp1,sita12},{vxp1,vxp2,vyp1,vsita12});f4=subs(f4,{xp1,yp1,yp2,sita12},{vxp1,vyp1,vyp2,vsita12});f5=subs(f5,{xp1,xp3,yp1,sita13},{vxp1,vxp3,vyp1,vsita13});f6=subs(f6,{xp1,yp1,yp3,sita13},{vxp1,vyp1,vyp3,vsita13}); %代入具体数值[xb1,xb2,xb3,yb1,yb2,yb3]=solve(f1,f2,f3,f4,f5,f6); %解方程vxb1=vpa(xb1);vyb1=vpa(yb1);vxb2=vpa(xb2);vyb2=vpa(yb2);vxb3=vpa(xb3);vyb3=vpa(yb3);(vxb1-vxa)^2+(vyb1-vya)^2;(vxb2-vxa)^2+(vyb2-vya)^2;(vxb3-vxa)^2+(vyb3-vya)^2; %去掉这三行分号可验证B点三个位置是否距离A点相等syms xd yd xc1 yc1 xc2 yc2 xc3 yc3;f7='(xc2-xd)^2+(yc2-yd)^2=(xc1-xd)^2+(yc1-yd)^2';f8='(xc3-xd)^2+(yc3-yd)^2=(xc1-xd)^2+(yc1-yd)^2'; %前两个机构方程f9='xc2=cos(sita12)*xc1-sin(sita12)*yc1+xp2-xp1*cos(sita12)+yp1*sin(sita12)';f10='yc2=sin(sita12)*xc1+cos(sita12)*yc1+yp2-xp1*sin(sita12)-yp1*cos(sita12)'; %由第一个位移矩阵方程得出f11='xc3=cos(sita13)*xc1-sin(sita13)*yc1+xp3-xp1*cos(sita13)+yp1*sin(sita13)';f12='yc3=sin(sita13)*xc1+cos(sita13)*yc1+yp3-xp1*sin(sita13)-yp1*cos(sita13)'; %由第二个位移矩阵方程得出f7=subs(f7,{xd,yd},{vxd,vyd});f8=subs(f8,{xd,yd},{vxd,vyd});f9=subs(f9,{xp1,xp2,yp1,sita12},{vxp1,vxp2,vyp1,vsita12});f10=subs(f10,{xp1,yp1,yp2,sita12},{vxp1,vyp1,vyp2,vsita12});f11=subs(f11,{xp1,xp3,yp1,sita13},{vxp1,vxp3,vyp1,vsita13});f12=subs(f12,{xp1,yp1,yp3,sita13},{vxp1,vyp1,vyp3,vsita13}); %代入具体数值[xc1,xc2,xc3,yc1,yc2,yc3]=solve(f7,f8,f9,f10,f11,f12); %解方程vxc1=vpa(xc1);vyc1=vpa(yc1);vxc2=vpa(xc2);vyc2=vpa(yc2);vxc3=vpa(xc3);vyc3=vpa(yc3);(vxc1-vxd)^2+(vyc1-vyd)^2;(vxc2-vxd)^2+(vyc2-vyd)^2;(vxc3-vxd)^2+(vyc3-vyd)^2; %去掉这三行分号可验证C点三个位置是否距离D点相等%最终答案xb1,yb1,xc1,yc1Lab=sqrt((vxb1-vxa)^2+(vyb1-vya)^2)Lbc=sqrt((vxb1-vxc1)^2+(vyb1-vyc1)^2)Lcd=sqrt((vxc1-vxd)^2+(vyc1-vyd)^2)Lad=sqrt((vxa-vxd)^2+(vya-vyd)^2) %得到四杆长'曲柄存在条件:'%得出四杆长后计算得到'可靠到位条件:'[vxc1-vxb1,vyc1-vyb1]*[vxc1-vxd,vyc1-vyd]'[vxc2-vxb2,vyc2-vyb2]*[vxc2-vxd,vyc2-vyd]'[vxc3-vxb3,vyc3-vyb3]*[vxc3-vxd,vyc3-vyd]''顺序到位条件:'%未完成输出结果:xb1 =(-7-4*sin(2/9*pi)+4*cos(2/9*pi))/(4*cos(2/9*pi)+4*sin(2/9*pi)-5)yb1 =-1xc1 =-6*(27+24*sin(2/9*pi)-64*cos(2/9*pi))/(-31*cos(2/9*pi)-5+39*sin(2/9*pi))yc1 =-2*(72*cos(2/9*pi)-175+192*sin(2/9*pi))/(-31*cos(2/9*pi)-5+39*sin(2/9*pi))Lab =1.0288436025165976748172169832223Lbc =2.9872531417317691216303250912289Lcd =6.9831476545729886023199865357226Lad =5ans =曲柄存在条件:ans =可靠到位条件:ans =14.605219997928496422368168445525ans =19.799913716084881287517588922012ans =20.814756669957613005391246805307ans =顺序到位条件:。
运用MATLAB解决四杆机构问题
MATLAB 解题1.设有如图所示四杆机构,其中→R 4为机架(常矢),→R1为主动杆,→R3为从动杆,→R 2为连杆。
设在某一工作位置时各杆的角速度和角加速度分别取如下值:ω1=20 rad/s, ε1= 0;ω2=8.5 rad/s, ε2=-10 rad /s 2;ω3=13 rad/s, ε3=-160rad /s 2.试根据上述要求确定该机构尺寸比。
根据图(2),回路闭合方程可写为:→R 1 +→R 2 +→R 3=-→R 4 回路闭合方程对时间求导一次,利用(6)式,可得: 图2 ω1→R 1 +ω2→R 2 +ω3→R 3 = 0回路闭合方程对时间求导两次,利用(7)式,可得c 1→R 1 + c 2 →R 2 + c 3→R 3 = 0其中 c 1=ε1+j ω12 , c 2=ε2+j ω22, c 3=ε3+j ω32解关于→R 1 ,→R 2 和→R 3的线性方程组:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡→→→001111321321321R R R c c c ωωω→R 4 (13) 可得 →R 1=DDx →R 4, →R 2=DDy →R 4 , →R 3=DDz →R 4注意到上述解中含有相同的分母D,它是一个复数,不妨记为D =k<j α|,被它除的效果是把各杆的长度都缩小k 倍,同时方向都顺时针旋转α角,相当于机构不动,坐标轴逆时针旋转α角。
设计机构时,重要的是机构的形状与尺寸比例。
基于这种考虑,可设→R 4 / D =1,则有→R 1=D x =32320111c c ωω-=1230-j497.3 ; →R 2= D y =311030111c c ωω-=-3200-j1820 ; →R 3= D z =001112121c c ωω-=200+j1955 . 于是:→R 4 = -(→R 1 +→R 2+→R 3) = 1770+j362.3在坐标系上作出上述各杆矢量图,根据各杆矢量图作出机构的闭合矢量图,再根据实际需要选定某一杆长度,其它各杆长度按图比例相似放大。
基于MATLAB的液压支架四连杆机构的力学分析
参考文献 1. 黄 滨, 王 秦辉. 优 化课程 结构 的探 索与实 践[ J] . 教 书育 人, 2002
155
三、结语 总之, 对于 变电站 的自 动化 系统, 要 充分 掌握 接地 干扰 的途径、原理、以及可能会受干扰 的设备, 并针 对他们 采取有 效地预防措施。通过 这些 有效 的措 施保 证变 电站 的自 动化 系统的安全、高效的运行 。变电 站的自 动化系 统是一 个复杂 的系统, 在实际的运行当 中, 要结 合实际 情况, 不断地 进行改 造、完善, 以确保变电站能够安全的生产。
154
标函数对支架四连杆机构进行优化设计。 一、输入液压支架基本参数 在进行液压支架四连杆机构优 化设计时 , 首 先要根 据四
连杆液压支架尺寸 结构 确立 科学 合理 的数 学模 型。参照 简 图根据实际工况的 条件和 四连 杆的几 何运 动轨 迹把 合理 的 参数输入到图 1 中, 如 图 1 所示。 也 可以 用 导入 按 钮在 . txt 格式的文件中直接 导入数 值, 最后 运算合 理的 数值可 通 过导出按钮直接导出到 . txt 格式的文件中保存。
应用MATLAB解决四杆机构角位移和角速度
本科毕业设计(论文)通过答辩本科毕业设计(论文)通过答辩优秀论文设计,答辩无忧,值得下载!优秀论文设计,答辩无忧,值得下载!应用MATLAB 解决四杆机构角位移和角速度学院:学院:班级:班级:姓名:姓名:学号:学号:题 干:已知曲柄摇杆机构的四杆长度为L1=304.8mm ,L2=101.6mm, L3=254.0mm,L4=177.8mm.曲柄角速度ω2=250rad/s,试用M 文件编写程序计算连杆3和摇杆4的角位移,3q ,4q ,角速度3w ,4w ,并绘制出运动曲线。
机构如下图。
线。
机构如下图。
错误!未指定主题。
求解方法及公式:对于四杆机构存在如下公式:对于四杆机构存在如下公式:闭环矢量方程:4132r r r r +=+写成角位移方程的分量式:写成角位移方程的分量式:)cos()cos()cos()cos(44113322q q q q r r r r +=+)sin()sin()sin()sin(44113322q q q q r r r r +=+求解角位移方法利用牛顿---辛普森公式辛普森公式 将分量式写成如下形式:将分量式写成如下形式:()0)sin()sin()sin()sin(,44113322432=--+=q q q q q q r r r r f⑴()0)cos()cos()cos()cos(,44113322431=--+=q q q q q q r r r r f从示意图可知杆1角位移恒为0,设曲柄2初始角位移为0。
对于连杆3,和摇杆4的角位移表示为预计值与微小修正因子之和。
表示如下:的角位移表示为预计值与微小修正因子之和。
表示如下:3'33q J q D +=4'44q J q D += 将上式按泰勒级数展开,去掉高次项得到如下公式:将上式按泰勒级数展开,去掉高次项得到如下公式:()4'4'3413'4'331'4'31,q q q q q q q q q q D ´¶¶+D ´¶¶+f f f =0()4'4'3423'4'332'4'32,q q q q q q q q q q D ´¶¶+D ´¶¶+f f f =0将上式写成矩阵形式:将上式写成矩阵形式:()'4'32,q q f '4'341'4'331,q q q q q q ¶¶¶¶f f3q D '3q += ()'4'32,q q f'4'342'4'332,q q q q q q ¶¶¶¶f f 4q D '4q利用矩阵求出连杆3和摇杆4的微小修正因子,将修正因子与预计值相加求出角位移,将求出的角位移带入⑴中,看是否满足函数值足够小。
matlab四连杆机构代码实现
matlab四连杆机构代码实现
下面是一个使用MATLAB实现四连杆机构的简单示例代码:
```matlab
% 定义连杆参数
a = [2 3 2 3]; % 连杆长度
theta = [pi/4 pi/3 pi/2 pi/6]; % 连杆转角
% 计算连杆末端坐标
x = zeros(1,5);
y = zeros(1,5);
for i = 2:5
x(i) = x(i-1) + a(i-1) * cos(theta(i-1));
y(i) = y(i-1) + a(i-1) * sin(theta(i-1));
end
% 绘制机构图像
figure;
hold on;
axis equal;
for i = 1:4
line([x(i) x(i+1)], [y(i) y(i+1)], 'LineWidth', 2);
plot(x(i+1), y(i+1), 'ro', 'MarkerSize', 8);
end
```
在这个例子中,我们使用数组`a`存储了四个连杆的长度,使用数组`theta`存储了四个连杆的转角。
通过循环计算每个连杆末端的坐标,并使用MATLAB的`line`函数和`plot`函数绘制连杆和末端坐标点。
你可以根据实际情况修改连杆长度和转角,然后运行代码来生成相应的机构图像。
希望对你有帮助!。
matlab四杆机构源程序
1.角位移M函数:function y=jweiyi(x)% Input parameters% x(1)=theta-1% x(2)=theta-2 guess value% x(3)=theta-3 guess value% x(4)=r1% x(5)=r2% x(6)=r3% x(7)=r4% Output parameters% y(1)=theta-2% y(2)=theta-3theta2=x(2);theta3=x(3);%epsilon=1.0E-6;%f=[x(4)*cos(x(1))+x(5)*cos(theta2)-x(7)-x(6)*cos(theta3);x(4)*sin(x(1))+x(5)*sin(theta2)-x(6)*sin(theta3)];%while norm(f)>epsilonJ=[-x(5)*sin(theta2) x(6)*sin(theta3);x(5)*cos(theta2) -x(6)*cos(theta3)];dth=inv(J)*(-1.0*f);theta2=theta2+dth(1);theta3=theta3+dth(2);f=[x(4)*cos(x(1))+x(5)*cos(theta2)-x(7)-x(6)*cos(theta3);x(4)*sin(x(1))+x(5)*sin(theta2)-x(6)*sin(theta3)];norm(f);end;y(1)=theta2;y(2)=theta3;2. r1旋转360°时,θ2,θ3的M文件程序:r(1)=50;r(2)=150;r(3)=300;r(4)=400;dr=pi/180;th(1)=0;th(2)=58.4119*dr;th(3)=154.7912*dr;y=jweiyi([th(1),th(2),th(3),r(1),r(2),r(3),r(4)])dth=1*dr;for i=1:360y=jweiyi([th(1),th(2),th(3),r(1),r(2),r(3),r(4)]);th23(i,:)=[th(1)/dr,th(2)/dr,th(3)/dr];th(1)=th(1)+dth;th(2)=y(1);th(3)=y(2);endfigure(1)plot(th23(:,1),th23(:,2),th23(:,1),th23(:,3),th23(:,1),th23(:,1)) axis([0,360,0,360])grid ontitle('角位移线图')xlabel('曲柄转角th(1)')ylabel('从动件转角th(2),th(3)')text(300,50,'角th(2)')text(300,150,'角th(3)')text(200,200,'角th(1)')3.角速度的M函数:function y=rrrvel(x)% Input parameters%% x(1)=theta-1% x(2)=theta-2% x(3)=theta-3% x(4)=dtheta-1% x(5)=r1% x(6)=r2% x(7)=r3%% Output parameters%% y(1)=dtheta-2% y(2)=dtheta-3%A=[-x(6)*sin(x(2)) x(7)*sin(x(3));x(6)*cos(x(2)) -x(7)*cos(x(3))];B=[x(5)*sin(x(1));-x(5)*cos(x(1))]*x(4);y=inv(A)*B;4. r1旋转360°时ω2,ω3的M文件程序:th(1)=0;dr=pi/180;dth(1)=36;dth(2)=58.4119*dr;dth(3)=154.7912*dr;dth1=1*dr;r(1)=50;r(2)=150;r(3)=300;r(4)=400;for j=1:360x=rrrvel([th(1),dth(2),dth(3),dth(1),r(1),r(2),r(3)]);y=jweiyi([th(1),dth(2),dth(3),r(1),r(2),r(3),r(4)]);dth(2)=y(1);dth(3)=y(2);th(1)=th(1)+dth1;dth23(j,:)=[th(1)/dr,x(1)/dr,x(2)/dr];endfigure(2)plot(dth23(:,1),dth23(:,2),dth23(:,1),dth23(:,3))axis([0,360,-800,2000])grid ontitle('角速度线图')xlabel('曲柄旋转角度')ylabel('从动件角速度dth(2),dth(3)(rad/s)')text(250,200,'连杆2角速度')text(50,100,'摇杆3角速度')5. r1旋转360°时,α2,α3程序M文件:r(1)=50;r(2)=150;r(3)=300;r(4)=400;th(1)=0;dr=pi/180;dth(2)=58.4119*dr;dth(3)=154.7912*dr;dth(1)=36;dth2=1*dr;for k=1:360x=rrrvel([th(1),dth(2),dth(3),dth(1),r(1),r(2),r(3)]);y=jweiyi([th(1),dth(2),dth(3),r(1),r(2),r(3),r(4)]);dth(2)=y(1);dth(3)=y(2);w1=x(1);w2=x(2);C=[-r(2)*sin(dth(2)),r(3)*sin(dth(3));r(2)*cos(dth(2)),-r(3)*cos(dth(3))];D=-[-w1*r(2)*cos(dth(2)),w2*r(3)*cos(dth(3));-w2*r(2)*sin(dth(2)),w2*r(3)*sin(dth(3))]*[w1;w 2]+10*[10*r(1)*cos(th(1));10*r(1)*sin(th(1))];a=inv(C)*D;a2(k)=a(1);a3(k)=a(2);jiao(k)=th(1);th(1)=th(1)+dth2;endfigure(3)plot(jiao/dr,a2,jiao/dr,a3)axis([0,360,-5000,5000])grid ontitle('角加速度线图')xlabel('曲柄旋转转角')ylabel('从动件角加速度(rad/s^2)')text(200,40,'连杆2的角加速度')text(150,-40,'摇杆3的角加速度')。
基于MATLAB的平面四连杆机构运动学分析
一、课程设计容及要求:1.对连杆机构运动工作原理及运动参数有一定理解2.掌握MATLAB基本命令3.了解MATLAB编程的基本知识,并能编写简单M文件4.了解MATLAB图形界面设计的基本知识5.课程设计说明书:应阐述整个课程设计容,要突出重点和特色,图文并茂,文字通畅。
应有目录、摘要及关键词、正文、参考文献等容,字数一般不少于6000字。
二、主要参考资料有关复杂刀具参数计算及结构设计、机械制造工艺与设备的手册与图册。
三、课程设计进度安排指导教师(签名):时间:教研室主任(签名):时间:院长(签名):时间:目录1平面连杆机构的运动分析 (1)1.1 机构运动分析的任务、目的和方法 (1)1.2 机构的工作原理 (1)1.3 机构的数学模型的建立 (1)1.3.1建立机构的闭环矢量位置方程 (1)1.3.2求解方法 (2)2 基于MATLAB程序设计 (4)2.1 程序流程图 (4)2.2 M文件编写 (6)2.3 程序运行结果输出 (7)3 基于MATLAB图形界面设计 (11)3.1界面设计 (11)3.2代码设计 (12)4 小结 (17)参考文献 (18)1平面连杆机构的运动分析1.1 机构运动分析的任务、目的和方法曲柄摇杆机构是平面连杆机构中最基本的由转动副组成的四杆机构,它可以用来实现转动和摆动之间运动形式的转换或传递动力。
对四杆机构进行运动分析的意义是:在机构尺寸参数已知的情况下,假定主动件(曲柄)做匀速转动,撇开力的作用,仅从运动几何关系上分析从动件(连杆、摇杆)的角位移、角速度、角加速度等运动参数的变化情况。
还可以根据机构闭环矢量方程计算从动件的位移偏差。
上述这些容,无论是设计新的机械,还是为了了解现有机械的运动性能,都是十分必要的,而且它还是研究机械运动性能和动力性能提供必要的依据。
机构运动分析的方法很多,主要有图解法和解析法。
当需要简捷直观地了解机构的某个或某几个位置的运动特性时,采用图解法比较方便,而且精度也能满足实际问题的要求。
用matlab分析四杆机构
首先创建函数 FoutBarPosition ,函数 fsolve 通过他确定 。
function t=fourbarposition(th,th2,L2,L3,L4,L1) t=[L2*cos(th2)+L3*cos(th(1))-L4*cos(th(2))- L1; …L2*sin(th2)+L3*sin(th(1))-L4*sin(th(2))];主程序如下:% 曲柄输入角度从 0 至 360 度,步长为 pi/6 th34=zeros(length(th2),2); %建立一个 N 行2列的零矩阵,第一列存放options=optimset('display','off'); %0 _3 ,第二列存放 0 _3figure(1)'k--A',x,y,'ko',xx,yy,'ks') title (' 连杆 3 的几个位置点 ') xlabel(' 水平方向 ') ylabel(' 垂直方向 ') axis equal %XY 坐标均衡 % 重新细分曲柄输入角度 0 _2,步长为 5 度th34=zeros(length(th2),2); options=optimset('display','off'); for m=1:length(th2)disp ' * * * 平面四杆机构的运动分析L1=304.8;L2=101.6;L3=254.0;L4=177.8;% 给定已知量,各杆长 L1,L2,L3,L4th2=[0:1/6:2]*pi;for m=1:length(th2) %建立for 循环,求解 0 _3 0 _4th34(m,:)=fsolve('fourbarposition',[1 1],…%调用fsove 函数求解关于 0 _3 0 _4options,th2(m),L2,L3,L4,L1); % 的非线性超越方程,结果保存在 th34 中end y=L2*sin(th2)+L3*sin(th34(:,1)'); % 连杆 3 的 D 端点 Y 坐标值 x=L2*cos(th2)+L3*cos(th34(:,1)'); % 连杆 3 的 D 端点 X 坐标值xx=[L2*cos(th2)]; % 连杆 3 的 C 端点 X 坐标值 yy=[L2*sin(th2)];% 连杆 3 的 C 端点 Y 坐标值plot([x;xx],[y;yy],'k',[0 L1],[0 0],%绘制连杆3的几个位置点th2=[0:2/72:2]*pi;th34(m,:)=fsolve('fourbarposition',[1 1], options,th2(m),L2,L3,L4,L1); endfigure(2) plot(th2*180/pi,th34(:,1)*180/pi,th2*180/pi,th34(:,2)*180/pi)% 绘制摇杆 4 的角位移关于曲柄 2 的角位移图axis([0 360 0 170]) % 确定 XY 边界值 grid % 图形加网格xlabel(' 主动件转角 \theta_2( 度 )') ylabel(' 从动件角位移 (度 )') title(' 角位移线图 ') text(120,120,' 摇杆 4 角位移 ') text(150,40,' 连杆 3 角位移 ') w2=250; % 设定曲柄角速度 for i=1:length(th2)A=[- L3*sin(th34(i,1)) L4*sin(th34(i,2)); L3*cos(th34(i,1)) -L4*cos(th34(i,2))]; B=[w2*L2*sin(th2(i)); -w2*L2*cos(th2(i))]; w=inv(A)*B; w3(i)=w(1); w4(i)=w(2); end figure(3)plot(th2*180/pi,w3,th2*180/pi,w4);% 绘制角速度线图axis([0 360 -175 200]) text(50,160,' 摇杆 4 角速度 (\omega_4)') text(220,130,' 连杆 3 角速度 (\omega_3)')plot(th2*180/pi,th34(:,1),th2*180/pi,th34(:,2)) 图%绘制连杆 3的角位移关于曲柄 2 的角位移grid xlabel(' 主动件转角 \theta_2( 度 )') ylabelC 从动件角速度(rad'cdot s^-l})') title (' 角速度线图 ') for i=1:length(th2)C=[-L3*sin(th34(i,1)) L4*sin(th34(i,2)); L3*cos(th34(i,1)) -L4*cos(th34(i,2))];D=[w2A2*L2*cos(th2(i))+w3(i)A2*L3*cos(th34(i,1))-w4(i)A2*L4*cos(th34(i,2));... w2A2*L2*si n( th2(i))+w3(i)^2*L3*s in (th34(i,1))-w4(i)A2*L4*si n( th34(i,2))]; a=inv(C)*D; a3(i)=a(1); a4(i)=a(2); endfigure(4) plot(th2*180/pi,a3,th2*180/pi,a4);axis([0 360 -70000 65000]) text(50,50000,' 摇杆 4 角加速度 (\alpha_4)') text(220,12000,' 连杆 3 角加速度 (\alpha_3)') grid曲柄转角 连杆转角 -摇杆转角 -连杆角速度 -摇杆角速度 -连杆加速度 -摇杆加速度 1.0e+004 *0 0.00440.0097 -0.0125-0.0125-0.54784.8458%绘制角加速度线图 xlabel (' 从动件角加速度 ')ylabel (' 从动件角加速度 (rad\cdot s^{-2})') title (' 角加速度线图 ')disp ' 曲柄转角连杆转角 -摇杆转角 -连杆角速度 -摇杆角速度 -连杆加速度 -摇杆加速度 ' ydcs=[th2'*180/pi,th34(:,1)*180/pi,th34(:,2)*180/pi,w3',w4',a3',a4']; disp(ydcs) >>* * * 平面四杆机构的运动分析0.0005 0.0042 0.0094 -0.0126 -0.0107 0.2300 5.5630 0.0010 0.0039 0.0092 -0.0124 -0.0086 0.8946 6.0520 0.0015 0.0037 0.0091 -0.0119 -0.0065 1.4143 6.2982 0.0020 0.0034 0.0090 -0.0114 -0.0043 1.7801 6.3174 0.0025 0.0032 0.0089 -0.0107 -0.0021 2.0027 6.1467 0.0030 0.0030 0.0089 -0.0100 0.0000 2.1046 5.8339 0.0035 0.0028 0.0089 -0.0093 0.0020 2.1134 5.4272 0.0040 0.0026 0.0090 -0.0085 0.0038 2.0566 4.9687 0.0045 0.0025 0.0091 -0.0078 0.0054 1.9578 4.4918 0.0050 0.0023 0.0092 -0.0072 0.0069 1.8356 4.0198 0.0055 0.0022 0.0093 -0.0065 0.0082 1.7040 3.5680 0.0060 0.0021 0.0095 -0.0060 0.0094 1.5725 3.1450 0.0065 0.0019 0.0097 -0.0055 0.0104 1.4474 2.7545 0.0070 0.0018 0.0099 -0.0050 0.0113 1.3328 2.3968 0.0075 0.0017 0.0102 -0.0045 0.0121 1.2307 2.0702 0.0080 0.0017 0.0104 -0.0041 0.0128 1.1425 1.7716 0.0085 0.0016 0.0107 -0.0037 0.0134 1.0687 1.4971 0.0090 0.0015 0.0110 -0.0034 0.0138 1.0095 1.2426 0.0095 0.0014 0.0112 -0.0030 0.0142 0.9653 1.0035 0.0100 0.0014 0.0115 -0.0027 0.0145 0.9364 0.7752 0.0105 0.0013 0.0118 -0.0024 0.0148 0.9232 0.5530 0.0110 0.0013 0.0121 -0.0020 0.0149 0.9269 0.3319 0.0115 0.0013 0.0124 -0.0017 0.0150 0.9485 0.1069 0.0120 0.0012 0.0127 -0.0014 0.0150 0.9899 -0.1276 0.0125 0.0012 0.0130 -0.0010 0.0149 1.0530 -0.3773 0.0130 0.0012 0.0133 -0.0006 0.0147 1.1404 -0.6481 0.0135 0.0012 0.0136 -0.0002 0.0145 1.2544 -0.9455 0.0140 0.0012 0.0139 0.0002 0.0141 1.3967 -1.2743 0.0145 0.0012 0.0142 0.0008 0.0136 1.5677 -1.63680.0150 0.0012 0.0144 0.0013 0.0129 1.7648 -2.0314 0.0155 0.0012 0.0147 0.0020 0.0121 1.9807 -2.4495 0.0160 0.0013 0.0149 0.0027 0.0112 2.2018 -2.8735 0.0165 0.0013 0.0151 0.0035 0.0101 2.4071 -3.2754 0.0170 0.0014 0.0153 0.0044 0.0089 2.5697 -3.6186 0.0175 0.0015 0.0155 0.0053 0.0076 2.6616 -3.8650 0.0180 0.0016 0.0156 0.0063 0.0063 2.6609 -3.9849 0.0185 0.0018 0.0157 0.0072 0.0049 2.5591 -3.9674 0.0190 0.0019 0.0158 0.0080 0.0035 2.3638 -3.8244 0.0195 0.0021 0.0159 0.0088 0.0022 2.0959 -3.5866 0.0200 0.0023 0.0159 0.0095 0.0010 1.7823 -3.2931 0.0205 0.0025 0.0159 0.0100 -0.0001 1.4487 -2.9815 0.0210 0.0027 0.0159 0.0105 -0.0011 1.1152 -2.6809 0.0215 0.0029 0.0159 0.0108 -0.0020 0.7942 -2.4103 0.0220 0.0031 0.0158 0.0111 -0.0028 0.4916 -2.1794 0.0225 0.0033 0.0158 0.0112 -0.0035 0.2086 -1.9913 0.0230 0.0036 0.0157 0.0112 -0.0042 -0.0565 -1.8450 0.0235 0.0038 0.0156 0.0111 -0.0048 -0.3071 -1.7375 0.0240 0.0040 0.0155 0.0110 -0.0054 -0.5475 -1.6650 0.0245 0.0042 0.0154 0.0108 -0.0060 -0.7817 -1.6233 0.0250 0.0044 0.0153 0.0104 -0.0065 -1.0139 -1.6089 0.0255 0.0046 0.0151 0.0100 -0.0071 -1.2479 -1.6181 0.0260 0.0048 0.0150 0.0096 -0.0077 -1.4868 -1.6480 0.0265 0.0050 0.0148 0.0090 -0.0082 -1.7336 -1.6955 0.0270 0.0052 0.0146 0.0084 -0.0088 -1.9905 -1.7574 0.0275 0.0054 0.0145 0.0076 -0.0095 -2.2588 -1.8304 0.0280 0.0055 0.0143 0.0068 -0.0101 -2.5391 -1.9100 0.0285 0.0056 0.0141 0.0058 -0.0108 -2.8305 -1.9910 0.0290 0.0057 0.0138 0.0048 -0.0115 -3.1300 -2.06600.0295 0.0058 0.0136 0.0037-0.0122 -3.4326 -2.1255 0.0300 0.0059 0.0133 0.0024 -0.0130 -3.7297 -2.1572 0.0305 0.0059 0.0131 0.0011 -0.0137 -4.0091 -2.1451 0.0310 0.0059 0.0128 -0.0004 -0.0145 -4.2538 -2.0696 0.0315 0.0059 0.0125 -0.0019 -0.0152 -4.4419 -1.9079 0.0320 0.0058 0.0122 -0.0035 -0.0158 -4.5473 -1.6352 0.0325 0.0058 0.0119 -0.0051 -0.0163 -4.5411 -1.2273 0.0330 0.0056 0.0115 -0.0066 -0.0166 -4.3954 -0.6661 0.0335 0.0055 0.0112 -0.0081 -0.0167 -4.0889 0.0551 0.0340 0.0053 0.0109 -0.0095 -0.0166 -3.6129 0.9243 0.0345 0.0051 0.0105 -0.0106 -0.0161 -2.9781 1.9058 0.0350 0.0049 0.0102 -0.0115 -0.0152 -2.2178 2.9395 0.0355 0.0047 0.0099 -0.0122 -0.0140 -1.3857 3.9473 0.03600.00440.0097-0.0125-0.0125-0.54784.8458图形输出图2连杆3的几个位置点-liOO•50 0 50 WQ 150200 苫 030a水平方向连秆了的几牛位,e 点从动件鶴速屋. 0)- hg § S O g §— 2g 8从动件fte移〔度)M Ilf■、III--疋■=r fcTi - ■-rl-Tr-r u TT ■ r r ■ T h T\ [搖杆個加速度圍V :・MlL50 100 ISO 200 250 m 350乩动斧S 加逋度图5角加速度线图11 I II…….丄J江谨杆埔加逮政幻Jj\IMl。
基于matlab GUI的平面四杆机构的运动分析
基于matlab GUI的平面四杆机构的运动分析一、目的通过matlab对平面四杆机构进行运动仿真,并以GUI界面方式实现输入输出的参数化,对平面四杆机构进行位置分析、速度分析、加速度分析和静力学分析。
此外,通过动画演示,更加形象直观地观察机构的运动过程。
最后,将程序编译成.exe独立可执行文件,可以在其它没有安装matlab的机器上运行。
二、设计思路通过matlab的GUI功能模块,创建一个图形用户界面,在自动生成的代码框架中对初始化函数和回调函数等进行编辑,建立与控件相关联的程序:控件属性、位置分析、速度分析、加速度分析、静力学分析、动画演示等。
图1是平面四杆机构的示意图,输入角q的运动规律为q=pi/50*t^2+q0,r1、r2是从动角。
对t时刻沿着杆长距离原点A的任意一点进行分析。
注意:输入输出角的单位为度,时间t的取值范围为0:0.05:10,任意点lx的取值范围为0~a1+a2+a3,估算的从动角r1、r2的迭代初始值不能偏离平衡位置太大。
图1、平面四杆机构示意图三、设计流程1、通过GUI模块创建图形用户界面命令方式:在Matlab命令窗口键入>>guide;菜单方式:在Matlab的主窗口中,选择File>New>GUI命令,就会显示GUI的设计模板。
如图1所示。
图2、创建图形界面2、设计图形界面在创建之后的图形界面中插入坐标轴axes,静态文本框static text,编辑文本框edit text,按钮push button等等。
如图所示。
图3、图形界面设计3、编辑回调函数1)位置分析:输入角的函数为:q=pi/50*t^2+q0。
在时间t=0~10s内,每一个时间点估算两个初始从动角,根据牛顿-拉普森迭代得到准确的机构位置。
10s刚好主动角经历了360度,记录每一时刻的位置,便可以动画演示。
2)速度分析:输入角速度为:dq=pi/25*t。
选择杆件上的任意一点(坐标表示为质点沿着杆件到原点A的距离)做分析,正确表达出角速度系数和速度系数,便可以求出质点的速度。
基于MATLAB Simulink的平面四连杆机构仿真
基于MATLAB/Simulink的平面四连杆机构仿真一、题目及自由度分析如图1所示,该平面四杆机构中有三根运动的均质钢杆,其中有两根钢杆的一端与接地点连接,第三根杆就与这两根杆剩下的端点连接起来,两个接地点就可认为是第四杆,机构中相关尺寸如图2所示。
计算结构自由度,三个运动杆被限制到平面内运动,因此每个杆都有两个移动和一个转动,即在考虑约束之前,自由度为:3×(2+1)=9但是由于每个杆都受到约束,所以并不是每个自由度都是独立的。
在二维状态下,刚体间的连接或者刚体与接地点的连接就会增加两个约束。
这样就会使得刚体其中一端不能够作为独立的自由运动点,而是要受到邻近刚体的约束。
该题中有四个刚体--刚体或刚体—接地点的连接,这就隐含8个约束。
那么最后的自由度为9-8=1.虽然有四个转动自由度,但是,其中三个都是非独立的,只要确定其中一个,就可确定其余三个。
二、模型建立及参数设置1应用MATLAB/Simulink建立初始模型2在初始模型的基础上添加Joint Sensor模块3依题意设置相关参数⑴配置Ground模块由图2可得系统的基本尺寸为:①固定构件长86.7厘米②Ground_1表示接地点,在World CS坐标轴原点右边43.3cm处③Ground_2表示接地点,在World CS坐标轴原点左边43.4cm处④最下端的铰处于X-Z平面内原点以上4cm图5Ground_1模块参数设置图6Ground_2模块参数设置4配置Joint模块三个没有接地的联杆都是在X-Y平面内的,所以Revolute轴必须是Z轴。
⑴依次打开Revolute参数对话框,保持默认值,即Axis of rotation[x y z]默认设置为[001],Reference csys都是WORLD。
图7Revolute坐标设置⑵根据连接情况依次设置Revolute参数对话框中的Connection parameters参数图8Revolute模块参数对话框Connection parameters参数图9Revolute模块参数对话框Connection parameters参数图10Revolute模块参数对话框Connection parameters参数图11Revolute模块参数对话框Connection parameters参数5配置Body模块本题中Body模块(即Bar)定位方式不是直接相对于WORLD坐标系统,而是采用相对坐标形式,Bar1的CS1相对于Ground_1,Bar2的CS1相对于Bar1,以此类推。
Matlab在四杆机构运动分析中的应用
Matlab在四杆机构运动分析中的应用MATLAB软件由美国MathWorks公司于1982年推出,经过十几年的发展和竞争,现已成为国际公认的最优秀的科技应用软件之一。
MATLAB提供了强大的矩阵处理和绘图功能。
它主要包括两部分内容:核心函数和工具箱。
Matlab编程代码接近数学推导公式,简洁直观,与科技人员的思维方式和书写习惯相适应,操作简易,人机交互性能好,且可以方便迅速地用三维图形、图像、声音、动画等表达计算结果,拓展思路。
编制相应的M函数文件。
Pos.m用于求解位置、角度和角加速度。
th1为初始角度,w1为杆1角速度,其余为杆长。
将课本P35(i)、(ii)、(iii)式用MATLAB语言表述,即可编制为四杆机构求解函数文件pos.m。
function f=pos(th1,w1,l1,l2,l3,l4)syms x21 x31 x22 x32x1=th1*pi/180;x11=cos(x1);x12=sin(x1);eq1=l1*x11+l2*x21-l3*x31-l4;eq2=l1*x12+l2*x22-l3*x32;eq3=x21^2+x22^2-1;eq4=x31^2+x32^2-1;s=solve(eq1,eq2,eq3,eq4,x21,x22,x31,x32);s1=double(s.x21); s2=double(s.x22);s3=double(s.x31); s4=double(s.x32);x2=(acos(s1(1,1)))/pi*180;x3=(acos(s3(1,1)))/pi*180;A=[l2*s2(1,1),-l3*s4(1,1);l2*s1(1,1),-l3*s3(1,1)];B=[-l1*x12;-l1*x11];w=A\(w1*B);w2=w(1,1);w3=w(2,1);C=[-l2*w(1,1)*s1(1,1),l3*w(2,1)*s3(1,1);l2*w(1,1)*s2(1,1),-l3*w(2,1)*s4(1,1)];D=[w(1,1);w(2,1)];E=[-l1*w1*x11;l1*w1*x12];F=[l2*s2(1,1),-l3*s4(1,1);l2*s1(1,1),-l3*s3(1,1)];t=F\(C*D+w1*E);a2=t(1,1);a3=t(2,1);l1=cat(1,th1,w1,0);l2=cat(1,x2,w2,a2);l3=cat(1,x3,w3,a3);f=(cat(2,l1,l2,l3))';subplot(2,2,1);plot(th1,w2,'r-');hold on;title('连杆2角速度分析');subplot(2,2,2);plot(th1,a2,'b-');hold on;title('连杆2角加速度分析');subplot(2,2,3);plot(th1,w3,'r-');hold on;title('连杆3角速度分析');subplot(2,2,4);plot(th1,a3,'b-');hold on;title('连杆3角加速度分析');return在MA TLAB命令窗口输入命令:>> th1=60;w1=pi/3;l1=20;l2=30;l3=40;l4=45;>> function f=pos(th1,w1,l1,l2,l3,l4)60°,ω=pi/3时的值即可得到theta=采用实时动画的方法编写draw.m文件:function dw = draw(l1,l2,l3,l4,x1,x2,x3)figure(2);th1=x1*pi/180;th2=x2*pi/180;th3=x3*pi/180;x=0:0.001:l4;plot(x,0,'r-');axis([-25,70,-25,60]);hold onfor i=0:0.1:l1;s=i*cos(th1); c=i*sin(th1);plot(s,c,'b-');hold on;end;for x=0:0.1:l3;s2=x*cos(th3)+l4;c2=x*sin(th3);plot(s2,c2);hold on;endfor x=0:0.1:l2;s3=l1*cos(th1)+x*cos(th2); c3=l1*sin(th1)+x*sin(th2);plot(s3,c3);hold on;endreturn代入pos.m中所得的结果,输入命令:>>draw(l1,l2,l3,l4,y(1,1),y(2,1),y(3,1))即可得到当前位置下的四杆图形。
基于Matlab的四杆机构优化设计简介
·制造业信息化·Vol.22.,200922009机电产品开发与创新Development &Innovation of M achinery &E lectrical P roducts3,No.1Jan .,2010第23卷第1期2010年1月收稿日期:2009-11-06作者简介:李建霞,女,河南信阳人,教授。
主要从事计算机辅助设计教学与研究工作。
已发表核心期刊论文20余篇;王良才,男,山东济南人,副教授。
主要从事机械设计教学与研究工作。
已发表核心期刊论文10余篇。
0引言Matlab 语言是一种非常强大的工程计算语言,提供了非常丰富的Matlab 优化工具箱。
其优化工具箱有许多常用的优化算法,广泛应用于线性规划、二次规划、非线性优化、最小二乘法问题、非线性方程求解、多目标决策等问题,其函数表达简洁,优化算法选择灵活,参数设置自由,相比于其它很多成熟的优化程序具有明显的优越性。
机械优化设计是在现代机械设计理论发展基础上产生的一种新的设计方法,在机械零部件设计中取得了广泛的应用。
机械优化设计是在进行某种机械产品设计时,根据规定的约束条件,优选设计参数,使某项或几项设计指标获得最优值。
在进行优化设计时,首先要建立工程设计问题的数学模型,然后按照数学模型的特点选择优化方法及其计算程序,求得最优设计方案。
1四杆机构优化设计的数学模型四杆机构是机械传动的重要组成部分。
设计四杆机构通常使用作图法与实验法,这两种方法简单易行,但误差较大,运用解析法,能获得所要求的精度,然而用人工进行,整个设计过程是一项繁琐、冗长的工作,甚至可能无法实现。
采用Matlab 优化工具箱对四杆机构进行优化设计,不仅参数输入简单,而且编程工作量小,可更快捷准确地达到设计要求。
四杆机构种类很多,这里只以曲柄摇杆机构为例说明四杆机构优化设计方法。
Matlab 优化工具箱是一套功能强大的工程计算软件,集数值计算、符号运算、可视化建模、仿真和图形处理等多种功能于一体,被广泛应用于机械设计、自动控制和数理统计等工程领域。
matlab四杆机构优化算法
matlab四杆机构优化算法四杆机构是机械工程中常用的一种机构,广泛应用于机械传动、机械臂以及其他工程领域。
四杆机构由四个连杆组成,其中两个连杆为主动连杆,另外两个连杆为从动连杆。
四杆机构的运动特性和性能对于机械系统的设计和优化具有重要意义。
本文将介绍一种基于Matlab的四杆机构优化算法,以提高机构的运动性能和效率。
需要明确优化算法的目标。
在四杆机构的优化中,常见的目标包括最小化机构的运动误差、最大化机构的工作范围、最小化机构的能量消耗等。
根据具体应用的需求,可以选择不同的优化目标。
本文以最小化机构的运动误差为例进行讨论。
在四杆机构中,运动误差是指机构在理想情况下应有的运动轨迹与实际运动轨迹之间的差异。
运动误差的大小直接影响到机构的精度和稳定性。
为了最小化运动误差,可以采用以下步骤进行优化。
需要建立四杆机构的运动学模型。
四杆机构的运动学模型描述了机构各个连杆之间的几何关系和运动规律。
根据四杆机构的结构和运动约束条件,可以建立四杆机构的运动学方程。
在Matlab中,可以利用符号运算工具箱求解运动学方程。
需要确定优化的变量和约束条件。
四杆机构的运动性能受到各个连杆的长度、角度等参数的影响。
在优化中,可以将这些参数作为优化的变量,通过调整这些变量来最小化运动误差。
同时,还需要考虑到机构的实际制造和使用条件,设置相应的约束条件,如连杆长度的范围、运动角度的限制等。
接下来,可以采用优化算法对四杆机构进行优化。
常用的优化算法包括遗传算法、粒子群算法、模拟退火算法等。
这些算法可以在给定的变量范围内搜索最优解,通过迭代的方式逐步优化机构的运动性能。
在Matlab中,可以利用优化工具箱中的相应函数进行优化计算。
需要对优化结果进行评估和验证。
优化算法得到的结果可能并不是唯一的最优解,因此需要对优化结果进行评估,判断其是否满足设计要求。
可以通过仿真和实验验证的方式对优化结果进行验证,进一步改进和优化机构的设计。
基于Matlab的四杆机构优化算法可以帮助改善机构的运动性能和效率。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
首先创建函数FoutBarPosition,函数fsolve通过他确定。
function t=fourbarposition(th,th2,L2,L3,L4,L1)t=[L2*cos(th2)+L3*cos(th(1))-L4*cos(th(2))-L1;…L2*sin(th2)+L3*sin(th(1))-L4*sin(th(2))];主程序如下:disp ' * * * * * * 平面四杆机构的运动分析* * * * * *'L1=304.8;L2=101.6;L3=254.0;L4=177.8; %给定已知量,各杆长L1,L2,L3,L4th2=[0:1/6:2]*pi; %曲柄输入角度从0至360度,步长为pi/6th34=zeros(length(th2),2); %建立一个N行2列的零矩阵,第一列存放options=optimset('display','off'); %θ_3,第二列存放θ_3for m=1:length(th2) %建立for循环,求解θ_3,θ_4th34(m,:)=fsolve('fourbarposition',[1 1],…%调用fsove函数求解关于θ_3,θ_4options,th2(m),L2,L3,L4,L1); %的非线性超越方程,结果保存在th34中endy=L2*sin(th2)+L3*sin(th34(:,1)'); %连杆3的D端点Y坐标值x=L2*cos(th2)+L3*cos(th34(:,1)'); %连杆3的D端点X坐标值xx=[L2*cos(th2)]; %连杆3的C端点X坐标值yy=[L2*sin(th2)]; %连杆3的C端点Y坐标值figure(1)plot([x;xx],[y;yy],'k',[0 L1],[0 0],…%绘制连杆3的几个位置点'k--^',x,y,'ko',xx,yy,'ks')title('连杆3的几个位置点')xlabel('水平方向')ylabel('垂直方向')axis equal %XY坐标均衡th2=[0:2/72:2]*pi; %重新细分曲柄输入角度θ_2,步长为5度th34=zeros(length(th2),2);options=optimset('display','off');for m=1:length(th2)th34(m,:)=fsolve('fourbarposition',[1 1],…options,th2(m),L2,L3,L4,L1);endfigure(2)plot(th2*180/pi,th34(:,1),th2*180/pi,th34(:,2)) %绘制连杆3的角位移关于曲柄2的角位移图plot(th2*180/pi,th34(:,1)*180/pi,…th2*180/pi,th34(:,2)*180/pi) %绘制摇杆4的角位移关于曲柄2的角位移图axis([0 360 0 170]) %确定XY边界值grid %图形加网格xlabel('主动件转角\theta_2(度)')ylabel('从动件角位移(度)')title('角位移线图')text(120,120,'摇杆4角位移')text(150,40,'连杆3角位移')w2=250; %设定曲柄角速度for i=1:length(th2)A=[-L3*sin(th34(i,1)) L4*sin(th34(i,2));…L3*cos(th34(i,1)) -L4*cos(th34(i,2))];B=[w2*L2*sin(th2(i)); -w2*L2*cos(th2(i))];w=inv(A)*B;w3(i)=w(1);w4(i)=w(2);endfigure(3)plot(th2*180/pi,w3,th2*180/pi,w4); %绘制角速度线图axis([0 360 -175 200])text(50,160,'摇杆4角速度(\omega_4)')text(220,130,'连杆3角速度(\omega_3)')gridxlabel('主动件转角\theta_2(度)')ylabel('从动件角速度(rad\cdot s^{-1})')title('角速度线图')for i=1:length(th2)C=[-L3*sin(th34(i,1)) L4*sin(th34(i,2));…L3*cos(th34(i,1)) -L4*cos(th34(i,2))];D=[w2^2*L2*cos(th2(i))+w3(i)^2*L3*cos(th34(i,1))-w4(i)^2*L4*cos(th34(i,2));...w2^2*L2*sin(th2(i))+w3(i)^2*L3*sin(th34(i,1))-w4(i)^2*L4*sin(th34(i,2))];a=inv(C)*D;a3(i)=a(1);a4(i)=a(2);endfigure(4)plot(th2*180/pi,a3,th2*180/pi,a4); %绘制角加速度线图axis([0 360 -70000 65000])text(50,50000,'摇杆4角加速度(\alpha_4)')text(220,12000,'连杆3角加速度(\alpha_3)')gridxlabel('从动件角加速度')ylabel('从动件角加速度(rad\cdot s^{-2})')title('角加速度线图')disp '曲柄转角连杆转角-摇杆转角-连杆角速度-摇杆角速度-连杆加速度-摇杆加速度' ydcs=[th2'*180/pi,th34(:,1)*180/pi,th34(:,2)*180/pi,w3',w4',a3',a4'];disp(ydcs)>> * * * * * * 平面四杆机构的运动分析* * * * * *曲柄转角连杆转角-摇杆转角-连杆角速度-摇杆角速度-连杆加速度-摇杆加速度1.0e+004 *0 0.0044 0.0097 -0.0125 -0.0125 -0.5478 4.84580.0005 0.0042 0.0094 -0.0126 -0.0107 0.2300 5.5630 0.0010 0.0039 0.0092 -0.0124 -0.0086 0.8946 6.0520 0.0015 0.0037 0.0091 -0.0119 -0.0065 1.4143 6.2982 0.0020 0.0034 0.0090 -0.0114 -0.0043 1.7801 6.3174 0.0025 0.0032 0.0089 -0.0107 -0.0021 2.0027 6.1467 0.0030 0.0030 0.0089 -0.0100 0.0000 2.1046 5.8339 0.0035 0.0028 0.0089 -0.0093 0.0020 2.1134 5.4272 0.0040 0.0026 0.0090 -0.0085 0.0038 2.0566 4.9687 0.0045 0.0025 0.0091 -0.0078 0.0054 1.9578 4.4918 0.0050 0.0023 0.0092 -0.0072 0.0069 1.8356 4.0198 0.0055 0.0022 0.0093 -0.0065 0.0082 1.7040 3.5680 0.0060 0.0021 0.0095 -0.0060 0.0094 1.5725 3.1450 0.0065 0.0019 0.0097 -0.0055 0.0104 1.4474 2.7545 0.0070 0.0018 0.0099 -0.0050 0.0113 1.3328 2.3968 0.0075 0.0017 0.0102 -0.0045 0.0121 1.2307 2.0702 0.0080 0.0017 0.0104 -0.0041 0.0128 1.1425 1.7716 0.0085 0.0016 0.0107 -0.0037 0.0134 1.0687 1.4971 0.0090 0.0015 0.0110 -0.0034 0.0138 1.0095 1.2426 0.0095 0.0014 0.0112 -0.0030 0.0142 0.9653 1.0035 0.0100 0.0014 0.0115 -0.0027 0.0145 0.9364 0.7752 0.0105 0.0013 0.0118 -0.0024 0.0148 0.9232 0.5530 0.0110 0.0013 0.0121 -0.0020 0.0149 0.9269 0.3319 0.0115 0.0013 0.0124 -0.0017 0.0150 0.9485 0.1069 0.0120 0.0012 0.0127 -0.0014 0.0150 0.9899 -0.1276 0.0125 0.0012 0.0130 -0.0010 0.0149 1.0530 -0.3773 0.0130 0.0012 0.0133 -0.0006 0.0147 1.1404 -0.6481 0.0135 0.0012 0.0136 -0.0002 0.0145 1.2544 -0.9455 0.0140 0.0012 0.0139 0.0002 0.0141 1.3967 -1.2743 0.0145 0.0012 0.0142 0.0008 0.0136 1.5677 -1.63680.0150 0.0012 0.0144 0.0013 0.0129 1.7648 -2.0314 0.0155 0.0012 0.0147 0.0020 0.0121 1.9807 -2.4495 0.0160 0.0013 0.0149 0.0027 0.0112 2.2018 -2.8735 0.0165 0.0013 0.0151 0.0035 0.0101 2.4071 -3.2754 0.0170 0.0014 0.0153 0.0044 0.0089 2.5697 -3.6186 0.0175 0.0015 0.0155 0.0053 0.0076 2.6616 -3.8650 0.0180 0.0016 0.0156 0.0063 0.0063 2.6609 -3.9849 0.0185 0.0018 0.0157 0.0072 0.0049 2.5591 -3.9674 0.0190 0.0019 0.0158 0.0080 0.0035 2.3638 -3.8244 0.0195 0.0021 0.0159 0.0088 0.0022 2.0959 -3.5866 0.0200 0.0023 0.0159 0.0095 0.0010 1.7823 -3.2931 0.0205 0.0025 0.0159 0.0100 -0.0001 1.4487 -2.9815 0.0210 0.0027 0.0159 0.0105 -0.0011 1.1152 -2.6809 0.0215 0.0029 0.0159 0.0108 -0.0020 0.7942 -2.4103 0.0220 0.0031 0.0158 0.0111 -0.0028 0.4916 -2.1794 0.0225 0.0033 0.0158 0.0112 -0.0035 0.2086 -1.9913 0.0230 0.0036 0.0157 0.0112 -0.0042 -0.0565 -1.8450 0.0235 0.0038 0.0156 0.0111 -0.0048 -0.3071 -1.7375 0.0240 0.0040 0.0155 0.0110 -0.0054 -0.5475 -1.6650 0.0245 0.0042 0.0154 0.0108 -0.0060 -0.7817 -1.6233 0.0250 0.0044 0.0153 0.0104 -0.0065 -1.0139 -1.6089 0.0255 0.0046 0.0151 0.0100 -0.0071 -1.2479 -1.6181 0.0260 0.0048 0.0150 0.0096 -0.0077 -1.4868 -1.6480 0.0265 0.0050 0.0148 0.0090 -0.0082 -1.7336 -1.6955 0.0270 0.0052 0.0146 0.0084 -0.0088 -1.9905 -1.7574 0.0275 0.0054 0.0145 0.0076 -0.0095 -2.2588 -1.8304 0.0280 0.0055 0.0143 0.0068 -0.0101 -2.5391 -1.9100 0.0285 0.0056 0.0141 0.0058 -0.0108 -2.8305 -1.9910 0.0290 0.0057 0.0138 0.0048 -0.0115 -3.1300 -2.06600.0295 0.0058 0.0136 0.0037 -0.0122 -3.4326 -2.1255 0.0300 0.0059 0.0133 0.0024 -0.0130 -3.7297 -2.1572 0.0305 0.0059 0.0131 0.0011 -0.0137 -4.0091 -2.1451 0.0310 0.0059 0.0128 -0.0004 -0.0145 -4.2538 -2.0696 0.0315 0.0059 0.0125 -0.0019 -0.0152 -4.4419 -1.9079 0.0320 0.0058 0.0122 -0.0035 -0.0158 -4.5473 -1.6352 0.0325 0.0058 0.0119 -0.0051 -0.0163 -4.5411 -1.2273 0.0330 0.0056 0.0115 -0.0066 -0.0166 -4.3954 -0.6661 0.0335 0.0055 0.0112 -0.0081 -0.0167 -4.0889 0.0551 0.0340 0.0053 0.0109 -0.0095 -0.0166 -3.6129 0.9243 0.0345 0.0051 0.0105 -0.0106 -0.0161 -2.9781 1.9058 0.0350 0.0049 0.0102 -0.0115 -0.0152 -2.2178 2.9395 0.0355 0.0047 0.0099 -0.0122 -0.0140 -1.3857 3.9473 0.0360 0.0044 0.0097 -0.0125 -0.0125 -0.5478 4.8458 图形输出:图2 连杆3的几个位置点图4 角加速度线图图5 角加速度线图。