机械结构运动学动力学分析与模拟
机械结构运动学动力学分析与模拟,机械,结构,运动学,动力学,分析,模拟,摹拟
本科毕业论文(设计)开题报告论文题目:机械结构运动学动力学分析与模拟学院:专 业 、班级:学生姓名:导教师(职称): 毕业论文(设计)开题报告要求开题报告既是规范本科生毕业论文工作的重要环节,又是完成高质量毕业论文(设计)的有效保证。为了使这项工作规范化和制度化,特制定本要求。一、选题依据1. 论文(设计)题目及研究领域;2. 论文(设计)工作的理论意义和应用价值;3. 目前研究的概况和发展趋势。二、论文(设计)研究的内容1.重点解决的问题;2. 拟开展研究的几个主要方面(论文写作大纲或设计思路);3. 本论文(设计)预期取得的成果。三、论文(设计)工作安排1. 拟采用的主要研究方法(技术路线或设计参数);2. 论文(设计)进度计划。四、文献查阅及文献综述学生应根据所在学院及指导教师的要求阅读一定量的文献资料,并在此基础上通过分析、研究、综合,形成文献综述。必要时应在调研、实验或实习的基础上递交相关的报告。综述或报告作为开题报告的一部分附在后面,要求思路清晰,文理通顺, 较全面地反映出本课题的研究背景或前期工作基础。五、其他要求1. 开题报告应在毕业论文(设计)工作开始后的前四周内完成;2. 开题报告必须经学院教学指导委员会审查通过;3. 开题报告不合格或没有做开题报告的学生,须重做或补做合格后,方能继续论文(设计)工作,否则不允许参加答辩;4. 开题报告通过后,原则上不允许更换论文题目或指导教师;5. 开题报告的内容,要求打印并装订成册(部分专业可根据需要手写在统一纸张上,但封面需按统一格式打印)。10一、选题依据1、研究领域机构学;计算机仿真2、论文(设计)工作的理论意义和应用价值机械制造业是国民经济的基础产业,它的发展直接影响到国民经济各部门的发展,也影响到国计民生和国防力量的加强。机械制造在国民经济中占有举足轻重的地位,各行各业都要应用到机械,可以说机械无处不在。而机械的正常运行是机械完成作业的保障,装配完成后的机械需要在各种环境下工作,保证其在相应的环境中正常运行才能保证机械准确的完成作业。在机械运行过程中,各种运动参数,例如速度、加速度、角速度、角加速度等都是时刻变化的,为了了解机械运行状态和及时避免机械出现故障,就需要对机械结构的运动学动力学进行分析,掌握其运动轨迹、方向、加速度及其受力与运动的关系等,从而能够得到机械结构在任意时刻的运动情况,便于分析解决相关问题。运动学仿真对于机构设计、分析、优化等问题有重要作用,对机构进行动力学分析可以得到各运动副中的约束反力和主动构件的驱动力或从动构件的阻力,以便对机械结构进行强度计算。利用软件进行仿真分析可以降低一款产品的生产周期,降低开发成本,提高产品质量。并且这种方法简单易行,操作方便,不需要投入很多人力物力和时间。而利用 MATLAB 对机械结构进行运动学动力学模拟仿真,可以分析整个运动过程中的各运动变量、约束力等,同时运用 MATLAB 的计算能力和图形处理能力, 可以直观的表示出各参数变量的变化。所以,结合计算机技术对机械结构进行运动学动力学仿真分析,不仅节约时间和成本,也能够为设计人员提供更好的解决方案,使设计出来的产品更加具有竞争力。3、目前研究的概况和发展趋势机构要能正常工作,一般必须具有确定的运动,因而必须知道机构的自由度及其具有确定运动的条件。不论是设计新的机械,还是了解现有机械的运动性能,对机构进行运动分析都是十分必要的。对于早期的机构运动分析来说,图解法和解析法应用较为广泛。当需要简洁直观的了解机构的某个或者某几个位置的运动特性时采用图解法比较方便,而且精度也能够满足正常实际问题的要求。当要求精确的知道或了解机构在整个运动循环过程中的运动特性时,就要运用到解析法求解。这种方法的关键是建立位移方程式,至于速度分析和加速度分析则是利用位移方程式对时间求导一次、二次而解线性方程的问题。在计算机功能不成熟的情况下,用解析法对机构求解动力学方程需要花费很长时间,不仅需要工作人员计算准确无误,还需要集中注意力,运用各个方程之间的关系,多次求解才能得到正确结果。随着计算机能力的提高,各种算法都可以在计算机中进行,而且计算机运算要比人脑计算快得多,所以应用计算机辅助计算就可以大大节约时间。机械结构的仿真分析在计算机技术迅速发展的基础上有了广泛的应用,用于机械结构运动学动力学分析的操作软件也发展的越来越多,功能越来越全面,操作越来越简便。目前,有许多国内外计算机辅助设计软件都包含了机械结构运动学动力学的仿真内容。其中,ADAMS 和 SIMPACK 是相对专业的运动仿真软件,SIMPACK 在算法方面比较强,但是不及 ADAMS 应用广泛,ADAMS 是虚拟样机分析的应用软件,自带三维建模系统,其运动分析模块可以做比较复杂的运动仿真。另外,Pro/E、UG、CATIA、SolidWorks 等软件也有运动仿真功能模块,CATIA 在复杂曲面、高阶曲面建模、运动分析方面做得比较好,其运动仿真可以实现运动副运动规律分析、运动参数测量、机构运动轨迹分析、包络体扫掠、空间的运动干涉分析等。UG 有很强的曲面建模功能, 具有自带的运动仿真功能,它能对任何二维或三维机构进行复杂的运动学分析、动力分析和设计仿真。UG 的运动仿真功能可以对运动机构进行干涉检查、轨迹包络等运动合理性分析工作,得到运动机构的运动参数。Pro/E 和 SolidWorks 同样具有相似功能的运动仿真分析。除此之外,还可以利用编程语言编制仿真程序,例如利用 VB 对 AutoCAD 进行二次开发、利用 C+等编程开发环境进行系统开发,利用 Simulink 工具或者直接利用 MATLAB 编制仿真程序得到相关的位置、速度、加速度等的仿真曲线。随着机械结构、机械系统的复杂化,机构分析软件也需要增加一些相关功能,比如增强灵敏度分析、柔性体分析功能,增加优化功能、综合设计能力、前后处理能力和反馈元件模块。同时,对机构的分析也要由简单的运动分析与综合向复杂的运动分析与综合方面发展,也由机构运动学向机构动力分析与综合方向发展。同时完善和发展典型机构的机构综合方法、建立基于功能需要的机构设计新方法,将大大有利于典型机构更加广泛的应用。二、论文(设计)研究的内容1.重点解决的问题(1) 学习理解机构仿真的意义和常用技术(2) 学习机构数学建模内容和软件程序的编制(3) 对典型机械结构进行模拟仿真,熟悉机构建模、仿真编程等内容(4)完成所选机构仿真结果的分析,展示仿真结果2. 拟开展研究的几个主要方面(论文写作大纲或设计思路) (1)学习理解机构运动学动力学内容,建立机构的数学模型(2)在 MATLAB 软件中建立仿真模型(3)在 MATLAB 软件中编制 M 文件和回调程序(4)运行程序,对运行结果进行分析整理3. 本论文(设计)预期取得的成果通过学习 MATLAB 矩阵、向量和微分方程求解等问题和 GUI 功能以及编程,结合所学专业内容,利用 MATLAB 强大的计算能力和图形处理能力,准确的得出机构运行过程中各运动参数和运动图像并通过对仿真结果的分析得到对机械结构运动学动力学模拟分析的意义三、论文(设计)工作安排1. 拟采用的主要研究方法(技术路线或设计参数);首先对选定的机构进行数学建模,对机构运动学动力学所求解以矩阵形式写入MATLAB 的 M 文件中,然后利用 MATLAB 的 GUIDE 功能建立机构的仿真模型,运用 ode 函数对运动变量方程组进行数值求解,运用 MATLAB 的作图功能将数值求解的结果以曲线、动画等形式表现出来,最后对仿真结果进行分析整理。2. 论文(设计)进度计划第 1 周-第 2 周:查阅与本设计有关的书籍文献,整理加工资料,准备开题报告第 3 周-第 4 周:根据查阅整理的资料,完成开题报告以及开题报告的答辩第 5 周-第 6 周:学习 MATLAB 软件中矩阵、向量和微分方程求解等内容;学习MATLAB 软件的 GUIDE 功能用户界面的设计和程序的编制第 7 周-第 8 周:选定机构并建立数学模型,利用 MATLAB 的 GUIDE 功能,在用户界面中建立该机构的仿真模型第 9 周-第 10 周:利用 ode 函数对运动变量方程组进行数值求解,使用 MATLAB 作图功能将数值求解的结果可视化处理第 11 周-第 12 周:完善程序设计和编制,根据机构参数变化进行仿真结果分析第 13 周-第 15 周:总结机构仿真的工作过程和意义,归纳毕业设计工作,完成毕业设计说明书,翻译与本设计相关的英文文献,准备毕业答辩四、需要阅读的参考文献1杨基厚.机构运动学动力学M.北京.机械工业出版社.1987. 2程燕平,程邺.MATLAB 理论力学M.北京.高等教育出版社.2015.3刘瑞叶,任洪林,李志民.计算机仿真技术基础M.北京.电子工业出版社.2004. 4周明,胡斌.计算机仿真原理及其应用M.武汉.华中科技大学出版社.2005.5 王江,付文利.基于 MATLAB/Simulink 系统仿真权威指南M.北京.机械工业出版社.20136 敖文刚.基于 MATLAB 的运动学动力学过程分析与模拟M.北京.科学出版社.2013.7 吴旭光,杨慧珍,王新民.计算机仿真技术M.北京.化学工业出版社.2005. 8黎明安.MATLAB/Simulink 动力学系统建模与仿真M.北京.国防工业出版社.2015.9 周凌.基于 MATLAB 的四杆机构的运动学动力学仿真J.高职教育,2011,(11):147-149.10 敖文刚,敖文芳.运用 MATLAB 对运动学、动力学问题进行过程分析J.重庆工商大学学报(自然科学版),2012,29(6):36-40.11 向雪梅,马振利,等.基于 Matlab 四杆式液压起落机构运动学与动力学分析J. 后勤工程学院学报,2013,29(4):80-85.12袁清珂.机械系统运动学/动力学分析软件J.汽车工程,1990,12(3):60-65. 13乔英志,黄加亮.柴油机去柄连杆机构运动学与动力学仿真J.集美大学学报(自然科学版),2012,17(1):49-54.14 叶素娣,徐敬华.插床六杆机构的运动学和动力学分析J.安徽工程大学学报,2014,29(4):27-31.15 刘勇,王卫华,等.基于 Simulink 的偏置曲柄滑块机构运动学和动力学分析J. 科学技术与工程,2014,14(1):186-191.16 Xiulong Chen, Xiaoxia Liang,et al. Rigid Dynamic Model and Analysis of 5-DOF Parallel MechanismJ. International Journal of Advanced Robotic Systems,2015,1-9.17 Jianjun Qin,Xuguo He,et al.Four Degree of Freedom Manipulators Kinematics Simulink Analysis Based on MATLABJ.Information Technology.2013,12(19):5058-5063.附:文献综述文献综述引言机构运动学动力学仿真是科技进步和生产发展共同促进的结果,传统运动学动力学求解方法已经不能够满足现今生产节奏和要求,借助计算机分析是现在机械产品设计的一大特点,计算机仿真可以有效地帮助工作人员进行产品模型的设计分析,直观的展现其运动情况,大大缩短了产品设计周期,节约成本。【1】计算机仿真软件有很多, 比如 ADAMS、SIMPACK、MATLAB、Pro/E、SolidWorks、CATIA、UG 等,其中 MATLAB 软件功能强大,广泛用于自动控制、系统工程、信息工程、机电工程等专业领域,其对机构运动学动力学仿真也有一定的优势,利用 MATLAB 的 M 函数对机构进行建模和仿真,方法简单直观,操作性较好。GUI(Graphical User Interface)是面向对象的语言,逻辑简单,对于非专业人员来说也可以很容易掌握。1. 机构的运动学与动力学机构的本质是执行机械运动的装置,对机构的首要目标就是保证其能够完成预期的运动规律。随着社会的发展和科学技术的进步,现代机构日益向着高速度、高精度、高效率、低震动、低噪声的方向发展。要创造出大量的、种类繁多的、优良的、满足工程实际需要的机构,所涉及的专业知识和技能很多,如常见机构的工作原理和特点、机构的结构分析、机构的运动学分析、机构的动力学分析、机械系统设计、机构的优化等等,还包括各种计算机辅助技术的使用,其中机构的运动分析和动力分析是机构创新设计中一项重要的基础工作。为了得到机械结构的运动和作用于物体的力与物体运动之间的关系,对机构进行运动学和动力学分析非常重要。运动学主要是是研究机构的运动方程、轨迹、位移、速度、加速度等运动特征。机构运动分析的任务是在已知机构尺寸及原动件运动规律的情况下,确定机构中其他构件上某些点的轨迹、位移、速度及加速度和构件的角位移、角速度及角加速度。【2】这些内容无论是设计新的机械,还是为了了解现有机械的运动性能,都是十分必要的,而且他也是研究机械动力性能的必要前提。动力学的形成和发展是与生产的发展密切联系的,特别是在现在工业和科学技术迅速发展的今天,对动力学提出了更加复杂的课题,例如高速运转机械的动力计算、高层结构受风载及地震的影响、宇宙飞行及火箭推进技术,以及机器人的动态特性等,都需要应用动力学的理论。机构运动分析的方法主要有图解法、解析法、仿真法和实验法。当只需要简单的了解机构的某个或某几个位置的运动特性时,采用图解法比较方便,而且精度也能够满足实际问题的需要。而当需要精确的知道或要了解机构在整个运动循环过程中的运动特性时,就要采用解析法进行分析求解,并借助计算机分析,这样不仅可以获得很高的计算精度以及一系列位置的分析结果,还能绘制出机构相应的运动曲线,比较直观的展现出机构的运动,同时还可以把机构分析和机构综合问题联系起来,以便用于机构的优化设计。动力学研究物体的机械运动与作用力之间的关系,研究对象包括质点和质点系。动量定理、动量矩定理和动能定理是动力学三大定理,是求解动力学问题最基本、最常用的方法。【3】运动学研究有两类基本问题,一是已知物体的运动规律,求作用于物体上的力;另一种是已知作用于物体上的力,求物体的运动规律。解决这两类问题的基本方法就是根据经典力学的基本原理,对所研究的对象建立起将作用力与物体运动联系起来的运动微分方程。将已知物体的运动规律函数带入方程,可以求解未知的作用力;而当已知物体的作用力和运动起始条件时,可以在微分方程中求解得到物体的运动规律。2. 计算机仿真软件简介随着科学技术的发展以及产品生产的要求,计算机辅助软件应运而生。计算机仿真技术是 20 世纪 80 年代迅速发展起来的一项技术,它在工程领域的运用极大地促进了工程技术的发展,使工作人员在设计、分析等阶段节约了很多时间。能够对机械结构仿真的软件有很多,其中 ADAMS、MATLAB、Pro/E、SolidWorks、CATIA、UG 等软件都可以对机械结构进行模拟仿真。ADAMS(Automatic Dynamic Analysis of Mechanical Systems)是美国MDI(Automatic Dynamic Analysis of Mechanical Systems)公司开发的一款机械系统动力学自动分析的虚拟样机分析软件。这个软件广泛应用于航空航天、汽车工程、工业机械、铁路车辆及装备等方面,它功能强大,资料齐全,集成了大部分机构运动学动力学内容,能够对机构进行静力学、运动学、动力学的分析。【4】它能够帮助工程师更好地理解系统的运动、解释其子系统或整个系统的设计特性,比较多个设计方案之间的工作性能,在运行仿真的同时也能够进行结构的优化设计,为机械结构的设计和分析带来极大便利,缩短了产品设计周期,加速产品投入市场。ADAMS 软件对机构的分析采用拉格朗日方程的方法,自带完整的零件库、力库、约束库,创建的机械模型完全参数化,利于修改。不过在产品三维建模方面它不如其他机械制图软件灵活,需要建立接口与 Pro/E、SolidWorks 等软件相连,将三维模型在制图软件中装配好后再转换到 ADAMS 中,这样增加了格式转换的内容,操作稍微复杂一些。而且对于初学者来说,全英文界面也有一定的挑战。SolidWorks 是法国达索(Dassault Systemes)公司的一款基于 Windows 开发的三维机械设计软件,它用途范围广,涉及航空航天、机车、食品、机械、国防、交通、模具、电子通讯、医疗器械、娱乐工业、日用品/消费品、离散制造等领域,其功能强大、易学易用和创新技术的三大特点令全球许多工程师青睐。SolidWorks 采用内嵌CAD 的 SolidWorks Simulation、SolidWorks Motion 和有限元分析(FEA)对机构进行仿真分析,SolidWorks 运动分析使用附带零件接触的装配体配合和可靠的物理解算器,准确地确定装配体在载荷下的物理移动。【5】通过计算装配体运动和作用力,可以执行零部件的结构分析,从而确保产品的性能。该软件环境友好,功能齐全,对于新手来说也很容易上手操作,对于机构运动学动力学仿真来说,只要三维模型创建的正确合理,得到预期的结果不成问题。但是其动力学分析内容不如 ADAMS 齐全,所以一般采用两者结合的方式对机构进行运动学动力学分析。Pre/E 软件是美国参数技术公司(PTC)的一款三维软件,现在 PTC 已经推出了集Pro/ENGINEER、CoCreate 和 ProductView 三大软件于一体的 Creo 软件。Pre/E 采用的模块化设计,能够分别进行草图绘制、零件制作、装配设计、钣金设计、加工处理等工作,随着模块的增加和不断完善,各种加工制造行业,汽车、轮船、航天、电子、模具等行业越来越多的应用该软件。【6】Pre/E 对机械结构进行运动分析也是建立在三维模型正确装配的基础之上的,对机构合理建模是一项重要的任务,通过对机构进行约束和加载力或者力矩,就可以得到机构的运动仿真图形以及运动参数。同样,其对于机构的动力学分析不如 ADAMS 软件强大,通常也是采用两者结合的方式对机构进行运动学动力学分析。UG(Unigraphics NX)是德国西门子 Siemens PLM Software 旗下的一款计算机辅助设计软件,在复杂实体的曲面造型方面功能强大,而且在数控加工方面能够完美的和西门子的数控系统结合,所以它在模具行业应用极其广泛。对于机构运动学仿真方面,NX CAE 的运动分析能够计算机械系统的作用力与反作用力、扭矩、速度、加速度等,在动力学分析方面同样不足。对于 MATLAB 来说,它不同于上述几个软件,MATLAB 是美国 MathWorks 公司出品的商业数学软件,主要包括 MATLAB 和 Simulink 两大部分。MATLAB 虽然主要是用于数值计算,但利用其众多的工具箱也能在工程领域发挥很大的作用,例如控制系统设计与分析、图像处理、信号处理与通讯、金融建模和分析等。MATLAB 用矩阵作为基本数据单位,它的指令表达式和工程中常用的形式类似,所以用 MATLAB 解决工程问题要比用其他语言更加方便简洁。3. MATLAB 仿真简介MATLAB 对机构进行运动学动力学分析有两种方式,一种是利用 Simulink 库,另外一种是利用 MATLAB 的 GUI 功能。Simulink 库功能非常强大,它提供一个动态系统建模、仿真和综合分析的集成环境。在这个环境下,可以进行多种仿真模拟,其中对于机构的仿真,有以下几个步骤:(1) 建立数学模型,对机构进行运动学、动力学方程求解(2)建立机构的 Simulink 模型,正确构造和连接积分器(3)编写 M 文件,将积分器的输入和函数的输出联系起来(4)为积分器建立初始条件(5)编写程序,运行仿真其中正确构造积分器和编写程序占据了大部分工作量,相比直接运用 MATLAB 的 GUI 功能对机构进行仿真,GUI 功能不需要构件积分器,它是一个包含图形对象的用户界面,用于机构仿真的 GUIDE 功能给操作者提供了一系列创建用户图形界面的工具,应用这些工具可以大大简化 GUI 的设计和生成过程。利用 GUIDE 进行仿真,只需要建立M 文件和 FIG 文件,编写好程序之后就可以得到求解的运动参数以及运动仿真图像, 相比之下更加方便。对于应用 GUIDE 仿真,有以下几个步骤:(1)建立数学模型,对机构进行运动学、动力学方程求解(2)编写 M 文件(3)构建仿真模型(FIG 文件) (4)编写程序,运行程序4. 总结对比使用 Simulink 对机构仿真,使用 MATLAB 的 GUI 功能更加简便,用户界面更加清晰和友好,不需要建立复杂的积分器,逻辑简单,对于初学者来说也能够很好地掌握。而对于其他软件,ADAMS 和 Pro/E 等这些软件是建立在正确的三维模型上对机构进行分析的,需要准确的建模技巧才能够实现,不过这些软件对机构的运动学动力学分析比较直观,但是相对 MATLAB 来说还是有一些复杂。根据所学理论力学的知识, 对机构的运动学动力学求解,数学建模之后就是在 MATLAB 软件的 GUIDE 功能上操作, 运用 ode 函数对运动变量方程组进行数值求解,使用 MATLAB 作图功能将数值求解的结果可视化处理,运行程序只需要点击相应按键,不仅操作简便,还能综合所学知识, 对机构仿真有一个全面地掌握。因此,基于上述优缺点的讨论,本次设计采用 MATLAB 的 GUIDE 功能对机构仿真。参考文献1敖文刚.基于MATLAB 的运动学动力学过程分析与模拟M.北京.科学出版社.2013. 2杨基厚.机构运动学动力学M.北京.机械工业出版社.1987.3 程燕平,程邺.MATLAB 理论力学M.北京.高等教育出版社.2015.4 高光娣.典型机械结构 ADAMS 仿真应用M.北京.电子工业出版社.2013. 5陈超祥.SolidWorksSimulation 基础教程M.北京.机械工业出版社.20126廖秋凉,谭永康.基于 ProE 及 Mastercam 的 CAD/CAM 应用技术M.北京.北京理工出版社.2009.10摘要在机械运行过程中,各种运动参数例如速度、加速度、角速度、角加速度等都是时刻变化的,为了了解机械运行状态和及时避免机械出现故障,就需要对机械结构的运动学动力学进行分析,掌握其运动轨迹、方向、加速度及其受力与运动的关系等,从而得到机械结构在任意时刻的运动情况,便于分析解决相关设计、分析、优化等问题。利用 MATLAB 对机械结构进行运动学动力学模拟仿真,可以分析整个运动过程中的各运动变量、约束力等,同时运用 MATLAB 的计算能力和图形处理能力,可以直观的表示出各参数变量的变化。根据所学理论知识,对机构的运动学动力学求解,建立数学模型之后在MATLAB 软件的 GUIDE 功能上操作,运用 ode 函数对运动变量方程组进行数值求解,使用 MATLAB 作图功能将数值求解的结果可视化处理。最后借助实际问题对理论分析内容进行验证,用 MATLAB 软件将实际问题的相关运动问题展现出来, 准确的得出机构运行过程中各运动参数和运动图像并通过对仿真结果的分析得到对机械结构运动学动力学模拟分析的意义。关键词:机构运动学、机构动力学、MATLAB 仿真模拟IIAbstractIn the process of mechanical movement, various kinematic parameters such as speed, acceleration, angular velocity and angular acceleration are all changing. In order to understand the mechanical running state and to avoid the mechanical failure in time, we need to analyze the kinematics and dynamics of mechanical structures. To grasp the movement trajectory, direction, acceleration and its relationship between force and movement, etc., to get the motion of mechanical structure at any time, in order to analyze and solve the relevant design, analysis, optimization and other issues easily. The kinematic dynamics simulation of the mechanical structure can be carried out by using MATLAB to analyze the motion variables and the binding force in the whole process. At the same time, the computational power and graphics processing ability of MATLAB can be used to express the change of each parameter variable intuitively.According to the knowledge of theoretical mechanics, the kinematics dynamics of the mechanism is solved. After the mathematical model is established, the function of the ode function of MATLAB software is used to solve the motion variable equations. The MATLAB function is used to solve the numerical solution and the results are visualized. Finally, with the help of practical problems to verify the content of the theoretical analysis, show the practical problems related to the movement of the problem with MATLAB. And we can obtain the motion parameters and motion images of the mechanism during the process of mechanical movement. Through the analysis of the simulation results, the significance of the dynamic simulation analysis of mechanical structure is obtained.Key Words: Mechanism kinematics; Mechanism dynamics; MATLAB simulation目录摘要I ABSTRACTII 1 绪论11.1 选题目的及意义11.2 研究背景和现状11.3 研究主要工作及内容22 机械结构的运动学动力学分析32.1 机械结构种类及应用32.2 机械结构的分析方法33 运动学动力学仿真软件53.1 机构仿真软件简介53.2 MATLAB 仿真及特点54 MATLAB 仿真基础64.1 MATLAB 基础知识64.2 MATLAB 的 M 文件64.3 MATLAB 图形用户界面75 MATLAB 仿真过程95.1 建立 M 文件95.2 设置图形用户界面95.3 运行程序126 机构的分析内容 146.1 点的运动学分析146.2 点的合成运动分析196.3 刚体平面运动分析 257 实例分析327.1 往复活塞式内燃机机构分析327.2 刨床的横向进给机构分析348 结论38 参考文献39 附录 1:外文翻译40 附录 2:外文原文47 附录 3:程序代码52 致谢68机械结构运动学动力学分析与模拟1 绪论1.1 选题目的及意义机械的正常运行是机械完成作业的保障,装配完成后的机械需要在各种环境下工作,保证其在相应的环境中正常运行才能保证机械准确的完成作业。在机械运行过程中各种运动的参数,例如位移、速度、加速度、角速度、角加速度等,都是时刻在变化的,为了了解机械运行状态和及时避免机械出现故障,就需要应用人员对机械结构的运动学动力学进行分析,掌握其运动轨迹、方向、加速度及其受力与运动的关系等,从而能够得到机械结构在任意时刻的运动情况,便于分析解决相关问题。机构的运动学仿真在机构设计、分析、优化等方面有重要作用,而对机构进行动力学分析可以得到各运动副中的约束反力和主动构件的驱动力或从动构件的阻 力,以便对机械结构进行强度计算。在没有计算机帮助的情况下,可以用图解法或者解析法求解机械结构运动学和动力学问题。在计算机功能不成熟的情况下,用传统方法求解机构运动学方程需要花费很长时间,不仅要计算的准确无误,还需要集中注意力,运用各个方程之间的关系,多次求解才能得到正确结果。随着计算机能力的提高,各种算法都可以在计算机中进行,而且计算机运算要比人脑计算快得 多,所以应用计算机辅助计算就可以大大节约时间。相对图解法和解析法的计算来说,利用计算机分析软件辅助分析能够节约时 间,使产品的生产周期下降,提高产品的质量。而且这种方法简单易行,操作方 便,不需要投入过多的人力物力和时间,开发成本低。结合计算机仿真技术对机械结构进行运动学仿真分析,不仅节约时间和成本,也能够为设计人员提供更好的解决方案,使设计出来的产品更加具有竞争力。1.2 研究背景和现状随着计算机技术的不断发展,为了满足快速的生产节奏和更优化的设计方案, 计算机仿真技术也不断被更新和使用。利用计算机仿真的技术是 20 世纪 80 年代迅速发展起来的一项技术,它在工程领域的运用极大地促进了工程技术的发展,使工作人员在设计、分析等阶段节约了很多时间。对机械系统进行运动学分析是最早的分析软件研究产生的目的,如 IBM 公司最早推出的 KAM 软件,它只能对单运动单自由度的机构进行机构的运动学分析,不能对其他动力学内容进行分析。之后,机械系统运动学动力学分析软件的功能在多刚体系统动力学的发展下有了迅速的提高。美国的几个大学相继开发了多款软件,这其中就有 ADAMS 软件,它能解决复杂的动力学问题。随着生产节奏的加快和高质量的要求,机构仿真也需要拥有更加复杂44的、具体的功能。随后不断出现了多款能够对机械结构进行仿真的软件,其中有ADAMS、Pro/E、SolidWorks、CATIA、UG 等专业软件,也有像 MATLAB 这样的数学软件。计算机辅助软件有很多,能够对机构进行运动学分析的也数量庞大,根据建立的模型不同可以分为数学模型和物理模型两类,数学模型是建立机构运动微分方程的矩阵,通过计算矩阵得到解析;物理模型则是在软件中按照实物一比一构建立体模型,将零件体装配好之后,施加约束和约束力,然后根据软件中提供的运动分析模块来对该机构进行运动分析仿真。ADAMS 是美国 MDI 公司开发的虚拟样机分析软件,集成了大部分机构运动学和动力学内容。ADAMS 采用拉格朗日方程的方法分析机构,自带完整的零件库、力库、约束库,功能强大,资料齐全,创建的机械模型完全参数化,利于修改。SolidWorks 是法国达索公司开发的三维设计软件,它采用内嵌 CAD 的 SolidWorks 仿真、SolidWorks 运动和有限元分析对机构进行仿真分析,SolidWorks 的运动分析使用物理解算器分析其配合好的装配体,能够准确地确定装配体在载荷下的运动变量。其他的三维辅助软件同样需要建立三维模型,然后再对其机械结构进行分 析。MATLAB 主要用于数值计算,但它内部自带的工具箱也包含工程领域的内容, 所以利用它丰富的工具箱也能在工程领域发挥作用。工程中的计算要使用大量的矩阵运算,因此相比用其他语言,用 MATLAB 解决工程问题要更加便捷。机构分析的知识很多,袁清珂1介绍了一些机械系统动力学和运动学的分析软件,程燕平2等人介绍了在 MATLAB 中如何应用理论力学求解机构运动学动力学的内容,并举例说明了理论力学在 MATLAB 中的运算过程,杨宗明,马哲树3等人针对 280 柴油机做了曲轴连杆活塞机构的运动学动力学仿真,曾德惠4介绍了 MATLAB 辅助机构的运动学分析内容,陈德为5利用 MATLAB 对曲柄滑块机构进行了仿真, 崔利杰,龚小平6等人给出了基于 MATLAB 运动仿真的平面多连杆机构优化设计内容,乔英志7-11等人则是在不同软件下分别对柴油机曲柄连杆机构、插床六杆机构等机械结构进行了运动学与动力学分析。1.3 研究主要工作及内容此次研究题目为机械结构运动学动力学分析与模拟,首先要学习了解对机械结构进行运动学动力学分析模拟的意义及目的,了解典型机械结构的分析方法,并学习能够对机构仿真的常用技术;了解 MATLAB 仿真的过程和操作,介绍 MATLAB 在仿真方面的优势,学习 MATLAB 在机构仿真方面的使用;针对典型的机械结构进行仿真模拟,准确的得出仿真结果;针对仿真结果,分析相关机构的运动,总结分析整个仿真过程。2 机构运动学动力学分析2.1 机械结构种类及应用机构主要是由多个构件组成,单一的构件不能形成有效的运动,拥有运动副才能显示出构件做出的动作,两个或多个构件连接起来就形成了运动链,形成了运动链,构件就能够做出以定的运动,将其中的某一个杆件固定起来,这个运动链就变成了能够稳定运动的机构。机构主要是用来传递或者变换运动和力的装置,根据运动副的不同,有高副机构和低副机构之分;根据机构的运动情况不同,又有空间机构和平面机构之分;此外,根据组称机构的构件性质还可以区分出刚性机构、柔性机构、挠性传动机构等机构;而生活中采用分类方法最多的是根据机构的工作原理和组成机构的构件不同而进行分类,有连杆机构、齿轮机构、带传动机构、链传动机构、摩擦传动机构、凸轮机构等众多的种类12。在人们的生产生活中,运用到的机械结构多种多样,例如,自行车的车铃用到了齿轮机构和连杆机构,拨动连杆装置,使连接在上面的齿轮转动,与齿轮连接的拨片就会连续敲击车铃盖,发出声音;在石油行业,用到最多的采油机就是典型的连杆机构;在一种蜂窝煤加工机器中用到了齿轮结构、带传动机构等多种机构,通过带传动给齿轮提供动力,齿轮转动使制作好的蜂窝煤移向另外的方向,通过棘轮机构控制工作节奏;在汽车上机构更是无处不在,雨刮器就用到了曲柄摇杆机构, 变速箱操纵机构属于多杆铰链机构。2.2 机械结构的分析方法机械结构在运行中,各个运动参数都是时刻在变化的,为了了解机械结构的运动性能或者设计一种新的机械结构,分析其运动和受力情况是十分重要的。对一个机构进行分析,首先应该从最简单的一点开始,先分析其主要点的运动情况和受力,再分析与之相关的组件的运动和受力,最后综合分析点和构件就能够得到整个机械结构的运动和动力分析结果。机构的分析方法有多种,解析法获得的数据更加精确,所以应用解析法求解的分析方法最多,除此之外还有图解法,图解法求解的方式比较方便,但是其精度不是很高。同时还有实验法等方法可以对机构进行仿真分析。1 运动学分析图解法分析主要分析机构的位置、速度及加速度等1。对于点来说,运动分析有矢量法求解,直角坐标法和自然法13,将点的速度方向和移动轨迹画出来,就能够利用方程得到结果。对运动刚体来说,按照刚体的形状,等比例的画出其结构简图,列出刚体上点的运动矢量方程,根据简图分别分析计算得出其运动情况。求解机构的运动,有速度瞬心法、基点法和综合法等方式13。解析法求解运动学内容时,是先建立机构的位置方程,将方程对时间求导数, 就能够得到机构的速度,二次求导就能够得到机构的加速度1。根据使用的数学工具不同,解析法也有很多种类,其中有采用矩阵求解的方法,也有采用复数矢量法求解的类型,归结起来都要建立机构的运动方程组,这种方式求解的结果要比图解法更加准确。2 动力学分析作用在机械上的力既有驱动力,也有阻抗力,对机构进行受力分析,可以确定机械上的平衡力,有利于挖掘现有机械的生产潜力13。对机构的力学求解主要是根据牛顿力学的几个公式和动量定理及动能定理求 解,其中还要应用到达朗贝尔原理13。低速机械的惯性力由于过小不在考虑范围之内,只需要做静力分析,而高速运动的机械惯性力大,就要对其进行动态静力分析13。分析出来的受力情况,同样也可以用矩阵法或者复数矢量发求得结果。3 运动学动力学仿真软件3.1 机构仿真软件简介有许多国内外仿真软件能对机构进行分析,其中,ADAMS 和 SIMPACK 是相对专业的运动仿真软件,ADAMS 是虚拟样机分析的应用软件,自带三维建模系统,其运动分析模块可以做比较复杂的运动仿真。另外,Pro/E、UG、CATIA、SolidWorks 等软件也有运动仿真功能模块,CATIA 在运动分析等方面做得比较好,其运动仿真可以实现运动副运动规律分析、运动参数测量、机构运动轨迹分析、空间的运动干涉分析等。UG 有很强的曲面建模功能,具有自带的运动仿真功能,它能对任何二维或三维机构进行复杂的运动学分析、动力分析和设计仿真。UG 的运动仿真功能可以对运动机构进行干涉检查、轨迹包络等运动合理性分析工作,得到运动机构的运动参数。Pro/E 和 SolidWorks 同样具有相似功能的运动仿真分析。除此之外,还可以利用编程语言编制仿真程序,例如利用 VB 对 CAD 进行二次开发、利用 C 语言进行系统开发,利用 MATLAB 及其 Simulink 工具箱进行仿真分析等。3.2 MATLAB 仿真及特点虽然 MATLAB 主要是用于数值运算,但还是可以借助它庞大的附加工具箱,应用到很多行业中,比如金融学、工程学、生物学、通讯控制系统、运筹学等学科。MATLAB 仿真可以使用 Simulink 仿真,也可以使用 GUI 设计图形用户界面仿真。MATLAB 的运动仿真,可以分析机构运动过程中的各运动变量,位移、速度、加速度、角速度等,还能够分析约束力、约束反力等,同时运用 MATLAB 的计算能力和图形处理能力,可以直观的表示出各参数变量的变化4。MATLAB 的主要特点有:计算功能效率很高,不论是数值计算还是字符计算;图形处理功能完整齐全,可以用图像的形式将计算结果表现出来;用户界面非常友 好,在界面操作容易上手,其语言和数学表达式类似,语言表达自然化,学习的用户能够容易的学习和掌握;具有涵盖多种学科的应用工具箱,用途非常广泛,用户在各个领域使用时可以直接使用,非常方便2。MATLAB 软件的主要优势有:编程环境简洁,各个状态栏布置合理,操作简单; 操作界面的人机交互性强,编程语言和数学语言相似,编写起来简单,可移植性 好;拥有非常强大的计算处理能力;图形处理功能完善,既能绘制二维曲线、三维曲面,还能对图形进行光照处理、色度处理等2。4 MATLAB 仿真基础4.1 MATLAB 基础知识1 建立矩阵在 MATLAB 中创建的矩阵要遵循三个原则:使用符号构建矩阵,矩阵的元素都要包含在其中;使用逗号或者空格来把矩阵的列分隔开;利用分号或者回车键把矩阵的行分隔开。2 MATLAB 变量变量是 MATLAB 中各种程序结构的基础,其中有全局变量和局部变量两种变量类型可以在 MATLAB 中定义,这两种变量类型在程序设计中有不同的应用范围和工作原理。全局变量用 global 来定义,global 要放在变量名前面,在 MATLAB 整个工作空间中使用到的变量是全局变量2。局部变量的工作空间独立于 MATLAB 的基本工作空间和其他函数的工作空间,使用局部变量可以使不同工作空间的变量互相独立。为了减少参数的定义,要将变量设置为全局变量,而且有效的利用全局变量可以使程序的执行效率得到提高。4.2 MATLAB 的M 文件作为一种广泛应用的科学计算软件,MATLAB 不仅能够根据自己的语法规则来自己设计程序,就像其他的高级编程语言一样,还能够通过直接的命令操作进行强大的数值计算、绘图等2。M 文件就是 MATLAB 中保存程序的文件,其后缀扩展名“.m”,如图 1 所示。用户编写 M 文件,能够将 MATLAB 的许多命令集中起来操作,在 M 文件中存在的命令都可以任意调用和修改,这样对编程人员来说可以节约很多时间,提高工作效率。M 文件由以下四部分组成:函数定义行;帮助信息行:代表帮助信息的第一行; 帮助文件文本;函数体:实现函数功能的部分。M 文件分为两种:脚本文件和函数文件,它们的扩展名都是“.m”。在 MATLAB 语言环境中任意输入一个M 脚本文件的名称,这个 M 文件的各条语句就会被 MATLAB 自动执行,并且在 MATLAB 的工作空间中显示出运行结果。脚本文件常用于需要多次执行的一系列命令中,既不接收输入参数也不返回输出参数,它处理的是工作空间中的变量,在工作空间之外的变量与之无关。M 函数文件有注释信息和函数定义行,它能够接收输入参数,也能够返回参数,所以函数文件多用在需要多次执行且需要输入输出参数的命令中,在函数文件的内部变量中,变量被默认设置为局部变量操作。图 1M 文件编辑器4.3 MATLAB 图形用户界面MATLAB 中的图形用户界面是以窗口、按键、光标等对象构成的界面。在 MATLAB 中一共有四种 GUI 模板,分别是空白模板 Blank GUI、带控件对象的GUI 模板 GUI with Uicontrols、带坐标轴与菜单的 GUI 模板 GUI with Axes and Menu 和模式问题对话框的 GUI 模板 Modal Question Dialog。GUI 设计模板不同, 其中的图像窗口和具体的控件也不同,如图 2 所示。图形用户界面中的基本元素:组件:GUI 中的各个结构,有:图形控件(按钮、列表、编辑框等)、静态元素、菜单和坐标系;图像窗口:操作控件的窗口;响应:激活控件发生的动作或变化。要想令操作的控件能够实现预期的效果,就要对控件进行设置操作。GUI 中的控件大致分为两种,一种是动作控件,另一种是静态控件。动作控件用鼠标点击就会产生相应的相应,静态控件不产生响应,比如静态文本等。控件的属性类别有很多,有字体颜色、大小等,其中有字符串属性 String 和标签属性 Tag,String 属性是改变静态文本控件显示出来的名称,Tag 属性是更改控件被调用时函数内部提取的一个标记,更改这两项能够使操作者更加方便快速的对控件进行修改和操作2。每个控件都要有自己独立的名称,不管是字符串属性还是标签属性都不能重复,那样计算机就会出现识别错误,从而导致程序出现问题不能正常运行。图 3 表示的是图形用户界面的创建窗口。图 2GUI 模板图 3图形用户界面5 MATLAB 仿真过程5.1 建立M 文件进入 MATLAB 环境,点击 MATLAB 的 New Script 按钮,创建一个新的 M 文件, 如图 4。在 M 文件编辑器中,可以编写程序代码,将需要用到的函数语句输入到 M 文件编辑器中,就能够在 MATLAB 的环境下随时调用。M 文件的保存操作简单,点击菜单栏的 Save 按钮即可将写好的程序语言保存在相应的文件夹中,在保存文件的同时,还可以改变 M 文件的名称。图 4编写M 文件5.2 设置图形用户界面MATLAB 的图形用户界面的清晰简要,各个选用的控件都排列在界面的左端, 用户可以根据不同的需求排列安放各个控件的位置,调整大小以及形状,使其符合用户的要求。按照功能可以把要设计的用户图形界面分为大致以下几个区域:一个是应用编辑文本控件 Edit Text 输入机构的运动参数和其他初始条件;然后应用Axes 控件来绘制曲线,用来表示机构上某一点或某一部分的位移、速度以及加速度等的变化;加入几个 Push Button 按钮用来分别实现数据计算、绘制曲线、演示动画等功能;同时还要用 Axes 控件显示相关的动画,用来模拟机构的运行情况, 观察分析其运动状态;最后还要应用一个 Panel 控件和几个 Radio Button、Edit Text 控件来实现根据某一特定时间或者空间位置进行查询机构的运动情况。图 5安装控件的图形用户界面选择和放置完控件之后,就要对控件的属性进行修改,以便在之后的函数运算过程中容易赋值和提取。首先对每个静态文本控件设置属性,对于 Static Text 文件只需要修改其String 属性,赋予各个控件对应的名称,这样在模拟之前就能知道每个控件代表的运动参数;而对于每个编辑文本来说,其标签属性的名称应该和与之对应的静态文本控件的字符串属性名称相同,字符串属性的设置要使编辑文本在没有输入之前不显示内容,输入的内容要和对应的静态文本表示的参数相同,如图 6 和图 7 所示。更改设置静态文本控件和编辑文本控件的属性,就可以在编程和函数运算中直接输入其现在的名称进行赋值和运算。接下来要设置按钮 Push Button 控件的属性,对按钮控件来说,需要设置两方面的内容,一是其代表的功能,即设置其 String 属性和 Tag 属性,第二个要设置的就是编写该按钮控件的回调程序,使得这个控件在激活的状态下能够得到用户想要的变化或结果。要想按下一个按钮使其产生用户期望看到的结果,就需要对该按钮的属性进行设置,编写回调函数,回调函数就是用来实现这一操作的。如图 8 和图 9 所示。图 6String 属性图 7Tag 属性图 8设置按钮控件回调程序图 9回调程序编辑窗口5.3 运行程序在设计好的 GUI 用户界面中点击运行程序,显示出一个独立的程序窗口,可以在空白文本处填写内容,每个按钮都可以被激活,如图 10 所示。图 10执行程序在编辑文本控件中输入相应的数值,用鼠标分别点击计算按钮、曲线按钮和动画按钮使之处于激活状态,MATLAB 后台就会计算矩阵,并且在坐标轴 Axes1 控件中就会显示 BC 杆的转角、角速度、角加速度,在坐标轴 Axes2 控件中显示 C 点的位移、速度和加速度的变化情况,在坐标轴 Axes3 控件中显示模拟刨床运动的仿真图像。同时在查询条件对应的控件中输入在模拟时间范围内任意的时间点,激活查询按钮,就可以在余下的编辑文本控件中看到该时刻 BC 杆和 C 点的各个运动参数。6 机构的分析内容6.1 点的运动学分析在各个机构中都存在着点,对点的运动研究分析是研究一般物体运动的基础。研究点的运动学内容,就是研究该点的空间位置随时间的变化规律,包括运动轨 迹、速度和加速度等内容13。对点的运动学研究主要有以下几种方法:矢量法、直角坐标法和自然法等13。因为点的速度是矢量,以矢量表示出点的运动方程,动点的速度矢就是其矢径对时间的一阶导数,加速度矢就是该点的速度矢对时间的一阶导数13。利用矢量法主要是理论推导,具体分析问题用到的运算方法主要有直角坐标法和自然法。直角坐标法首先要建立运动点所在的直角坐标系,根据建立的直角坐标系列出点在该坐标系中的位置方程,从而得到速度和加速度方程。速度在坐标轴上的投影等于动点对应坐标对时间的一阶导数,加速度在坐标轴上的投影等于点所对应坐标对时间的二阶导数13。该方法在求解点的速度、加速度等内容中使用广泛,且计算准确。而自然法则是建立弧坐标及自然轴系,其求解方式与直角坐标法的方式类 似。对于一些简单的点的运动,例如物体的平抛运动,通过简单的直角坐标法就能求解得到运动轨迹,而对于复杂的点的运动,比如滚动圆环边缘点的运动、凸轮上顶杆运动等,使用传统的计算方法就很难看到这些点的运动轨迹的变化规律,借助计算机软件辅助计算,利用 MATLAB 的作图功能和计算能力不仅能够得到这些复杂运动的点的运动情况,还能模拟出该点的运动轨迹,直观的看到这些点的运动。以一个滚动圆环为例,对其边缘点的运动进行分析与模拟。如图 11 所示,圆环的半径为 R,沿轨道做纯滚动运动,设中心点 A 的初速度是V0,加速度为 a0。图 11圆环上M 点运动首先要建立 x、y 坐标轴,设 M 点绕 A 点转动的转角为,初始位置 M 点与坐标轴 O 点重合,对 M 点求解运动方程:x = R( );y = R(1 );得到其速度为: = (1 ); = ;其加速度为: = (1 ) + 2; = + 2;其中, = 0(), = 0得到运动点的速度和加速度方程之后,要想将其应用在 MATLAB 中,就要构建微分方程组。设1 = , 2 = , 3 = , 4 = , 5 = , 6 = , 7 = 0,8 = 0,然后定义出一个具有八个列向量的矩阵y = 1, 2, 3, 4, 5, 6, 7, 8,用来分别保存上面八个运动变量在个时间点的取值。用 ode 函数求解,要得到微分方程组,方程组如2 1 = 0565 2 = (1 ) + 4 3 = 0565 4 = + 下:6 5 = 6 = 0,其初值 = 0,0,0,0,0, 0 , 0, 008 7 = 0 8 = 根据上面的方程组定义的ode函数在M文件中为: function ydot=ydx1fun(t,y,flag,r,a) ydot=y(2);a*(1-cos(y(5)+r*y(6)2*sin(y(5); y(4);a*sin(y(5)+r*y(6)2*cos(y(5); y(6);a/r; y(8);a;有了ode函数,就能在MATLAB中对该动点进行分析和模拟了。1 建立MATLAB的M文件打开 MATLAB,点击 New Script,在打开的 M 文件编辑器中输入 ode 函数。点击菜单栏中的 Save 命令,保存该函数语句。2 创建图形用户界面根据上述得到的计算公式和初始条件,需要设置半径、圆心的加速度、圆心初始速度 V0 和模拟的时间作为输入,在图像窗口中还要设置几个坐标轴控件,用来显示点的运动情况和模拟该点的运动过程。最后设置按钮控件和查询控件,使得激活按钮能实现相应的运动或变化。3 设置各个控件的属性对文本属性来说,不管是静态文本还是编辑文本,都要更改其名称,名称的更改要用到字符串 String 属性,编辑文本还要比静态文本多设置一个属性,即标签Tag 属性,更改标签属性可以在编写程序的时候更容易调用和修改控件。其中编辑文本的标签属性设置要与对应的文本属性的字符串属性相同,这样在输入内容使才能正确的表示各个变量的数值。4 编写回调程序设置按钮的功能,使激活按钮能产生相应的变化或运动。右键单击按钮控件, 出现一列菜单,选择 Callback 选项,进行按钮控件的回调函数的编写。分别编写计算、曲线、动画、查询和清除按钮的回调程序,例如:计算按钮:function jisuan_Callback(hObject, eventdata, handles) global v a y r t x1 y1 x0首先将使用到的变量定义为全局变量。set(handles.quxian,enable,off); set(handles.donghua,enable,off);设置曲线和动画两个按钮显示灰色,使之为不可用的状态。r=str2num(get(handles.r,string); v=str2num(get(handles.v,string); a=str2num(get(handles.a,string);将半径、圆心速度和圆心加速度的运动参数赋值给对应的变量。tfinal=str2num(get(handles.tfinal,string);将模拟时间赋值给tfinal。y0=0,0,0,0,0,v/r,0,v确定运动变量的初始值。t,y=ode45(ydx1fun,0:0.1:tfinal,y0,r,a); 求解运动变量矩阵y,同时返回时间t向量。ax=a*(1-cos(y(:,5)+r*y(:,6).2.*sin(y(:,5)ay=a*sin(y(:,5)+r*y(:,6).2.*sin(y(:,5); 求解M点的加速度。y=y,ax,ay将矩阵运动变量拼接起来。set(handles.quxian,enable,on); set(handles.donghua,enable,on);计算完成,将曲线和动画按钮设为可用状态。x1=y(:,1);y1=y(:,3);将M点的坐标赋给x1和y1向量,为模拟M点的动画做准备。x0=y(:,7);将圆心的横坐标赋给x0向量,为模拟园的动画做准备。曲线按钮:function quxian_Callback(hObject, eventdata, handles) global y t将使用的变量设置为全局变量。set(handles.axes1,unit,normalized,visible,on) 设置坐标轴1的属性,使之可以显示图像。axes(handles.axes1);将坐标轴1设置为当前活动的坐标轴。plot(t,y(:,1),g,t,y(:,2),g-,t,y(:,4),r-);以时间为横坐标,x、y位移和水平、竖直方向速度为纵坐标画曲线。xlabel(时间/s);标记横坐标为时间/s。 ylabel(位移(m),速度(m/s);标记纵坐标为位移(m)和速度(m/s)。legend(X方向位移,Y方向位移,X方向速度,Y方向速度); 在图中显示这四条曲线。set(handles.axes2,unit,normalized,visible,on)设置坐标轴2的属性,使之可以显示图像。axes(handles.axes2);将坐标轴2设置为当前活动的坐标轴。plot(t,y(:,9),r,t,y(:,10),g);以时间为横坐标,Vx和Vy为纵坐标画曲线。xlabel(时间/s);标记横坐标为时间/sylabel(位移(m),速度(m/s);标记纵坐标为位移(m),速度(m/s)。legend(X方向加速度,Y方向加速度); 在图中显示这两条曲线。5 运行程序编写好回调程序,保存设置的图形用户界面,点击 Run Figure 按钮或者按快捷键 Ctrl+T 运行设计好的程序,显示的界面如图 12 所示。给半径、初始速度、加速度和模拟时间输入具体的数值,假设半径为 2,初始速度设为 0.1m/s,加速度为 0 的情况下,模拟时间 60s,分别用鼠标点击计算、曲线、动画按钮得到图 13 的显示结果。从显示的结果图中可以看到,当圆环半径为 2,初始速度为 0.1m/s,加速度为0,模拟时间为 60s 时,其沿水平方向运动了 6m 的距离,其中,M 点的竖直位移 y 为时间的余弦函数,x 方向的位移是一个递增函数;M 点的 y 方向上的速度也是时间的弦函数。以时间 t=10 为查询条件,点击查询按钮得到图 18 所示结果。图 12运行程序图 13分析结果6 总结在 MATLAB 中对点进行仿真,运用 ode 函数求解运动点的运动微分方程,在分析结果中可以看到其位移、速度和加速度的曲线变化2,这比传统计算方式更加直观,而且能够任意改变运动点的初始条件,点击按钮就会出现运动结果,而不需要重复计算,这对运动点的分析更加方便。而且使用 MATLAB 还能够得到运动点的动作过程,能直观的看到运动点从初始位置到模拟时间结束的运动过程,从而使运动点的运动形象化,有利于分析运动点的运动轨迹。除此之外,使用查询按钮,输入在模拟时间内的任意时刻点,还可以得到这一时刻该运动点的 x、y 方向的位移和速度大小,相比传统的计算方法不仅得到了准确的数值,还节约了计算时间。6.2 点的合成运动分析相对于不同的参考系,物体的运动也是不同的。例如车床在工作时,其车刀刀尖相对于地面来说是水平运动,但是对于旋转的工件来说,刀尖的运动是螺旋运动13。在刨床中,其曲柄和摇杆的连接块对不同的参考系来说,做出的运动也是不同的,对于曲柄来说,它跟随摇杆做圆周运动,对连接杆来说,它做的运动是往复水平运动。机构中有许多构件的连接点存在合成运动的形式,研究点的合成运动,能够使我们更好的理解该点的实际运动情况,掌握其运动规律。对于点的合成运动,要应用到点的速度合成定理和加速度合成定理13。在分析速度和加速度之前,同样要使用直角坐标法得到点的几何关系,然后再使用速度合成定理和加速度合成定理求解。在使用速度合成定理时,要先选取出动点、动参考系和定参考系,正确分析出其绝对速度、相对速度和牵连速度,然后运用速度合成定理画出速度平行四边形,得到速度关系式,根据其中的几何关系求解出未知数。运用加速度合成定理时,在选定动点和动参考系后,要考虑动参考系有没有转动的情况,以确定是否有科氏加速度。对加速度合成定理,要正确的分析其大小和方 向,正确的选取动点和动系,这样才能保证求解的加速度矢正确的。对于求解点的合成运动,按照公式求解的方式用时较长,而且还需要对速度的合成分析准确,这些都加大了计算难度。利用 MATLAB 强大的计算功能来代替手工计算,大大减少了计算时间,节约人力,同时利用 MATLAB 的图像处理能力,在其图形用户界面中仿真出点合成运动的图像,能够帮助我们更加形象具体的观察到该运动点的运动情况。在此以一个曲柄导杆为例,在 MATLAB 中分析点的合成运动。已知图 14 所示曲柄连杆机构,O1A 为曲柄,O2B 为导杆,曲柄 O1A 是原动件,以角速度1 匀速转动,通过滑块带动导杆 O2B 转动,当 O1O2=O1A=a,O2B=2a 时分析机构的运动。图 14运动示意图采用速度合成定理,以点 A 为动点,O2B 为动系分析,得到图 15 所示的运动分析图。图 15A 点速度分析由图 20 得到速度关系式: = + , = ( ),将 = 1、 = 422 ( ) 2,带入上式中,得到:2 = 1。422得到运动点的速度和加速度方程之后,要想将其应用在 MATLAB 中,就要构建微分方程组。设1 = , 2 = , 3 = , 4 = ,定义一个含有 4 个列向量的矩阵y =1, 2, 3, 4分别保存这四个运动变量在各时间点上的取值。用 ode 函数求解,要1 1 = 2 = 0得到微分方程组,方程组为 3 = 12 4 = 0根据上式,将ode函数在M文件中为: function ydot=ydx4fun(t,y,flag,l ,omega)ydot=omega;0;omega/2 0;1 建立 M 文件打开 MATLAB,点击 New Script,在打开的 M 文件编辑
收藏