平面四杆机构Matlab仿真及优化设计
平面四杆机构Matlab仿真及优化设计,平面,机构,matlab,仿真,优化,设计
大连大学DALIAN UNIVERSITY2018 届毕业论文(设计)题目名称: 平面四杆机构 MATLAB 仿真及优化设计 所 在 学 院 : 机械工程学院专业( 班级): 机英 143 班学 生 姓 名 : 刘昊坤指 导 教 师 : 李洋流评阅人: 贾卫平院长 : 吴 蒙 华平面四杆机构 MATLAB 仿真及优化设计总计:毕业论文: 52页表格: 2表插图: 15幅指导教师: 李 洋 流 评 阅 人: 贾 卫 平 完成时间: 2018 年 5 月 20 日 摘要在研究机构学时,由于需要处理大量的数据,并且处理过程繁琐容易出错,所以需要研究人员找到一种可以直接处理矩阵运算的通用方法,在研究大量的实际问题后,人们发现,大多数的实例都可构造成矩阵方程来进行运算,MATLAB 恰好具备这一运算特性,能够满足人们在机构学研究中的要求。本设计选取平面四杆机构作为研究对象,首先对其进行运动学和动力学的分析,在此基础上,建立相应的数学模型,选择 MATLAB 作为研究工具,建立 Simulink 仿真模型, 对平面四杆机构的运动学特性进行研究。再使用 MATLAB 自身的 GUI 功能,设计出一个平面四杆机构的运动学分析交互式界面,使得用户只需要输入相应的参数,即可得到相应的分析结果。最后再根据所有的仿真分析结果进行优化设计,得到四杆机构参数的最优设计参数。该方法对平面四杆机构的仿真设计及优化处理提供了一种新的解决方案,对平面四杆机构的设计和优化提供了一定的帮助,不仅提高了效率和准确性,而且对解决其他类似的问题也具有一定的参考价值。关键词:机构学;平面四杆机构;MATLAB;仿真分析;优化设计IABSTRACTIn 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 peoples 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 MATLABs 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 designII目录摘要IABSTRACTII1 绪论11.1 课题背景11.2 国内外研究现状和发展11.3 课题主要任务32 平面四杆机构的运动学分析42.1 概述42.2 实例分析43 基于 MATLAB 的运动分析及程序设计83.1 MATLAB 概述83.2 M 文件编写83.3 基于 MATLAB 的 Simulink 模型的建立103.4 程序运行结果124 曲柄滑块机构的 GUI 设计154.1 GUI 概述154.2 问题概况154.3 数学分析164.4 界面设计174.5 主要代码设计流程194.6 界面结果展示215 平面四杆机构的优化设计225.1 四杆的优化设计方法225.2 建立数学模型225.3 实例计算246结论26参 考 文 献27附录 1:外文翻译28附录 2:外文原文36附录 3:主要程序代码45致谢49I平面四杆机构MATLAB 仿真及优化设计1 绪论1.1 课题背景随着科技的进步和计算机技术的飞速发展,机械工程学的发展也在加速。连杆机构中多杆机构方向和多学科两个方面,未来会相互融合、相互渗透。在机构、控制系统和原动机结合成的整个机构系统中,通过对整个机构系统的研究,从分析运动学、动力学特征以及其对动力分配的影响,到改进对机构的性能的改造和发展机构的新用途15,这将是连杆机构未来发展趋势。连杆机构由于其简单的结构,较大的可承受载荷,多样性的连杆曲线等特性,广泛的应用于众多领域。机构运动学仿真就是根据给定的原动件的运动规律,得出机构中其余构件的运动参数13。无论是分析现有机构的工作性能,还是优化新机械机构,仿真都是十分重要的。通过仿真能够形象直观的看出机构的运动轨迹、所需要的空间以及是否干涉,同时速度分析可以确定机构从动件的速度是否符合要求,加速度分析可以提供惯性力计算的数据13。研究该课题的目的在于找到一个通用的方法,用以研究平面四杆机构,将平面四杆机构的运动学特性用图表、曲线的方式直观明了的表示出来,优化平面四杆机构的设计流程,减少设计时间的同时提高设计精度,结合当下的科学技术,使用计算机软件进行辅助设计,具有很强的优越性。1.2 国内外研究现状和发展近几十年来,国内外的一些学者和研究机构对连杆机构的分析和综合研究已取得了显著的成绩。对于连杆机构分析,提出了以单开链为单元的理论与方法,以拓扑特征为基础的新机构组成原理,为了揭示机构特征与动力学方程、运动学方程之间的联系,创立了一套数学模型。连杆机构取得的成就有:(1)提出了一套综合杆组的概念,创立了连杆机构通过速度、位置、加速度等运动参数综合分析的理论和方法;(2)在连杆机构的综合研究中引入了计算机技术,建立了传动特征和导引特性的数据库,并通过局部轨迹特征的建立,提高了设计精度、加快了设计速度;(3)提出了机架杆方向结构误差与从动杆杆长机构误差的概念,并通过改进遗传算法,完成轨迹机构和函数生成机构的优化。20 世纪中期,开始将计算机技术应用到连杆机构的综合研究中15。对于铰链四杆机构综合的几何方法,一些学者将其公式化,首次实现将计算机应用到四杆机构相应函数的最优组合中,将超越方程组和代数方程组的求解放在计算机上进行,从而获得机构有关的参数。60 年代后,位移矩阵法也- 50 -被应用到机构的综合求解中,同样是通过求解超越方程组和非线性方程组,得到综合机构的有关参数。关于连杆机构的理论,科学家在过去几百年的研究过程中已经取得了巨大的成绩。在 18 世纪后期,第一次工业革命的发展浪潮中,机械工程学科也得到了快速的发展。因此机构学也成了一门独立的新学科。在 13 世纪前期,人们就已经开始广泛应用连杆机构理论15。而出现得最早、结构最简单、应用最广泛的一种机构就是四杆机构。在连杆机构研究的研究中,最早开始是 18 世纪的科学家瓦特。早在 1784 年的时候,在瓦特发明的蒸汽机里,他就应用了四杆机构,其目的是为活塞提供近似直线运动。然而,就算瓦特将这项技术应用到蒸汽机里,连杆机构也并没有得到快速的发展。主要原因是缺乏相关文献来记载其运动特性方面研究的理论基础,然而,与连杆机构理论相关的记载一直未曾出现,直到在 19 世纪 80 年代后才有相关文献出现。19 世纪之后,各机构开始重视连杆机构的研究,德国机构学学派是最重视这项研究,且贡献最大的学派,其研究成果在世界上也处于领先状态。第二次世界大战之后,在计算机技术腾飞的同时,连杆机构也在生产中得到应用,开拓了许多研究领域,有了新的突破。在机构学的研究中,四杆机构作为连杆机构中最基本的形式,虽然在其他方面的研究有了突破,但在运动学和动力学方面四杆机构的研究还需努力。对于五杆机构及其以上的多杆多自由度机构,我们的研究还远远不够。平面四杆机构由于简单,所以仅仅能实现简单的功能,但随着机械手、机械自动化机器人的发展,在机构运动和动力特性方面,人们有了更高的要求,国际上也十分注重这方面的研究。MATLAB 的出现极大的帮助了机构学的研究,MATLAB 能够快速而精确的运算复杂函数,同时 MATLAB 内部有很多简洁方便且实用的工具箱,能够为机构的分析和仿真提供相当大的便利,软件支持多种语言的扩展、语法简单、门槛低、使用方便,这样就为机构学的研究提供了一个很好的环境。MATLAB 软件具有系统建模方便直观、仿真功能强大等特点,能为机械系统的建模仿真提供一个强大而方便的工具。使用 MATLAB 软件的 Simulink 仿真工具用于机械工程中机构的运动学仿真,简单,直观,只需通过 M 文件编写运动学方程,设定特殊时刻为初始值就可以得到任意时刻的位置、速度、加速度的值,并可以观察它们在运动周期内的变化。通过基于 MATLAB 的强大的矩阵运算能力,还可以方便得到三者之间的关系,这是一般解析方法所不及的14。就目前情况而言,MATLAB 已经不再是“矩阵实验室”,而成为国际上最流行的科学与工程计算的软件工具,以及一种具有广泛应用前景的全新的计算机高级编程语言,它在国内外高校和科研部门正扮演着越来越重要的角色,功能也越来越强大,不断适应新的要求提出新的解决办法13。可以预见,在科学运算和科学绘图领域,MATLAB 语言将长期保持其独一无二的地位,使用 MATLAB 可以很好地对机械系统进行分析,为连杆机构的建模仿真提供一个强大而方便的工具。1.3 课题主要任务本课题的主要研究内容是平面四杆机构的运动学仿真分析及优化设计,其主要任务如下:1.3.1 机构运动的数学模型的建立。建立数学模型的过程其实就是对机构进行详细分析的过程,如角速度的分析,加速度的分析等,建立矩阵模型,用数学方法求出其他所需的值;1.3.2 使用 MATLAB 进行 M 文件的编写。根据数学模型编写出相应的 M 文件,用于实际问题的解决;1.3.3 Simulink 仿真模型的建立。使用 Simulink 进行仿真,能够快速准确的显示出速度随时间的图像、加速度随时间的图像等;1.3.4 GUI 人机交互界面的设计。做出一个简洁直观的界面、同时实现人机的友好交互,用户可根据自己的实际需求输入不同的参数,从而得到相应的图像;1.3.5 将仿真得出的图像进行分析。根据前面工作所得到的参数数据,结合实际情况分析,对平面四杆机构的优化提出意见。2 平面四杆机构的运动学分析2.1 概述平面四杆机构的连接形式一般为低副连接,一般由四个刚性构件组成,四个刚性构件均在同一平面内运动。平面四杆机构是机械学科中的最常见的一种机构,在各种机器设备中有大量的应用, 而铰链四杆机构作为平面四杆机构中具有代表性的一种,它是平面四杆机构的基本形式, 其他类型的四杆机构都可以看作是铰链四杆机构的衍生形式。对于四杆机构的各杆,如 表 2.1 所示:表 2.1四杆机构各杆的定义连架杆与机架直接相连连杆不与机架连接曲柄能够 360回转摇杆只能在某一角度范围内往复摆动根据主动杆是否可以作为曲柄,可将铰链四杆机构分为三类:1)曲柄摇杆机构;2) 双曲柄机构;3)双摇杆机构。由于平面四杆机构有很多类型,因此我们不一一研究,只选取了两个具有代表性的机构,即铰链四杆机构和曲柄滑块机构作为研究对象。2.2 实例分析设定一个平面四杆机构,取左侧固定机架与连杆相交的端点作为坐标原点,建立一个平面直角坐标系。取固定机架为连杆 1,顺时针方向依次为连杆 2、连杆 3、连杆 4,连杆长度分别为r1、r2、r3 和 r4。规定各连杆和 x 轴正方向之间的夹角为(连杆角度),四杆机构的矢量图如图 2.1 所示:图 2.1四连杆机构矢量图四个连杆角度分别为q1 、q2 、q3 和q4 ,其中q1 =0。设定四连杆的基本条件为: r1 =100mm; r2 =30mm; r3 =80mm; r4 =60mm。我们可以由图得到一个矢量方程 R2 + R3 = R1 + R42.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 = -w4r4sinq44w2cosq2 + 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 = w2r2sinq2w3r3cosq3 -w4r4cosq4 = -w2r2cosq2化为矩阵形式为:(2.6)(2.7) -r3 sinq3r4 sinq4w3 = w2r2 sinq2 r cosq-r cosq w -w r cosq 3344 4 2 22 (2.8)对式(2.2)和式(2.3)求二阶导数,也就是对式(2.6)和式(2.7)再进行求导, 整理,转化成矩阵形式,可得:-r3 sinq3r4 sinq4 r cosq-r cosq a = 2 23 34 4a3r2a2 sinq2 +w2r cosq2 +w2r cosq3 -w2r cosq4 3344 4 -r2a2 cosq2 +w2r sinq2 +w2r sinq3 -w2r sinq4(2.9)2.2.2 求解位置q3 和q4 的数学分析:2 23 34 4当 t=0 时,假定q2 =0,利用牛顿-辛普森方法求解位置方程的精确值。假设这两个方程包含两个未知量,这个问题可以表示为:f1 (x1, x2 ) = 0f2 (x1, x2 ) = 0(2.10)(2.11)假设估计值为 Xi ,精确值为 Xi ,精确值与估计值之间的差值为Dxi 。用等式表达为:f1 (x1 + Dx1, x2 + Dx2 ) = 0f2 (x1 + Dx1, x2 + Dx2 ) = 0d f1d x1d f1d x2 x ,x1 2运用泰勒公式将式(2.12)等号左边的部分展开,为:(2.12)(2.13)f ( x , x ) = f (x , x ) + Dx +Dx + 高阶项(2.14)112112x1 ,x212同理将式(2.11)展开,与式(2.14)合并,忽略不计高阶项,得到: f( x ,x)= f( x , x)+d f1 Dx + d f1 Dx11 211 2d x1x1 ,x21 d x2x1 ,x22f ( x ,x)= f( x ,x)+d f2 Dx +d f2 Dx 21 221 2d x1x1 ,x21 d x2x1 ,x22(2.15)转化为矩阵形式为: d f1 d f1 ( f1 ( x1 ,x2 ) )+ d x1 x1 ,x2d x2x1 ,x2(Dx1) = ( 0 )f2 ( x1 ,x2 ) d f2 d f2 Dx20(2.16) d x1x1 ,x2d x2x1 ,x2 式(2.16)中给出了估计值与精确值之间差值的计算方法,为求Dxi ,将式转化为: d f1 d f1-1 (Dx1) = d x1x1 ,x2d x2x1 ,x2 ( - f1 ( x1 ,x2 ) ) Dx2 d f2 d f2 - f2 ( x1 ,x2 )(2.17) d x1x1 ,x2d x2x1 ,x2 对于四连杆机构,可以将式(2.2)和式(2.3)转化为:f1(q3 ,q4 ) = r2cosq2 + r3cosq3 - r1 - r4cosq4 f1(q3 ,q4 ) = r2 sinq2 + r3 sinq3 - r4 sinq4 由于:q3 = q3 + Dq3q4 = q4 + Dq4Dq4r3 cosq3-r4 cosq4- f2 (q3 ,q4 )(2.22)所以有:(2.18)(2.19)(2.20)(2.21)3333313 4( Dq) = (-r sinqr sinq )-1 (- f (q,q ) )3 基于 MATLAB 的运动分析及程序设计3.1 MATLAB 概述MATLAB 作为一款在全球内广泛使用的数学软件,因其强大的功能和巨大的实用性, 受到了越来越多人的青睐。MATLAB 的中文翻译为矩阵实验室。顾名思义,MATLAB 基于矩阵运算,只需要函数便可实现相关的功能,这是一个高科技的计算环境,主体为一个易于操作使用的视窗环境,但是能在这个环境下实现很多强大的功能,MATLAB 具有强大的图像绘制和仿真能力,为许多需要进行复杂函数运算或建模仿真的众多科学领域提供了一种全面而精确的解 决方案,代表了当今国际科学计算软件的先进水平。MATLAB 的基本数据单位是矩阵,所以可以完成函数绘制、矩阵运算、创建人机界面等功能,并且在工程、信号、金融、分析等多个领域都得到了较为广泛的应用。再者, MATLAB 的指令表达方式与工程中的常用表达方式也十分相似,增加了自己的兼容性,降低了使用的门槛,特别是对于非计算机专业的人来讲,简单易上手,这使得 MATLAB 在高校和研究机构间受到了很大的欢迎。MATLAB 的特点:1) 能够高效快速的处理数值和符号运算,使用户大大的减轻了复杂数值运算的工作强度;2) 图形处理功能完善,计算结果和编程过程可视;3) 界面友好,无论是学习者还是用户,都易于学习和掌握;4) 应用工具箱丰富实用,用户能够自由选择所需的处理工具。3.2 M 文件编写当 2 和连杆 2 的所有位置已知时,式(2.8)可以用来求解3 和4。将2 视为仿真的输入,可以用数值积分从速度中计算出2、3、4。因为3 和4 两个速度是从闭环矢量方程式中求得的,所以编写一个 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=ab;% 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 为循环终止条件,当计算的差值即 f 向量的模小于 e 时即停止循环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=ab;3.3 基于MATLAB 的 Simulink 模型的建立将文件 sigansudu.m 嵌入到 Simulink 仿真系统中的 function 块中,在 Simulink 图形方式中,总共包含 3 个积分模块,1 个常量模块,1 个 demuk 模块,1 个 simout 模块和 2 个 muk 模块。把各个模块连接起来,得到相应的 Smulink 仿真模型,如图 3.1 所示:图 3.1求解w3 和w4 的 Simulink 仿真模型对于四连杆机构,仍取连杆 2 的初始速度为 6000r/min、加速度为-15rad/s匀加速运动的情况为例进行运动学仿真,画出仿真框图如图 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 / rad0q3 / rad0.76879354899197q4 / rad1.68712997846865w2 / (rad / s)628w3 / (rad / s)-294.375000000012w4 / (rad / s)-274.750000002263.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 的发展来说无疑是一个利好。在当今社会, 计算机快速发展的主要成就之一就是 GUI 的广泛应用,对于一般用户来讲,GUI 的出现大大的方便了他们的使用,不需要进行复杂繁琐的操作,而是通过使用不同的控件,如菜单、按钮等方式来进行操作,降低了使用门槛,更加快捷、更加轻松,同时还能得到更为准确的结果。4.2 问题概况曲柄滑块机构如图 4.1 所示,OA=l1,AB=l2,曲柄 OA 以匀角速度转动,并带动连杆 AB 做平面运动,滑块 B 沿水平方向运动,分析并模拟该机构的运动:图 4.1曲柄滑块机构运动学示意图4.3 数学分析如图 4.1 所示,规定为 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 wl2 cosqVB =l2q sinq -l1w sinf(4.2)将式(4.2)对时间求导并化简得:q = l1 cosf sinqqw -l1 sinf cosqw2 l2 cos2 qaB =l1wcos2 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 的微分方程组如下: dt2 dy1 = y dt dy2 = 0 dt dy3 = y4(4.4)dyl 4 = 1(cos y sin y w y- l sin y cos y w2 )23 dtlcos2 y134113 dy5 = y dt dy6 =6l1w( y cos y - cos y cos( y - y )w )3 dtcos2 y41313设初始时=0,=,则可推导出 X= l + l ,f = w ,q =- l1 w ,V = 0 ,则有lB12B2运动变量初值 y = 0,w,p , - l1 w, l+ l , 0 。根据式(4.4),编写出 ode 函数如图 4.3 所0l2示:12图4.3ode函数程序并将该文件保存为f7.m文件。4.4 界面设计设计 GUI 人机交互界面,我们可以大致的分为两个步骤:1 人机交互界面的外观设计。按照界面的需求,通过添加不同控件,如文本框、按钮、按钮组和对话框等控件,设计出一个简洁大方、使用方便的人机交互界面。同时明确该交互界面的功能,即在交互界面上的操作会得到相应怎样的结果。2 交互界面的完成。在这一部分,用户将根据在第一阶段所确定的界面不同控件的不同功能,为了达到界面的预期效果,编写出能够实现相应功能的函数代码,确保这个图形界面能实现预定的功能。根据式(4.4)可知 OA=l1、AB=l2 和 OA 杆的角速度三个变量为运动参数,在 GUI 界面左上的输入区域设置 4 个编辑框分别来接受l、a 和这 3 个运动参数和模拟时间。转角在整个运动过程中单调递增,所以设置了时间 t、为查询条件。进入 GUI 界面初始环境,添加 13 个编辑文本框,12 个静态文本框、6 个按钮、3 个坐标轴和 1 个分组控件,同时创建 Open、Print、Close 三个菜单。在将所有所需的控件都添加到界面中后,拖动它们到相应的位置,在调整好位置之后,设置各控件的属性。最后的界面效果如图 4.4 所示:图 4.4用户界面设计“曲线”按钮回调函数:确定相关点的坐标,为模拟动画做准备用ode45 命令求解运动变量矩阵 y,同时返回时间向量 t确定运动变量初值,并赋值给y0设置 axes2 的 x 轴、y 轴分别为(时间/s)、(位移(m)、速度(m/s)、加速度(m/s)在axes2 上画B 点位移、速度、加速度曲线、4.5 主要代码设计流程为了满足 GUI 的使用需要,在完成界面设计的基础上,将相应的代码输入到各自的回调函数中,可将主要控件的代码设计归纳为下图所示:“计算”按钮设计流程:“曲线”按钮设计流程:设置全局变量申明全局变量设置“曲线”、“动画”、“保存数据”按钮不可用在 axes1 上画 seta 角、角速度、角加速度曲线将相关运动参数读入变量l1、l2 和 omega设置 axes1 的 x 轴、y 轴分别为(时间/s)、(转角(rad)、角速度(rad/s)、角加速度(rad/s)将模拟时间赋给tfinal标记三条曲线为“seta 角”、“seta 角速度”、“seta 角加速度”设置“曲线”、“动画”、“保存数据”按钮可用标记三条曲线为“B 点位移”、“B 点速度”、“B 点加速度”以时间为条件进行查询设置“phi=”所对应的编辑框为可用设置“phi=”所对应的编辑框为不可用模拟机构运动设置时间查询所对应的编辑框为可用设置模拟各杆运动的句柄选择了 dx1 单选框时(以时间为查询对象),设置 f=1设置模拟各点运动的句柄“动画”按钮设计流程:分组控件设计流程:申明全局变量申明全局变量设定横、纵坐标轴的范围取得被选择对象的Tag 属性值选择了 dx2 单选框时(以 phi 为查询对象),设置 f=2“查询”按钮设计流程:申明全局变量设置时间查询所对应的编辑框为不可用计算线型差值的两个系数m,n以为条件进行查询计算线型差值的两个系数m,n4.6 界面结果展示在第一部分 OA 编辑框内输入 1、AB 编辑框内输入 3、角速度编辑框内输入 0.5,最后在模拟时间编辑框内输入 60,依次点击按钮计算、曲线和动画,之后再查询条件框内输入相应的查询条件,得到的仿真和查询结果如图 4.5 所示:图 4.5用户界面运行结果示意在该 GUI 界面中,能够十分清晰明了的看见角的各项参数和 B 点各项参数的变化情况,并且能够通过查询某一时刻的值,得到该时刻各项参数的瞬时值,有曲线图的同时还有机构运动的仿真动画,十分的直观方便,使用者可根据自己的不同需要进行设计和仿真。在 Simulink 仿真图和 GUI 界面中,我们能发现相同的一点,就是两种仿真形式, 都能够直观的看到各杆的运动参数,无论是哪一种方法,都很方便,都能够为四杆的仿真分析提供一个很好的办法。5 平面四杆机构的优化设计5.1 四杆的优化设计方法机构的优化,就是在给定的机构学、运动学、动力学的要求下,在满足结构设计要求的前提下,将其他因素的限制在一个合理的范围内,并建立某种设计准则(目标函数),不断调整设计参数,进行优化计算,获得最佳的设计方案。对于平面四杆机构来讲,优化的基本问题是在设定好目标函数的前提下,根据实际情况增加相应的约束条件,最后再进行优化计算,目的是找到最优的设计参数,其步骤如图 5.1 所示:提出设计要求结束进行结果分析,满足工程适用性选取最适当的优化方法进行程序编辑建立满足设计要求的数学模型如不满足, 跳回第一步图 5.1 优化设计步骤在进行设计的时候,大多数的实际工程问题都可以用数学公式来建模描述,三个主要考虑的因素为设计变量、目标函数和约束条件。也就是为了使得目标函数能够达到设计人员的要求,给机构一些约束条件,从而再去寻找合适的设计变量值。5.2 建立数学模型首先,应确定设计变量,在铰链四杆机构各杆长度不知道的情况下,由于机构运动规律不变,所以设主动件 l1 的长度为 1,其余杆长便为 l1 的倍数,这样的目的是使杆长能够按比例分布计算,简化了计算和编程。我们设定杆 1 即 l1 的初始角度为j0 ,杆 2 即 l2 的初始角度为0,分析可得: 0j = arccos(l1 +l2 )2 +l42 -l322(l1 +l2 )l4(l +l )2 +l 2 -l 2f0 =arccos12432l3l4 (5.1)从式子可以看出,设计变量只有 l2、l3 和 l4。故将该设计变量改写为:X = x1; x2 ; x3 = l2 ;l3;l4 (5.2)在进行目标函数的建立时,设计目标定为追求从动件实际输入角度系列值与期望实现函数的平方偏差之和最小,即:n2min f ( X ) = (fEi -fi )i=0(5.3)其中:n 将输出角度等分,fEi 为期望输出角度,fi 为实际输出角度,分析两个不同的输出角度,我们可以得出一个关系式:= fp -ai -bi (0fi p )ip -ai +bi (0fi 2p )(5.4)ai 和bi 均可用以下数学公式表示:ai = r 2 + l 2 - l 2 arccos i32 =2rl r 2 + x 2 - x 2 arccos i21 2r x(5.5)i 3i 2bi = r 2 + l 2 - l 2 arccos i41 =2rl r 2 + x 2 - l 2 arccos i31 2r x(5.6)ri =i 4l + x - 2l x cosj22131 3ii 3(5.7)接下来,需要考虑的是四杆机构的约束条件,由于杆长并不是设计四杆机构的唯一参数,同时还得考虑压力角、传动角等因素对四杆机构连续运动的影响。所以,我们将这些其余因素定为四杆机构的约束条件。为了确保机构能够平稳连续的运动,机构的传动角应当限制在一个许用范围之内。根据传动角度的不同位置,可推出下列关系式:l 2 + l 2 - (l - l )2arccos 2341 g2l2l3 min (5.8)l 2 + l 2 - (l + l )2arccos 2314 g2l2l3 max (5.9)整理得到约束方程组如下:g1 ( X ) = l1 - l2 0 g2 ( X ) = l1 - l3 0 g3 ( X ) = l1 - l4 0g4 ( X ) = (l1 + l4 ) -(l3 + l4 ) 0 g5 ( X ) = (l1 + l2 ) -(l3 + l4 ) 0 g6 ( X ) = (l1 + l3 ) -(l2 + l4 ) 0图 5.2杆 4 实际输出角5.3 实例计算根据图 2.1,以铰链四杆机构作为例子,在已知原动件 l1 和机架 l4 的情况下,其传动角度的范围为45 g 135 ,当主动件转角为j = j0(j0 + 90 ) ,能使从动件 l4的输出角度得到一个最理想的运动函数y=y + 2 (j -j )2 ,其中规定主动件 l1 在右极位时与机架 l4 的夹角为j0 。Ei03pi0图 5.3铰链四杆机构的极限位置我们选用 MATLAB 自带优化工具箱中的 fmincon(求解约束条件下的非线性极小值) 函数来求解问题,在设置好相关参数后,首先建立目标函数和调用函数的 M 文件,并将之前分析得到的约束条件输入到相应的地方,这时程序运行的结果就是目标函数的最优解。在命令窗口输入优化设计方案的初始数据,令 geq=,调用 fmincon 函数,即可得到最优的结果。将函数运算所得的结果带回实例模型中进行验算,得出的最优结果在所有约束条件的交集上。通过该实例的优化计算后,整理思路并分析可得一个结论,那就是通过解析法对平面四杆机构进行优化设计时,常常会很复杂和困难,这时候我们首先需要定义出几个约束变量,再对所建立的数学模型的非线性约束方程组进行求解,这样就提供了一个方便快速且准确的方法来解决平面四杆机构的综合问题。6 结论以平面四杆机构为例,使用 MATLAB 作为平台,Simulink、GUI 作为工具,对机构进行了动力学和运动学的仿真和优化。仿真模拟使设计计算变得简单直观,并且能够在不同的初始条件下,用曲线图的形式表示出各参数的随时间变化的特性。不仅极大的保证系统方案的可行性,同时也简化了设计的流程,提高了机械设计的效率,具有很强的实际工程应用意义。同时,建立 GUI 人机交互界面让平面四杆机构的运动学过程更为直观方便,使得设计人员能够节省大量时间,不仅准确,而且快速,还能够对自己的设计做出及时的调整, 十分具有优越性。总之,机构越是复杂,计算越是繁琐,MATLAB 和仿真分析的使用就更显得尤为重要,在计算机普遍使用的今天,使用计算机辅助设计,不仅仅是适应潮流,更能够在人们越来越追求准确高效的今天赢得更大的竞争力。参 考 文 献1 范恒彦,陈长秀.一种支撑用铰链四杆机构的设计J. 陕西国防工业职业技术学院学报. 2015(04)2 王琦,何仁.采用改进差分进化算法的四杆机构轨迹优化J. 机械设计与制造. 2017(09)3 徐春涛,廉哲满.基于矫正解的经过预定三位置的四杆机构设计J. 延边大学学报(自然科学版). 2012(01)4 桑中和.基于 Matlab 的四杆机构优化设计简介J. 机电产品开发与创新. 2010(01)5 杨婕.基于 Matlab 的平面机构分析解析法D. 南昌大学学报(工科版). 2013(05)6 覃金昌,林远艳,张宝磊.工程四杆机构焊接杆上F 点的Simulink/SimMechanics 轨迹仿真分析J. 科技信息. 2013(15)7 张建,谷裕.谈四杆机构教学中学生创新能力的培养J. 职业教育研究. 2010(11)8 陈晓军,朱云开.基于遗传模拟退火算法的四杆机构优化设计J. 机械工程与自动化. 2009(03)9 张威,王辉.微分进化应用于四杆机构综合时的人工干预J. 机床与液压. 2009(0
收藏