(大学本科毕业论文机械设计自动化专业)搬运机械手控制系统设计(含CAD图纸)_第1页
(大学本科毕业论文机械设计自动化专业)搬运机械手控制系统设计(含CAD图纸)_第2页
(大学本科毕业论文机械设计自动化专业)搬运机械手控制系统设计(含CAD图纸)_第3页
(大学本科毕业论文机械设计自动化专业)搬运机械手控制系统设计(含CAD图纸)_第4页
(大学本科毕业论文机械设计自动化专业)搬运机械手控制系统设计(含CAD图纸)_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录摘要 1第1章引言 21.1课题研究趋势与意义 21.2串联关节机器人的发展和现状 31.3本文的研究内容和主要工作 3第2章PLC控制系统及实现 52.1机械手及控制器主要参数 52.2简述机械手动作的实现 62.3控制软件的设计 62.3.1PLC的选择 62.3.2光电编码器 62.3.3接口电路 72.3.4控制原理及程序 73.1引言 93.2机械手运动学数学基础 93.2.1机器人位置与姿态的描述[12] 93.3空间齐次坐标变换 113.3.1坐标变换 113.3.2齐次坐标变换 123.3点在空间直角坐标系中绕过原点任意轴的一般旋转变换 133.4Denavt-Hartenberg(D-H)表示法 153.4.1坐标系的建立 153.4.2几何参数定义 163.4.3建立坐标系和坐标系的齐次变换矩阵 16第4章机器人运动学方程的求解 184.1机器人正向运动学 184.2机器人逆向运动学 20第5章机械手轨迹规划 225.1机器人轨迹的概念 225.2轨迹的生成方式 225.2.1轨迹规划涉及的主要问题 225.3插补方式分类 235.4机器人轨迹插值计算 235.4.1三次多项式插值 245.4.2机械手轨迹规划。 25第6章系统交流界面设计 276.1VisualBasic6.0简介 276.2VB设计任务 286.3窗体设计 286.4窗体运行 29参考文献 22致谢 33附录:程序清单 34附录:程序清单 50附录:外文原文 55如需联系作者QQ401339828PAGE34搬运机械手控制系统的设计摘要:本文运用运动学的研究方法建立了串联机械手运动模型,并用VisualBasic6.0通过逆运动学对其运动轨迹的规划做分析。首先,本文建立了参考坐标系和运动坐标系,给出串联机械手在这两个坐标系中的描述方法,并且定义了串联机械手的机构参数,以及相关数学知识的介绍。在此基础上,建立起了串联机械手的正解模型。机械手的动作过程由三菱公司生产的PLC实行控制。其次,通过利用串联机械手的逆解模型结论,对机械手的轨迹进行分析。此过程中,应用了功能强大的VisualBasic6.0,进行自动运算,并利用其可视化功能做出简单人机交流界面,计算并显示出机械手的轨迹曲线,使得机械手的轨迹规划更为直观、易懂。本文的研究工作对串联关节型机械手的设计具有一定的指导意义。运用本文的研究方法,可以有效提高机械手的设计质量和缩短设计周期。关键词:机械手,正解模型,VisualBasic6.0,PLC,轨迹规划

DesignofHandingManipulatorControlSystemAbstract:ThispaperstudiestheuseofkinematicmethodofTandemmanipulatormotionmodel,usingVisualBasic6.0inversekinematicsthroughitstrajectoryplanningtodotheanalysis.First,thispapersetupareferencecoordinatesystemandcoordinatesmovement,giventhedescriptionoftandemmanipulatorinthistwocoordinates,andthedefinitionoftheseriesmanipulatorbodyparametersandtheassociatedmathematicalknowledgepresentation.Onthisbasis,establishedaseriesofpositivemanipulatormodel.MechanicalmovementofthehandsfromtheprocessofproductionofMitsubishiCorporationPLCcontrol.Secondly,throughtheuseofserialmanipulatorinversekinematicsmodelconcludesthatthemanipulatortrajectoryanalysis.Duringthisprocess,theapplicationofthepowerfulVisualBasic6.0,automaticoperation,andtheuseofvisualizationfunctionsmadesimpleman-machineinterfaceexchange,calculatedandshownmanipulatorcurves,makemanipulatortrajectoryplanningmoreintuitive,understandable.Theresearchofthispaperisveryusefulforthechain-structuredrobot.itwillimproverobotdesignqualityandshortenthedesigntime.Keywords:Manipulator,positivesolutionmodel,VisualBasic6.0,PLC,trajectoryplanning

