RRR平面连杆机构的动态仿真_078105110
RRR平面连杆机构的动态仿真_078105110,rrr,平面,连杆机构,动态,仿真,_078105110
南昌航空大学科技学院学士学位论文1 绪论1.1选题的依据及意义平面连杆机构是许多构建用低副(转动副和移动副)连接组成的平面机构。机构的从动系统一般还可以进一步分解成若干个不可再分的自由度为零的构件组合,这种组合称为基本杆组,简称为杆组。机构的计算机仿真是指在研究中利用数学模型来获取系统的一些重要特性参数,这些数学模型通常是由以时间为变量的常微分方程来描述,并用数值方法进行计算机仿真求解。利用计算机仿真可以对整个机械制造系统及过程进行广泛地研究。一般而言,机构设计的目标之一是能够实现某一预先设定的运动轨迹。在研究机械系统的运动规律时,借助于计算机仿真是十分有益的。但是,大多数有关动力学方面的教科书较少涉及到计算机仿真,只是某些需要对研究对象进行运动方程精确描述的高等动力学教材才对计算机仿真有所体现。MATLAB被称为三大数学软件之一。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多。所以采用MALAB来对平面连杆机构进行动态仿真。1.2国内外研究概况及发展趋势机构学是着重研究机械中机构的结构和运动等问题的学科,是机械原理的主要分支。研究各种机械中有关机构的结构、运动和受力等共性问题的一门学科。研究内容分两个方面:第一是对已有机构的研究,即机构分析(结构分析,运动分析和动力分析);第二是按要求设计新的机构,即机构综合(结构综合,运动综合和动力综合)。传统的机构学把机构的运动(例如旋螺母的运动)看作只与其几何约束方式有关,而与受力、质量和时间等无关。这样,在19世纪中叶,机构学就从一般力学中独立出来,并日益发展。机构学的研究内容是对各种常用机构如连杆机构(见平面连杆机构和空间连杆机构)、凸轮机构、齿轮机构(见齿轮传动)、差动机构、间歇运动机构、直线运动机构、螺旋机构(见螺旋传动)和方向机构等的结构和运动,以及这些机构的共性问题,在理论上和方法上进行机构分析和机构综合。 机构分析包括结构分析和运动分析两部分。前者研究机构的组成并判定其运动可能性和确定性;后者考察机构在运动中位移、速度和加速度的变化规律,从而确定其运动特性。掌握机构分析的方法对于如何合理使用机器、验证机械设计是否完善等是必不可少的,所以机构分析也是机构综合的基础。但是综合有时不存在唯一解,因而机构分析和综合往往是不可逆的。 设计新机器时,先要考虑两个问题:一是为了完成某一工艺或生产要求采取什么运动,这属于专业问题;二是采用什么机构来实现这种运动,这是机构综合问题。所谓机构综合就是根据要求实现的运动选定机构的结构类型,确定机构的几何尺寸,亦即进行机构的结构综合和运动综合,然后画出能够实现所求运动的机构运动简图。对于高速或高精度的机构,为更好地符合实际情况,还应考虑构件弹性和运动副间隙等实际因素的动力分析和动力综合。 MATLAB名字由MATrix和 LABoratory 两词的前三个字母组合而成。那是20世纪七十年代后期的事:时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。MathWorks公司于1993年推出MATLAB4.0版本,从此告别DOS版。4.x版在继承和发展其原有的数值计算和图形可视能力的同时,出现了以下几个重要变化:(1)推出了SIMULINK。这是一个交互式操作的动态系统建模、仿真、分析集成环境。它的出现使人们有可能考虑许多以前不得不做简化假设的非线性因素、随机因素,从而大大提高了人们对非线性、随机动态系统的认知能力。(2)开发了与外部进行直接数据交换的组件,打通了MATLAB进行实时数据分析、处理和硬件开发的道路。(3)推出了符号计算工具包。1993年MathWorks公司从加拿大滑铁卢大学购得Maple的使用权,以Maple为“引擎”开发了Symbolic Math Toolbox 1.0。MathWorks公司此举加快结束了国际上数值计算、符号计算孰优孰劣的长期争论,促成了两种计算的互补发展新时代。(4)构作了Notebook 。MathWorks公司瞄准应用范围最广的Word ,运用DDE和OLE,实现了MATLAB与Word的无缝连接,从而为专业科技工作者创造了融科学计算、图形可视、文字处理于一体的高水准环境。1997年仲春,MATLAB5.0版问世,紧接着是5.1、5.2,以及和1999年春的5.3版。与 4.x相比,现今的MATLAB拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精良的图形可视、更广博的数学和数据分析资源、更多的应用开发工具。(关于MATLAB5.x的特点下节将作更详细的介绍。)诚然,到1999年底,Mathematica也已经升到4.0版,它特别加强了以前欠缺的大规模数据处理能力。Mathcad 也赶在2000年到来之前推出了Mathcad 2000 ,它购买了Maple内核和库的部分使用权,打通了与MATLAB的接口,从而把其数学计算能力提高到专业层次。但是,就影响而言,至今仍然没有一个别的计算软件可与MATLAB匹敌。MATLAB是当前数值计算方面应用地非常广泛的一种计算机软件。该软件具有一下几个特点:(1)该软件语言接近自然语言,极易入门有其他程序设计语言基础的人士学起来则更为容易;(2)该软件提供了大量的内部函数这使得其在使用中非常方便再则,日益庞大的toolbox使得该软件的应用领域越来越广泛;(3)该软件语言以向量、矩阵为着眼点,这使得它特别适宜于数值分析;(4)绘图功能强大。由于上述原因,MATLAB在世界范围内很是流行,特别是在工程计算领域近年来越来越多的国人也喜爱上了这一套软件MATLAB的toolbox中也含有概率统计方面的库函数概率方面的库函数主要有各种常见分布的分布函数、概率密度、分布率以及生成服从各种分布随机数的函数统计方面的库函数含盖了简单随机样本下常见的参数估计(点估计、区间估计),假设检验此外还含有大量涉及实验设计、线性回归、非线性回归等方面的库函数在欧美大学里,诸如应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把MATLAB作为内容。这几乎成了九十年代教科书与旧版书籍的区别性标志。在那里,MATLAB是攻读学位的大学生、硕士生、博士生必须掌握的基本工具。在国际学术界,MATLAB已经被确认为准确、可靠的科学计算标准软件。在许多国际一流学术刊物上,(尤其是信息科学刊物),都可以看到MATLAB的应用。在设计研究单位和工业部门,MATLAB被认作进行高效研究、开发的首选软件工具。如美国National Instruments公司信号测量、分析软件LabVIEW,Cadence公司信号和通信分析设计软件SPW等,或者直接建筑在MATLAB之上,或者以MATLAB为主要支撑。又如HP公司的VXI硬件,TM公司的DSP,Gage公司的各种硬卡、仪器等都接受MATLAB的支持。MATLAB有着强大的功能和提供了丰富的资源,而将机械原理中的片面连杆机构有关运动学和动力学模型放到Simulink进行仿真方面的研究在国内还是比较少,而这方面的文献在国内更是不多。所以基于MATLAB/Simulink的平面连杆机构动态仿真将必将有力地促进机电产品的创新设计和开发,并在高科技发展进程中发挥重要作用。1.3研究内容及实验方案研究内容:1、外文翻译;2、MATLAB软件的使用;3、平面连杆机构的组成原理;4、RRRII级杆组MATLAB运动学仿真模块;5、RRRII级杆组MATLAB动力学仿真模块;6、RRR四杆机构和RRR-RRR六杆机构的设计;7、RRR四杆机构和RRR-RRR六杆机构的运动学仿真;8、RRR四杆机构和RRR-RRR六杆机构的动力学仿真。设计方案:1、收集有关资料、写开题报告;2、翻译外文资料;3、熟悉MATLAB软件;4、学习RRRII级杆组MATLAB运动学和动力学仿真;5、设计一个RRR四杆机构和一个RRR-RRR六杆机构;6、RRR四杆机构和RRR-RRR六杆机构的动态仿真;7、撰写毕业设计论文。2 曲柄、RRR级杆组的MTALAB运动学仿真机构的运动分析,主要获得机构中某些构件的位移、角速度和角加速度,某些点的轨迹、速度和加速度。它是机械设计及评价机械运动和动力性能的基础,也是分析现有机械优化综合新机械的基本手段。一般的机构的运动分析,使用Quick Basic 语言或Fortran 语言/编写程序进行计算, 其缺点是“透明性”差, 修改麻烦等。本文用Matlab对机构进行运动学仿真,利用Matlab 的simulink 仿真模型的数据可视化的特点,就可以很容易观察到运动参数是如何变化的,极其简便。同时,用Matlab 建立和修改求解模型具有方便、快捷、很容易扩展等优点。Matlab 求解器提供很多求解不同微分方程的方法,可以根据不同的微分方程类型选择相应的求解方法。为了利用Matlab 强大的矩阵运算功能,本毕业设计课题对应用最为广泛的RRR级杆组推导了矩阵数学模型, 并编制了相应的Matlab 的M函数, 对相应的RRR级杆组进行了运动学仿真。2.1用MATLAB实现牛顿-辛普森求解如图2.1所示,各构件 的尺寸为=400mm,=1000m,=700mm,=1200mm,复数向量坐标如图所示。已知构件1的角位移=。由图2.1铰链四杆机构复向量坐标,可以写出角位移方程为 图2.1 铰链四杆机构 +=+ (2.1)将上式展开,整理得 (2.2)由式(2.2)求出雅可比矩阵为 (2.3)根据式(2.2)、(2.3)编制的M函数如下:function y =rrrposi(x)while norm(f)epsilon J=-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; rrrposi(x)函数为求构件2和构件3角位移的函数,输入参数为x(1)=theta-1、x(2)=theta-2、x(3)=theta-3、x(4)=r1、x(5)=r2、x(6)=r3、x(7)=r4,输出参数为theta2、theta3。铰链四杆机构在图2.1所示位置,估计构件2和构件3的角位移为,则输入参数x=0 45*pi/180 110*pi/180 0.4 1 0.7 1.2带入上面的M函数,得构件2和构件3的角位移分别为=44.07,=96.71。2.2用MATLAB进行速度分析对式(2.1)求导并整理成矩阵形式为 (2.4)根据式(2.4)编写的M函数如下:function y = rrrvel(x)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; rrrvel(x)函数为求构件2和构件3角速度的函数,输入参数为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,输出参数为dtheta-2、dtheta-3。在图2.1铰链四杆机构中=0由位移分析计算出的和曲柄1的角速度=10rad/s及各个构件长度,则输入参数x=0 44.07*pi/180 96.71*pi/180 10 0.4 1 0.7带上面的M函数得构件2和构件3的角速度分别为=-4.9980rad/s,=-5.0004rad/s。2.3曲柄、RRR级杆组MATLAB运动学仿真模块2.3.1曲柄MATLAB运动学仿真模块 图2.2 曲柄位置参数如图2.2所示,在复数坐标系中,曲柄AB复向量的模为常数、幅角为变量,通过转动副A与机架连接,转动副A的复向量的模为常量、幅角为常量,曲柄AB端点B的位移、速度和加速度的推导如下: (2.5) 将方程(2.5)两边对时间t求两次导数得: (2.6)由式(2.6)写成矩阵形式有: (2.7) 根据式(2.7)编写曲柄原动件MATLAB的M函数如下:function y = crank(x)ddB = x(1)*x(4)*cos(x(2)+pi/2)+x(1)*x(3)2*cos(x(2)+pi); x(1)*x(4)*sin(x(2)+pi/2)+x(1)*x(3)2*sin(x(2)+pi);y = ddB;crank(x)函数为曲柄原动机的运动学仿真模块函数,其输入参数为x(1)=rj、x(2)=thetaj、x(3)=dthetaj、x(4)=ddthetaj,输出函数为y(1)=ReddB、y(2) = ImddB。2.3.2RRR级杆组MATLAB运动学仿真模块如图2.3所示,在复数坐标系中,由3个转动副(B,C,D)和2个构件(长度分别为)组成RRR级杆组,2个构件的幅角和为变量,则点C的加速度推到如下 图2.3 RRR级杆组位置参数 (2.8)整理式(2.8)得 (2.9)对方程式(2.9)求导数并整理得 (2.10) 对方程式(2.10)求导数并整理得 (2.11)由(2.11)写成矩阵形式有 (2.12) 由式(2.12)写成矩阵形式有 (2.13) 式(2.13)对时间t求导数,得点C的速度为 (2.14) 式(2.14)对时间t求导数,得 (2.15) 根据式(2.12)和式(2.15) 编写RRR级杆组MATLAB的M函数如下:function y = RRRki(x)a = x(1)*cos(x(3)+pi/2) -x(2)*cos(x(4)+pi/2); x(1)*sin(x(3)+pi/2) -x(2)*sin(x(4)+pi/2);b=-x(1)*cos(x(3)+pi) x(2)*cos(x(4)+pi);-x(1)*sin(x(3)+pi) x(2)*sin(x(4)+pi)*x(5)2;x(6)2+x(9)-x(7);x(10)-x(8);ddth = inv(a)*b;y(1) = ddth(1);y(2) = ddth(2);y(3) = x(7)+x(1)*ddth(1)*cos(x(3)+pi/2)+x(1)*x(5)2*cos(x(3)+pi);y(4) = x(8)+x(1)*ddth(1)*sin(x(3)+pi/2)+x(1)*x(5)2*sin(x(3)+pi); rrrki(x)函数为RRR级杆组运动学的仿真模块函数,其输入参数为x(1)=ri、x(2)=rj、x(3)=theta-i、x(4)=theta-j、x(5)=dtheta-i、x(6)=dtheta-j、x(7)=ReddB、x(8)=ImddB、x(9)=ReddD、x(10)=ImddD,输出参数为y(1)=ddtheta-i、y(2)=ddtheta-j、y(3)=ReddC、y(4)=ImddC。2.4四杆机构的MATLAB运动学仿真铰链四杆机构如图2.1所示,它由原动件(曲柄1)和1个RRR杆组构成。各构件的尺寸为=400mm,=1000m,=700mm,=1200mm。建立如图1所示复数向量坐标,构件1以等角速度10rad/s逆时针方向回转,试求点C的加速度、构件2,3的角加速度。在Simulink环境下建立该铰链四杆机构的仿真模型如图2.4所示。 在图2.4中各个 数据线上都表明了相应参数,其中theta-2表示构件2的角位移;dtheta-2表示构件2的角速度;ddtheta-2表示构件2的角加速度;ReddC和ImddC分别表示点C加速度的水平分量和垂直分量,其他数据线上参数含义以此类推。各个积分模块的名称与该积分模块的输出参数名称一致,其值代表相应构件的长度或相应参数值。2个函数模块crank.m和rrrki.m分别存放曲柄和RRR杆组在2.3节中已经建立完的运动分析M函数。Simout模块存放运动分析的结果。在图2.4中的各积分模块所设定的初值是以曲柄1的幅角为,角速度为10rad/s时,相应各个构件的位移、速度值,这些通过2.3节中位移和速度分析得到。取长度单位为m,角度单位为rad。由于曲柄转速为10rad/s,因此没转动1周的时间是0.628s,设置仿真时间为1s,仿真结果输出到工作空间变量simout。 图2.4 曲柄滑块机构Simulink仿真模型2.5四杆机构MATLAB运动学仿真结果用绘图命令plot(tout,simout(:,7),plot(tout,simout(:,8),plot(tout,simout(:,5)和plot(tout,simout(:,6)分别绘制出点C加速度的水平分量和垂直分量以及构件2的角加速度、构件3的角加速度,如图2.5、图2.6、图2.7和2.8所示。图2.5 点C水平方向的加速度图2.5中,纵坐标为,横坐标为t/s,从图中曲线的变化可以看出在经过0.628s后,点C水平方向的加速度发生周期变化。图2.6 点C垂直方向的加速度 图2.6中,纵坐标为,横坐标为t/s,从图中曲线的变化可以看出在经过0.628s后,点C垂直方向的加速度发生周期变化。 图2.7 构件2的角加速度 图2.7中,纵坐标为,横坐标为t/s,从图中曲线的变化可以看出在经过0.628s后,构件2的角加速度发生周期变化。图2.8 构件3的角加速度 图2.8中,纵坐标为,横坐标为t/s,从图中曲线的变化可以看出在经过0.628s后,构件3的角加速度发生周期变化。3 曲柄、RRR级杆组的MTALAB动力学仿真机构的动力分析,主要是在运动学分析的基础上,由已知工作阻力,求出运动副的约束反力和驱动力(或力矩),为选择和设计轴承,零部件强度的计算及选择原动机提供理论依据。用MATLAB 对机构进行动力学求解,利用MATLAB 的Simulink求解模型的数据可视化的特点,就可以很容易观察到动力参数是如何变化的,极其简便。同时,用MATLAB建立和修改求解模型具有方便、快捷、很容易扩展等优点。MATLAB求解器提供很多解不同微分方程的方法,可以根据不同的微分方程类型选择相应的求解方法。 为了利用MATLAB 强大的矩阵运算功能,本毕业设计课题对应用最为广泛的RRR级杆组推导了矩阵数学模型, 并编制了相应的MATLAB 的M函数, 对相应的RRR级杆组进行了动力学仿真。3.1 曲柄、RRR级杆组MATLAB动力学仿真模块3.1.1 曲柄MATLAB动力学仿真模块图3.1 曲柄的受力模型如图4所示,已知曲柄AB向量的模为常数,幅角为变量,质心到转动副A的距离为,质量为,绕质心转动惯量为,作用于质心上的外力为和、外力矩为,曲柄与机架联接,转动副A的约束反力为和,驱动力矩为。 由理论力学可得: (3.1) (3.2) (3.3) 由运动学知识可推得: (3.4) (3.5)将式(3.4)、式(3.5)代入式(3.1)、式(3.2),并与式(3.3)合并得: (3.6)根据式(2.6)编写曲柄原动件MATLAB的M函数如下:function y=crankdy(x)g=9.8ri=0.4;rci=0.2;mi=1.2;Ji=0.016;Fxi=0;Fyi=0;Mi=0;ReddA=0;ImddA=0;y(1) = mi*ReddA+mi*rci*x(3)*cos(x(1)+pi/2)+mi*rci*x(2)2*cos(x(1)+pi)-Fxi+x(4);y(2) = mi*ImddA+mi*rci*x(3)*sin(x(1)+pi/2)+mi*rci*x(2)2*sin(x(1)+pi)-Fyi+x(5)+mi*g;y(3)=Ji*x(3)-y(1)*rci*sin(x(1)+y(2)*rci*cos(x(1)-x(4)*(ri-rci)*sin(x(1)+x(5)*(ri-rci)*cos(x(1)-Mi;crankdy(x)函数为曲柄的动力学矩阵仿真模块函数,其输入参数为x(1)=theta-i、x(2)=dtheta-i、x(3)=ddtheta-i、x(4)=RxB、x(5)=RyB,输出参数为y(1)=RxA、y(2)=RyA、y(3)=M1,函数中的已知参数为g=9.8ri=0.4;rci=0.2;mi=1.2;Ji=0.016;Fxi=0;Fyi=0;Mi=0;ReddA=0;ImddA=0。3.1.2 RRR级杆组MATLAB动力学仿真模块如图3.2所示, RRR级杆组,分别以2个构件BC(长度为)和CD(长度为)为受力分析对象进行受力分析,其受力情况同曲柄,只是不受驱动力矩,则转动副B,C,D的约束反力推导如下:图3.2 RRR杆组受力模型对构件BC受力分析得 (3.7) (3.8) (3.9)对构件CD受力分析得 (3.10) (3.11) (3.12)由运动学可推得 (3.13) (3.14) (3.15) (3.16)将式(3.13)-(3.16)分别代入式(3.7)、式(3.8)、式(3.10)、式(3.11)并与式(3.9)、式(3.12)写成矩阵为 (3.17)根据式(3.17)编写RRR级杆组MATLAB的M函数如下:function y = RRRdy(x)g=9.8;ri = 1;rj = 0.7;rci = 0.5;rcj = 0.35;mi = 3;mj = 2.2;Ji = 0.25;Jj = 0.09;ReddD = 0;ImddD = 0;Fxi = 0;Fyi = 0;Mi = 0;a = zeros(6);a(1,1) = 1;a(1,3) = 1;a(2,2) = 1;a(2,4) = 1;a(3,1) = rci*sin(x(1);a(3,2) = -rci*cos(x(1);a(3,3) = -(ri-rci)*sin(x(1);a(3,4) = (ri-rci)*cos(x(1);a(4,3) = -1;a(4,5) = 1;a(5,4) = -1;a(5,6) = 1;a(6,3) = (rj-rcj)*sin(x(2);a(6,4) = -(rj-rcj)*cos(x(2);a(6,5) = rcj*sin(x(2);a(6,6) = -rcj*cos(x(2);b =zeros(6,1);b(1,1) = mi*rci*x(5)*cos(x(1)+pi/2)+mi*x(7)+mi*rci*x(3)2*cos(x(1)+pi)-Fxi;b(2,1) = mi*rci*x(5)*sin(x(1)+pi/2)+mi*x(8)+mi*rci*x(3)2*sin(x(1)+pi)-Fyi+mi*g;b(3,1) = Ji*x(5)-Mi;b(4,1) = mj*rcj*x(6)*cos(x(2)+pi/2)+mj*ReddD+mj*rcj*x(4)2*cos(x(2)+pi)-x(9);b(5,1) = mj*rcj*x(6)*sin(x(2)+pi/2)+mj*ImddD+mj*rcj*x(4)2*sin(x(2)+pi)-x(10)+mj*g;b(6,1) = Jj*x(6)-x(11);y = inv(a)*b; rrrdy(x)函数为RRR级杆组的动力学仿真模块,其输入参数x(1)=theta-i、x(2)=theta-j、x(3)=dtheta-i、x(4)=dtheta-j、x(5)=ddtheta-i、x(6)=ddtheta-j、x(7)=ReddB、x(8)=ImddB、x(9)=Fxj、x(10)=Fyj、x(11)=Mj;其输出参数为y(1)=RxB、y(2)=RyB、y(3)=RxC、y(4) = RyC、y(5)=RxD、y(6)=RyD;其中的已知参数为g=9.8;ri = 1;rj = 0.7;rci = 0.5;rcj = 0.35;mi = 3;mj = 2.2;Ji = 0.25;Jj = 0.09;ReddD = 0;ImddD = 0;Fxi = 0;Fyi = 0;Mi = 0。3.2四杆机构的MATLAB动力学仿真铰链四杆机构如图2.1所示,它由原动件(曲柄1)和1个RRR杆组构成。各构件 的尺寸为=400mm,=1000m,=700mm,=1200mm;质心为=200mm,=500mm,=350mm;质量为=1.2kg,=3kg,=2.2kg;转动惯量为,构件3的工作阻力矩,顺时针方向,其他构件所受外力和外力矩均为零,构件1以等角速度10rad/s逆时针方向回转,试求在不计摩擦时,转动副A的约束反力、驱动力矩以及所作的功。在Simulink环境下建立该铰链四杆机构的仿真模型如图3.3所示。 图3.3 铰链四杆机构Simulink仿真模型3.3四杆机构MATLAB仿真模型的初值确定 铰链四杆机构Simulink仿真模型中theta-2、theta-3的初值由2.1节内容求得,而dtheta-2和dtheta-3的初值由2.2节内容求得。3.4四杆机构MATLAB动力学仿真结果 用绘图命令plot(tout,simout1(:,1),plot(tout,simout1(:,2),plot(tout,simout1(:,3)和plot(tout,simout1(:,4)分别绘制出转动副A的约束反力、驱动力矩及其所作的功,如图3.4、图3.5、图3.6和图3.7所示。图3.4 转动副A的水平方向力图3.4中,纵坐标为,横坐标为t/s,从图中曲线的变化可以看出在经过0.628s后,转动副A的水平方向力发生周期变化。图3.5 转动副A的垂直方向力 图3.5中,纵坐标为,横坐标为t/s,从图中曲线的变化可以看出在经过0.628s后,转动副A的垂直方向力发生周期变化。图3.6 曲柄上作用的力矩图3.6中,纵坐标为,横坐标为t/s,从图中曲线的变化可以看出在经过0.628s后,曲柄上作用的力矩发生周期变化。图3.7 曲柄力矩所作的功图3.6中,纵坐标为,横坐标为t/s,从图中曲线的变化可以看出在经过0.628s后,曲柄力矩所作的功发生周期变化。4 RRR-RRR六杆机构的MTALAB运动学仿真4.1 RRR-RRR六杆机构图4.1是由原动件(曲柄1)和2个RRR杆组组成的RRR-RRR六杆机构。各构件的尺寸为,复数向量坐标如图所示,构件1以等角速度10rad/s逆时针方向回转,试求点C和点E的加速度以及构件5,6的角速度和角加速度。 图4.1 RRR-RRR六杆机构运动简图的复数坐标4.2 RRR-RRR六杆机构MATLAB仿真模型该RRR-RRR六杆机构的MATLAB仿真模型如图4.2所示。在图4.2中各积分模块的初值是以曲柄1的幅角为何角速度等于10rad/s逆时针方向回转时,相应各个构件的位置、速度的瞬时值,3个MATLAB函数模块分别为crank_5.m,rrrki_4.m和rrrki_5.m,其中crank_5.m函数模块的输入参数为曲柄的角位移、曲柄的角速度和曲柄的角加速度、输出参数曲柄端部(转动副B)的加速度的水平分量和垂直分量,曲柄的长度在函数内部设置。Rrrki_4.m函数模块的输入参数为构件2和构件3的角位移、角速度和转动副B的加速度,构件2和构件3的长度在该函数模块内设置。Rrrki_5.m函数模块的输入参数为构件5和构件6的角位移、角速度和转动副C的加速度,构件5和构件6的长度在该函数模块内设置。每个数据线上标注了相应变量,常量模块放置了各个构件的尺寸,长度单位为M,角度单位为rad。设置仿真时间为1s,仿真结果输出到工作空间变量simout*中,求解器选用ode45,步长选用变步长。 图4.2 RRR-RRR六杆机构Simulink仿真模型4.3 RRR-RRR六杆机构MATLAB仿真模块RRR-RRR六杆机构Simulink仿真模型中的crank_5.m函数模块的M函数为:function y = crank_5(x)rj = 0.0265ddB = rj*x(3)*cos(x(1)+pi/2)+rj*x(2)2*cos(x(1)+pi); rj*x(3)*sin(x(1)+pi/2)+rj*x(2)2*sin(x(1)+pi);y = ddB;crank_5函数为曲柄原动机的运动学仿真模块函数,其输入参数为x(1)=thetaj、x(2)=dthetaj、x(3)=ddthetaj,输出函数为y(1)=ReddB、y(2) = ImddB,其中已知rj=0.0265。rrrki_4.m函数模块的M函数为:function y = RRRki_4(x) ri = 0.1056;rj = 0.0675;a = ri*cos(x(1)+pi/2) -rj*cos(x(2)+pi/2); ri*sin(x(1)+pi/2) -rj*sin(x(2)+pi/2);b = -ri*cos(x(1)+pi) rj*cos(x(2)+pi);-ri*sin(x(1)+pi) rj*sin(x(2)+pi)*x(3)2;x(4)2+-x(5);-x(6);ddth = inv(a)*b;y(1) = ddth(1);y(2) = ddth(2);y(3) = x(5)+ri*ddth(1)*cos(x(1)+pi/2)+ri*x(3)2*cos(x(1)+pi);y(4) = x(6)+ri*ddth(1)*sin(x(1)+pi/2)+ri*x(3)2*sin(x(1)+pi); rrrki_4(x)函数为RRR级杆组运动学的仿真模块函数,其输入参数为x(1)=theta-i、x(2)=theta-j、x(3)=dtheta-i、x(4)=dtheta-j、x(5)=ReddC、x(6)=ImddC,输出参数为y(1)=ddtheta-i、y(2)=ddtheta-j、y(3)=ReddC、y(4)=ImddC,其中已知ri=0.1056、rj=0.0675。rrrki_5.m函数模块的M函数为:function y = RRRki_5(x)ri = 0.065rj = 0.048a = ri*cos(x(1)+pi/2) -rj*cos(x(2)+pi/2); ri*sin(x(1)+pi/2) -rj*sin(x(2)+pi/2);b = -ri*cos(x(1)+pi) rj*cos(x(2)+pi);-ri*sin(x(1)+pi) rj*sin(x(2)+pi)*x(3)2;x(4)2+-x(5);-x(6);ddth = inv(a)*b;y(1) = ddth(1);y(2) = ddth(2);y(3) = x(5)+ri*ddth(1)*cos(x(1)+pi/2)+ri*x(3)2*cos(x(1)+pi);y(4) = x(6)+ri*ddth(1)*sin(x(1)+pi/2)+ri*x(3)2*sin(x(1)+pi); rrrki_5(x)函数为RRR级杆组运动学的仿真模块函数,其输入参数为x(1)=theta-i、x(2)=theta-j、x(3)=dtheta-i、x(4)=dtheta-j、x(5)=ReddC、x(6)=ImddC,输出参数为y(1)=ddtheta-i、y(2)=ddtheta-j、y(3)=ReddE、y(4)=ImddE,其中已知ri=0.065、rj=0.048。4.4 RRR-RRR六杆机构MATLAB仿真模块中初值的确定仿真模型中的初值已经给出,而的初值确定则需用牛顿-辛普森方法求解:由图4.1RRR-RRR六杆机构运动简图的复数坐标,可以写出角位移方程为 (4.1)将上式展开,整理得 (4.2)由式(4.2)求出雅可比矩阵为 (4.3) 根据式(4.2)、(4.3)编制的M函数如下:function y =rrrposi_3(x)while norm(f)epsilon J=-x(7)*sin(theta2) x(8)*sin(theta3) 0 0;x(7)*cos(theta2) -x(8)*cos(theta3) 0 0;0 -x(8)*sin(theta3) -x(10)*sin(theta5) x(11)*sin(theta6);0 x(8)*cos(theta3) x(10)*cos(theta5) -x(11)*cos(theta6); dth = inv(J)*(-1.0*f); theta2 = theta2+dth(1); theta3 = theta3+dth(2); theta5 = theta5+dth(3); theta6 = theta6+dth(4);f = x(6)*cos(x(1)+x(7)*cos(theta2)-x(9)-x(8)*cos(theta3);x(6)*sin(x(1)+x(7)*sin(theta2)-x(8)*sin(theta3);x(9)+x(8)*cos(theta3)+x(10)*cos(theta5)-x(12)-x(11)*cos(theta6);x(8)*sin(theta3)+x(10)*sin(theta5)-x(13)-x(11)*sin(theta6); norm(f);end;y(1) = theta2;y(2) = theta3;y(3) = theta5;y(4) = theta6; rrrposi_3(x)函数为求构件2、构件3、构件4、构件5角位移的函数,函数的输入参数为x(1)=theta - 1、x(2)=theta - 2、% x(3)=theta - 3、x(4) = theta - 5 、x(5)=theta - 6、% x(6)=r1、x(7)=r2、x(8)=r3、x(9)=r4、x(10)=r5、x(11)=r6、x(12)=a1、x(13)=a2,函数的输出参数为y(1)=theta - 2、y(2)=theta - 3、y(3)=theta - 5、y(4)=theta - 6,当输入参数x = 60*pi/180 20*pi/180 70*pi/180 320*pi/180 280*pi/180 0.0265 0.1056 0.0675 0.0875 0.065 0.048 0.15 0.07带入上面的M函数时,得构件2、构件3、构件5和构件6的角位移分别为对式(4.1)求导并整理成矩阵形式为 (4.4)根据式(4.4)编写的M函数如下:function y = rrrvel_2(x)A = -x(8)*sin(x(2) x(9)*sin(x(3) 0 0;x(8)*cos(x(2) -x(9)*cos(x(3) 0 0;0 -x(9)*sin(x(3) -x(10)*sin(x(4) x(11)*sin(x(5);0 x(9)*cos(x(3) x(10)*cos(x(4) -x(11)*cos(x(5);B = x(7)*sin(x(1);-x(7)*cos(x(1);0;0*x(6);y = inv(A)*B;rrrvel_2(x)函数为求构件2、构件3、构件5和构件6角速度的函数,输入参数为x(1)=theta-1、x(2)=theta-2、x(3)=theta-3、x(4)=theta-5、x(5)=theta-6、x(6)=dtheta - 1、x(7)=r1、x(8)=r2、x(9)=r3、x(10)=r5、x(11)=r6,输出参数为y(1)=dtheta-2、y(2)=dtheta-3、y(3)=dtheta-5、y(4)=dtheta-6。在图4.1RRR-RRR六杆机构中=60由位移分析计算出的和曲柄1的角速度=10rad/s及各个构件长度,则输入参数x = 60*pi/180 23*pi/180 70*pi/180 322*pi/180 285*pi/180 10 0.0265 0.1056 0.0675 0.065 0.048带入上面的M函数得构件2和构件3的角速度分别为=-4.9980rad/s,=-5.0004rad/s,=3.1974,=-3.1974,=-7.1793。4.5 RRR-RRR六杆机构MATLAB运动学仿真结果由于曲柄转速为10rad/s,因此没转动1周德时间是0.628s,用绘图命令plot(tout,simout1),plot(tout,simout2),plot(tout,simout(:,3),plot(tout,simout(:,4),plot(tout,simout(:,5),plot(tout,simout(:,6)分别绘制出点C和点E的加速度以及构件5,6的角速度和角加速度,如图4.3、图4.4、图4.5、图4.6、图4.7、图4.8所示。图4.3点C的加速度图4.3中,纵坐标为,横坐标为t/s,从图中曲线的变化可以看出在经过0.628s后,点C的加速度发生周期变化。图4.4 点E的加速度图4.4中,纵坐标为,横坐标为t/s,从图中曲线的变化可以看出在经过0.628s后,点C的加速度发生周期变化。 图4.5 构件5的角速度图4.5中,纵坐标为,横坐标为t/s,从图中曲线的变化可以看出在经过0.628s后,构件5的角速度发生周期变化。图4.6 构件6的角速度图4.6中,纵坐标为,横坐标为t/s,从图中曲线的变化可以看出在经过0.628s后,构件6的角速度发生周期变化。图4.7 构件5的角加速度图4.7中,纵坐标为,横坐标为t/s,从图中曲线的变化可以看出在经过0.628s后,构件5的角加速度发生周期变化。图4.8 构件6的角加速度图4.8中,纵坐标为,横坐标为t/s,从图中曲线的变化可以看出在经过0.628s后,构件5的角加速度发生周期变化。5 RRR-RRR六杆机构的MTALAB动力学仿真5.1 RRR-RRR六杆机构图4.1是由原动件(曲柄1)和2个RRR杆组组成的RRR-RRR六杆机构。各构件的尺寸为,;各构件的质心为;构件的质量为;各构件的转动惯量为,除了构件6受顺时针的工作阻力矩和构件1受驱动力矩外,其余构件所受外力 和外力矩均为零,构件1以等角速度10rad/s逆时针方向回转,在不计摩擦的情况下,求转动副A和F的约束反力。5.2 RRR-RRR六杆机构MATLAB仿真模型 在图5.1中各积分模块的初值是以曲柄1的幅角为和角速度 等于10rad/s逆时针方向回转时,相应各个构件的位移、速度的瞬时值。其中crank.m函数模块的输入参数为曲柄的长度、角位移、角速度和角加速度;输出参数为曲柄端部(转动副B)的加速度的水平分量和垂直分量。rrrki_4.m函数模块的输入参数为构件2和构件3的角位移和角速度、转动副B的加速度;输出参数为构件2和构件3的角加速度以及转动副C的加速度。rrrki_6.m函数模块的输入参数为构件5和构件6的角位移和角速度、转动副C的加速度;输出参数是构件5和构件6的角加速度。rrrdy_5.m函数模块的输入参数为构件5和构件6的角位移、角速度和角加速度以及转动副C的加速度;输出参数为转动副C,E和F的约束反力。rrrdy_6.m函数模块的输入参数为构件2和构件3的角位移、角速度和角加速度,转动副B的加速度,构件5作用到转动副C上的力、转化到构件3上的力矩;输出参数为转动副B,C和D的约束反力。crankdy_5.m函数模块的输入参数是曲柄原动件的角位移、角速度和角加速度以及转动副B的反作用力;输出参数是转动副A的约束反力和曲柄上作用的驱动力矩。每个数据线上标注了相应变量,常量模块放置了各个构件的尺寸,长度单位为m,角度单位为rad。设置仿真时间为1s,仿真结果输出到工作空间变量simout*中,求解器选用ode45,步长选用变步长。图5.1 RRR-RRR六杆机构动力学仿真模型5.3 RRR-RRR六杆机构MATLAB仿真模块 M4.m是将构件2上的点E处的外力转化为作用于构件2质心处的力和力矩,其输入参数为x(1)=theta3、x(2)=-RxC、x(3)=-RyC,输出参数为y(1)=M3,其相应M函数如下:function y = M4(x)r3 = 0.0675;rc3 = 0.035;y(1) = (r3-rc3)*cos(x(1)*x(3)-(r3-rc3)*sin(x(1)*x(2);crank_5.m函数模块的M函数为:function y = crank_5(x)rj = 0.0265;ddB = rj*x(3)*cos(x(1)+pi/2)+rj*x(2)2*cos(x(1)+pi); rj*x(3)*sin(x(1)+pi/2)+rj*x(2)2*sin(x(1)+pi);y = ddB;crank_5(x)函数为曲柄原动机的运动学仿真模块函数,其输入参数为x(1)=thetaj、x(2)=dthetaj、x(3)=ddthetaj,输出函数为y(1)=Redd
收藏