




已阅读5页,还剩65页未读, 继续免费阅读
控制理论与控制工程硕士论文-机器人语言编程系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东南大学硕士学位论文机器人语言编程系统的设计与实现姓名:黄永华申请学位级别:硕士专业:控制理论与控制工程指导教师:孟正大20040301东南大学硕一I:学位论文中文摘要摘要本文以江苏省十五攻关项目。网络化焊接机器入研制与汽车生产线应用工程”为背景,研究开放式网络化机器人系统软件主要内容是机器人语言编程系统的设计扣开发机器人编程系统本文介绍了机器人语言的基本概念以及机器人语言系统在整个机器人系统中的地位介绍了机器人语言开发的一般方法,提出了SIASUN机器人语言编程系统的开发框榘然后,对本课题中需要用到的有关机器人运动学部分内容进行分析,详细阐述了在关节空间和在笛卡尔空间下轨迹规划的方法和实现作为本论文的重点,详细介绍了SIASUN机器人语言的定义语法基本语句及其格式给出了机器人语言编辑器和语言解释器的设计和实现方法另外,本文详细阐述了SIASUN机器人示教,再现系统设计和实现给出了本地操作和运动控制之间的模块的具体划分以及它们之间的接口及其实现最后,对网络化机器人软件体系结构的设计进行了尝试性的探索关键词:机器人运动学机器人语言示教再现至里盔兰耍土兰丝笙兰竺竺AbstractThepaperfocusesontheresearchofSiasunRoboUcsLanguageProgramingSystem,whichisthesubtaskoftheTenthFiveKeyProjectofJiangsuProvinceRDoNetworkIndustrialRobotandtheA蜊j出onProjectofAutomobileWeldingProductLineFirstlythethesiswentsthebasicconceptoftherobotlanguageanditsimportanceinrobotsystemAndalsothethesisdiscussesthegenericdevelopmentofrobotlangugeandputforwardthedevelopmentframeofSIASUNrobotprogrammingsystemSecondlyonthebasisoftheanalysisofkinematicsappliedinpathplanninglaterthethesisexplainstheandrealizationofpathplanninginbothjointcoordinateandDescartescoordinate,ThirdlytheemphasisisplacedonthedefinatinthesyntaxandthefomatofthebasiccommandoftherobotlanguageThedesignandrealizationoftheednorandlangugeinterpretorareputforwardNext,thethesispresentsthedes蜒lnandrealizationofteachandreplayingsystemandgivesthecommunicationinterfacebetweenthetesch-and-replayingsystemandtheathleticscontroImoduleFinalIytthethesisseeksafterthedesignmodeofthearchitectureofsoftwareofNetworkIndustraIRobotandamodelisproducedKeyword:RobotKinematicsProgrammingLanguageTeachandreplayingH东南大学学位论文独创性声明本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。研究生签名:细缉日期:一东南大学学位论文使用授权声明东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布(包括刊登)论文的全部或部分内容。论文的公布(包括刊登)授权东南大学研究生院办理。研究生签名:导师签名:垒丝日期:吁东南大学硕士学位论文第一章绪论第一章:绪论11课题背景及其研究意义111课题背景进入七十年代后。为了适应市场多变的需要,制造业在生产方式上产生了质的飞跃,对多品种小批量生产方式的要求越来越高出现了适应这种生产模式的、由工业机器人、数控机床和加工中心等自动化装备构成的柔性制造系统这一时期是包括工业机器人在内的自动化装备快速发展的阶段九十年代以来,如何利用技术提供的可能性。加速新产品的构思及概念的形成。并以最短时间开发出高质量低成本的新产品已成为市场竞争的新焦点制造业进入了从面向市场而生产转变为面向顾客而生产的阶段自八十年代以来。国外工业机器人技术发展趋于成熟,工业机器人本身作为一种标准设备已被世界范围制造业特别是汽车与电子制造行业广泛采用对提高企业自动化水平,劳动生产率、产品质量、经济效益和改善劳动环境起到了重要作用成为现代制造业自动化的标志目前,机器人技术发展十分迅速加速机器人技术的实用化、机器人产品和应用过程的系列化以及工业机器人的智能化网络化是机器人产业界正在不断追求的目标工业机器人技术一个显著的发展趋势就是鳊程离线化。编程技术由导引示教向基于三维图形快速显示技术的离线编程发展。这大大简化了用户编程缩短了编程时问,提高了编程效率机器人群体作为整个集成化的生产设备的部分编程及监控技术不断改进,使它能和整个生产设备在统一的框架下进行编程、仿真及编程目前,编程语言依然是每个供应商独立开发的,五花八门,各式各样在今后的发展中,随着机器人控制器采用通用计算机成为一个主漉,机器人语言完全可以像计算机语言一样规范化,这将大大有利于系统集成,便于系统的编程、仿真及监控在汽车行业,焊接是最主要的作业。焊接机器人的国产化也是863计划的主要目标之一目前,在国内大多数企业如跃进汽车集团,焊接机器人(包括90年以来从国外进口的)还处在单机使用方式,其控制器比较封闭。编程语言仍然是专用的并采用示教再现方式当投产一个新产品时,多台机器人仍采用示教再现方式。编程时间过长。严重影响生产,无法适应敏捷制造的要求。虽然有些新进口的焊接机器人具有离线编程功能,但由于工件的定位误差或缺少工件的精确数学模型,始终未能实用化。特别是还缺少对机器人焊接生产线进行调度优化和远程监控的系统集成平台因此,针对焊接作业t研制网络化开放式机器人控制器并对老机器人进行网络化改造,在此基础上实现机器人焊接生产线的系统集成,对于汽车工业和机器人应用工程来说都是优先发展的方向之一本课题组承担了江苏省十五攻关项目,即南京跃进汽车集团的“网络化焊接机器人研制与汽车焊接生产线应用工程”项目本项目研究的目的就是为了研制基于开放式体系结构的网络化焊接机器人控制器,并对跃进汽车集团南维柯公司原有焊接机器人控制器进行网络化改造通过信息技术,实现该公司多台机器人、其他设备和周边设备以及生产管理系统的整体集成,通过对生产线的作业规划、任务调度与优化实现能力与资源最佳匹配达到最佳的生产效率和经济效益112课题研究的日的和意义本课题以江苏省“十五”攻关项目“网络化机器人研制及其汽车焊接生产线应用一为背景,研究开放式网络化机器人系统软件,包括研究机器人软件体系结构与设计方法,机器人编程语言及其编辑器、解释器,机器入主控界面,运动学建模、机器人运动轨迹计算(插补)设计并实现与PMA(2I一东南大学硕士学位论文第一章绪论的接口给机器人编程是有效使用机器人的前提但是跟计算机编程方式不同,由于机器人控制装置和作业要求的多样性,目前还没有制定统一机器人控制代码标准,所以机器人编程语言也是各种各样的,对于不同生产厂商的机器人一般都配置不同的编程语言现在,仅实用的机器人语言就有十几种我们以SIAsUN机器人为对象,展开了一系列研究课题比如实现对机器人控制算法的修改、多台机器人之间通信以实现机器人之间的协调工作以及实现整个机器人系统的开放性。而对机器人进行编程控制是对SIASUN机器人进行有效控制和利用的前提,也是上述各项研究工作展开的基础同时,我们需要对SIASUN机器人控制器进行改造并且重新设计其软件系统鉴于这种情况我们需要自己开出发用于SIASUN机器人编程控制的机器人语言但跟计算机语言不同的是,机器人语言其实是个语言系统,不仅包括语言本身还包括语言的实现、对机器人工作环境的建模等其他相关功能的语言处理系统12机器人语言系统概述121机器人语言的概念、发展及其分类(一)机器人语言的概念机器人的一个很重要的特性就是它具有通用性。为了使其具有通用性。就必须使它具有可编程能力这样,在机器人本身结构参数不变的情况下通过改变其程序可以使机器人完成不同的任务为使机器人完成某特定任务通常有三种方式来实现:(I)示教再现方式:(2)离线数据程序设计方式;(3)使用机器人语言方式在示教再现方式下,使用示教盒根据作业的需要把机器人的抓手送到作业所需要的位置上去,并且处于所需要的姿态(在本论文中,把位置信息和姿态信息合称为位姿信息),然后把这一位姿信息存储起来对作业空间各轨迹重复上述操作并记录成个作业程序工作时再现上述操作就能使机器人完成预定的作业,并且可以反复同样的作业过程示教再现方式的缺点:示教时间过长,速度太慢,尤其是对于一些复杂的作业;作业任务稍有改变则必须重新示教;无法接受感觉信息的反馈;无法控制多台机器人协调工作离线数据程序设计方式克服了直接示教再现方式的某些缺点,它使用计算机辅助软件设计数据,计算出为了完成某一作业,机器人抓手应该运动的位置和所处的姿态,且可用计算机软件进行仿真一言以蔽之,离线数据程序设计方式是用计算机辅助软件产生用于示教的数据第三种方式是使用编程语言。即机器人语言的方式机器人语言是一种专用的语言,即用简单的命令来描述机器人的动作,通过不同命令的组合,可以完成较为复杂的任务这种方式的优点有:(1)用计算机代替了手动示教,提高了效率:(2)语言编程与机器人型号无关,编好的程序可供多台机器人或不同型号的机器人使用;(3)可以接受来自传感器的反馈信息:(4)可以协调多台机器人的工作;(5)可以引入逻辑判断、决策和规划功能以及人工智能的其他方法(二)机器人语言的发展历史机器人系统的编程能力很大程度上决定了具体机器人的灵活性和智能程度因此机器人技术的发展离不开机器人语言的发展机器人语言是从70年代发展起来的。在较早的机器人语言中,有些是以普通的程序设计语言为主体加入一些专用的机器人控制指令而成;有些则是由数控语言改进而成。1973年,Stanford人工智能实验室研究和开发了WAVE语言这是一种符号语言,用于控制机器人机械手的动作,例如装配水泵、旋转曲轴等作业WAVE语言具有动作的描述、力和接触的控制,配合外部视觉系统进行手眼协调等功能2东南大学硕士学位论文第一章绪论1974年该实验室在WAVE语言的基础上开发了AL语言,这是种编译形式的语言,编译程序用SAIL写成,原语言具有ALGOL语言的结构,可以控制多台机器人联合协调工作,该语言对以后机器人语言的发展产生了较大的影响。1979年,美国Unimation公司开发了VAL语言,该语言首先配置在PUMA和UnimaIe机器人上成为第一个比较成功的机器人语言该语言类似于BASIC语言,易于编程,语句结构比较简单,为r1:业机器人普遍使用1983年,德国出现了两种机器人语言,BIOMATlK公司推出了基于PASCAL语言的PASRO语言。卡尔斯鲁厄大学在PASCAL语言和AL语言的基础上开发了结构化程序设计语言1992年,法国巴黎大学机器人学实验室开发出IADA语言,这是一种基于ADA语言的机器人程序设计语言国内的机器人语言研究工作开始得比较晚,从年代后期以来,中国科学院沈阳自动化研究所等单位进行了相关的研究工作(三)机器人语言的分类根据作业水平的高低,机器人语言通常可以分为五级:(1)操作水平级:(2)原始动作级:(3)结构性动作水平级;(4)对象物状态水平级;(5)作业目标水平级操作级语言最为简单,为了使机器人动作设立了一些基本的命令,解释程序对命令进行解释执行它没有一般程序设计语言那样多的文法和句法,其水平与汇编语言相当几乎所有的机器人系统都配备了这一级语言原始动作级语言对动作的描述仅限于手抓,动作的目的是移动某一物体,其基本语句形式为:【MOVETO(destination)这一级语言的代表是VAL语言,它的句子结构比较简单,易于编程,语法类似于BAslc语言结构性动作水平缀语言在常用的语言的基础上加了有关机器入控制的句子结构,同时,为了描述三维环境语言中设立了各种数据及其相互运算的关系式动作语句的形式殷为:MOVE(object)TO(destination)】AL语言和瑕M开发的AML都属于这一级语言对象物状态级语言按照对象物之间的状态的变化来进行程序设计。即它是以描述部件物之问的关系为中心的语言用户仅给出相应的任务,无需给出明确的动作序列至于如何去完成任务由系统根据环境的描述和作业的描述做出规划,自动完成相应的动作序列。这种语言一般都有处理传感器反馈信息的能力可以利用反馈信息来修改和更新环境的描述和环境模型,也可以利用反馈信息来控制、测试和监督AUTOPASS便属于这级语言任务级的语言则以作业的最终目标来描述作业为达到此目标而自动生成详细的动作、顺序和相应的数据这是一种最为理想的机器入语言。必须依靠较好的问题求解方法才能得以实现。这类语言具有判断环境和描述环境的能力,具有规划任务的能力它与人工智能的研究密切相关这类语言有MIT人工智能研究所开发的MICROPLANER和CONNIVER还有PROLOG等前两种语言用LISP写成,可以进行动作序列的规划,机器人内部具有模式匹配和追踪功能。另外,根据原程序翻译成计算机可以执行的目标代码的方式来分。机器人语言又分为两类:解释型语言和编译型语言:解释型语言:通过相应的解释程序将原程序逐句翻译成机器指令,每翻译完句就执行一句解释程序不再产生目标程序,而是借助于解释程序直接执行源程序本身执行过程中如果有错误立即显示出错误信息,修改后才能继续执行。编译型语言:用相应语言的编译程序将原程序翻译成目标程序,再用连接程序将目标程序与函数库连接,最终处理成可执行程序,直接在机器上执行如AL、LM语言。122机器人语言系统的结构及其基本功能()机器人语言系统的结构机器人语言实际上是一个语言系统。机器人语言系统既包括语言本身(绘出作业指示和动作3-奎妻查兰堡兰垡堡苎薹二童竺丝指示),f司时又包含处理系统(根据上述指示来控制机器人系统)机器人语言系统组成及其状态关系如图1-1所示,它能够支持机器人编程、控制,以及外国设备、传感器和机器人接口:同时还能支持和计算机系统的通信示敖旮机器人语言位置作盘和动作量与计算帆系统帕通信作摹麓苴控状奎蓑萎l袭錾飘鲁人控一董机嚣人佑基曩蚪置设鲁图11机器人语言系统组成及其状态关系机器人语言操作系统包括三个基本的操作状态;(1)监控状态:(2)编辑状态(3)执行状态监控状态是用来进行整个系统的监督和控制的在监控状态下操作者可以用示教盒定义机器人在空间的位置,设置机器人运动的速度,存储和调出程序编辑状态是提供操作者编制程序或编辑程序的尽管不同语言的编辑操作不同但是一般都包含有:写入指令、修改或删除指令以及插入指令等执行状态用来执行机器人程序的在执行状态下,机器人执行程序的每一条指令,操作者可以通过调试程序来修改错误例如在程序执行过程中,某一位置关节超过限制,因此机器人不能执行,在CRT显示错误信息并停止运行操作者可以返回到编辑状态修改程序大多数机器人语言允许在程序执行过程中。直接返回到监控状态或者编辑状态当然,如前文介绍所示和计算机语言类似,机器人语言也可以用相应的编译程序进行编译,即把机器人语言的源程序转换为机器码以便机器人控制器能够直接读取和执行这样编译后的,运行速度将人人加快,但是需要开发一个专门的机器人语言编译系统。其开发周期很长而且系统复杂。相反,基于解释型的语言具有直观易懂、解释程序结构简单且易于实现,比较容易实现人机会话等优点。因此,在本课题中,我们开发的语言是动作级基于解释型的SIASUN机器人语言(二)机器人编程语言的功能这些基本功能包括:运算一决策、通讯、机械手运动、工具指令以及传感器数据处理等本课题中的SIASUN机器人系统只提供机械手运动和工具指令以及一些简单的传感器数据处理功能。I、运算在作业过程中执行规定运算能力是机器人控制系统最为重要的能力之一但是如果机器人没有装任何的传感器,那么就可能不需要对机器人程序规定什么运算2,决策机器人能够根据传感器输入信息做出决策。而不必执行任何的运算这种决策能力使机器人控制系统的功能更强有力3、通讯机器人系统与操作人员之间的通讯能力,允许机器人要求操作人员提供信息、告诉操作者下一步该干什么,以及让操作者知道机器人打算干什么4、机械手运动可以用来描述机械手运动的方法有很多,最简单的方法是向各个关节伺服装置提供一组关节位置,然后等待伺服装置到达这些规定的位置比较复杂的方法是在机械手工作空间内插入一些中间位置。这种程序使得所有关节同时开始运动和同时停止运动5、工具指令一个工具控制指令通常是由闭合某个开关或者继电器而开始触发的,而继电4-东南大学硕士学位论文第一章绪论器又可能把电源接通或断开。以直接控制工具运动或者送出一个小功率信号给电子控制器,让后者去控制工具6、传感器数据处理用于机械手控制的通用计算机只有与传感器连接起来。才能发挥其全部效用传感器数据处理使许多机器人程序编制的十分重要丙又复杂的组成部分。13机器人语言的开发方法及其研究方向综合机器人语言的发展过程及发展趋势机器人语言的开发方法一般有以下三种方式:(1)开发一种全新的机器人语言,如VAL语言;(2)在某种高级语言的基础上扩充机器人专用子程序库这样可以充分利用源语言强有力的程序开发功能,缩短开发周期,并且有利于系统的开放性;(3)开发一种新的通用语言在预定义机器人专用子程序库如IBM开发的AML语言AUTOPASS语言。今后机器人语言的研究趋势:首先机器人语言应该能够具有自学习能力,从经验中学习和修改;其次,随着实际应用的需要,工业机器人系统将变得越来越复杂,多台机器人之问的协调工作已成为必要,因此多台机器人之间的通信问题也应该解决;第三。机器人语言编程系统不仅要能够响应命令和报告状态,而且需要具有支持高层推理和决策的功能,因此需要解决机器人语言系统与高层次系统的交互功能的问题;第四。与各种模型系统的接口问题,未来的机器人程序设计系统将于各种模型系统相连程序可以询问这些系统,提取广泛的信息以支持编程过程总之,机器人编程语言的设计目前仍处于发展之中它还需要大量的研究工作才能成为真正实用的工具14课题的主要内容及所要解决的问题SIASUN机器人语言的定义以及语言编辑器的设计和实现机器人编程语言用于描述个别机器人执行的作业操作一个可用的机器人编程语言应该由以下几部分组成:指令集合的定义、程序的格式与结构的定义(这是关键的部分。应该具有通用性)和程序表达码和载体,用于传递源程序:语言解释器的设计和实现本课题中的机器人语言是解释型的,相对于编译型的解释型语言实现起来相对容易;机器人运动学建模、机器人运动轨迹的规划给定的两端点之甸,常有多条可能的轨迹,本论文中,我们将讨论插值、直线和圆弧路径的轨迹规划方法;设计并实现上位PC控制机与机器人运动控制卡(PMAC卡)问的接口机器人控制软件的界面规划与实现,以及对整个机器人软件体系结构与设计方法的探讨机器人软件体系结构的设计15论文结构安排本文共分为六章。第一章:绪论介绍课题背景及其研究意义,机器人语言系统的基本概念;第二二章:SIASUN机器人语言开发包括语言的定义,编辑器和解释器的设计和开发:第三章:SIANSUN示教再现系统的设计及其实现,SIASUN机器人示教、再现系统的设计。示教信息的处理与存储,示教文件的生成与编辑第四章:SIANSUN机器人运动学分析及轨迹生成给出了SIASUN机器人运动学正解及逆解详细阐述了机器人(轨迹规划)轨迹生成方法及流程;5东南大学颈士学位论文第一章绪论第五章:机器人软件体系结构的设计提出了一种分布式的机器人控制器,采用以太网作为系统总线,实现从Internet到设备底层的无缝连接应用面向对象技术以及模块化的设计方法,并对软件组件进行c0R队规范封装实现了机器人控制器的网络化、开放式,分布式和可重构:第六章:结论与展望-6东南大学硕士学位论文第二章SIASLm4机器人语言开发第二章SIASUN机器人语言开发21SIASUN机器人语言编程系统的实现方案鉴于前面对机器人语言系统的分析,本课题将开发一种类似VAL语言的解释型动作级语言实现一个具有基本的指令解释和处理简单的反馈信息的语言处理系统,其总体结构如图2-1机器人图21机器人语言处理系统在这个语言处理系统中,主要的组成部分有:源程序编辑模块、指令解释模块、运动学计算模块等源程序编辑模块主要完成对机器人语言源程序的生成和编辑功能;解释模块是核心,其输入是经过编辑器编辑好的机器人语言源程序如果需要。解释程序将调用轨迹计算模块生成路径。再由机器人控制器向运动控制卡发送指令完成所需的作业解释器的实现方案如图2-2中虚线框中所示,具体阐述见第四章运动学计算模块(轨迹规划化器)其核心的功能是轨迹规划,实现在操作机初始位置和目标位置之间用多项式函数来。内插”或“逼近”给定的路径,并沿时间轴产生一系列“控制设定点”,供操作机控制之用路径的端点既可以用关节坐标给定。也可以用直角坐标(笛卡尔坐标)给定控制器处理各种信号的输入输出,实现所需的控制算法并产生控制量。运动控制模块主要是实现由控制器给出的运动控制量。I荷荏羹_Ij当饕釜吝IjLjL数一=堆仿真系缝l文奉稿辑卜机诩据笑洼处爰理誓薄西及井往轨计I幂教生成空阀直卜霉分迹算析生一执行帆捣成T厂I“羞虻H运霆盖正l:群鼻暑:图2-2机器人语言编程系统结构图一7-东南大学硕士学位论文第二章SIASUN轨嚣人语言开发22SIASUN机器人语言介绍仿照VAL语言,S1ASUN机器人语言基本具有如下特征:(1)能够在线实时的使用;(2)具有坐标变换的功能,机器人位置参数可以直接用直角坐标系给定;(3)对机器人动作顺序编制程序时。其中的定位参数必须给定实际的数据:(4)可以用外部存储器来存储程序和数据。SIASUN机器人语言的硬件支持系统如图2-3:轴刚机量人控制誊h广l_仆蔷口l1J图2-3SIASUN机器人语言的硬件支持系统图2-4SIASUN语言系统框图2,2。1SIASUN机器人的语言系统介绍SIASUN机器人的语言系统框图如图24各个主要的组成部分如下:(1)编辑:在编辑状态下,可以用终端键盘输入文本程序,也可以通过示教盒按示教方式输入程序编辑过程包括对程序文件的生成和修改编辑完成的程序随即存储在内存中,也可以将程序和相关数据一并存入外部存储器需要时也可以从外部存储器载入源程序(2)系统命令:包括位置的定义、程序和数据列表、程序和数据存储,程序控制、系统状态的设置和控制(3)编程语言:语言指令由一条条指令组成,在发出。执行”指令后指令披逐条执行在执行程序的同时,系统可以进行命令控制这时,源程序的编辑功能被禁用222语言的命令和指令介绍一、语言的功能介绍SIASUN机器人命令和指令主要分成三类:动作控制;程序控制和坐标设置下面简单介绍它们的功能。决定机械手位置的控制功能:其中包括FTP控制(PointToPointControl威者sequentialpositioningcontr01),即在运动的路径上指定若干个必须通过的点:cP控制(ContinuousPalIlcontr01),即整个运动路径都由插补点决定:两点之问为直线轨迹的CP控制;从某一点开始,手指姿态一定的直线运动;从某一点开始,手指变化的直线运动;用示教盒进行的手动控制定位功能:其中包括:绕各个关节的单独转动;在其坐标系中,沿x、y,Z三轴的平移,以围绕三轴的转动;在工具坐标系中沿x、Y、z三轴的平移;速度控制功能:包括手动控制时用示教盒上的开关设定速度:在程序执行时通过命令设定程序步骤的速度(O100):程序的编辑功能:其中包括:删除或者插入一行或者多行指令;修改指令文字;修改位置数据:I东南大学硕士学位论文第二章SIASUN机器人语言开发给指定的内容加注释;位置数据的定义(输入)方法:用键盘键入机械手在其坐标系中各个轴的位置和姿态,及机械手各个关节轴的位置:或者用示教盒手动引导,确定机械手在基坐标系中位置和姿态:主要的指令有运动控制指令:MOVJMOVJZMOVLMOVLMOVLZMoveMOVPMOVPZAPPROAPPROSDEPARTDEPARTS速度控制指令:SEED,程序控制指令:CALL等用“,”表示注释行源程序格式如下:COMM日盯ERY,l,llMMANDUST舵NOP3MOVJVJ=30(B。氏氏氏)lP!,4MOVLVL60伊XPYPZTXTYTZ)lP205MOVCVC=45fPX0PY0PzoTX0TY0TzoPXIPYlPZlTXlTYlTzn胛3P46MOVJVJ=30(q岛岛只岛幺)lP57END118说明:第l、2行为程序注释;第3行标志程序起始点;第4行表示抓手以关节插补的方式运动到PI位置,速度为30:第5行:抓手以直线轨迹的运动到P2位置,速度为毫米,秒。第6行:抓手以圆弧轨迹分别经过P3和P4位置,运行速度为45;第7行:抓手以关节插补方式运动到P5位置,速度伉30:最后,第8行:表示程序结束二、基本语句说明移动命令:MOVJ功能:以关节插补方式移动到示教位置附加项:v卢VJ:I99使用举例;MOVJVJ=500MOVL功能:以直线插补移动到示教位置附加项:VL=VC:l一500mms使用举例:MOCVC=120MOVP功能:从空间的一点移动到空间的另一点附加项:VJTerm+Term儿-TermTerm-Factor【FactorIFactorRKto产埘abIe。Numberof(expression)即表达式由项(Term)组成而项则由因子(Factor)组成,因子可以是变量、数字或者表达式如表达式:14+3B,有两项:14和3B,共有三个因子14,3和B根据这种特点,在进行程序设计时,我们可以将表达式产生的规则变成一组相互递归的函数以形成递归下降与法分析器这里,递归下降语法分折器功能有函数霉etCxp(rulO实现在词法分析和语法分析的基础上,可以更清楚地看到解释器的工作流程(图2-7):首先词法分析其:作,返回一个基本单元的类型,解释器进行判断,如果是变量(后面肯定是表达式),便调用语法分析器进行分析必要时还要调用词法分析器若不是变量,便是基本命令字,解释器根据返回的内码调用相应的功能函数,并执行该功能然后词法分析器的指针指向文件缓冲区中的下一个字符进行下一轮分析,直到程序结束为止至此,我们完成了SIASUN机器人语言编程系统的编辑器和解释器的设计。25小结介缁了SIASUN机器人语言的定义、语法、基本语句及其格式(类似于VAL语言)编辑器的设计以及对语言源程序的编辑方法由于本课题开发的基于解释型的语言,本章还详细阐述了语言解释器的设计思路和实现方法包括扫描器的设计与实现语法分析器的设计和实现一15一东南大学硕士学位论文第三章SIASUN机器人示教、再现系统的开发第三章SIASUN机器人示教、再现系统的开发所谓示教,是指通过示教盒(或者手把手示范或计算机键值)使机器人末端执行器沿工作路线运动,f=记录示教路线上的关键位置所谓再现是指使用事先示教好的位置数据使机器人再现示教的运动轨迹然而。为了使再现是机器人运动轨迹平滑和运动平稳(没有抖动)需要在示教位置同进行某种形式的位置插补(详第四章)通过示教再现系统,基本上能够满足工业机器人的需要,如搬运、焊接和装配等j二作可以说。示教是为了再现因此,示教的质量直接影响到机器人的运动质量所以,在设计示教系统时要充分考虑其使用的方便性和可操作性,以保证示教的质量31SIASUN机器人示教系统常见的示教方法有三种:(1)直接示教:即手把手的示教如果要求机器人的动作范围很大不宜采用,而且示教精度低;(2)示教盒示教:(3)手动数据输入MDI(MmualData),常用于辅助示教。在本课题中方式(1)和方式(3)均不宜采用,所以采用示教盒方式,但是我们用计算机来取代示教盒由第三章的分析我们知道,机器人末端执行器在空间运动的轨迹实际上是六个电机运动在空间的综合,因此示教的核心任务就是根据空间工作轨迹的需要对六个电机的运动进行合理的控制我们知道,机器人工作时有两个坐标系:关节空间坐标系和直角空间坐标系(笛卡尔坐标系)前者对麻的是机器人的关节角(鼠,B,只,只,哦,以)。后者对应的是相对于机器人参考坐标系的(xYZ13(下yTz),他们都能唯一地确定机器人末端执行器在空间的位置和姿态。有一些路径的示教适合在关节空间进行,而另一些路径(例如:直线、圆弧)则适合在直角空问进行所以,示教系统应该能在这两个坐标空间分别进行示教。但是机器人关节角和电机转角不存在对应的关系。在关节空间进行示教时,我们更希望能够单独地控制某个关节运动,因此在关节空间下示教我们习惯直接使用改变某个关节转角来进行示教本课题中。我们采用软件模块来实现常规示教盒的相关功能,也就是提供一个类似示教盒的软件界面,其中提供必要的按钮,当按下某个按钮时,机器人则作相应的运动而松开该按钮时,机器人则停止该运动示教同时具有连续运动和点运动的功能。连续运动适合机器人大范围内的快速的运动。点运动适合机器人在小范围内作精细的动作示教。SIASUN机器人示教系统中。我们实现这种功能即:如果连续按住某个按钮不放,机器人便作连续的运动,直到松开为止;若点动某示教按钮机器人实现点运动这样便可以实现较为复杂的示教,提高了示教效率311关节坐标空间示教SIASUN示教系统中提供了示教坐标切换的选择按钮用户可以点击。关节坐标系”或者“直角坐标系”来选择当前示教坐标系因此在示教前需要选择“关节坐标系”选项在关节坐标系示教的特点在于我们可以单独的控制某一个关节作所需要运动,而当某一个关节运动时,它的运动方向只有两个:正转和反转(预先已经定义何为“正转”何为“反转”,把当机器人处在“零位”时各关节角定义为零)SIASUN机器人共有六个关节,且均为转动关节。从腰关节往上依次为取名为:s、L、U、R,B和T因此,我们设置了12个按钮,分别对应于每个关节的正转和反转:S+、S一,L+、L一、U+、U一、R+R一、B+和B一例如t当接下“s+”时,腰关节正向转动,当按下。L_”时,肩关节负向转动示教16东南大学硕士学位论文第三章$1ASUN机器人示教、再现系统的开发界面如图在各个关节角均达到所需位置,便可以记录下当前的示教信息,关于示教信息的处理与存储在5I4节中讨论这样,通过上述12个按钮,我们可以方便地在关节空间进行示教312直角坐标空间示教若对示教路径有某种特殊要求时,例如需要在某条直线上示教出几个点,这时适合在壹角坐标空间进行示教为了便于示教,我们在直角坐标空间示教中设置了三类按钮:用于调整位置的位置运动键;用于调整姿态的姿态控制键;和用于实现特殊运动的特殊运动键位置运动键:有:X+、X-、Y+,Y、z+、Z-、RX+、Rx一,RY+、R、RZ+和RZ分别说明如卜:x+和X一:分别沿着x轴的正、负方向移动;Y+和Y-:分别沿着Y轴的正、负方向移动:z+和二:分别沿着z轴的正、负方向移动:RX+和RX:分别绕着x轴的正负方向运动;RY+和RY-:分别绕着Y轴的正、负方向运动;Rz+和R二:分别绕着z轴的正、负方向运动姿态控制键:TX+,TX,Ty+、1Y,TZ+和TZ-分别说明如下:特殊运动控制键:目前,示教工作都是点位示教,获得的数据是工作路径上某些关键点,而不是连续路径。而对于某次特殊的任务,仅用以上基本运动来表示是很困难的比如需要示教一个插空运动,且该孔的轴线和参考坐标系的坐标轴不平行,这时需要机器人末端执行器作接近或者离开运动。为了使机器人能够完成这类特殊的示教工作,我们设置了APPRODEPART两个特殊运动控制键,分别说明如下:APPRO:沿着工具坐标系的Z轴方向运动;DEPART:沿着工具坐标系的Z轴反方向运动。示教系统的界面如图31所示313示教服务的流程图3-1示教模块的界面无论是在关节坐标系下还是在直角坐标系下,示教服务的流程如下:首先要进行初始化工作,包括:给系统上伺服、加载运动控制相关的动态连接库(这一点对用户来说是透明的,只需要在开始示教前点击“初始化”按钮)和设定坐标系和(示教)速度等操作;然后用户可以开始示教,点击相关的按钮,比如在关节空问下需要腰关节正方向转动,可以按下“s+”键,如果需要直角坐17东南大学颐1二学位论文第三章SIASUN机器人示教,再现系统的开发标下需要机器人末端执行器沿着基座标系的x轴的负方向运动,则按下“x+”键;当系统检测到某个按键被按卜后,将该键的键值以消息的形式发给运动控制模块,运动控制模块(软件模块)将实现相关的运动:当机器人运动到所需要的位置后用户松开按键,同样当系统检测到某个按键松开时,以消息的形式将该按键的键值发送给运动控制模块,运动停l,流程图如图3_3所示314示教数据的处理和存储在示教过程中若示教好一个点。就应该将相关的示教信息存储起来。机器人末端执行器在空间的每一个位置,都有两组数据与之对应,即关节坐标空间关节数据和直角坐标空间的位置信息及姿态信息从运动控制卡接口读出的数据(关于接口的内容将在33节专门讨论)只是关节坐标空间各个关节的位置数据,根据这一组数据可以根据运动学正解求出相应的直角坐标系下的位置和姿态信息必要时,此组数据将用于再现时候的轨迹规划。因此每一个示教点的信息包含两组数据再现时,如果是PTP方式运动,可以使用关节空间数据;而对于以连续路径方式(CP)再现,如:需要在两点之间进行直线或者圆弧插补则利用另一组数据两组数据存放在同一个文件中,当示教好一个点后需要存储数据时,按。插入。按钮,则相关的信息将存入内存文件中,需要时可以将其存储到外部存储器中315示教文件的生成与编辑1、示教文件的生成:示教文件(机器人语言源文件)除了包含所有的示教对存储的信息(每一个示教点在关节坐标系中角度信息、在直角坐标系中的位置信息和姿态信息)外还包含了运动到示教点的缺省插补方式,缺省的运动速度。生成示教文件的流程如图3-2:2、示教文件的编辑:示教文件产生后,无需任何的编辑即可送到解释模块解释执行,且可以得到所需的运动轨迹但实际上我们常常需要对源文件进行各种编辑操作,主要有:修改语句(例如修改运动指令的插补方式,修改运动速度的大小等)。删除多余的语句或者插入必要的语句以实现某些功能。1B东南大学硕士学位论文第三章SIASUN机器人示教、再现系统的开发图3-2:产生SIASUN机器人语言源程序的流程图一19东南大学硕士学位论文第三章SIASUN机器人示教、再现系统的开发32SIASUN机器人再现系统3。2I再现系统的工作方式通过示教我们获得了工作路径上的一些关键点,再现系统的功能就是使机器人末端执行器沿着示教路径运动,并通过示教点根据具体工作的要求。再现时对机器人末端在示教点之间的运动可能没有空间路径的要求也可能根据作业需要对运动轨迹做出某种要求,比如需要末端执行器的运动轨迹在某两点之间是宣线,或者在三点之间走弧线等在本再现系统中,再现方式总体上可以分为两种:PTP方式和CP方式其中:MOVJ(MOVJZ)和MOVP(MOPZ)指令按照PTP方式再现,MOVJ是在关节空间两点之间的关节插补对机器人末端执行器在两插补点之问的轨迹没有要求;按MOVP指令再现实现之间坐标下空间的点到点插补,也就是说,它的示教点位置参数记录的是直角坐标空间的信息,对机器人末端执行器在两插补点之问的轨迹没有要求,即按照MOVJ(MOVIZ)和MOVP(MOVPZ)指令再现是机器人末端执行器的轨迹时空间的不规则曲线按CP方式再现的指令有:MOVL、MOVLZ、MOVC、APPRO和DEPART,分别说明如下:按照MOVL(MOVLZ)指令再现时,机器人末端执行器在两示教点问的运动轨迹为一条连续直线:按照MOVC指令再现时其参数包含两个示教点的信息,机器人末端执行器在三点(包括起始点)之问的轨迹为一段光滑的圆弧:按照APPRO和DE队RT指令再现方式同312节在关节空问和直角空问的路径规划具体算法设计见43节(sIAsuN机器人运动规划)部分特别说明:本再现系统中规定再现的起始点位机器人的“零位,即再现前机器人将先运动到。零位”但是当用户设置再现模式为循环时,进入下一次循环之前,机器人将从最后一个示教点以MOVJ或者MOVP方式运动到第一个示教点322示教、再现工作服务的流程示教、再现系统作为软件模块式相互独立的,但是对于用户来说,它们是一个整体,用户可以通过模式切换选择的系统的工作模式:示教模式或者再现(其实源程序的执行状态)模式。当系统初始化后,用户可以选择示教模式,示教完成并生成示教文件后,对源文件编辑好后,再切换到再现模式,执行源程序;用户也可以直接选择再现模式,从外部存储器中载入机器人语言的源程序(由示教生成或手动编辑得到)直接执行示教、再现系统作为一个整体的工作流程如图33所示20东南大学硕士学位论文第三章SIASUN机器人示教、再现系统的开发示教段务工作藏程图恤)示教,再现服务工作蠢程圈3-3示教、再现工作服务程序框图33示教、再现模块与运动控制卡之间通信接口的设计和实现331SIASUN机器人系统体系结构SIASUN机器人系统需要实现网络化的功能,整个系统可以分为网络操作模块、本地操作模块,运动控制模块,硬件体系结构的模块化分如图3-2机器人本体模块为机器人控制系统的被控对象。运动控制模块完成对被控对象的直接伺服控制机器人系统的运动控制闭环都在该模块中本地操作模块提供给定位置输入,本体模块提供位置反馈,运动控制模块根据输入和反馈构成闭环。完成对被控对象的伺服控制本地操作模块完成本地操作任务,包括运动模块、算法运算模块、设备操作模块等运动操作指提供人机接口使用户完成机器人运动方面的操作算法操作是指对运动控制算法进行修改或替换的操作设备操作是指对系统内I0设备、传感器设备等的操作2l东南大学硕士学位论文第三章$t4SUN机器人示教、再现系统的开发网络操作模块完成机器人网络操作功能如局域网机器人操作、INTERNET机器人操作。本地操作模块为网络操作模块提供机器人网络操作服务无任时机器人的示教还是再现最后都是将一组的关节角交给运动控制模块来实现,运动控制模块完成对各电机的伺服控制本系统的运动控制模块主要由安川交流伺服放大器11IAC卡、DPRAW(蹦Ac自带)等构成P|IACPc104为美国Delta公司生产的开放式运动控制卡,PC104总线。以摩托罗拉DSF为核心,可与各种类型伺服放大器配合使用。并且该卡提供用户伺服算法接口本地操作模块由PC104嵌入式Pc新松示教盒以及其它Pc104总线设备等构成。Pc中采用Windows2000操作系统。示教盒通过RS232串口与Pc连接,IO卡,D卡、DA卡等总线设备通过Pc104总线与Pc连接。胤c通过Pc,104总线与Pc连接,另Pc机通过集成网卡连接至以太网该模块完成本地操作任务包括运动操作、算法操作、设备操作、机器人网络操作服务等机器人运动操作指首先通过示教盒或机器人语言获得运动任务。然后经过任务规划、轨迹规划、轨迹插补得到轨迹点序列,而后将轨迹点序列送至运动控制模块的过程最终由运动控制模块完成匹配轨迹点序列的机器人运动控制。机器人系统中Pc机和蹦Ac卡间可通过两种方式进行通讯:DPRAW方式和总线方式。采用DPRAW方式时,Pc和运动控制卡通过对DPRAW内同一单元的访问实现数据交换,DPRAW方式可实现高速数据交换轨迹点序列的传送即采用该方式:采用总线方式时,运动控制卡类似其它总线设备,Pc通过地址线、数据线对其进行访问本地操作模块和运动模块以及它们的字模块的划分如图3-4IINT眦T圭黼户端1IN丁E刚ET操作客户i翱lINTB阳f1rI以太网Jl懒回M)卜_居越网女尉诸户端1I(交换I唧服务器机)卜居藏网女剽乍客户茹射I-I-斥m荆,嗣F舌,_,再一一I鍪P叫黼I其他标准总线设备:Io板,AIlD,DA传感器接口等IDn1ru苗垂墨豳延涵田硎J百l目t运动黼#PmCIIII|f硼施t翱II傩黻韶lI栅瞄呔粕If删泓I丽雨嗣l镪献酃IlIJ丁lIIlI枷1玛盘1lI电村12码盟II电毛13,伍5盘3ll由棚4,镯骚Mr电哲西刁西爵I电棚6马盘6图34$LSUN机器人系统硬件体系结构22-东南大学硕士学位论文第三章$1ASUN机器人示教、再现系统的开发示教或便用机通过R3232接口对器人语言编程示教盒进行键值接收示教盒液晶屏显示控制井对示一一7l,JI指令解释教盒键值做相应解上赶韧塌括任务规划上路径规捌用户或第上三方自行编写机器轨迹插补人(或其工他控制对萃地操作梗块运动宇逆象)的运解计算动规划、(若轨迹插补、运运动学正上位机通插补在关动学模型解计算得过PC104节空间则计算等程到末端机总线对其无需逆解序最终构直角坐通过PC他PC104计算)得到关节标系下位104总线总线设备最终得到坐标系下置坐标,发送在线进行控橱关节坐标六轴位置通过雅克l从oPR棚I命令至操作系下六轴坐标序列比矩阵计I相应地址IPtlAC卡,位置坐标算得到直I读
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 六一售楼活动方案
- 六一学校汉服活动方案
- 六一彩粉活动方案
- 医学常识考试试题及答案
- 六一活动拉棋活动方案
- 六一活动野营活动方案
- 六一游园活动策划方案
- 六一玩乐活动策划方案
- 六一舞会活动方案
- 六一节小班活动方案
- 《云南教育强省建设规划纲要(2024-2035年)》解读培训
- 人教版七年级数学上册练习题
- 河南三门峡2020-2021学年八下期末数学试题(原卷版)
- 沪教版(五四学制)(2024)六年级下册单词表+默写单
- 2025国培研修计划
- 等级医院评审材料-POCT质量管理手册
- 中华人民共和国科学技术普及法宣贯培训2024
- 财务风险隐患排查
- 金属加工安全操作规程制定
- 信息安全风险评估报告和风险处理计划
- 腹部带蒂皮瓣手术的护理
评论
0/150
提交评论