资源描述
机械臂的运动分析和模拟摘 要本设计采用在基于Lisp编程语言的CAD下和MATLAB软件下进行的机械臂的程序化设计,将机械臂用CAD的形式绘制出来,并用Lisp语言进行编程将Auto CAD和MATLAB软件相互联系使用产生运动轨迹坐标数据和速度加速的曲线,便能清晰的将所设计机械臂的运动形式和运动轨迹的合理性表现出来,从而能够仅仅通过适当调整在Auto CAD中机械臂的各个构件或者运动轨迹就能得出设计者想要的最优化设计,这样能够在很大程度上减少我们人要花费很大精力进行大量复杂的工程计算,大大的提高了工作效率降低工作负担。因此采用此种方法不管是在工程的设计上还是在大量的技术计算上发挥着至关重要的作用关键词:机械臂, 仿真软件, 模块化Mechanical arms movement analysis and simulationABSTRACTThis design uses a Lisp-based programming language and MATLAB under the CAD software of the robot arm under the procedures of design, the robot arm using CAD Drawing out the form, and Lisp programming language and MATLAB will be Auto CAD software contact trajectory coordinates the use of data and accelerate the speed of the curve, can be designed to be a clear movement of the robot arm trajectory forms and demonstrated the reasonableness and thereby be able to adjust only through the appropriate arm of Auto CAD in the various components or trajectory will be able to come to designers want to optimize the design, to a large extent this can reduce our people have to spend a great deal of energy to carry out a large number of complex engineering calculations, a significant increase in the workload and reducing efficiency. Therefore to apply this method, whether in the design of the project or in the calculation of a large number of technology plays a pivotal roleKEYWORDS: manipulator, simulation software, modular- 40 -目 录目 录摘 要- 1 -ABSTRACT- 1 -前 言- 3 -第一章 概 述- 5 -1.1 AutoCAD技术的实际应用领域与发展- 5 -1.2 Lisp语言简介及在仿真方法- 7 -1.3 Matlab简介及仿真应用- 8 -第二章 机构运动分析- 9 -2.1机构运动分析的必要性- 9 -2.2运动分析的目的及基本方法- 10 -2.3关于机构和杆组的基本知识- 10 -2.4机构简图- 12-第三章 基于Lisp-Auto CAD下的机构运动实例- 14 -3.1平面机构运动分析- 14 -3.11运动分析的目的- 14 -3.12程序说明- 14 -3.13模拟结果及分析- 14 -3.2 典型机构运动仿真实例- 15 -第四章 基于Matlab-Auto CAD下的机械臂仿真- 16 -4.1机器人介绍- 16 -4.2机器人工作原理- 17 -4.3机械臂介绍及运动分析- 19 -4.31机械臂介绍- 19 -4.32机械臂的运动分析- 21 -4.4机械臂的仿真程序设计- 26 -第五章机械臂运动实例- 28 -总 结- 34 -参 考 文 献- 35 -源 程 序- 36 -前言前 言仿真 (simulation) 是利用模型复现实际系统中发生的本质过程,并通过对系统模型的实验来研究存在的或设计中的系统。又称模拟。当所研究的系统造价昂贵、实验的危险性大或需要很长的时间才能了解系统参数变化所引起的后果时,仿真是一种特别有效的研究手段。随着仿真技术的发展, 仿真技术应用目的趋于多样化、全面化。最初仿真技术是作为对实际系统进行试验的辅助工具而应用的, 而后又用于训练目的, 现在仿真系统的应用包括: 系统概念研究、系统的可行性研究、系统的分析与设计、系统开发、系统测试与评估、系统操作人员的培训、系统预测、系统的使用与维护等各个方面。它的应用领域已经发展到军用以及与国民经济相关的各个重要领域。1. 国内外现状就国内来说,通过几个五年计划的努力, 我国仿真技术得到了快速发展, 并取得了突破性成果。在国防工业领域, 建成了不同类型的半实物仿真系统。半实物仿真系统的应用在国防工业产品研制、生产、使用、维护过程中发挥了巨大作用。在军事领域建立了指挥、作战、训练的仿真系统及半实物仿真试验室。仿真技术的应用为我军部队指挥、作战、训练提供了有效的工具, 为我军现代化建设做出了重要贡献。在先进分布交互仿真技术方面, 我国初步建成了分布交互综合仿真系统【2】 。该系统是一个含有灵境技术的、开放的、支持分布交互仿真的支撑环境, 支持复杂系统设计、运行和评估, 并开始应用于实际系统的研制和开发工作。在民用工业中, 我国已自行研制生产电力工业的大型电站(200 MW , 300 MW , 600 MW) 仿真系统、交通运输仿真系统、石油化工过程仿真系统等【3】 。我国仿真技术经过“七五”、“八五”、“九五”期间的努力, 已有长足发展。在某些方面达到了国际先进水平。但总的技术水平, 特别是应用水平与发达国家比较还有差距, 需要进一步努力, 加速发展仿真技术以缩小差距。系统仿真技术的优良特性和巨大效益, 可能将成为今后人们特别重视和大力发展的综合技术。仿真系统将应用于人类生产实践的全过程, 这样可以避免决策失误, 可以预测可能发生的问题, 达到避免故障、安全控制的目的。现在国外的现状是以美国为代表的发达国家高度重视仿真技术的发展和应用。10 多年来美国国防部一直将仿真和建模技术列为国防关键技术。1997 年度的“美国国防技术领域计划”, 将建模与仿真列为提高军事能力的四大支柱(战备、现代化、部队结构、支持能力) 的重要技术。美国三军先后建成了:为满足红外成像制导武器仿真需要的红外制导半实物仿真系统。为满足雷达寻的制导的毫米波半实物仿真系统MSS - 2 , 它是当今世界上规模最大、技术最先进的射频仿真系统。可以满足地空空导弹毫米波精确制导仿真的需要。目前, 用于爱国者PAC - 2 和PAC- 3 型导引头半实物仿真。【1】复合制导是精确打击武器装备的标志性发展,支持复合制导武器的仿真技术, 成为当今最具挑战性的仿真技术。美国等西方国家除军事用途外的其他行业中的仿真技术及应用都居于世界领先水平, 如飞机模拟器、车辆运输仿真、电力系统、石化工业仿真系统等。2展望建模理论和方法, 仍然是推动仿真技术进步发展的重点研究方向。它是系统仿真可持续发展的基础。美国等发达国家在仿真领域一直是将建模理论和方法的研究工作列为重中之重。另外, 无论是武器系统还是工业系统, 都向大型化、复杂化方向发展, 相应的必须开展支持复杂大系统建模的理论和方法研究【4】 。仿真作为一门综合性科学, 将随着其相关领域技术的深入发展, 继续向纵深快速发展, 同时将扩大其综合应用的领域, 在国防建设和国民经济建设中发挥更大的作用。但是, 作为一门综合性技术学科, 仿真技术还有许多理论及技术问题需要继续进行深入的研究探讨。【5】机构运动分析第一章 概 述1.1 AutoCAD技术的实际应用领域与发展1.1 1 Auto CAD的发展史AutoCAD是由美国Autodesk公司于二十世纪八十年代初为微机上应用CAD技术而开发的绘图程序软件包,经过不断的完美,现已经成为国际上广为流行的绘图工具。近20年来,版本不断更新,功能日益增强,Auto CAD从最初的Auto CAD Vl. 0版本发展到现今流行的Auto CAD2000,成为集平而作图、三维实体、数据库管理、渲染着色、国际互联网等功能于一体的强人辅助设计软件。它的应川与普及覆盖了机械、汽车、造船、家电、工程、建筑、轻工、电气、电力、纺织等许多行业。从最初的甩图板工程到应用CAD进行三维设计,人们的设计思维也在发生着变化。AutoCAD具有良好的用户界面,通过交互菜单或命令行方式便可以进行各种操作。它的多文档设计环境,让非计算机专业人员也能很快地学会使用。在不断实践的过程中更好地掌握它的各种应用和开发技巧,从而不断提高工作效率。AutoCAD具有广泛的适应性,它可以在各种操作系统支持的微型计算机和工作站上运行,并支持分辨率由320200到20481024的各种图形显示设备40多种,以及数字仪和鼠标器30多种,绘图仪和打印机数十种,这就为AutoCAD的普及创造了条件。械设计是生产机械产品的第一道工序,设计质量的高低,直接影响机械产品的技术水平和经济效果,因此,设计的过程是设计一评价一再设计的反复过程。传统的机械设计方法,是以实践经验为基础,依据力学和数学建立的理论公式和经验公式,运用数表、图形和手册等技术资料,进行方案拟定、设计计算、绘图和编写设计说明书。而现代设计是以产品为总目标的一系列种类繁多的现代设计法和技术的综合运用。生产技术的需要和先进设计手段的出现,必然促进设计领域的改革和发展,对于机械设计来说几乎是更新换代,传统的常规设计方法受到很大冲击,用科学的设计方法代替经验的、类比的设计方法已势在必行。缩短设计周期、提高设计质量、发展设计理论、改进设计技术及方法已成为当前机械设计的必然趋势。1.1 2 CAD的应用与概况由于计算机具有运算速度快、数据处理准确、存储量大和具有逻辑判断功能等特点,因此,它已经成为现代工程设计中分析、计算、综合、决策、数据处理、图形处理和与各种现代设计法结合的不可替代的重要工具。这种人机交互式的设计方法,就是计算机辅助设计CAD(computer aided design)。产品的生产分设计与制造两大部分,设计过程中除了需求分析及可行性研究与分析这两个环节很难用计算机实现外,其余从概念设计到设计结果都可用计算机实现,从而构成了CAD过程。制造过程是指从工艺过程设计开始,经产品装配直到进入市场为止。在这个过程中,工艺设计以及采用数控机床时的加工编程等,从工艺过程设计到装配的一系列环节同样也可以用计算机实现,由此构成了广义的CAM过程。在CAM过程中主要包括两类软件,一类叫计算机辅助工艺规程设计(CAPP:Computer Aided Proess Planning),另一类叫数控编程(NCP:NC Programming)。这两个过程的计算机化促进了设计与制造自动化的程度。自动化程度的进一步提高则有赖于这两个过程的进一步集成。1.1 3计算机辅助设计的软件系统CAD的软件系统包括系统软件、支撑软件和应用软件三个层次。a.系统软件与硬件和操作系统密切相关,用于对系统资源的管理,对输和输出设备的控制等。b.支撑软件支撑软件是在系统软件基础上开发的满足用户共同需要的通用软件或工具软件,目前市场上所见到的各种商业化的CAD软件大多属于支撑软件。支撑软件主要用来实现几何建模、绘图、工程设计计算和分析等功能。1.集成化CADCAM软件 集成化CADCAM软件支持二维和三维图形方式下进行产品及其零件的定义。如AutoCAD等。但近年来随着实体造型技术的日趋完善,不少CAD系统转向采用实体造型技术来定义产品的几何模型,进行分析、数控加工、输出工程图等。目前较为成熟的CADCAM集成系统包括:UG,ProEngineer,CATIA,DUCT,CADDS5等。2.计算和分析软件 计算和分析软件主要用于解决工程设计中的各种数值计算和分析。包括:数学计算软件,如MATLAB、MATHCAD等。有限元分析软件,如IDeas,SAP5,ADINA,ANSYS等,目前有限元分析的理论和方法已日趋成熟,这些软件还包含了较强的前、后处理功能。优化设计软件,如IBM公司的ODL、我国的OPB2等。3.数据库管理系统软件 目前流行的数据库管理软件很多,如FoxPro、Oracle、Access等,它们都属于关系型数据库管理系统,常用于商业和事物管理中。适用于CAD工程数据库的管理系统必须是管理量大、类型及关系很复杂的数据,且信息模式是动态的。目前流行的数据库管理系统很难满足上述要求。因此,在设计者要根据需要选择和编制适用数据库和接口程序。1.1 4 CAD的发展趋势进入21世纪,CAD造型技术在理论上并没有出现人们期待已久的重大突破,但是在应用和实用技术方面还是取得了不少的进展,这表现在以下几个方面:图形交互功能改进CAD软件是产品创新的工具。既为工具,则务求易学好用、得心应手,形成一个友好的、具有某种智能化的工作环境。这样的工作环境可以开拓使用者的思路,解放其大脑,让其集中精力于设计创作,而并非软件的操作次序或使用规则。1.2 Lisp语言简介及在仿真方法Autolisp是由Autodesk公司开发的一种采用Lisp程序语言的编程工具.除了Fortran和Cobol语言,大多数在6 0年代初期开发的编程语言都已经很少使用了,但Lisp保留了下来,并演变成了一种在人工智(AI)领域居于领先地位的编程语言Autolisp容许用户建立新命令来实现一个或多个功能。例如,程序员可以用Autolisp创建程序包来实现用位置数据自动生成3D轮廓图,生成3D对象的“展开”的图案,用一系列尺寸信息绘图(参数绘图)。多年来,用户用Autolisp来自动地为建筑图生成楼梯,为机械图生成齿轮,以及各种测量图。使用Autolisp定制的子程可以创建高效的绘图系统。无论你是继续提高你的Lisp编程知识并写出功能强大的子程,还是仅仅有一个一般的理解并写出简单的子程,你都会发现Autolisp会大大加强你的AutoCAD工作。1.2 1 Auto CAD二次开发1.2 1.1 必要性AutoCAD所提供的只是一般的通用的CAD功能,如造型、编辑、注释等。如果不利用AutoCAD开发系统,要想完成某一具体醒目的设计,就会显得较为复杂。例如,我要设计一台活塞式发动机,就需要根据发动机功率先手工计算出活塞直径,然后再调用AutoCAD的绘图命令,一笔一笔地绘出发动机的图形。这样,一旦在设计完成后,要更改发动机的功率,则需要重复刚才的全部内容。如果使用AutoCAD开发系统,则我们可以将上述计算和绘图通过高级语言编制相应的程序,在需要设计时,只一个命令便可以运行该程序,计算和绘图过程自动完成。显而易见,这不仅大大提高了设计效率,而且通过开发系统可以定制出某些专业化模块,甚至大型设计绘图软件。1.2 1.2 开发工具AutoCAD系统的定制开发工具,又称为AutoCAD开发工具。有时称作AutoCAD API (Application programming Interface 应用编程接口),是将AutoCAD环境客户化的基本手段。在AutoCAD2000中,我们使用的开发工具主要有:ObjectARX、AutoLISP、VisualLISP、Java、VisualBASIC和Delphi等。a) AutoLISP和VisualLISPVisual LISP是一个对使用LISP语言开发和定制AutoCAD的可视化开发环境。它扩展和增强了现有的AutoLISP语言,提供了程序的编写和调试环境,可将LISP程序编译成ObjectARX,大大提高了CAD编程效率和性能,是一个崭新的一体化可视CAD编程环境。Visual LISP提供标准Windows安装界面,安装方便。1.3 Matlab简介及仿真应用MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C+ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。 1.3 1发展历程20世纪70年代,美国新墨西哥大学计算机科学系主任Cleve Moler为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB。1984年由Little、Moler、Steve Bangert合作成立了的MathWorks公司正式把MATLAB推向市场。到20世纪90年代,MATLAB已成为国际控制界的标准计算软件。1.3 1.1应用MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型的问题。 1.3 1.2 Matlab的特点及优势 Matlab主要特点是他可用于技术计算;此开发环境可对代码、文件和数据进行管理;交互式工具可以按迭代的方式探查、设计及求解问题;数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等;二维和三维图形函数可用于可视化数据;各种工具可用于构建自定义的图形用户界面;各种函数可将基于MATLAB的算法与外部应用程序和语言(如 C、C+、Fortran、Java、COM 以及 Microsoft Excel)集成Matlab的优势主要是友好的工作平台和编程环境;简单易用的程序语言;强大的科学计算机数据处理能力;出色的图形处理功能;应用广泛的模块集合工具箱;实用的程序接口和发布平台;应用软件开发(包括用户界面)第二章 机构运动分析2.1 机构运动分析的必要性机构学在广义上又称机构和机器理论(简称机械原理)。18世纪下半叶第一次工业革命促进了机械工程学科的迅速发展,机构学在原来的机械力学基础上发展成为一门独立的学科,通过对机构的结构学、运动学和动力学的研究形成了机构学独立的体系和独特的研究内容,对于1819世纪产生的纺织机械、蒸汽机及内燃机等的结构和性能的完善起了很大的推动作用。 现代机械已大大不同于19世纪机械的概念,其特征是具有计算机信息处理和控制的手段,从而促使机构学发生广泛、深刻的变化。 2.2 运动分析的目的及基本方法2.1 1运动分析的目的机构的运动分析,就是根据加速度、或角位置、角速度,角加速度等运动参数。其目的在于研究评价机构的运动给定的原动件的运动规律,求出机构中其它构件的运们动,即求出各构件的位置、速度、及动力性能,或求出某些构件上特定点的轨迹,以确定机构的行程或外形尺寸。总之,运动分析是了解、分析现有机械或优化综合新机械的基本手段。2.1 2运动分析的基本方法运动分析,一般来讲有图解法和解析法。图解法运动概念清楚,形象直观,简单容易掌握,但是精度要不高,而解析法相对来说精度要求可能以很高,应用较广,但比较抽象(抽象成数学关系或计算机程序),就解析法而言,由于所用的数学工具的不同,又有许多种方法,但其本质上,可以分为约束法和杆组法两大类。图解法 用图解法作机构的位置图时,主要采用圆弧相交法。由原动件的已知位置开始,按机构的组成顺序,逐步按杆组依次确定各个构件的位置。杆组法 根椐机构组成原理,机构可由I级机构加基本杆组组成,当给定I级机构的运动规律后,机构中各基本杆组的运动是确定的、可解的。因此,机构的运动分析可以从I级机构开始,通过逐次求解各基本杆组来完成。这样,把I级机构和各类基本杆组看成是各自独立的模块,分别建立其运动分析的数学模型并编制程序,对其位置、速度和角速度、加速度和角加速度等运动参数进行求解。对所要进行运动分析的具体机构,可以通过调用原动件和机构中所需的基本杆组的运动分析模块来解决,这样,可快速成求解出各构件及其上各点的运动参数。这种方法称为杆组法。2.3 关于机构和杆组的基本知识一个连杆机构,总可以看成是原动件与自由度为0的构件和机架相连而组成的。原动件与机架组成的机构称为I级机构,如电动机,杠杆机构或斜面机构等;最简单的、不可再分的自由度为0的构件组称为基本杆组或称为阿苏尔组。平面基本杆组应满足的基本条件为: (2.1)式中 杆组中的构件数目;杆组中所含的低副数;杆组中所含的高副数;杆组的自由度数。其基本杆组全由低副所组成,则基本杆组的条件为: 或 (2.2)由于n和PL都应为整数,故组成基本杆组的条件为: =2, =3; =4, =6, (2.3) 最简单的平面基本杆组是由二个构件和三个低副所组成的,称为II级杆组,它是应用得最广泛的基本杆组。由于平面低副中有回转副(用R表示)和移动副(用P表示)两种类型,对于由二个构件和三个低副组成的II级杆组,根据R副和P副的数目和排列顺序的不同,它具有表2-1中所示的五种型式。除II级组外,还有III级、IV级等高级的基本杆组,表2-1中给出了两种III级杆组和一种IV级杆组,它们都是由4个杆件和6个低副组成的表2-1 II级及部分III、IV级基本杆组结构型式杆组中含有构件及运动副数杆 组 型 式N=2P=3二杆三副(II级杆组)(1)RRR(2)RRP(3)RPR(4)PRP(5)RPPN=4P=6四杆六副(部分级杆组)(1)III级杆组(2)IV级杆组2.4机构简图2.4 1 DCL对话框对话框是操作者与计算机对话的工具,所以是必不可少的,我们的对话框是使用DCL语句所编写的,在其上可以选择所要的机构,其界面如图2-1。图2-1 DCL 对话框2.4 2 常见机构及运动曲线图机构记过演示能够得到许多有用的信息,如主要构件的位移,速度,加速度等。我们能从这些数据中得到机构的运动形态和方式,下面为经过演示所得的图形,在这些图形中我们可以看到机构的形态,主要构件的运动形态等。主要有以下几种结构形式:图2-2为四杆机构及模拟运动曲线,用户通在AutoCAD环境下,通过人机交互输入方式画好机构并调用程序后,程序自动生成的机构简图并按运动参数动态模拟机构运动及是根据机构运动绘制的摇杆位移s,速度v和加速度a在转动一个周期内的化规律。图2-2四杆机构运动曲线图图2-3为四杆滑块机构及其模拟运动结果机构的运动特性主要反映摇杆的位移s,速度v和加速度a的变化,调整几何参数,可获得不同的运动特性。图2-3 四杆滑块机构的运动曲线图图2-4 拉包机构的运动曲线图基于Matlab-AutoCAD下的机械臂仿真第三章 基于Lisp-Auto CAD下的机构运动实例3.1平面机构运动分析3.1 1运动分析的目的机构的运动分析,就是根据给定的原动件运动规律,求出机构中其它构件的运动,即求出各构件的位置、速度、加速度,或角位置、角速度、角加速度等运动参数。其目的在于研究评价机构的运动及动力性能,或求出某些构件上特定点的轨迹,以确定机构的行程或外形尺寸。3.1 2 程序说明本程序使用AutoCAD的内部编程语言AutoLISP编程。它的优点是:1.AutoCAD具有宽松的运行环境和广泛的用户群体;有丰富的应用软件供用户参考或使用;应用软件可以直接在AutoCAD的图形编辑状态下运行。产生符合机械制图规范的图形或图形文件。 2.具有强大的图形调用和编辑功能,各种指令既可以直接键入,又可以点菜单。3.输入数据方便。当需要输入一个点时,既可直接键入点的坐标,也可以用光标给出位置,还可以利用AutoCAD对光标的约束功能,捕捉已有实体上的特殊点;当需要输入一个值时,既可直接键入一个值,也可通过橡皮筋的长度给出。3.1 3 模拟结果及分析(a) (b)曲柄摇杆机构的运动模拟(图3-1)图3.1为用户通在AutoCAD环境下,通过人机交互输入方式输入铰链点A,B,C,D位置坐标后,程序自动生成的机构简图并按运动参数动态模拟机构运动。图(b)是根据机构运动绘制的摇杆3的摆角、角速度、角加速度以及传动角随曲柄转动一个周期(2)的变化规律。从模拟结果可以得到以下结论:(1):曲线最大值反映摇杆的摆动范围;对应的横坐标可以确定曲柄的极位夹角和机构的行程速比系数k 1.3。(2):在曲线中传动角的变化幅度为(12858),通过多方案优化,可以改变摇杆工作行程的平均传动角水平,有利于机构的动力特性。(3):机构的运动特性主要反映摇杆的角速度、角加速度变化,通过调整几何参数,可获得不同的运动特性。3.2 典型机构运动仿真实例3.2 1 曲柄摇杆机构的运动仿真实例机构通过演示能够得到许多有用的信息,如主要构件的位移,速度,加速度曲线等。我们能从这些数据中得到机构的运动形态和方式,下面为经过演示所得的图形,在这些图形中我们可以看到机构的形态,主要构件的运动形态等。图3-2为用户通在AutoCAD环境下,通过人机交互输入方式画好机构并调用程序后,程序自动生成的机构简图并按运动参数动态模拟机构运动及是根据机构运动绘制的摇杆位移s,速度v和加速度a在转动一个周期(2)内的化规律。图3-2 四杆机构及模拟运动曲线机构的运动特性主要反映摇杆的位移s,速度v和加速度a的变化,过调整几何参数,可获得不同的运动特性。上例的四杆机构具有较平稳的运动特性,急回特性不明显。3.2 2 铰链滑块机构的运动仿真实例图3-3为铰链滑块机构及其模拟运动结果,滑块C为运动输出构件。机构的运动特性主要反映摇杆的位移s,速度v和加速度a的变化,过调整几何参数,可获得不同的运动特性。图3-3 铰链滑块机构及其模拟运动曲线第四章 基于Matlab-Auto CAD下的机械臂仿真4.1 机器人介绍机器人技术作为20世纪人类最伟大的发明之一,自60年代初问世以来,经历40年的发展已取得长足的进步。工业机器人在经历了诞生成长成熟期后,已成为制造业中不可少的核心装备,世界上有约75万台工业机器人正与工人朋友并肩战斗在各条战线上。特种机器人作为机器人家族的后起之秀,由于其用途广泛而大有后来居上之势,仿人形机器人、农业机器人、服务机器人、水下机器人、医疗机器人、军用机器人、娱乐机器人等各种用途的特种机器人纷纷面世,而且正以飞快的速度向实用化迈进。4.1 1 机器人的概念当人们一提起机器人时,便会想起电影里虚拟的智能化机器人的场景。那么,什么是“机器人”呢?他主要有以下四种特性:1.它是一种机械电子装置;2.动作具有类似与人或其他生物体的功能;3.可通过各种仿真软件编程来实现预定的功能,并有一定通用和灵活的特点;4.有一定程度的智能,可以独自完成一些操作。4.12机器人的应用领域机器人主要应用在工业生产的搬用,喷涂,焊接等方面,使我们从繁重的,重复的,单调的,有害健康和危险的生产作业中解脱出来。如今机器人已逐步进入或即将进入人们生产和生活的各个领域。如建筑机器人可用来砌墙,抹水泥地面,安装天花板,搬用玻璃,预订件等特殊材料;农,林,牧用机器人用于种耕,收割,采果,喷洒农药化肥,挤奶等;水下机器人可用于深海探测,沉船打捞和海洋矿产,渔业的开发,建立海上牧场;此外机器人还有大量军事应用,个发达国家开发了许多海,陆,空战用机器人,以显示军事现代化的实力。可以说,在当今世界上,机器人的应用已无处不在。4.1 3机器人的发展及趋势 世界上第一台机器人于1954年诞生于美国,它体现了现代工业广泛应用机器人的重要特征。 20世纪,人类取得了辉煌的成就,从量子理论、相对论的创立,原子能的应用,脱氧核糖核酸双螺旋结构的发现,到信息技术的腾飞,人类基因组工作草图的绘就,世界科技发生了深刻的变革。信息技术、生物技术、新材料技术、先进制造技术、海洋技术、航空航天技术等都取得了重大突破,极大地提高了社会生产力。 70年代中期,有鉴于机器人技术发展,经济潜力和日本在工业机器人方面所取得的成就,美国才意识到问题的紧迫性并多方面采取措施。日本的机器人技术人员引进美国机器人技术,经过技术并在日本迅速将其实用化。机器人进入工业生产的实用化时代,80年代,工业机器人进入普及时代,汽车,电子等行业开始大量使用机器人,推动了机器人产业的发展。机器人研究开发,无论就水平和规模而言都得到迅速发展,高性能机器人所占比例不断增加。近几十年来,欧洲的德国,意大利,法国及英国的机器人产业发展比较快。目前,世界上机器人无论从技术水平上,还是从已装备的数量上,优势集中在以日美味代表的少数几个发达的工业化国家之中。机器人的技术发展,一方面表现在机器人领域的扩大和机器人种类的增多;另已方面表现在机器人的智能化。21世纪,各种智能化机器人将得到广泛的应用,具有像人的四肢,灵巧的双手,双目视觉,力觉感知功能的仿人型智能机器人将被研制成功。4.2 机器人工作原理一般的说,我们可以定义机器人是由程序控制的,具有人或生物的某些功能,可以代替人进行工作的机器。根据以上的定义,机器人至少应该具备两部分:控制部分和直接进行工作的部分,比如应用最广泛的弧焊机器人,具有控制系统和带动焊枪运动的机械臂部分,控制系统通过编程的方式,决定直接工作的机械臂部分的运动和任务,因此,机器是一种具有“柔性”的机器。机器人具有人或者生物的某些功能,比如能如手臂一样运动,能在地上行走或者在水中游,高级一点的机器人可以通过传感器了解外部环境或者“身体内存在的”状态与变化,甚至可以做出自己的逻辑推理,判断与决策,也就是所谓的机器人的智能行为。机器人发挥作用必须在一个作业系统之中,由于各种不同类型的机器人不断涌现,他们发挥作用的形式和组成的系统也在不断地变化。一个机器人系统一般由机械手(执行机构),控制器,作业对象和环境四部分组成如图4-1所示:图4-1机械机构一般是一台机械手,有些文献中称为操作器活操作手,多说操作手是具有六个自由度的关节式机构,其中三个自由度用来引导末端执行器至所需位置,另外三个自由度用来确定末端执行装置的方向。机械臂上的末端执行装置根据操作需要也可以换成焊枪、吸盘、扳手等其他工具。环境是指机器人在执行任务时所能达到的几何空间,在它的工作环境中,机器人会得到为完成任务所需的支持,在运动空间中,机器人要设计好合理的运动路线控制器是机器人系统的指挥中枢,并且负责信息处理和人交互,它接受来自传感器的信号,对其进行数据处理,并按照预存的信息;机器人的状态及环境情况等,产生控制信号去驱动机器人执行机构的各个关节,已完成特定的运动。为此控制器内必须具有保证它实现其功能所必须的算法与信息。机器系统的复杂程序不同,能执行的任务不同,控制器内所存放的软件也不同。4.3 机械臂介绍及运动分析4.3.1机械臂介绍 机械臂定义机械臂是一种应用于工业、农业上的一种简单的操作机构;在工作中可以按人们的要求完成一些简单的预定的任务或命令;它的方便和快捷性在建筑业、农业、制造业等重要领域上发挥着重要作用。机械臂的构成一般的机械臂主要由固定杆件、连接杆件和位移杆及路径构成。具体构成如图4-2所示:图4-2 机械臂的基本构成构件1:固定杆 构件2和3:连接杆 构件4:位移杆机械臂的用途走进21世纪,社会步入自动化时代,越来越多的人力劳动被机器所代替,然而,机械臂的出现为社会的发展起了巨大的推动的作用。如今机械臂已逐步进入或即将进入人们生产和生活的各个领域。如建筑机械臂可用来砌墙,抹水泥地面,安装天花板,搬用玻璃,预订件等特殊材料;农,林,牧用机器人用于种耕,收割,采果,喷洒农药化肥,挤奶等;水下机器人可用于深海探测,沉船打捞和海洋矿产,渔业的开发,建立海上牧场;此外机械臂还有大量军事应用,个发达国家开发了许多海,陆,空战用机器人,以显示军事现代化的实力。可以说,在当今世界上,机械臂的应用已无处不在。机械臂的基本原理矩阵变换1、对矩阵进行一下3种变换,称之为矩阵初等变换。(1) 交换矩阵的两行或两列;(2) 以一个非零的数K乘矩阵的某一行或某一列;(3) 把矩阵的某一行(列)的l倍加于另一行(列)上。2、设(1)、对A进行某种初等变换得到的矩阵,等于用相应的m阶初等矩阵左乘A(2)、对A进行某种初等变换得到的矩阵,等于用相应的m阶初等矩阵右乘A 现在证明交换A的第i行等于用左乘A。将与表示为 (4.1)其中 (4.2)由此可见恰好等于矩阵第i行与第j行互相交换得到的矩阵。用类似的方法可以证明其他各种交换的情况。容易验证,初等矩阵都是可逆的,且他们的逆矩阵仍是初等矩阵 (4.3) (4.4) (4.5)4.3 2 机械臂的运动分析 机械臂的运动分析是通过杆件与杆件之间的角度和按照运动轨迹运动点的路程S的变化来反映机械臂的运行状况,通常用矩阵变换和图示的方法表示出来。运动分析,一般来讲有图解法和解析法。图解法主要是用图示来说明问题,具有概念清楚,形象直观,简单容易掌握,而解析法主要是运用矩阵变换求出相关的量,用代数的方法表示出来 ,不直观,没有图示法表现的一目了然,然而有便于运算,精确度高等优点。由于解析法表达不直观,因此,这里我们运用图示的方法来阐释机械臂的运动问题。下面是关于机械臂的运动分析图:图4-3 机械臂运动分析图从上图4-3中我们可以清晰地看出:机械臂的运动分析主要表现以下在三个方面1. 构件1和构件2之间角度 的运动分析;2. 构件2和构件2之间角度 的运动分析;3. 路径上轨迹点运动行程S的分析。下面我们就以运动分析图为例来说明杆2,杆3和杆4的运动所对应的角度、和路程S的变化规律 首先,创建一个程序模块,然后运用Lisp语言创建一个机械臂的模型,使用路径来捕捉程序模块,返回Lisp程序中计算数据,然后再将程序存入Matlab文件当中,Matlab分析并计算模块,在这当中:首先要获取原始文件,其次,计算各个关节运动参数在时间变化的条件下的、S,最后产生运动数据文件。 图a为用户通在Matlab环境下,运行下列程序:figure(1)plot(1:nn,fa2)figure(2)plot(diff(fa2(1:nn-1)figure(3)plot(diff(diff(fa2(1:nn-2)产生关节1的角位移、速度、加速度曲线,具体如下列各图所示:图a(1)图a(1)为机械臂的关节1在100次的运动下的角位移;图a(2)图a(2)反映了机械臂的关节1在100次的运动下的角速度;图a(3)图a(3)反映了机械臂的关节1在100次的运动下的角加速度;图b为用户通在MatLab环境下,运行下列程序figure(4)plot(1:nn,fa4)figure(5)plot(diff(fa4(1:nn-1)figure(6)plot(diff(diff(fa4(1:nn-2)图b(1)图b(1)反映了机械臂的关节2在100次的运动下的角位移;图b(2)图b(2)反映了机械臂的关节2在100次的运动下的角速度;图b(3)图b(3)反映了机械臂的关节2在100次的运动下的角加速度图c为用户通在MatLab环境下,运行下列程序figure(7)plot(1:nn,dist)figure(8)plot(diff(dist(1:nn-1)figure(9)plot(diff(diff(dist(1:nn-2)图c(1)图c(1)反映了机械臂的在轨迹曲线上100次的运动下的路程;图c(2)图c(2)反映了机械臂的在轨迹曲线上100次的运动下的速度;图c(3)图c(3)反映了机械臂的在轨迹曲线上100次的运动下的加速度。综上所述:图示表明(1)、图a、b、c分别反映了机械臂在100次运动下关节1、2的角位移、角速度和角加速度以及机械臂在路径上运动的行程、速度和加速度; (2)、通过图示可以判断机械臂是否运行流畅,是否存在集中点; (3)、针对集中点,可以更方便地确定解决方案。4.4 机械臂的仿真程序设计创建机械臂模块的基本程序流程如下所示:1、 建立主程序(1)、机械臂装配(2)、获取原始数据和位置(坐标和路径)2、将数据通过接口程序存为Lisp文本文件并计算处理数据3、将数据存入Matlab文件,计算位置和角度,然后再有接口程序传递给CAD下的lLisp程序文件当中(1)、获取原始文件(2)、计算各个关节运动参数(3)、产生运动数据文件4、CAD读取Lisp程序,实现机械臂运动的仿真具体创建流程如下:首先,a:主程序,在CAD环境下打开一个已经编好的机械臂模块的Lisp程序,然后加载装配机械臂的Lisp程序,依次创建各个杆件,并把它们以圆心为连接点将他们连接起来;图4-3图4-4b:在CAD环境下创建路径来捕捉模块;图4-5c:产生原始数据文件1、 机械臂运行100次时每次的运行的坐标位置;2、 路径的坐标以及各杆件端点的坐标和杆件2、3的长度;Path(路径):484.086 -295.472 558.531 -127.195 464.56 67.9101 各杆件端点中心坐标以及杆2、3的长度:48.4211 -138.004 212.701 -138.004 452.355 -138.004 164.28 239.654其次,通过接口程序存为Lisp文本文件,在文件中处理模块再次,Latlab调用子程序文件,计算、和S,并产生数据文件最后,执行Lisp程序,实现机械臂的运动仿真。如图4-6所示:图4-6机械臂的运动仿真机械臂运动实例第五章 械臂运动实例我们在日常生活中见到到得一般机械臂,譬如:应用于刷墙的刷墙机械臂,应用于刷漆的喷漆机械臂,还有应用于焊接的焊接机械臂等等。机械臂的一般结构如图5-1所示:图5-1 机械臂的主要构成下面我们就以图5-1的基本结构,以应用于刷墙的刷墙机械臂为例,简单地介绍一下它的工作过程。第一步:CAD创建机械臂的基本模型,产生Lisp原始数据文件以文本格式存入记事本中;具体如图5-2所示:(1)、模型建好以后,加载程序文件rb1;图5-2 加载Lisp 程序文件(2)、在CAD环境下键入Lisp程序的相应指令,依次插入构件一、二、三、四杆件,如上节图4-3所示; (3)然后将他们以各关节的圆心连接到一起,完成机械臂模块的创建;图5-3 路径的创建第二步:利用接口程序转为Matlab语言传递到Matlab中产生Matlab文件;图5-4产生matlab程序文件第三步:运行Matlab程序文件,Matlab在程序的命令下计算机械臂的基本运动参数、S,产生Lisp运行数据文件;具体如下:(1)、运行plot.dist指令,依次产生关于关节1和2的角度、的位移,速度和加速度以及轨迹点的相对位移,速度和加速度;具体程序如下所示:figure(1) plot(1:nn,fa2) figure(2) plot(diff(fa2(1:nn-1) figure(3) plot(diff(diff(fa2(1:nn-2) figure(4)plot(1:nn,fa4)figure(5)plot(diff(fa4(1:nn-1)figure(6)plot(diff(diff(fa4(1:nn-2)figure(7)plot(1:nn,dist)figure(8)plot(diff(dist(1:nn-1)figure(9)plot(diff(diff(dist(1:nn-2)(2)、产生Lisp运动数据文件,存于记事本当中;第四步:产生Lisp运动数据文件,存于记事本当中;具体见附录(源程序)再次利用接口程序将Lisp运动数据文件传递给CAD。第五步:在CAD环境下,键入Lisp数据文件的相应指令,运行Lisp程序,实现机械臂的运动模拟,实现机械臂按轨迹运动的动画效果。图5-5 CAD环境下的机械臂仿真我们利用matlab语言和lisp程序之间的相互调用关系,可以设计合理的路线来实现机械臂的良好运行,因而,可以在原路径的基础上改变路径的形状,来实现机械臂的稳定运行。所以,我们现在CAD里面建好机械臂模型,通过接口程序和matlab语言之间的相互传递和计算,最终实现机械臂在CAD环境下运行matlab计算获得的数据通过接口程序传递给lisp文本文件的程序的运动模拟。下面我们可以再举一个例子来说明上面的结论:首先,在CAD环境里创建机械臂模型,打开机械臂原始文件,并加载主调程序,创建好机械臂模型后并组合完了以后,在原路径的基础上修改路径;图5-6 修改机械臂路径其次,机械臂模型数据被存放到文本文件当中,并进行模块处理;再此,通过接口程序,再把机械臂模型的相应程序和数据传给matlab软件语言,产生matlab语言程序;如图5-4所示:然后,(1)matlab软件运行程序,计算各个关节的位置坐标和角位移,角速度,角加速度和位移杆的相对于路径的位移,速度和加速度,并产生各个关节和位移杆的各自参数的运动曲线图;(1)、运行plot.dist指令,依次产生关于关节1和2的角度、的位移,速度和加速度以及轨迹点的相对位移,速度和加速度;具体程序如下所示:figure(1) plot(1:nn,fa2) figure(2) plot(diff(fa2(1:nn-1) figure(3) plot(diff(diff(fa2(1:nn-2)figure(4)plot(1:nn,fa4)figure(5)plot(diff(fa4(1:nn-1)figure(6)plot(diff(diff(fa4(1:nn-2)figure(7)plot(1:nn,dist)figure(8)plot(diff(dist(1:nn-1)figure(9)plot(diff(diff(dist(1:nn-2)(2)matlab运行过后产生Lisp运动数据文件,存于记事本当中;具体见附录(源程序)再次利用接口程序将Lisp运动数据文件传递给CAD。最后,在CAD环境下运行lisp文本文件的程序,实现机械臂的运动仿真,通过模拟,可以一目了然的看出机械臂的运行状况,合适就采用此路径应用于刷墙或以路径为准的曲线弧焊接等,不合适的话,可以继续修改路径以实现机械臂应用于实际的良好运行。 图5-7 机械臂相对不同路径的模拟总 结总
展开阅读全文