第1章引言1.1工业机器人的发展和现状机器人是一种被设计用来移动物体、部件、工具或者特定设备的,可以重复编程、具有多种功能的操作器.它通过一系列可变的程控动作来完成各种各样的任务。通常工业机器人大致分为以下三类:1)串联结构机器人2)框架结构机器人3)并行机构机器人从结构上看,并行结构机器人的运动平台通过相互关联的多个运动链与下平台相连,这使并行结构机器人具有刚性高、承载能力大和精度好等特点。它的主要缺点是控制复杂,使得它很难应用高阶控制方法,从而妨碍了这种机器人的应用。框架结构机器人工作空间比较小,操作灵活性受到限制。串联结构机器人具有较大的工作空间和较高的运动灵巧度,常用的结构是串联关节形式,它采用串联链式结构和全关节驱动,容易建立运动学和动力学模型,可以采用一些先进的、实时的控制算法,其动作灵活,避障性好。由于串联结构机器人采用悬臂梁式的手臂结构和关联的驱动系统,使得该类机器人存在着一些固有缺陷如操作精度性欠佳,难以完全平衡,且运动存在耦合等问题,但总体数量目前应用越来越多。在本文中研究的机器人是串联机构机器人的一类一一串联关节机器人,如图1.1所示。图1-1垂直关节机器人示意图这类机器人的基本结构是串联的六自由度开链式,关节相互垂直或平行,每个关节都有单独的驱动机构。前三个关节(包括基座、腰部和臂部)具有三个转动自由度,确定手部在空间的位置,这三个关节和联接他们的杆件所构成的机构称为机械手的位置机构;后三个关节(腕部)的主要功能是确定手部在空间的姿势,这三个关节和联接他们的杆件所构成的机构称作姿势机构。位置机构可基本确定机械手的工作空间范围,前三个关节的运动称作机械手的主运动;后三个关节的运动称作姿态运动,姿态机构主要确定机械手的工作姿态。所有的关节驱动器共同参与控制,来完成机械手的六自由度运动,以实现终端执行器按一定姿态到达工作空间的每个工作点,本文主要讨论除手指关节外的其它五个自由度。串联关节机器人一般可用一个开环关节链来建模,此链由数个刚体(杆件)用驱动器驱动的移动或转动关节串联而成,开链的一端固接在基座上,另一端是自由的,安装着工具(终端执行器),用以操纵物体,或完成装配作业。这类机械手属于空间机构,运动通常只用转动和移动两类。用转动相联的关节成为转动关节;以移动相联的关节成为移动关节。单独驱动的主动关节数目成为机械手的自由度数。本文要研究串联关节机器人的五个关节都是转动关节。随着技术的进步,串联结构机器人本体结构近10年来发展变化很快,从开始的含有局部闭链的平行四边形机构,到改变为大储采用新型的非平行四边形的单连杆机构,工作空间有所增加,本体自重进一步减小,变得更加轻巧,新材料的采用如轻质铝合金材料的应用,大大提高了机器人的性能,并逐渐成为串联结构机器人普遍采用的结构之一。1.2课题的提出及意义进入20世纪90年代以来,由于具有一般功能的传统工业机器人的应用趋向饱和,而许多高级生产和特种应用则需要具有各种智能的机器人参与,因而促使智能机器人获得较为迅速的发展。无论从国际或国内的角度来看,复苏和继续发展机器人产业的一条重要途径就是开发各种智能机器人,以求提高机器人的性能,扩大其功能和应用领域。回顾近10多年来国内外机器人技术的发展历程,可以归纳出下列趋势:1)传感型智能机器人发展较快2)开发新型智能技术3)采用模块化设计技术4)机器人工程系统呈上升趋势5)微型机器人的研究有所突破6)应用领域向非制造业和服务业扩展从整个工业领域来看,对工业机器人需求越来越大,性能指标越来越高。运动学系统是工业机器人的底层核心部分,对其关键技术,如运动学建模、运动学方程的求解、运动空间插值算法等的研究,将从很大程度上决定着一个机器人系统的基本性能。随着科技的发展,机器人已成为工业的现代化程度的标志,机器人学是一门高度交叉的前沿学科,与机械学、生物学、人类学、计算机科学与工程、控制论与控制工程学、人工智能、社会学等。机器人学包含机器人运动学、机器人动力学、机器人控制、机器人智能化等领域有着不同层次意义的联系,本文以对机器手的控制及运动学系统为主线,对如何实现机器手动作作了较深入的研究与讨论。总的说来,对于机器人控制及运动系统的研究在理论和应用上都具有重要的意义。本文基于上述的串联关节机器人为研究对象,对GR-1型教学机械手的运动及控制进行研究。1.3本文的研究内容和主要工作本文以GR-1型教学机械手为研究对象,对其进行运动学求解;并利用其结果对机械手的轨迹进行规划;最后利用其轨迹规划的结果,对机械手的运动进行自动控制。该内容由两人共同完成,本人具体完成以下工作:1、对机械手进行位姿描述,应用D-H参数法建立串联关节机器人杆件坐标系,求解位姿正解。2、对机械手的轨迹进行规划,采用三次多项式插值运算的方法,利用由机器人运动学解得的关节变量求得运动轨迹方程。3、用VisualBasic6.0软件做出人机交互界面,在界面上显示计算结果和轨迹曲线图。4、编写机械手控制程序,通过VisualBasic6.0界面将结果输出并将控制数据输入PLC,实现对机械手的自动控制。

第2章PLC控制系统及实现2.1机械手及控制器主要参数1机械手a、自由度:5(不包括手指开闭控制)b、各关节活动范围:腰:≥肩:≥肘:≥270。手俯仰:≥手指旋转:≥c、最大活动区域:垂直方向:850mm水平方向:600mmd、基本尺寸:上、下臂长:228mm手后部:73mme、各轴分辨率如表2-1:表2-1各轴分辨率参数轴电机代号分辨率(度/脉冲)躯干M10.14上臂M20.11下臂M30.11手俯仰M40.11手指旋转M50.242电机工作电压:U=12V空载转速:n=3000r/min空载电流:I=0.15A2.2简述机械手动作的实现GR—1型教学机械手主要由机械和控制两大部分组成,本论文主要对其控制部分进行研究。该机械手采用的是串联式关节机械手,全部采用开链式,结构简单,整个机械手分5个自由度:腰、肩关节、肘关节、腕关节和手指,全部有直流电机驱动。控制功能的实现主要是通过对控制器的编程,由光电编码器检测各电机的旋转角位移,再结合PLC来控制各个电机的角位移,从而实现对机械手各个关节较精确的运动以实现机械手预期的动作。光电编码器起控制直流电机角位移精度作用,固定于电机转轴上与电机同步运转。系统工作时,各光电编码器输出一系列与直流电机运转角度相对应的脉冲信号,经转换电路将序列脉冲电压信号转换成PLC可以接收的开关信号,在PLC内部通过计数器计数后得到一个电机实际的角位移信号,运行PLC控制程序,获得确定输出,再通过外电路由PLC的输出信号来控制电机的启动停止,以实现机械手的预期动作。下面将对PLC如何控制直流电机来实现机械手动作实现的方案来做说明。2.3控制软件的设计实现PLC对机械手的控制,要将各杆件的运动控制转换成对机械手各电机角位移的控制。要使机械手手抓到达预期的位置就要计算出每个关节运动的角度,即每个电机所应转的角度,这可通过对各空间坐标系的相对运动在运动学基础上计算得到,最后,将其转换成PLC内部控制指令即可实现软件控制。2.3.1PLC的选择PLC类型的选择主要考虑两个方面:输入输出点的数目和存储容量。容量有计算公式:指令条数=(输入点数+输出点数)(10--12)再留有15%左右的备用量,根据外部电路的特点得到输入、输出点的数目,最后选定用三菱公司生产的FX2N—64MR型PLC。具体计算和分析过程参照同组同学毕业设计说明书。2.3.2光电编码器机械手各个电机角位移的准确控制是通过光电编码器反馈的信息来实现的,每个直流电机输出轴上都装有光电编码器,通过它实现光电脉冲转换及对电机转角的检测。光电编码器主要是由控制电路板、光电耦合器及遮光盘组成。随码盘旋转,输出一系列计数脉冲。增量式编码器需要预先指定一个基数:零位。输出脉冲相对于基数进行加减,从而测量出码盘位移,即电机的角位移。码盘固定在电机转轴上,随电机的旋转,编码器产生代表角位移的脉冲。光电编码器输出包括A、B两个频道的信号,码盘为6孔均匀分布的金属盘。当总线通电时,光电耦合器的发光二极管发出不可见红外线光,通过旋转的码盘通光孔而被光敏器接收,光敏器件两端由截止变为导通,两端电压发生变化,从A、B输出信号,码盘每旋转一周发送12次信号2.3.3接口电路1、输入接口输入接口有位置传感器信号的输入,限位信号输入以及手动开关的接入。FX2N—64MR提供21个高速计数器,即C235至C255,但它们共享同一个PLC上的6个高速计数器输入端(X0~X5)。即如果输入已经被某个计数器占用,它就不能再用于另一个高速计数器(或其他用途)。也就是说,由于只有6个高速计数器的输入,因此,最多同时用6个高速计数器。在本文中将用到的是没有启动/复位的单相高速计数器C235~C239。计数器端口分配如表2-2。表2-2高计数器表输入C235C236C237C238C239X0U/DX1U/DX2U/DX3U/DX4U/D注:U—增计数输入;D—减计数输入。2、输出接口输出接口主要接电机,由于五个电机都要实现正反转,即能实现正反向供电,每个电机分配4个输出端口。接线电路及其设计参考同组同学设计说明书。2.3.4控制原理及程序1、机械手动作控制原理程序启动后,各个电机按照程序要求逐个开始运动使得机械手开始动作。首先,腰部电机M1按程序指定要求正向转动,相应计数器开始对光电编码器返回的信号进行计数,计数器计满数据后,PLC输出控制指令,使M1停止转动,同时依次逐个启动控制电机M2、M3、M4、M5开始转动,各个电机控制方式的实现同电机M1。当电机M5动作完毕后,整个机械手完成了其全部动作,由规定的起点到达终点。流程图如图2-1所示。PLCPLC电机M1启动M1停,M2启动发出指令腰部转动计数器C235满上臂转动计数器C236满M2停,M3启动前臂转动计数器C237满M3停,M4启动手腕转动计数器C238满M4停,M5启动M5停止,整个动作完成手指转动计数器C239满图2-1机械手动作流程图2编写控制程序搬运机械手动作由电机驱动各个关节实现,转动角度由计数器计数控制,计数器值满后断电使电机停止运转。各计数器的值由表2-1和轨迹规划的结果表5-4确定如表2-3。表2-3各计数器数值计数器C235C236C237C238C239数值41471183116梯形图见附录。

