




已阅读5页,还剩55页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京化工大学 毕业设计(论文) 三自由度并联机器人的运动学仿真电气工程学院毕业设计(论文)任务书系 别机电一体化指导教师学生姓名专业(班级)设计题目三自由度并联机器人的运动学仿真题目来源自拟题目类型工程技术研究题目性质模拟(真题假做)设计内容和目标MATLAB软件在自动控制及其他的工程科学得到了广泛的应用,研究基于MATLAB的仿真技术有重大意义。内容:1、学习MATLAB及空间并联机器人的基础知识;2、查阅国内外相关资料,掌握国内外关于并联机器人仿真的研究现状;3、建立机器人的数学模型及仿真模型,4、对机器人系统进行仿真研究,5、撰写毕业论文。目标:掌握MATLAB软件及其机器人的基本理论,设计出基于MATLAB的机器人仿真模型。毕业设计说明书一本,查阅一篇相关英文参考文献及翻译。设计要求 遵守毕业设计期间的纪律,按时答疑; 独立完成毕业设计的任务,培养独立进行科学研究的能力 撰写设计说明书一份(4-6万字)及其相应的图纸;英文资料的翻译不少于5千字;设计说明书要求条理清晰、文笔通顺,符合毕业设计撰写规范的要求;说明书及文字符号符合国家现行标准; 完成相关的实验或仿真实验;参考资料1 并联机器人机构学理论及控制 黄真 孔令富 方跃法 著 机械工业出版社2 MATLAB程序设计及应用 张智星 著 清华大学出版社3 相关复印资料若干周次145891213161719应完成的内容收集资料了解MATLAB的基本知识,对设计任务有基本认识确定总的方案 方案分析及设计软件设计及其调试 设计总结,撰写论文基层教学单位审核院 (系)审 核摘 要少自由度并联机构是目前机器人研究领域的热门课题,目前许多学者开发出很多新机构,但新机构要进入实际的工程应用领域还需进行很多系统的研究。课题中对平面三自由度并联机器人(3RRR)进行了分析,描述了机构的特性,给出了机构的位置反解算法,利用黄真教授提出的虚设机构法建立了机构的一阶和二阶影响系数矩阵,实现了运动学建模;开发出基于 MATLAB 的分析与仿真软件,通过软件对该机构进行了运动学分析。然后运用MATLAB 的绘图技术及数据可视化技术给出了平面 3RRR并联机构的三维仿真实体模型的简单画法及实体的运动仿真,在计算机上从实体运动仿真图中直接验证了对平面3RRR机构进行性能分析所得的理论结果:(1)从机构运动中直接分析了机构的奇异位形点;(2)利用实体运动得到的仿真曲线同影响系数法得到的仿真的速度及加速度曲线的完全吻合,说明了利用黄真教授提出的虚设机构影响系数法进行少自由度机构运动分析的可行性。最后在空间并联机构3RRR实体仿真软件基础上,基于MATLAB的GUI 技术,开发了与Windows相类似的界面窗口,简化了系统的应用,使其更易于被一般用户所接受。关键词3RRR 机构;运动分析;机构仿真AbstractThe lower-mobility parallel mechanisms are presently hot topics in the field of robotics research. A lot of scholars have open out varieties of novel mechanisms. But before they enter into the field of actual engineering applications comprehensive investigations must be done. In this paper a lower-mobility parallel symmetrical mechanisms3RRR has been discussed chiefly including its mechanistic characteristic and its motion. Meanwhile its inverse kinematics on this kind of mechanisms is presented. Furthermore one-order and two-order influence coefficient matrices and kinematics model are erected based on nominal mechanism influence coefficient advanced by Pro. Huang. As well as we open up a set of performance analysis and imitating software. Secondly it is presented how to protract simply three-dimension solid simulation model and its motion of the plane parallel mechanism 3RRR with drawing and VISC (visualization in scientific computing) of MATLAB. From computer solid motion simulation we verify the theoretical conclusions on performance analysis. First we analyze directly their singularity poser from the model motion. Second Comparing to the simulating curves from solid motion with influential coefficient method theyre completely anatomized. These show its feasible that we analyze seldom-mobility motion performances with nominal mechanism influence coefficient advanced by Pro. Huang.Finally taking the spatial parallel mechanism 3RRR as an example and based on the GUI we develop universal user-interface similar to Windows, which make its application simple and understandability to the commons.Keywords Parallel Mechanism 3RRR; Kinematics Analysis; Mechanism Simulation目 录摘 要IAbstractII第1章 绪论11.1 课题背景11.1.1 国内外并联机器人的研究现状11.1.2 对机构仿真的研究31.2 课题研究的内容及意义4第2章 基础知识介绍62.1 坐标变换的基础姿势矩阵的欧拉角表示法62.2 影响系数法简介82.2.1 影响系数的概念82.2.2 并联机构的一阶影响系数及速度分析112.3本章小结13第3章 MATLAB简介143.1 M文件编辑器143.2 脚本文件和函数文件153.2.1 M脚本文件153.2.2 M函数文件153.2.3 局部变量和全局变量163.2.4 M文件的一般结构163.3 句柄图形173.3.1 图形对象、对象句柄和句柄图形数结构173.3.2 对象属性183.3.3 图形对象创建指令一览193.4 图形用户界面的设计原则和一般步骤203.4.1 设计原则203.4.2 一般制作步骤213.5 图形用户界面的控件属性223.6 本章小结26第4章 平面3RRR并联机构仿真274.1 概述274.2 平面3RRR并联机器人简介274.3 平面三自由度并联机构的位置反解284.4 3RRR并联机构的仿真294.4.1 实体机构的仿真294.4.2 机构的运动过程仿真304.5 图形用户界面设计314.6 仿真系统的组成324.7 本章小结32结 论34参考文献35附录1 位姿反解流程图36附录2 英文资料及翻译37致谢52第1章 绪论1.1 课题背景机器人作为 20 世纪最伟大的发明之一,在短短的 40 年内发生了日新月异的变化。近几年,机器人已成为高技术领域内具有代表性的战略目标。 机器人技术是正在蓬勃发展的一个重要领域,包括生物学、人类学、社会学、力学、机械学、光学、电子学、检测、自动控制、计算机和人工智能等技术,形成一门综合性的新技术学科机器人学。它的出现和发展,不仅使得传统的工业生产面貌发生根本性的变革,而且对人类社会产生了深远的影响。 机器人的研究,包括基础研究层和现实应用层。 在基础研究层,需要开发许多技术,包括移动机构、微型系统、灵巧手等新型装置的设计,以及3D环境感知与建模、运动和任务规划、反应性和决策自主性等最先进的技术。 在现实世界应用领域: (1)人类前沿领域和基于现场的应用领域,如采矿、林业、农业、水下、陆地恶劣环境、星际探索等; (2)服务机器人,如计划维修/维护、建筑、环境保护和危险废弃物的搬运、排水管道检查和维修; (3)面向公众的应用,从家庭和专业清扫、宾馆和医院的服务、人员保卫到残疾人和老年人辅助设备等。 从它的研究领域及应用领域可见,机器人的研制不仅关系到我们的国计民生,也是各国进行经济和军事较量的重要手段。1.1.1 国内外并联机器人的研究现状随着机器人应用领域的不断扩展,对机器人的动力学性能的要求越来越高。在许多工业场合,如插装,分拣工序中,需要机械手以很高的速度和加速度完成工件的提取,移动和插入操作,如何实现这类机械手的高速、高精度运动一直是机器人技术研究的难点和热点问题 。 实现机械手高速度、高精度运动的关键技术有以下两个方面:(1)通过机械结构的轻量化来有效地改善系统的动态性能;(2)设计简单、高效的控制器并构建与之相匹配的硬件系统。而传统的开链式串连结构,即便抓取几克重的物体也需较为粗大的动臂以提供足够的刚性,因此,难于实现末端执行器的高速、高精度运动。与传统的串连机械手相比,并联机械手可将驱动器安装在机架上,并可将从动构件制成轻杆,因此,在轻小物体,短距离的高速操作方面表现出了良好的应用前景 。对机器人的研究最早是由串联结构开始的,而并联结构始于1965年美国的Stewart.D提出的 6-SPS 机构,即著名的 Stewart 平台机构。由于并联机构具有串联机构没有的优点,是串联机构的补充,更由于虚拟轴机床的问世,使得并联机构成为研究的热点。80年代末,特别是90年代以来,并联机构被广为关注,国际上著名学者 Waldrom、Roth、Fenton、Merlet、Gosselin、Angeles、Sugimoto、Lee、Kumar 等,以及国内许多学者都对此作了深入的研究,所研究的并联机器人的种类也日益增多,并开始形成一整套并联机构学理论。在应用领域,并联机器人使用范围的研究也在逐渐扩展。在工业上,可用其在汽车总装线上安装轮胎;在航空领域中,可用作飞船对接器的对接机构;在航海上,也可用并联机构作对接器进行潜艇对接。Arai等 1991年提出将并联机构装在履式或可移动的小车上,挖头装在并联机构的平台。并联机构的另一个重要应用是在工业上作为上,可实现巨大的挖掘力六自由度数控加工中心,即并联机床,又称为虚拟轴机床(virtual Axis Machine Tool),其实质是机器人技术与机床结构技术结合的产物 。目前,国际上已经相继推出了各种产品化的样机。l994 年在美国芝加哥国际制造技术展览会(IMTS94)上,美国的Ingersoll铣床公司、Giddings&Lewis公司和 Hexal 公司首次在世界上展出了“六足虫”(Hexapod)和“变异型”(VARIAX)的数控机床与加工中心,引起轰动。此后英国Geodetic公司,日本丰田、日立、三菱,俄罗斯Lapik公司,丹麦Rraunschweig 公司,德国亚琛工业大学,瑞士 ETZH 和 IFW 研究所,瑞典Neos Robotics 公司等单位也研究出不同结构形式的数控铣床、激光加工水射流机床、坐标测量机和加工中心等。近年来,在许多国际学术会议均有大量文章涉及并联机床,例如第 47-49 届 CIPP 年会、1998-l999 年 CIRA 大会、ASME 第 25 届机构学双年会、第十届 TMM 世界大会等。我国已将并联机床的研究与开发列为国家“九五”攻关计划和 863 高技术发展计划。在国内,天津大学及天津第一机床厂、哈尔滨工业大学机器人研究所、东北大学和中科院沈阳自动化所等科研机构各自进行了并联机床样机的研制。并联机构还能应用于微动机械领域,燕山大学1994年研制的机器人误差补偿器就是微动机构的一个例子。还可将并联微动机构用于眼科手术中。天津大学黄田教授主持的国家863计划项目“钻石 600”机器人作为第一台整机机器人已远销英国。该机器人采用混联构型设计:串联装置驱动并联机构在一条轨道上纵向运动,轻巧的并联机构可使末端执行器在平面内做“点对点”运动,可快速准确的抓取并放置物品。目前,对于少自由度并联机器人机构的研究不多。关于它的分析,许多学者提出了不同的研究方法。其中,1988 年,Lee 提出对 3-RPS 并联平台机构研究有两个转动自由度与一个移动自由度,给出它的位置反解与物理条件,并进行了简单的仿真及运动学与动力学分析 。1994 年Pschuh 等对3-RPS三自由度并联平台机构位置、工作空间、控制等问题进行了讨论,并设计了机构原型 。1988-1993年Gosslin对平面3-RRR与球面3-RRR 机构从运动学反解、工作空间、结构优化、特殊位形等多种角度进行了研究 。2002 年,Lung-wen Tsai运用螺旋理论建立了少自由度的并联机构的 Jacobian 矩阵,并提出了用Jacobian矩阵分析少自由度并联机构的一般方法,并用这一方法分析了 3-UPU、3-RPS 两种机构2002 年Sameer、A.Joshi提到了两种 3-DOF 四腿并联操纵器,主要用于并联机床。1992 年,黄真教授提出了一种很实用的虚设机构法,可以将适用于 6-DOF 机构的影响系数法应用于少自由度并联机构上,该方法简便,容易求得机构的运动学方程。本文研究的并联机构就使用了虚设机构法。 1.1.2 对机构仿真的研究机器人仿真是机器人研究的一项很重要的内容,它涉及机器人机构学、机器人运动学、机器人零件建模、仿真机器人三维实现和机器人运动控制,是一项综合性的有创新意义和实用价值的研究课题。仿真利用计算机可视化和面向对象的手段,模拟机器人的动态特性,帮助研究人员了解机器人工作空间的形态及极限,揭示机构的合理运动方案及有效的控制算法,从而解决在机器人设计、制造以及运行过程中的问题,避免了直接操作实体可能会造成的事故或者不必要的损失。 进行仿真工具的选择也至关重要。这里选择MATLAB作为机构仿真和运动学、动力学仿真及机构性能分析的软件平台具有以下优势: (1)简单易用的编程语言 新版本的MATLAB语言是基于最流行的 C 语言基础上的,因此语言特征与C语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。而且这种语言可移植性好,可扩展性极强,这也是MATLAB之所以能够深入科学研究及工程计算各个领域的重要原因。 (2)强大的科学计算及矩阵处理能力 MATLAB拥有600多个工程中需要用到的数学运算函数,可以方便地实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中最新计算成果,而且经过了各种优化,因此使用起来可靠性非常高。通常情况下,可以用它来代替底层的编程语言,如和C与C在计算要求相同的情况下,使用MATLAB的编程会大大减少工作量。 (3)直观方便数据可视化与绘图功能 由于课题中最后要将数据转换为性能图谱,即将计算结果可视化,所以要用到一些图形显示方面的函数。 (4)开放式可扩展的编程环境MATLAB的一大优势在于现成的可用工具箱,而关于机构分析及仿真的还没有,而它的开放式的编程环境允许用户文件作为MATLAB的库函数来调用,因而用户可以根据自己的需要建立和扩充新的库函数,以便扩充MATLAB的功能,这为我们提供了很大的施展空间,而在某些工程应用中,我们一般用C语言(或C)编写应用程序来实现数据采集、接口控制等,MATLAB与 Fortran、C语言等的扩展接口功能正好满足了此要求。 综上所述,本课题选择MATLAB7作为编程工具。1.2 课题研究的内容及意义本课题对平面三自由度机构的实体模型及运动性能进行仿真研究,主要包括以下内容:1运用MATLAB语言描绘出平面三自由度并联机构的三维仿真实体模型,采用构造绘图法以形成完整的实体模型。2运用MATLAB语言进行平面三自由度并联机构的运动过程仿真,包括动态模型的建立,运动过程中约束条件的判断和运动轨迹仿真的参数设定三部分。3分别采用一阶影响系数法和微分法对平面三自由度并联机构进行速度和加速度仿真,并画出相应的曲线。4利用MATLAB中的GUI功能进行系统界面的设计,主要包括输入对话框和图形界面设计两部分。总之,通过计算机的三维建模及动态模型的仿真应用,可以使设计人员摆脱繁重的劳动,减少设计成本,节约资金,缩短设计周期。第2章 基础知识介绍2.1 坐标变换的基础姿势矩阵的欧拉角表示法首先来介绍用绕流动坐标轴的转角为参数的表示法。我们知道,姿势矩阵是具有9个元素的方向余弦矩阵,根据余弦矩阵的性质,它只有3个不在同一行或同一列的元素才是独立的,所以可用3个参量来表示姿势矩阵。就是说,物体的姿势只决定于3个独立变量,这3个独立变量可取作绕3个轴的转角。如图 21,确定物体姿势的是由与参考坐标系(基础标架坐标系)重合的某一坐标系经过三次旋转变换得到的,即:首先绕Z轴右旋角,得到标架;再以的轴为轴,右旋角得到;最后以为轴,右旋角得到。令三次旋转变换分别表示为:并把这三次连续变换后得到的姿势矩阵记作:其中统称为欧拉角,则: 其次,接下来介绍用绕基础坐标轴的转角为参数的表示法。前面所考虑的三个欧拉角是绕分别属于三个不同坐标系的三个坐标袖的右旋角,我们称之为动轴欧拉角,它的物理模型可以看作是陀螺仪上的框架和陀螺体,两个坐标系面连在框架上,一个坐标系固连在陀螺体上。我们也可用同属于基础坐标系的三个坐标轴的右旋角作为确定坐标系方位(物体姿势)的“欧拉角”,我们称之为“定轴欧拉角”。如图22示(在此未画中间过渡坐标系) 图21 旋转坐标示意图 图22 绕定轴三次旋转变换其物理模型可看作是图 23 所示的航行中的船体,前进方向为z,正上方为x,侧向为 y,三者按右手系取正向。根据绕基础坐标轴变换矩阵需要左乘的规则,得: 图23 定轴欧拉角模型2.2 影响系数法简介影响系数矩阵是在本课题的机构研究中必不可少的基础,无论是作机构的运动学建模还是进行机构的性能分析,都是在机构的影响系数的基础之上所开展的,因此,在这里有必要对机构的影响系数作以介绍。2.2.1 影响系数的概念 影响系数矩阵是在本课题的机构研究中必不可少的基础,无论是作机构的运动学建模还是进行机构的性能分析,都是在机构的影响系数的基础之上所开展的,因此,在这里有必要对机构的影响系数作以介绍。这里将以本课题所研究的平面三自由度并联机构(如图24所示)为例,来给出影响系数的概念。图24 平面三自由度并联机构当给定三个输入时,机构所有构件就获得确定的运动。若运动都是经由单自由度的运动副输入,或者是转动副,或者是移动副。当转动副为输入副时,移动副为输入副时,。对N自由度机构,在N个输入给定后,机构的任一构件的位置就确定。构件位置可用其上个点的坐标及一条线的角位置表示,则有 (21)式中,表示为确定第件的位置所选用的参考线的角位置参考点的横轴和纵轴坐标。由于输入运动参数是随时间变化的,其对时间的导数分别为: (22)若以表示机构上某个杆的位置坐标,则上式(21)和(22)可以统一写为: (23) (24) 由机构的结构特点可知式(21)或(23)为非线性方程,但上式(22)或(24)具有线性。由机构学可知偏导数仅与机构的运动学尺寸(铰链位置、方向及移动副方向、位置)及原动件的角位置有关,而与原动件的运动无关。这些与运动分离的一阶偏导数,定义为一阶影响系数,简称为一阶影响系数,一阶影响系数矩阵反映了机构输入速度与机构输出速度间的关系。若以矩阵形式表示式(24)可写为 (25)则矩阵就称为一阶影响系数矩阵,有: (26)式中若表示机构中任一构件的加速运动,即构件的角加速度及构件上所选定点的线加速度及,可以将上式(22)或(24)对时间再次求导,得 (27)这里的二阶导数定义为二阶运动影响系数或简称为二阶影响系数,二阶影响系数矩阵则反映了机构输入加速度与机构输出加速度间的关系。2.2.2 并联机构的一阶影响系数及速度分析 最一般的能概括所有机型的并联机器人机构应为Duffy在1983年推出的66R 机构(图 25是该机构的一个支链)。我们就以该机构为例作以介绍。因为并联机构的一个分支实际上就是串联机构,所以并联机构支链一阶影响系数矩阵的建立方法同串联机构的一样,故此将串联机构的一阶影响系数的建立方法移植到支链上。故此处将串联机构的一阶影响系数的建立方法移植到支链上。 取其中单链机构各运动副的轴线方向为,它们的位置矢径为。设P点为机构平台运动的研究点,则该支链机构各运动副对P点的矢径为,见图25。 图25 并联机构66R的一个分支支链转动的一阶运动影响系数 (211)由此可得出支链的一阶影响系数矩阵 (212)这里的转动影响系数矩阵和移动影响系数矩阵均为36阵,所以支链的一阶影响系数矩阵(i=1,2,3,4,5,6)为66阵。单个分支速度求解,相当于求解方程: (213)式中为并联机构单个分支一阶影响系数矩阵;为关节速度;v为支链的运动输出点P的速度。建立在并联机构的一个分支上的矩阵为,当确定了此六自由度机构的六个主动件后,将六个主动运动的方程分别取出 (214)式(214)中是输入角速度,上角标和下角标分别表示输入角速度所在的分支序号和分支中运动副的序号,则表示第分支一阶影响系数矩阵的逆矩阵的第行。将上述的六个方程结合构成一个矩阵表达式,形如 (215)式中为包含六个输入角速度的列矢量,是六个独立广义速度,定义为: (216)式(215)逆解为 (217)式中。这里式(217)反映了输入空间对工作空间运动的线性映射,该式子成立的条件是为非奇异阵,矩阵为并联机构的一阶影响系数矩阵。应用式(215)及(217),在已知六个广义输入速度的条件下,可求平台的六维速度,也可以由平台的六维速度求六个广义输入速度。这里导出的一阶影响系数矩阵是平台运动对六个广义坐标的综合影响系数,它同时与六个分支的三十六个运动副的方位有关,与整个机构的形位有关。由此可以看出,一阶影响系数矩阵的建立与机构的真实运动速度无关,只与机构的运动学尺寸及机构类型有关,与机构的形位无关。2.3本章小结本章介绍了机器人机构学方面的基础知识,首先介绍了坐标变换的基础知识及姿势矩阵的欧拉角表示法,具体分两种情况介绍,一种是绕流动坐标轴的转角为参数的表示法,另一种是绕基础坐标轴的转角为参数的表示法;接着介绍了影响系数的概念及并联机构一阶影响系数的求解方法,在此基础上,介绍了运用影响系数法建立并联机构运动学方程的方法,即机构输入输出关系的表达式。这些关于并联机构研究的基础知识为接下来的并联机构的运动学仿真做了必要的理论准备。第3章 MATLAB简介本章主要是介绍一些MATLAB编程需要的一些基础知识,为以后的程序开发做准备。3.1 M文件编辑器MATLAB Editor/Debugger是一个集编辑与调试两种功能于一体的工具环境,见图41。利用它,不仅可以完成基本的文件编辑操作,还可以对M文件进行调试。图31M文件编辑器本节系统介绍编辑调试器的文件编辑功能。(1) 为创建新M文件,启动编译器的3种操作方法在 MATLAB指令窗运行指令edit。单击MATLAB指令窗的工具条上的图标。利用MATLAB指令窗的【file:new】子菜单,再从右拉菜单中选择“Mfile”项。(2) 打开已知的M文件的3中操作方法在 MATLAB指令窗运行指令edit filename。filename是待打开的文件名,可以不带扩展名。点击MATLAB指令窗工具条上的图标,再从弹出对话框中选择所需打开的文件。选中MATLAB指令窗【file:open】子菜单,再从弹出对话框中选择所需打开的文件。(3) 经编写或修改后,文件的保存方法点击编辑器工具条上的图标,或选取编辑器【file:save】子菜单,若是已有文件,则以上操作便完成了保存;若是新文件,则会弹出“保存”文件对话框,经过存放目录和文件名的选择,才可以完成保存。3.2 脚本文件和函数文件3.2.1 M脚本文件对于一些比较简单的问题,从指令窗中直接输入指令进行计算是十分轻松简单的事。但随指令数的增加,或随控制流复杂度的增加,以及重复计算的提出,直接从指令窗计算就显得繁琐。而此时脚本文件(script file)最为适宜。“脚本”本身反应这样一个实事:MATLAB只是按文件所写的指令执行。这种文件的构成比较简单。其特点是:它只是一串按用户意图排列而成的(包括控制流向在内的)MATLAB指令集合。脚本文件运行后,所产生的所有变量都驻留在MATLAB基本工作空间(base workspace)中。只要用户不使用clear指令加以清除,且MATLAB工作窗口不关闭,这些变量将一直保存在基本工作空间中。基本空间随MATLAB启动而产生,只有关闭MATLAB时,该基本空间才被删除。3.2.2 M函数文件与脚本文件不同,函数文件(function file)犹如一个“黑箱”。从外界只看到传给它的输入量和送出来的计算结果,而内部运作是藏而不见的。它的特点是:从形式上看,与脚本文家不同,函数文件第一行总是以“function”引导的“函数声明行(function declaration line)”。该行还罗列出函数与外界的联系的全部“标称”输入输出宗量,但对“输入输出宗量”的标称数目并没有限制,即可以完全没有输入输出宗量,也可以是任意数目。MATLAB允许使用比“标称数目”较少的输入输出宗量,实现对函数的调用。从运行上看,与脚本文件运行不同,每当函数文件运行,MATLAB就会专门为它开辟一个临时工作空间(context workspace)。该空间称之为函数工作空间(function workspace)。所有中间变量都存放在函数工作空间中,当执行完函数最后一条指令时,或遇到return,就结束该函数文件的运行,同时该临时函数工作空间及其所有的中间变量就立即被清除。函数空间随具体M函数文件的被调用而产生,随调用结束而删除。函数空间是相对基本空间独立的、临时的。在MATLAB整个运行期间,可以产生任意多个临时函数空间。假如在函数文件中,发生对某脚本文件的调用,那么该脚本文件运行产生的所有变量都存放与函数空间之中,而不是存放在基本空间。3.2.3 局部变量和全局变量(1)局部(local)变量存在与函数空间内部的中间变量,产生于该函数的运行过程中,其影响范围仅限于该函数本身。(2)全局(global)变量通过global指令,MATLAB也允许几个不同的函数空间以及基本工作空间共享同一个变量。这种被共享的变量称之为全局变量。每个希望共享全局变量的函数或MATLAB基本工作空间,必须逐个用global对具体变量加以专门的定义。没采用global定义的函数或基本空间,将无权享用全局变量。如果某个函数的运作使用全局变量的内容发生变化,那么其它函数空间以及基本工作空间中的同名变量也就随之发生变化。除非与全局变量联系的所有工作空间都被删除,否则全局变量依然存在。3.2.4 M文件的一般结构由于从结构上看,脚本文件只是比函数文件少了一个“函数声明行”,所以只需描绘清楚函数文件的结构,脚本文家的结构就不用多费笔墨了。典型的M函数文件结构如下:函数声明行(function declaration line):位于函数文件的首行,以MATLAB关键字function开头,函数名以及函数输入输出宗量都在这一行被定义。H1行(the first help text line):紧随函数声明行之后以开头的第一注释行。按MATLAB自身文件的规则,H1行包含:大写体的函数文件名和运用关键词简要描述的函数功能。该H1行供lookfor关键词查询和help在线帮助使用。在线帮助文本(help text)区:H1行及其之后的连续的以开头的所有注释行构成的整个在线帮助文本。它通常包括:函数输入输出宗量的含义;调用格式说明。编写和修改记录:它与在线帮助文本区相隔一个“空行”也以开头;标志编写以及修改该M文件的作者和日期;版本记录。它用作软件档案管理。函数体(function body)为清晰起见,它与前面的注释以空行相隔。这部分内容由实现该M函数文件功能的MATLAB指令组成。它接受输入宗量,进行程序流程控制,得到输出宗量。其中为阅读、理解方便,也配置适当的空行和注释。若仅从运算角度看,唯“函数声明行”和“函数体”两部分是构成M文件所必不可少的。3.3 句柄图形句柄图形(handle graphics)是一种面向对象的绘图系统。该系统提供创建计算机图形所必须的各种软件。它所支持的指令,可以直接创建线、文字、网线、面以及图形用户界面。各种MATLAB高层(highlevel)图形指令(如plot,mesh)都是以句柄图形软件为基础写成的。也正是这个原因,句柄图形也被成为底层(lowlevel)图形。底层指令使用起来,不像高层指令那样数学概念清晰、调用格式简明易懂。但底层指令直接操作基本绘图要素(basic drawing elements)3.3.1 图形对象、对象句柄和句柄图形数结构(1)图形对象MATLAB把用于数据可视和界面制作的基本绘图要素称为句柄图形对象(handle graphics object)。构成MATLAB句柄图形体系的11个图形对象如图32中方块所示。每个图形对象可以被独立的操作。在MATLAB中生成的每个具体图形,由若干不同对象构成。每个具体图形不必包含全部对象,但每个图形必须具备根屏幕和图形窗。(2)句柄每个具体对象都有一个“与生俱来,终生不变”的独特“身份(identifier)”,既句柄(handle)。句柄是存取图形图像唯一的规范识别符。不同对象的句柄不可能重复和混淆。每个计算机,根对象只有一个,即屏幕。它的句柄总是数字0。而简称为图的图形窗(figure windows)的句柄总是正整数,它是用来识别图形窗的序号。除以上两种对象外,其余对象的句柄则是双精度浮点数。注意:对根屏幕、图对象来说,数字可以直接作为调用对象的句柄。但是不要企图通过直接输入浮点数,作为其它对象的句柄;这些对象的句柄只能是由相关指令运作而得。(3)句柄图形的结构在句柄图形体系中,各图形对象并非平等,它们之间得关系可用图32的树结构层表示。处于树结构最高层的图形对象是根,它是其它图形对象的“父(parent)”。图对象是根对象的直接“子”。理论上,一个根屏幕可以有数量不限的独立图形窗。图形窗有3个不同类型的“子”:轴、界面控制和界面菜单。后两类对象用于构造图形用户界面,实现对图形用户界面的交互操作。轴有7中不同类型的“子”:线、面、方、块、象、字、光。图32 句柄图形体系的对象树结构3.3.2 对象属性(1)属性所有对象都有一组定义和刻画其外貌和形状的属性(properties)。属性是由两部分组成:属性名和属性值,即属性二元对(property_name property_value)。在创建和修改属性的指令中,属性名和属性值总是成对出现的。属性名是英文词组字符串。该英文词组每个单词的第一个字符大写,而单词间没有间隔,例如Linestyle,ColorMap等。这样书写属性名的目的是便于阅读。至于在指令中援引属性名时,为用户输入的方便,MATLAB采取了两个措施:第一,不分字母大小写,都同样辨识;第二,只要不引起歧异,属性名不必全写。比如lines就代表LineStyle。不同的属性值将使对象具有不同的表现。(2)缺省属性在创建图形对象时,MATLAB并不需要用户对每个属性加以定义。因为倘若用户不对属性加以定义,MATLAB总会自动的给对象的每个属性赋予“厂家定义”的属性值。当然,用户如果希望创建具有个性的图形,那么就可以通过指令对某些属性进行定义。属性值的这种定义的方式称为“宗量”赋值方式。“宗量”赋值方式即可以在图形创建时进行,也可以在图形创建后修改实现。此外,如果用户希望其创建的图形具有同一的一种风格,那么用户可以设置一组“用户定义”的缺省设置。MATLAB在决定属性取值时遵循两个原则。“宗量”属性值优先使用,“用户定义”的缺省属性值次之,“厂家定义”的缺省属性值优先等级最低。优先使用被操作对象本身的属性值,然后按“父”、“祖父”优先级不断降低的次序使用相应的属性值。3.3.3 图形对象创建指令一览图形对象创建指令是本课题仿真应用的重要部分,有必要做详尽的介绍和说明。除根屏幕外,所有图形对象都由与之同名的指令创建。对象创建指令的名称和含义见表31。这些指令都是MATLAB的内建函数(builtin functions)。每个指令在创建对象的同时,还可以返回对象的句柄。每个底层函数只能创建这11个图形对象中的一个,并将它们置于适当的父辈对象之中。例如,line指令的运作将在当前轴上利用缺省属性值画“线”。假如,此指令运作前“轴”、“窗”不存在,则MATLAB会自动创建它们。假如,此指令运作前“轴”、“窗”已经存在,那么这条线将被画在当前轴上,且不影响该轴上其它对象(这与高层指令不同)。这个特点非常重要,特别是当图形仅有的某一部分需要改变时。表31 创建对象的底层指令指令名功能调用格式举例figure创建图形窗h=figure(n) n为正整数。打开或创建n号图形窗axes创建轴h=axes(position,left,bottom,width,height)定义坐标盒的位置和尺寸line创建线h=line(x,y,z)绘制向量x,y,z确定的直线。如果不指定z,则在xy平面上画线surface创建面h=surface(x,y,z,c)x,y,z定义三维曲面,c是色彩矩阵rectangle创建方h=rectangle(position,x,y,w,h,curvaturexc,yc)x,y左下顶点坐标,w,h长方形的宽和高,xc,yc曲率patch创建块h=path(faces,fac,verticesvert)vert为顶点矩阵,fac为定义多边形的顶点序号矩阵image创建象h=image(x)x为图像数据矩阵text创建字h=text(x,y,string)x,y指定字符串string的标注位置light创建光h=light(position,1 0 0)设置入射光的方向,它影响块、面对象的渲染uicontrol创建用户界面控制h=uicontrol(property,value)property/value指定界面的控制类型uimenu创建用户界面菜单h=uimenu(property,value)property/value指定图形窗口上方的菜单形式3.4 图形用户界面的设计原则和一般步骤3.4.1 设计原则由于要求不同,设计出来的界面也就千差万别。但是,自从人们开始设计图形用户界面以来,界面设计的评判标准却几乎没有太大变化。简单的说,一个好的用户界面应遵循一下3个设计原则:简单性(simplicity)、一致性(consistency)、及习常性(familiarity)。(1) 简单性设计界面时,应力求简洁、直接、清晰的体现出界面的功能和特性。那些可有可无的功能,应尽量删去,以保持界面的整洁。设计的图形界面要直观,为此应多采用图形,而尽量避免数值。设计界面应尽量见减少窗口数量,力避在不同的窗口之间来回切换。(2) 一致性所谓的一致性有两种含义:一是,读者自己开发的界面风格要尽量一致;二是,新设计的界面不要与其他已有的界面风格孑然向左。这是因为用户在初次使用新界面时,总是习惯于凭经验进行试探。比方说,图形显示去常安排在界面的坐半边,而按键等控制区被安排在右侧。(3) 习常性设计界面时,应尽量使用人们熟悉的标志和符号。用户可能并不了解新界面的具体含义和操作方法,但他完全可以根据熟悉标志做出正确猜测,自学入门。(4) 其它考虑因素除了以上对界面的静态要求之外,还应注意界面的动态性能。如界面对用户操作的响应要迅速、连续;对持续时间较长的运算,要给出等待时间的提示,并允许用户中断运算。3.4.2 一般制作步骤MATLAB的图形用户界面的设计过程一般可以分成两部分第一部分:用户界面的外观设计部分。用户主要是设计图形用户界面的外观。通过不同的菜单、对话框、按钮、文本框等工具的使用,设计出一个图形用户界面。此外,用户还应该搞清楚这个图形界面的功能是什么,在这个图形界面上采取不同的动作会引起什么样的结果;每一个操作对象的作用是什么,以及如何操作这些对象。第二部分:添加函数代码即执行部分。用户将根据在外观设计阶段所确定的图形界面的功能,针对各个不同的图形对象来编写出能够实现功能的函数代码,确保这个图形界面能够完成当初所预定的功能。对于一个好的图形用户界面而言,它能够让该界面的使用者非常轻松的掌握界面的使用方法,而且也能够准确的按照开始设计方案完成预定的任务。用户在设计图形界面时,应该有一个非常清楚的概念:对于用户所建立的图形用户界面而言,无论界面的大小,还是简单或复杂,它都是一个具有一定特殊性的单独的实体,它能够帮助特定的用户来完成特定的任务。界面设计包括界面设计和程序实现。具体制作步骤如下:分析界面所要求实现的主要功能,明确设计任务;在稿纸上绘出界面草图,并站在使用者的角度审查草图;按构思的草图,上机制作(静态)界面,并检查之;编写界面动态功能的程序,对功能进行逐项检查。【说明】以上过程仅是一般原则。在设计过程中,步骤之间也许要交叉执行或重复执行。设计和实现过程往往不是一步到位的,可能需要反复修改,才能获得满意的界面。 建议先进行界面的布局和编码,后进行动态交互功能的编码。通常,这样做比较有效。3.5 图形用户界面的控件属性下面将在设计中用到的一下控件属性作一个简单的介绍1外观及风格控制BackgroundColor属性BackgroundColor属性用于设置控件的背景颜色,默认值是系统定义的颜色。该属性的取值可以是一个一行三列的向量,此时设置的是一个RGB颜色,例如,0 0 0表示设置为黑色。向量中元素的取值必须在区间0 1内,向量中三个元素分别代表red、green、blue。也可以取MATLAB中预定义的8个颜色名(可以使用长颜色名或短颜色名)来设置该属性的属性值。可以通过查看MATLAB中的函数colorspec来了解关于颜色的更详细的信息。表32是MATLAB中预定义的颜色名及与之对应的RGB值。表32MATLAB定义的颜色名及RGB颜色RGB颜色短颜色名长颜色名1 1 0yyellow1 0 1mmagenta0 1 1c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 8.2.5 生物的变异 说课稿-2025-2026学年鲁科版(五四学制)生物八年级下册
- Chapter1 Study tours教学设计-2025-2026学年小学英语6B香港朗文版
- 第三节 DNA通过复制传递遗传信息教学设计-2025-2026学年高中生物浙科版2019必修2 遗传与进化-浙科版2019
- 十六 项脊轩志教学设计-2025-2026学年高中语文高一下册华东师大版
- 2025年中考数学试题分类汇编:圆的有关位置关系(9大考点51题) (第1期)解析版
- 2025年采购与供应链管理岗位职业技能资格知识考试题与答案
- 1.3地球的历史教学设计2023-2024学年高中地理人教版(2019)必修第一册
- 2025年体育学科专业知识教师招聘考试押题卷及答案(一)
- 一年级语文上册 第7单元 课文3 11 项链说课稿 新人教版
- 蓄水池防溺水知识培训课件
- 物业客服管理知识培训课件
- 2025-2026学年湘教版(2024)初中数学八年级上册教学计划及进度表
- GB/T 45763-2025精细陶瓷陶瓷薄板室温弯曲强度试验方法三点弯曲或四点弯曲法
- 【MOOC】理解马克思-南京大学 中国大学慕课MOOC答案
- 夏商周考古课件 第1章 绪论
- GB/T 23723.1-2009起重机安全使用第1部分:总则
- 《汽车发动机检修》课程标准
- GB308-2002滚动轴承钢球
- 夹芯彩钢复合板吊顶施工方案
- 高二物理培优计划
- 初中英语阅读理解100篇
评论
0/150
提交评论