第3章机械手运动学系统3.1引言机器人运动学主要有以下两个基本问题:(1)对一给定机器人,已知杆件几何参数和关节变量,求末端执行器相对给定坐标系的位置和姿态。给定坐标系为固定在大地上的笛卡儿坐标系,作为机器人的总坐标系,也称为世界坐标系(WorldCoordinate)。(2)已知机器人的杆件参数,给定末端执行器相对于总体坐标系的位置和姿态,确定关节变量的大小。第一个问题常称为运动学正问题(DKP-DirectKinematicProblems),第二个问题通常称为运动学逆问题(IKP-InverseKinematicProblems)。机器人手臂的关节变量是独立变量,而末端执行器的作业通常在总体坐标系中说明。根据末端执行器在总体坐标系中的位姿来确定相应各关节变量要进行运动学逆题的求解。机器人运动学逆问题是编制机器人运动控制系统软件所必备的知识。3.2机械手运动学数学基础机械手是机器人系统的机械运动部分.为了描述机械手的操作,必须建立机械手各连杆间以及机械手与周围环境间的运动关系,研究机械手的运动,不仅涉及机械手本身,而且涉及各物体间以及物体与机械手的关系,齐次坐标及其变换就是用来表达这些关系的.齐次坐标交换不仅能够表示运动学问题,而且能够表达机械手控制算法、计算机视觉和计算机图形学等问题。3.2.1机器人位置与姿态的描述在描述物体,如零件、工具或机械手间的关系时,要用到位置矢量、平面和坐标系等概念,对于工业机器人运动学系统的描述就是建立在这些概念的基础上的。1.位置描述描述物体(如零件、工具或机械手)间关系时,一旦建立了一个坐标系,我们就能够用某个31位置矢量来确定该空间内任一点的位置.对于直角坐标系{A},空间任意一点的P位置可用31的列矢量图3-1位姿表示(3.1)表示。其中,、、是点P在坐标系{A}中的三个坐标分量的上标A代表参考坐标系{A}。我们称为位置矢量,如图3-1所示。2.位姿描述为了研究机器人的运动与操作,往往不仅要表示空间某个点的位置,而且需要表示物体的方位。物体的方位可由某个固接于此物体的坐标系描述。为了规定空间某刚体B的方位,设置一个直角坐标系{B}与此刚体固接。用坐标系{B}的三个单位主矢量相对于参考坐标系{A}方向余弦组成的3×3矩阵:(3.3)来表示刚体B相对于坐标系{A}的方位。称为旋转矩阵。式中,上标A表参考坐标系{A},下标B代表被描述的坐标系{B}.共有9个元素,但只有3个是独立的.由于的三个列矢量和,都是单位矢量,且双双相互垂直,因而它的9个元素满足6个约束条件(正交条件)。(3.3)(3.4)对应于轴x,y或z作转角为θ的旋转变换,其旋转矩阵分别为:(3.5)(3.6)(3.7){B}{B}{A}图3-2方位描述式中,表示,表示。图3-2表示一个物体的方位,此物体与坐标系{B}固接,并相对于参考坐标系{A}运动。3.3空间齐次坐标变换3.3.1坐标变换空间中任意点P在不同坐标系中的描述是不同的。为了阐明从一个坐标系的描到另一个坐标系的描述关系,需要讨论这种变换的数学问题。坐标变换一般有两种形式:平移坐标变换和旋转坐标变换。设坐标系{B}与{A}具有相同的方位,但{B}坐标系的原点与{A}的原点不重合。用位置矢量,描述它相对于{A}的位置,如图3-3所示。称为{B}相对于{A}的平移矢量。如果点P在坐标系{B}中的位置为,那么它相对于坐标系{A}的位置矢量可由矢量相加得出,即=+(3.8)式(3.8)被称为坐标平移方程。{{A}zAyAxAoAApApBxRoRyRzR{B}Bp图3-3平移变换设坐标系{B}与{A}有共同的坐标原点,但两者的方位不同,如图3-4所示.用旋转矩阵描述{B}对于{A}的方位。同一点P在两个坐标系{A}和{B}中的描述和具有如下变换关系:=(3.9)称(3.9)式为坐标旋转方程。我们可以类似地用穿R描述坐标系{A}相对于{B}的方位。和都是正交矩阵,两者互逆。对于最一般的情形:坐标系{B}的原点与{A}的原点既不重合,{B}的方位与{A}的方位也不相同。用位置矢量描述{B}的坐标原点相对于{A}的位置:用旋转矩阵描述{B}相对于{A}的方位,如图3-4所示。{{A}zAyAxAoAApApRzCzRoRxRxCyCyR{B}B图3-4平移变换与旋转变换对于任一点P在两坐标系{A}和{B}中的描述和具有以下变换关系:(3.10)3.3.2齐次坐标变换己知一直角坐标系中的某点坐标,那么该点在另一直角坐标系中的坐标可通过齐次坐标变换求得。变换式(3.10)对于点而言是非齐次的,但是可以将其表示为等价的齐次变换形式(3.11)其中,4x1的列矢量表示三维空间的点,称为点的齐次坐标,仍然记为或。可把式(3.11)写成矩阵形式=(3.12)式中,齐次坐标或是4x1的列矢量。齐次变换矩阵是4x4的方阵,具有如下形式(3.13)综合地表示了平移变换和旋转变换。3.3点在空间直角坐标系中绕过原点任意轴的一般旋转变换1.RPY角(绕固定轴X-Y-Z旋转)RPY角是描述船舶在海中航行时的姿态的一种方法。将船的行驶方向取为Z轴,则绕Z轴的旋转(角)称为滚动(Roll);把绕Y轴的旋转(角)称为俯仰(Pitch);而把垂直方向取为X轴,将绕X轴的旋转(角)称为偏转(Yaw),操作臂手抓姿态的规定方法类似,故习惯上称为RPY角方法。2.描述活动坐标系方位的法则如下:活动系的初始方位与参考系重合,首先将活动系绕参考系的X轴旋转角,再绕参考系的Y轴转角,最后绕参考系的Z轴转角,因三次旋转都是相对于参考系的,所以得相应的旋转矩阵(3.14)其中。将矩阵相乘得(3.15)它表示绕固定坐标系的三个轴依次旋转得到的旋转矩阵,因此称为绕固定轴X-Y-Z旋转的RPY角法。令:(3.16)(1)由给定的旋转矩阵求出等价的绕固定轴X-Y-Z的旋转角。式(3.16)中有3个未知数,共9个方程,其中6个方程不独立,因此可以利用其中3个方程解出未知数。由式(3.15)、(3.16)可以看出:(3.17)如果,则得到各个角的反正切表达式:(3.18)式中,是双变量反正切函数,用其计算arctan(y/x)的优点在于利用了X和Y的符号能够确定所得角度所在的象限这一现象。式(3.17)中的根式一般有两个解,我们总是取中的一个解。(2)从给定的绕固定轴X-Y-Z的旋转角,阵求出等价的旋转矩阵。将给定的角代入式(3.15)与式(3.16)中元素对应相等即可以求得所求矩阵。

3.4Denavt-Hartenberg(D-H)表示法图3-4关节参数规定机械手由一串用转动或平移关节连接的刚体(杆件)组成。每一对关节-杆构成一个自由度。杆件编号由手臂的固定机座开始,固定机座可看成杆件0,第一个运动体是杆件1,依次类推,最后一个杆件与工具相连;关节1处于连接杆件1和基座之间,每个杆件至多与另外两个杆件相联,而不构成闭环。任何杆件i都可以用两个尺度表征,如图2.5所示,杆件i的长度,是杆件上两个关节轴线的最短距离;杆件i的扭转角,是两个关节轴线的夹角。通常,在每个关节轴线上连接有两根杆件,每个杆件各有一根和轴线垂直的法线。两个杆件的相对位置由两杆间的距离(关节轴上两轴间法线的距离)和夹角(关节轴上两个法线的夹角)确定。为描述相邻杆件间平移和转动的关系。Denavit和Hatenberg(1955)提出了一种为关节链中的每一杆件建立附体坐标系的矩阵方法。D-H方法是为每个关节处的杆件坐标系建立44齐次变换矩阵,表示它与前一杆件坐标系的关系。这样逐次变换,有“手部坐标”表示的末端执行器可被变换并用机座坐标表示。3.4.1坐标系的建立N关节机器人需建立n+1个坐标系,其中参考(机座)坐标系为,机械手末端的坐标系为,第i关节上的坐标系为。确定和建立每个坐标系应根据下面3条规则:(1)轴沿着第关节轴的运动轴;(2)轴垂直于和轴并指向离开轴的方向;(3)按右手坐标系的要求建立。按照这些规则,第0号坐标系在机座上的位置和方向可任选,只要轴沿着第1关节运动轴。第n坐标系可防在手的任何部位,只要轴与轴垂直。3.4.2几何参数定义第关节根据上述对杆件参数及坐标系的定义,描述串联机器人相邻坐标系之间的关系可归结如下4个参数:图3-5杆件的参数和坐标系第关节第关节图3-5杆件的参数和坐标系第关节:绕轴(右手规则)由轴向轴的关节角;:从第坐标系的原点到轴和轴的交点沿轴的距离;:从和的交点到第坐标系原点沿轴的偏置距离(或者说,是和两轴间的最小距离);:绕轴(右手规则)由轴转向轴的偏角。对于转动关节、和是关节参数,是关节变量。移动关节的关节参数是、和,是关节变量。3.4.3建立坐标系和坐标系的齐次变换矩阵将第个坐标系的点在坐标系表示,需建立坐标系和坐标系的齐次变换矩阵,因而需经过以下变换:1、将坐标系绕轴转角,使轴与轴平行并指向同一方向;2、将坐标系沿轴平移距离,使轴与的轴重合;3、将坐标系沿轴平移距离,使两坐标系的原点重合;4、将坐标系绕轴转角,使两坐标系完全重合。从而,坐标系和坐标系的齐次变换矩阵可以根据矩阵的合成规则得到,称为相邻坐标系和的变换矩阵。即(由算子左、右乘规则得)=(3.19)式中,表示,表示。对于在第个坐标系的点在坐标系表示为:确定第坐标系相对于机座坐标系的位置的齐次变换矩阵是各齐次变换矩阵的连乘积,可表示成式中,是固连杆在杆件上的第个坐标系的姿态矩阵,是由机座坐标系原点指向第个坐标系原点的位置矢量。特别当i=6时,求得T矩阵,,它确定了机械手的末端相对于机座坐标系的位置和状态。可以把T矩阵写成式中,为手的法向矢量,为手的滑动矢量,为手的接近矢量,为手的位置矢量。

第4章机器人运动学方程的求解4.1机器人正向运动学根据前面介绍的方法,机器人末端执行器相对于机身坐标系的齐次变换矩阵为:0T5 = A1A2…A5式中:0T5 常写成T5 。运动学正解方程的建立机械手对应的连杆参数如表4-1所示表4-1机械手参数关节i变量d1θ19000012θ2020103θ3030104θ4-90400-15θ500010将表4-1中的参数分别代入式(3.19)中可得如下变换矩阵。由手端坐标逐一向基础坐标变换,其过程如下:==(4.1)式中:式中、和分别表示、和,其它类推,下同。4.2机器人逆向运动学参考同组同学论文逆向运动学部分可得如下结果:,,,因均已知,所以可进而求得。以上结果,给出了机械手置于任何期望位姿时所需的关节值,为下一章轨迹规划所用。

第5章机械手轨迹规划5.1机器人轨迹的概念机器人轨迹泛指工业机器人在运动过程中的运动轨迹,即运动点的位移、速度和加速度。机器人在作业空间要完成给定的任务,其手部运动必须按一定的轨迹(trajectory)进行。轨迹的生成一般是先给定轨迹上的若干个点,将其经运动学反解映射到关节空间,对关节空间中的相应点建立运动方程,然后按这些运动方程对关节进行插值,从而实现作业空间的运动要求,这一过程通常称为轨迹规划。工业机器人轨迹规划属于机器人低层规划,基本上不涉及人工智能的问题,本章仅讨论在关节空间或笛卡尔空间中工业机器人运动的轨迹规划和轨迹生成方法。机器人运动轨迹的描述一般是对其手部位姿的描述,此位姿值可与关节变量相互转换。控制轨迹也就是按时间控制手部或工具中心走过的空间路径。5.2轨迹的生成方式运动轨迹的描述或生成有以下几种方式:(1)示教-再现运动。这种运动由人手把手示教机器人,定时记录各关节变量,得到沿路径运动时各关节的位移时间函数q(t);再现时,按内存中记录的各点的值产生序列动作。(2)关节空间运动。这种运动直接在关节空间里进行。由于动力学参数及其极限值直接在关节空间里描述,所以用这种方式求最短时间运动很方便。(3)空间直线运动。这是一种直角空间里的运动,它便于描述空间操作,计算量小,适宜简单的作业。(4)空间曲线运动。这是一种在描述空间中用明确的函数表达的运动,如圆周运动、螺旋运动等。5.2.1轨迹规划涉及的主要问题为了描述一个完整的作业,往往需要将上述运动进行组合。通常这种规划涉及到以下几方面的问题:(1)对工作对象及作业进行描述,用示教方法给出轨迹上的若干个结点(knot)。(2)用一条轨迹通过或逼近结点,此轨迹可按一定的原则优化,如加速度平滑得到直角空间的位移时间函数X(t)或关节空间的位移时间函数q(t);在结点之间如何进行插补,即根据轨迹表达式在每一个采样周期实时计算轨迹上点的位姿和各关节变量值。(3)以上生成的轨迹是机器人位置控制的给定值,可以据此并根据机器人的动态参数设计一定的控制规律。(4)规划机器人的运动轨迹时,尚需明确其路径上是否存在障碍约束的组合。一般将机器人的规划与控制方式分为四种情况,如表5-1所示。表5-1机器人的规划与控制方式障碍约束有无路径约束有离线无碰撞路径规则+在线路径跟踪离线路径规划+在线路径跟踪无位置控制+在线障碍探测和避障位置控制本章主要讨论连续路径的无障碍轨迹规划方法。5.3插补方式分类点位控制(PTP控制)通常没有路径约束,多以关节坐标运动表示。点位控制只要求满足起终点位姿,在轨迹中间只有关节的几何限制、最大速度和加速度约束;为了保证运动的连续性,要求速度连续,各轴协调。连续轨迹控制(CP控制)有路径约束,因此要对路径进行设计。路径控制与插补方式分类如表5-2所示。表5-2路径控制与插补方式分类5.4机器人轨迹插值计算给出各个路径结点后,轨迹规划的任务包含解变换方程,进行运动学反解和插值计算。在关节空间进行规划时,需进行的大量工作是对关节变量的插值计算。插补分为:直线插补、圆弧插补、定时插补、定距插补和关节空间插补等。在关节空间中进行轨迹规划,需要给定机器人在起始点和终止点手臂的位形。对关节进行插值时应满足一系列的约束条件,例如抓取物体时手部的运动方向(初始点)、提升物体离开的方向(提升点)、放下物体(下放点)和停止点等结点上的位姿、速度和加速度的要求;与此相应的各个关节位移、速度、加速度在整个时间间隔内的连续性要求以及其极值必须在各个关节变量的容许范围之内等。满足所要求的约束条件之后,可以选取不同类型的关节插值函数,生成不同的轨迹。常用的关节空间插补有:三次多项式插值、高阶多项式插值、用抛物线过渡的线性插值等方法,本章重点对关节空间插补中的三次多项式插值进行讨论。5.4.1三次多项式插值在机器人运动过程中,若末端执行器的起始和终止位姿已知,由逆向运动学即可求出对应于两位姿的各个关节角度。末端执行器实现两位姿的运动轨迹描述可在关节空间中用通过起始点和终止点关节角的一个平滑轨迹函数q(t)来表示。为实现系统的平稳运动,每个关节的轨迹函数q(t)至少需要满足四个约束条件,即两端点位置约束和两端点速度约束。端点位置约束是指起始位姿和终止位姿分别所对应的关节角度。q(t)在时刻=0时的值是起始关节角度,在终端时刻时的值是终止关节角度,即(5.1)为满足关节运动速度的连续性要求,起始点和终止点的关节速度可简单地设定为零,即(5.2)上面给出的四个约束条件可以惟一地确定一个三次多项式(5.3)运动过程中的关节速度和加速度则为(5.4)为求得三次多项式的系数a0,a1,a2和a3,将式(5.1)和式(5.2)代以给定的约束条件,有方程组(5.5)求解该方程组,可得(5.6)对于起始速度及终止速度为零的关节运动,满足连续平稳运动要求的三次多项式插值函数为(5.7)由式(3.9)可得关节角速度和角加速度的表达式为 (5.8)(5.9)三次多项式插值的关节运动轨迹曲线如图5.1所示。由图可知,其速度曲线为抛物线,相应的加速度曲线为直线。图5.1三次多项式插值的关节运动轨迹5.4.2机械手轨迹规划。本文所研究的是五自由度机械手的正运动问题。在起点和终点,末端关节的位姿是已知的,故可通过前文所讨论的求得两位置时各关节角度。因此,可以用平滑的插值函数来描述机械手的起始位置和目标位置之间的运动轨迹。另外,为了使实际生成的轨迹平滑,在机械手的整个工作期间,除了保证其运动和速度的连续之外,还应该保证加速度不发生突变,使运动平稳。根据已知条件和前文的讨论,选用三次多项式轨迹规划方法进行规划。起点和终点位姿如表5-3所示表5-3机械手起点、终点给定值控制点起点151231250324560终点200300178205080由机械手运动学方程的逆解可以求得控制点各个关节变量值,如表5-4所示:表5-4机械手起点、终点关节变量值控制点起点56.3180.922-45.244-52.738-24.683终点56.828-66.00673.282-83.861-9.074各关节轨迹的生成由于在三次多项式的插值计算中,为实现系统的平稳运动,每个关节的轨迹函数至少需要满足四个约束条件,即两端点的位置约束和两端点的速度约束。在机器人正运动过程中,末端执行器的起始和终止位姿已经给出,由逆向运动学即可求得对应于两位姿的各个关节角度,如表(5-4)所示;再假设在初始位置和目标位置的速度为零,即在这两个位置的位姿函数的导数为零,即有四个约束条件,满足了解得各个关节的三次多项式轨迹的要求。最后,根据位移表达式(5.7)代入已知数据求得位移,再分别求一阶导数,二阶导数即式(5.8)和(5.9)便可求得速度和加速度表达式。下一章将用VisualBasic6.0对机械手各关节的运动轨迹作介绍。

第6章系统交互界面设计在Windows平台上使用VisualBasic6.0(以下简称VB)对机械手的轨迹进行规划,由于VB拥有着可视化平台、易学易用的集成开发环境、强大数据功能等特点,使得机械手的轨迹规划直观、明了的显示出来,使得机械手的整个运动控制过程变得直观操作更加简单,降低了对使用及控制能力的要求。6.1VisualBasic6.0简介VB中文版是Microsoft公司提供的一种可视化开发工具—VisualStudio98的一个组成部分。“Visual”意即可视的,指的是开发像Windows操作系统的图形用户界面(GraphicUserInterface,GUI)的方法,它不需要编写大量代码去描述界面元素的外观和位置,只要把预先建立好的对象拖放到屏幕上相应位置即可。Basic指的是BASIC(BeginnersAll-PurposeSymbolicInstructionCode,初学者通用符号指令代码)语言——一种在计算机技术发展历史上应用的最广泛的语言,也是Microsoft公司开发的第一个程序设计语言。VisualBasic在原有的BASIC语言的基础上进一步发展,至今己包含了数百条语句、函数和关键词。无论对专业人员还是初学者VB都提供了整套开发工具,可以说是开发Windows应用程序最迅速、最简捷的方法。现在,人们可以使用VB提供的工具为自己或工作组创建实用程序及大型企业应用系统,甚至可以创建通过Internet遍及全球的分布式应用程序。VB6.0是一种以对象为基础,以事件驱动为编程机制的可视化程序设计语言,功能强大、简单易学。与普通的数据库系统相比,用VB作为数据库开发平台有以下优点:(1)简单。VB提供了数据控件,利用该控件,用户只要编写少量的代码甚至不编写任何代码就可以访问数据库,对数据库进行浏览。另外其可视化的用户界面设计功能,把程序员从繁琐复杂的界面设计中解脱了出来。(2)灵活。VB不像一般的数据库(如Access)那样局限于特定的应用程序结构,也不需要用某些指令对当前打开的数据库进行操作,因而比较灵活。(3)可扩充。VB是一种可以扩充的语言,其中包括在数据库应用方面的扩充。在VisualBasic中,可以使用ActiveX控件(以前版本中称为VBX或UUH控件),这些控件可以由Microsoft公司提供,也可以由第三方开发者提供。有了这些控件,可以很容易地在VisualBasic中增加新功能,扩充VB数据存取控制的指令系统。在其它数据库开发平台中,目前还不具备ActiveX控件。6.2VB设计任务本系统中VB主要是实现人与控制器的交流。首先进入的是一个分区的人机交互界面,有机械手起点和终点位姿参数输入、各关节变量值显示、各关节轨迹图形的显示和命令控制区。其中命令控制区有5个控件:计算、轨迹规划、输出、写入PLC和清除。当输入位姿参数后,按计算控件得出关节变量,通过轨迹规划在图形显示区显示出各关节的运动轨迹,最后输出并写入PLC以实现对机械手的控制。其运算流程可简要表示如图6-1。输入位姿参数输入位姿参数计算关节变量轨迹规划输出变量值显示位移图形是否符合要求输出写入PLC开始结束清除NY图6-1轨迹计算流程图6.3窗体设计窗体分为5个区:输入起点位姿区、输入终点位姿区、输出关节变量区、命令区和关节运动轨迹区。下面对窗体各个区的设计过程和功能加以说明。1位姿输入区位姿输入区有起点输入和终点输入两个区,通过这两个区域可以输入机械手在起点和终点两个时刻的位姿参数,并将其读入,准备计算。界面控件如图6-1所示。图6-1位姿参数输入界面2输出关节变量角该区域是变量角值的输出区域,VB将由上述输入区域中的位姿参数通过计算得出各个关节变量角的值显示在相应的文本框中。3命令区域和关节轨迹区该区域是整个窗体的控制区域,它包括计算、轨迹规划、输出、写入PLC、和清除5个命令控件。计算控件是执行将从输入区读取的位姿参数通过给定的算法得出关节变量值,并输出在输出关节变量角区的相应文本框中;轨迹规划控件是利用计算得来的变量角值得出各关节轨迹表达式,并根据该表达式画出轨迹曲线,在关节运动轨迹区显示各关节轨迹图,该控件在计算前,或在数据超出范围时呈现灰色,不能对其进行操作;写入PLC控件是实现PC机与PLC的通信;清除控件是对输入、输出区的数据进行清除。6.4窗体运行1按计算控件,对输入机械手起点和终点的位姿参数进行判断,当数据符合要求就会得出计算出并显示关节变量角数值,同时,轨迹控制控件回到可控状态,如图6-2所示。图6-2运行计算控件2运行轨迹规划控件,输出运动轨迹曲线,如图6-3所示。该轨迹规划控件在执行计算之前显灰色,不可用,只有通过计算,并得出输入数据符合要求后该控件才能被操作。3.运行输出控件将计算结果及图形输出。4.写入PLC控件的运行是将前一步输出的控制数据写入PLC计数器中,以实现对机械手运动的控制。5.清除控件执行后是将整个界面上的数据清空,为下次输入数据做准备。图6-3轨迹曲线

参考文献刘极峰,益际明.机器人技术基础[M].北京:高等教育出版社,2006.张铁,谢存喜.机器人学[M].广州:华南理工大学出版社,2003年.从爽,李泽湘.实用运动控制技术[M].北京:电子工业出版社,2006.钟肇新,范建东.可编程控制器原理及应用[M].广州:华南理工大学出版社,2003年.俞建家.VisualBasic6.0[M].福建:厦门大学出版社,2005年.吕伟臣.VisualBasic6.0初级编程教程[M].北京:北京大学出版社,2002年.龚沛曾.VisualBasic程序设计教程[M].北京:高等教育出版社,2004年.邓星钟.机电传动控制[M].武汉:华中科技大学出版社,2000年.张海根.机电传动控制[M].北京:高等教育出版社,2005年.大熊.机器人控制[M].北京:科学出版社,2002年.丹尼斯.机器人设计与控制[M].北京:科学出版社,2004年.刘极峰.计算机辅助设计与制造[M].北京:高等教育出版社,2004年.

致谢在此次设计完成之际,我首先要感谢张老师多我的谆谆教诲,感谢她每天陪同我们在实验室,时刻为我们解答疑团,让我再次感觉到大学老师并不是许多人想象中的那样可望不可及;相反,比起中学老师显得更加和蔼、平易近人,少了几分严肃。她对工作呕心沥血,孜孜不倦的追求精神和严谨的治学态度永远值得我们学习。在本次设计过程中,得到了刘老师的悉心指导,他一丝不苟的治学态度使我受益匪浅。本次设计是在张老师和刘老师的耐心指导下才得以顺利完成,在此衷心感谢两位老师,感谢他们给我的教导和帮助,感谢他们给我们提供了这么好的环境。

附录=1\*ROMANI程序清单1、机械手控制程序梯形图轨迹规划界面VB程序如下:Dima2,a3,a4,PI,a,b,c,d,h,m,n,max,minAsDoublePrivateSubCommand1_Click()DimPx0,Py0,Pz0,α0,β0,γ0AsSingleDimθ1,θ2,θ3,θ4,θ5,θ234AsSingle,c3AsDoubleDimPx1,Py1,Pz1,α1,β1,γ1AsSingleDimθf1,θf2,θf3,θf4,θf5,θf234AsSingle,cf3AsDoublea2=228a3=228a4=73PI=3.141593Px0=Val(Text1.Text)Py0=Val(Text2.Text)Pz0=Val(Text3.Text)α0=Val(Text4.Text)β0=Val(Text5.Text)γ0=Val(Text6.Text)Px1=Val(Text7.Text)Py1=Val(Text8.Text)Pz1=Val(Text9.Text)α1=Val(Text10.Text)β1=Val(Text11.Text)γ1=Val(Text12.Text)Command3.Enabled=TrueIfSqr((Px0-Px1)*(Px0-Px1)+(Py0-Py1)*(Py0-Py1))>850ThenCommand3=FalseElseIfAbs(Pz0-Pz1)>600ThenCommand3.Enabled=FalseEndIfθ1=(180/PI)*(Atn(Py0/Px0))Text13.Text=Format(θ1,"####.###")θ5=(180/PI)*(Atn((Sin(θ1)*Cos(α0)*Cos(β0)-Cos(θ1)*Sin(α0)*Cos(β0))/(Sin(θ1)*(Cos(α0)*Sin(β0)*Sin(γ0)-Sin(α0)*Cos(γ0))-Cos(θ1)*(Sin(α0)*Sin(β0)*Sin(γ0)+Cos(α0)*Cos(γ0)))))Text17.Text=Format(θ5,"####.###")θ234=(180/PI)*(Atn((Cos(β0)*Sin(γ0))/(Cos(θ1)*(Cos(α0)*Sin(β0)*Sin(γ0)-Sin(α0)*Cos(γ0))+Sin(θ1)*(Sin(α0)*Sin(β0)*Sin(γ0)+Cos(α0)*Cos(γ0)))))c3=((Px0*Cos(θ1)+Py0*Sin(θ1)-Cos(θ234)*a4)*(Px0*Cos(θ1)+Py0*Sin(θ1)-Cos(θ234)*a4)+(Pz0-Sin(θ234)*a4)*(Pz0-Sin(θ234)*a4)-a2*a2-a3*a3)/(2*a2*a3)θ3=(180/PI)*(Atn(Sqr(Abs(1-c3*c3))/c3))Text15.Text=Format(θ3,"####.###")θ2=(180/PI)*(Atn(((Cos(θ3)*a3+a2)*(Pz0-Sin(θ234)*a4)-Sin(θ3)*a3*(Px0*Cos(θ1)+Py0*Sin(θ1)+Cos(θ234)*a4))/((Cos(θ3)*a3+a2)*(Px0*Cos(θ1)+Py0*Sin(θ1)+Cos(θ234)*a4)+Sin(θ3)*a3*(Pz0-Sin(θ234)*a4))))Text14.Text=Format(θ2,"####.###")θ4=θ234-θ2-θ3Text16.Text=Format(θ4,"####.###")θf1=(180/PI)*(Atn(Py1/Px1))Text18.Text=Format(θf1,"####.###")θf5=(180/PI)*(Atn((Sin(θf1)*Cos(α0)*Cos(β0)-Cos(θf1)*Sin(α0)*Cos(β0))/(Sin(θf1)*(Cos(α0)*Sin(β0)*Sin(γ0)-Sin(α0)*Cos(γ0))-Cos(θf1)*(Sin(α0)*Sin(β0)*Sin(γ0)+Cos(α0)*Cos(γ0)))))Text22.Text=Format(θf5,"####.###")θf234=(180/PI)*(Atn((Cos(β0)*Sin(γ0))/(Cos(θf1)*(Cos(α0)*Sin(β0)*Sin(γ0)-Sin(α0)*Cos(γ0))+Sin(θf1)*(Sin(α0)*Sin(β0)*Sin(γ0)+Cos(α0)*Cos(γ0)))))cf3=((Px1*Cos(θf1)+Py1*Sin(θf1)-Cos(θf234)*a4)*(Px1*Cos(θf1)+Py1*Sin(θf1)-Cos(θf234)*a4)+(Pz1-Sin(θf234)*a4)*(Pz1-Sin(θf234)*a4)-a2*a2-a3*a3)/(2*a2*a3)θf3=(180/PI)*(Atn(Sqr(Abs(1-cf3*cf3))/cf3))Text20.Text=Format(θf3,"####.###")θf2=(180/PI)*(Atn(((Cos(θf3)*a3+a2)*(Pz1-Sin(θf234)*a4)-Sin(θf3)*a3*(Px1*Cos(θf1)+Py1*Sin(θf1)+Cos(θf234)*a4))/((Cos(θf3)*a3+a2)*(Px1*Cos(θf1)+Py1*Sin(θf1)+Cos(θf234)*a4)+Sin(θf3)*a3*(Pz1-Sin(θf234)*a4))))Text19.Text=Format(θf2,"####.###")θf4=θf234-θf2-θf3Text21.Text=Format(θf4,"####.###")EndSubPrivateSubCommand3_Click()Dimm1,m2,m3,m4,m5,n1,n2,n3,n4,n5AsDoubleFrame6.Visible=True'关节1轨迹'取值a=Text13.Textb=Text18.Textc=10d=a+(3/(c*c))*(b-a)*(10*10)-(2/(c*c*c))*(b-a)*(10*10*10)IfVal(a)>Val(d)Thenm1=an1=dElsem1=dn1=aEndIfPicture1.Cls'清空画图区域Picture1.Scale(0,m1+(m1-n1)/5)-(12,n1)'设置画图区域根据需要进行设置大小Picture1.ForeColor=&H0Picture1.DrawWidth=1'画X轴'Picture1.Line(0,n1)-(5,n1)'标记t轴Picture1.CurrentX=11.5Picture1.CurrentY=n1+(m1-n1)/10Picture1.Print"t"'画Y轴Picture1.Line(0,n1-5)-(0,m1+(m1-n1)/5)'标记Y轴Picture1.CurrentX=0.2Picture1.CurrentY=m1+(m1-n1)/5Picture1.Print"Y"'画坐标DimiAsSingleFori=1To10Picture1.CurrentX=i:Picture1.CurrentY=n1+(m1-n1)/10:Picture1.PrintiPicture1.Line(i,n1)-(i,n1+(m1-n1)/15)NextiDimjAsIntegerForj=1To5Picture1.Line(0,n1+(m1-n1)/5*j)-(0.1,n1+(m1-n1)/5*j)Picture1.CurrentX=0.1:Picture1.CurrentY=n1+(m1-n1)/5*j:Picture1.PrintFix(n1+((m1-n1)/5)*j)NextjPicture1.DrawWidth=2Picture1.Line(0,0)-(0,0)'归零收笔'开始画图ForX=0To10Step0.001'0.001改小可以获得更高的精度Y=a+(3/(c*c))*(b-a)*(X*X)-(2/(c*c*c))*(b-a)*(X*X*X)'输入函数可以写入自己的函数Picture1.CurrentY=(m1+n1)/2Picture1.CurrentX=0.5Picture1.PSet(X,Y),vbRed'标记X,Y轴NextPicture1.CurrentX=4Picture1.CurrentY=m1Picture1.Print"Y=θ1(t)"'将函数显示在图形上'关节2轨迹'取值a=Text14.Textb=Text19.Textc=10d=a+(3/(c*c))*(b-a)*(10*10)-(2/(c*c*c))*(b-a)*(10*10*10)IfVal(a)>Val(d)Thenm2=an2=dElsem2=dn2=aEndIfPicture2.Cls'清空画图区域Picture2.Scale(0,m2+(m2-n2)/5)-(12,n2)'设置画图区域根据需要进行设置大小Picture2.ForeColor=&H0Picture2.DrawWidth=1'画X轴Picture2.Line(0,n2)-(12,n2)'标记t轴Picture2.CurrentX=11.5Picture2.CurrentY=n2+(m2-n2)/10Picture2.Print"t"'画Y轴Picture2.Line(0,n2-5)-(0,m2+(m2-n2)/5)'标记Y轴Picture2.CurrentX=0.2Picture2.CurrentY=m2+(m2-n2)/5Picture2.Print"Y"'画坐标Fori=1To10Picture2.CurrentX=i:Picture2.CurrentY=n2+(m2-n2)/10:Picture2.PrintiPicture2.Line(i,n2)-(i,n2+(m2-n2)/15)NextiForj=1To5Picture2.Line(0,n2+(m2-n2)/5*j)-(0.1,n2+(m2-n2)/5*j)Picture2.CurrentX=0.1:Picture2.CurrentY=n2+(m2-n2)/5*j:Picture2.PrintFix(n2+((m2-n2)/5)*j)NextjPicture2.DrawWidth=2Picture2.Line(0,0)-(0,0)'归零收笔'开始画图ForX=0To10Step0.001'0.005改小可以获得更高的精度Y=a+(3/(c*c))*(b-a)*(X*X)-(2/(c*c*c))*(b-a)*(X*X*X)'输入函数可以写入自己的函数Picture2.CurrentY=(m2+n2)/2Picture2.CurrentX=0.5Picture2.PSet(X,Y),vbRed'标记X,Y轴NextPicture2.CurrentX=4Picture2.CurrentY=m2Picture2.Print"Y=θ2(t)"'将函数显示在图形上'关节3轨迹'取值a=Text15.Textb=Text20.Textc=10d=a+(3/(c*c))*(b-a)*(10*10)-(2/(c*c*c))*(b-a)*(10*10*10)IfVal(a)>Val(d)Thenm3=an3=dElsem3=dn3=aEndIfPicture3.Cls'清空画图区域Picture3.Scale(0,m3+(m3-n3)/5)-(12,n3)'设置画图区域根据需要进行设置大小Picture3.ForeColor=&H0Picture3.DrawWidth=1'画X轴Picture3.Line(0,n3)-(12,n3)'标记t轴Picture3.CurrentX=11.5Picture3.CurrentY=n3+(m3-n3)/10Picture3.Print"t"'画Y轴Picture3.Line(0,n3-5)-(0,m3+(m3-n3)/5)'标记Y轴Picture3.CurrentX=0.2Picture3.CurrentY=m3+(m3-n3)/5Picture3.Print"Y"'画坐标Fori=1To10Picture3.CurrentX=i:Picture3.CurrentY=n3+(m3-n3)/10:Picture3.PrintiPicture3.Line(i,n3)-(i,n3+(m3-n3)/15)NextiForj=1To5Picture3.Line(0,n3+(m3-n3)/5*j)-(0.1,n3+(m3-n3)/5*j)Picture3.CurrentX=0.1:Picture3.CurrentY=n3+(m3-n3)/5*j:Picture3.PrintFix(n3+((m3-n3)/5)*j)NextjPicture3.DrawWidth=2Picture3.Line(0,0)-(0,0)'归零收笔'开始画图ForX=0To10Step0.001'0.001改小可以获得更高的精度Y=a+(3/(c*c))

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论