收藏 分享(赏)

机器人语言编程系统的设计与实现.pdf

上传人:精品资料 文档编号:11130979 上传时间:2020-02-08 格式:PDF 页数:71 大小:2MB
下载 相关 举报
机器人语言编程系统的设计与实现.pdf_第1页
第1页 / 共71页
机器人语言编程系统的设计与实现.pdf_第2页
第2页 / 共71页
机器人语言编程系统的设计与实现.pdf_第3页
第3页 / 共71页
机器人语言编程系统的设计与实现.pdf_第4页
第4页 / 共71页
机器人语言编程系统的设计与实现.pdf_第5页
第5页 / 共71页
点击查看更多>>
资源描述

1、东南大学硕士学位论文机器人语言编程系统的设计与实现姓名:黄永华申请学位级别:硕士专业:控制理论与控制工程指导教师:孟正大20040301东南大学硕一I:学位论文 中文摘要摘 要本文以江苏省十五攻关项目。网络化焊接机器入研制与汽车生产线应用工程”为背景,研究开放式网络化机器人系统软件主要内容是机器人语言编程系统的设计扣开发机器人编程系统本文介绍了机器人语言的基本概念以及机器人语言系统在整个机器人系统中的地位介绍了机器人语言开发的一般方法,提出了SIASUN机器人语言编程系统的开发框榘然后,对本课题中需要用到的有关机器人运动学部分内容进行分析,详细阐述了在关节空间和在笛卡尔空间下轨迹规划的方法和实

2、现作为本论文的重点,详细介绍了SIASUN机器人语言的定义语法基本语句及其格式给出了机器人语言编辑器和语言解释器的设计和实现方法另外,本文详细阐述了SIASUN机器人示教,再现系统设计和实现给出了本地操作和运动控制之间的模块的具体划分以及它们之间的接口及其实现最后,对网络化机器人软件体系结构的设计进行了尝试性的探索关键词: 机器人 运动学 机器人语言 示教 再现至里盔兰耍土兰丝笙兰 竺竺AbstractThe paper focuses on the research of Siasun RoboUcs Language ProgramingSystem,which is the subtas

3、k of the Tenth Five Key Project of Jiangsu ProvinceR&D ofOpenNetworkIndustrialRobotandtheA蜊j出onProjectofAutomobileWeldingProductLineFirstly,the thesis wents the basic concept of the robot language and itsimportance in robot systemAnd alsothe thesis discusses the generic developmentmethod of robot la

4、nguge and put forward the development frame of SIASUN robotprogramming systemSecondly,on the basis of the analysis of kinematics applied in path planning later,the thesis explains the method and realization of path planning in both joint coordinate andDescartes coordinate,Thirdly,the emphasis is pla

5、ced on the definatinthe syntax and the fomat of thebasic command of the robot languageThe design and realization of the ednor andlanguge interpretor are put forwardNext,the thesis presents the des蜒ln and realization of teach and replaying systemand gives the communication interface between the tesch

6、-and-replaying system and theathletics controI moduleFinalIyt the thesis seeks after the design mode of the architecture of software ofNetwork IndustraI Robot and a model is producedKeyword: Robot Kinematics Programming LanguageTeach and replayingH东南大学学位论文独创性声明本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽

7、我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。研究生签名:细缉日期:一东南大学学位论文使用授权声明东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布(包括刊登)论文的全部或部分内容。论文的公布(包括刊登)授权东南大学研究生院办理。研

8、究生签名: 导师签名:垒丝日期:吁东南大学硕士学位论文 第一章绪论第一章:绪论11课题背景及其研究意义111课题背景进入七十年代后。为了适应市场多变的需要,制造业在生产方式上产生了质的飞跃,对多品种小批量生产方式的要求越来越高出现了适应这种生产模式的、由工业机器人、数控机床和加工中心等自动化装备构成的柔性制造系统这一时期是包括工业机器人在内的自动化装备快速发展的阶段九十年代以来,如何利用技术提供的可能性。加速新产品的构思及概念的形成。并以最短时间开发出高质量低成本的新产品已成为市场竞争的新焦点制造业进入了从面向市场而生产转变为面向顾客而生产的阶段自八十年代以来。国外工业机器人技术发展趋于成熟,

9、工业机器人本身作为一种标准设备已被世界范围制造业特别是汽车与电子制造行业广泛采用对提高企业自动化水平,劳动生产率、产品质量、经济效益和改善劳动环境起到了重要作用成为现代制造业自动化的标志目前,机器人技术发展十分迅速加速机器人技术的实用化、机器人产品和应用过程的系列化以及工业机器人的智能化网络化是机器人产业界正在不断追求的目标工业机器人技术一个显著的发展趋势就是鳊程离线化。编程技术由导引示教向基于三维图形快速显示技术的离线编程发展。这大大简化了用户编程缩短了编程时问,提高了编程效率机器人群体作为整个集成化的生产设备的部分编程及监控技术不断改进,使它能和整个生产设备在统一的框架下进行编程、仿真及编

10、程目前,编程语言依然是每个供应商独立开发的,五花八门,各式各样在今后的发展中,随着机器人控制器采用通用计算机成为一个主漉,机器人语言完全可以像计算机语言一样规范化,这将大大有利于系统集成,便于系统的编程、仿真及监控在汽车行业,焊接是最主要的作业。焊接机器人的国产化也是863计划的主要目标之一目前,在国内大多数企业如跃进汽车集团,焊接机器人(包括90年以来从国外进口的)还处在单机使用方式,其控制器比较封闭。编程语言仍然是专用的并采用示教再现方式当投产一个新产品时,多台机器人仍采用示教再现方式。编程时间过长。严重影响生产,无法适应敏捷制造的要求。虽然有些新进口的焊接机器人具有离线编程功能,但由于工

11、件的定位误差或缺少工件的精确数学模型,始终未能实用化。特别是还缺少对机器人焊接生产线进行调度优化和远程监控的系统集成平台因此,针对焊接作业t研制网络化开放式机器人控制器并对老机器人进行网络化改造,在此基础上实现机器人焊接生产线的系统集成,对于汽车工业和机器人应用工程来说都是优先发展的方向之一本课题组承担了江苏省十五攻关项目,即南京跃进汽车集团的“网络化焊接机器人研制与汽车焊接生产线应用工程”项目本项目研究的目的就是为了研制基于开放式体系结构的网络化焊接机器人控制器,并对跃进汽车集团南维柯公司原有焊接机器人控制器进行网络化改造通过信息技术,实现该公司多台机器人、其他设备和周边设备以及生产管理系统

12、的整体集成,通过对生产线的作业规划、任务调度与优化实现能力与资源最佳匹配达到最佳的生产效率和经济效益112课题研究的日的和意义本课题以江苏省“十五”攻关项目“网络化机器人研制及其汽车焊接生产线应用一为背景,研究开放式网络化机器人系统软件,包括研究机器人软件体系结构与设计方法,机器人编程语言及其编辑器、解释器,机器入主控界面,运动学建模、机器人运动轨迹计算(插补)设计并实现与PMA(2I一东南大学硕士学位论文 第一章绪论的接口给机器人编程是有效使用机器人的前提但是跟计算机编程方式不同,由于机器人控制装置和作业要求的多样性,目前还没有制定统一机器人控制代码标准,所以机器人编程语言也是各种各样的,对

13、于不同生产厂商的机器人一般都配置不同的编程语言现在,仅实用的机器人语言就有十几种我们以SIAsUN机器人为对象,展开了一系列研究课题比如实现对机器人控制算法的修改、多台机器人之间通信以实现机器人之间的协调工作以及实现整个机器人系统的开放性。而对机器人进行编程控制是对SIASUN机器人进行有效控制和利用的前提,也是上述各项研究工作展开的基础同时,我们需要对SIASUN机器人控制器进行改造并且重新设计其软件系统鉴于这种情况我们需要自己开出发用于SIASUN机器人编程控制的机器人语言但跟计算机语言不同的是,机器人语言其实是个语言系统,不仅包括语言本身还包括语言的实现、对机器人工作环境的建模等其他相关

14、功能的语言处理系统12机器人语言系统概述121机器人语言的概念、发展及其分类(一)机器人语言的概念机器人的一个很重要的特性就是它具有通用性。为了使其具有通用性。就必须使它具有可编程能力这样,在机器人本身结构参数不变的情况下通过改变其程序可以使机器人完成不同的任务为使机器人完成某特定任务通常有三种方式来实现:(I)示教再现方式:(2)离线数据程序设计方式;(3)使用机器人语言方式在示教再现方式下,使用示教盒根据作业的需要把机器人的抓手送到作业所需要的位置上去,并且处于所需要的姿态(在本论文中,把位置信息和姿态信息合称为位姿信息),然后把这一位姿信息存储起来对作业空间各轨迹重复上述操作并记录成个作

15、业程序工作时再现上述操作就能使机器人完成预定的作业,并且可以反复同样的作业过程示教再现方式的缺点:示教时间过长,速度太慢,尤其是对于一些复杂的作业;作业任务稍有改变则必须重新示教;无法接受感觉信息的反馈;无法控制多台机器人协调工作离线数据程序设计方式克服了直接示教再现方式的某些缺点,它使用计算机辅助软件设计数据,计算出为了完成某一作业,机器人抓手应该运动的位置和所处的姿态,且可用计算机软件进行仿真一言以蔽之,离线数据程序设计方式是用计算机辅助软件产生用于示教的数据第三种方式是使用编程语言。即机器人语言的方式机器人语言是一种专用的语言,即用简单的命令来描述机器人的动作,通过不同命令的组合,可以完

16、成较为复杂的任务这种方式的优点有:(1)用计算机代替了手动示教,提高了效率:(2)语言编程与机器人型号无关,编好的程序可供多台机器人或不同型号的机器人使用;(3)可以接受来自传感器的反馈信息:(4)可以协调多台机器人的工作;(5)可以引入逻辑判断、决策和规划功能以及人工智能的其他方法(二)机器人语言的发展历史机器人系统的编程能力很大程度上决定了具体机器人的灵活性和智能程度因此机器人技术的发展离不开机器人语言的发展机器人语言是从70年代发展起来的。在较早的机器人语言中,有些是以普通的程序设计语言为主体加入一些专用的机器人控制指令而成;有些则是由数控语言改进而成。1973年,Stanford人工智

17、能实验室研究和开发了WAVE语言这是一种符号语言,用于控制机器人机械手的动作,例如装配水泵、旋转曲轴等作业WAVE语言具有动作的描述、力和接触的控制,配合外部视觉系统进行手眼协调等功能2东南大学硕士学位论文 第一章绪论1974年该实验室在WAVE语言的基础上开发了AL语言,这是种编译形式的语言,编译程序用SAIL写成,原语言具有ALGOL语言的结构,可以控制多台机器人联合协调工作,该语言对以后机器人语言的发展产生了较大的影响。1979年,美国Unimation公司开发了VAL语言,该语言首先配置在PUMA和UnimaIe机器人上成为第一个比较成功的机器人语言该语言类似于BASIC语言,易于编程

18、,语句结构比较简单,为r1:业机器人普遍使用1983年,德国出现了两种机器人语言,BIOMATlK公司推出了基于PASCAL语言的PASRO语言。卡尔斯鲁厄大学在PASCAL语言和AL语言的基础上开发了结构化程序设计语言1992年,法国巴黎大学机器人学实验室开发出IADA语言,这是一种基于ADA语言的机器人程序设计语言国内的机器人语言研究工作开始得比较晚,从年代后期以来,中国科学院沈阳自动化研究所等单位进行了相关的研究工作(三)机器人语言的分类根据作业水平的高低,机器人语言通常可以分为五级:(1)操作水平级:(2)原始动作级:(3)结构性动作水平级;(4)对象物状态水平级;(5)作业目标水平级

19、操作级语言最为简单,为了使机器人动作设立了一些基本的命令,解释程序对命令进行解释执行它没有一般程序设计语言那样多的文法和句法,其水平与汇编语言相当几乎所有的机器人系统都配备了这一级语言原始动作级语言对动作的描述仅限于手抓,动作的目的是移动某一物体,其基本语句形式为:【MOVETO(destination)这一级语言的代表是VAL语言,它的句子结构比较简单,易于编程,语法类似于BAslc语言 结构性动作水平缀语言在常用的语言的基础上加了有关机器入控制的句子结构,同时,为了描述三维环境语言中设立了各种数据及其相互运算的关系式动作语句的形式殷为:MOVE(object)TO(destination)

20、】AL语言和瑕M开发的AML都属于这一级语言对象物状态级语言按照对象物之间的状态的变化来进行程序设计。即它是以描述部件物之问的关系为中心的语言用户仅给出相应的任务,无需给出明确的动作序列至于如何去完成任务由系统根据环境的描述和作业的描述做出规划,自动完成相应的动作序列。这种语言一般都有处理传感器反馈信息的能力可以利用反馈信息来修改和更新环境的描述和环境模型,也可以利用反馈信息来控制、测试和监督AUTOPASS便属于这级语言任务级的语言则以作业的最终目标来描述作业为达到此目标而自动生成详细的动作、顺序和相应的数据这是一种最为理想的机器入语言。必须依靠较好的问题求解方法才能得以实现。这类语言具有判

21、断环境和描述环境的能力,具有规划任务的能力它与人工智能的研究密切相关这类语言有MIT人工智能研究所开发的MICROPLANER和CONNIVER还有PROLOG等前两种语言用LISP写成,可以进行动作序列的规划,机器人内部具有模式匹配和追踪功能。另外,根据原程序翻译成计算机可以执行的目标代码的方式来分。机器人语言又分为两类:解释型语言和编译型语言:解释型语言:通过相应的解释程序将原程序逐句翻译成机器指令,每翻译完句就执行一句解释程序不再产生目标程序,而是借助于解释程序直接执行源程序本身执行过程中如果有错误立即显示出错误信息,修改后才能继续执行。编译型语言:用相应语言的编译程序将原程序翻译成目标

22、程序,再用连接程序将目标程序与函数库连接,最终处理成可执行程序,直接在机器上执行如AL、LM语言。122机器人语言系统的结构及其基本功能()机器人语言系统的结构机器人语言实际上是一个语言系统。机器人语言系统既包括语言本身(绘出作业指示和动作3-奎妻查兰堡兰垡堡苎 薹二童竺丝指示),f司时又包含处理系统(根据上述指示来控制机器人系统)机器人语言系统组成及其状态关系如图1-1所示,它能够支持机器人编程、控制,以及外国设备、传感器和机器人接口:同时还能支持和计算机系统的通信示敖旮机器人语言位置作盘和动作量与计算帆系统帕通信作摹麓苴控状奎蓑萎 l袭錾飘鲁人控一董机嚣人佑基曩蚪置设鲁图11机器人语言系统

23、组成及其状态关系机器人语言操作系统包括三个基本的操作状态;(1)监控状态:(2)编辑状态(3)执行状态监控状态是用来进行整个系统的监督和控制的在监控状态下操作者可以用示教盒定义机器人在空间的位置,设置机器人运动的速度,存储和调出程序编辑状态是提供操作者编制程序或编辑程序的尽管不同语言的编辑操作不同但是一般都包含有:写入指令、修改或删除指令以及插入指令等执行状态用来执行机器人程序的在执行状态下,机器人执行程序的每一条指令,操作者可以通过调试程序来修改错误例如在程序执行过程中,某一位置关节超过限制,因此机器人不能执行,在CRT显示错误信息并停止运行操作者可以返回到编辑状态修改程序大多数机器人语言允

24、许在程序执行过程中。直接返回到监控状态或者编辑状态当然,如前文介绍所示和计算机语言类似,机器人语言也可以用相应的编译程序进行编译,即把机器人语言的源程序转换为机器码以便机器人控制器能够直接读取和执行这样编译后的,运行速度将人人加快,但是需要开发一个专门的机器人语言编译系统。其开发周期很长而且系统复杂。相反,基于解释型的语言具有直观易懂、解释程序结构简单且易于实现,比较容易实现人机会话等优点。因此,在本课题中,我们开发的语言是动作级基于解释型的SIASUN机器人语言(二)机器人编程语言的功能这些基本功能包括:运算一决策、通讯、机械手运动、工具指令以及传感器数据处理等本课题中的SIASUN机器人系

25、统只提供机械手运动和工具指令以及一些简单的传感器数据处理功能。I、运算在作业过程中执行规定运算能力是机器人控制系统最为重要的能力之一但是如果机器人没有装任何的传感器,那么就可能不需要对机器人程序规定什么运算2,决策机器人能够根据传感器输入信息做出决策。而不必执行任何的运算这种决策能力使机器人控制系统的功能更强有力3、通讯机器人系统与操作人员之间的通讯能力,允许机器人要求操作人员提供信息、告诉操作者下一步该干什么,以及让操作者知道机器人打算干什么4、机械手运动可以用来描述机械手运动的方法有很多,最简单的方法是向各个关节伺服装置提供一组关节位置,然后等待伺服装置到达这些规定的位置比较复杂的方法是在

26、机械手工作空间内插入一些中间位置。这种程序使得所有关节同时开始运动和同时停止运动5、工具指令一个工具控制指令通常是由闭合某个开关或者继电器而开始触发的,而继电4-东南大学硕士学位论文 第一章绪论器又可能把电源接通或断开。以直接控制工具运动或者送出一个小功率信号给电子控制器,让后者去控制工具6、传感器数据处理用于机械手控制的通用计算机只有与传感器连接起来。才能发挥其全部效用传感器数据处理使许多机器人程序编制的十分重要丙又复杂的组成部分。13机器人语言的开发方法及其研究方向综合机器人语言的发展过程及发展趋势机器人语言的开发方法一般有以下三种方式:(1)开发一种全新的机器人语言,如VAL语言;(2)

27、在某种高级语言的基础上扩充机器人专用子程序库这样可以充分利用源语言强有力的程序开发功能,缩短开发周期,并且有利于系统的开放性;(3)开发一种新的通用语言在预定义机器人专用子程序库如IBM开发的AML语言AUTOPASS语言。今后机器人语言的研究趋势:首先机器人语言应该能够具有自学习能力,从经验中学习和修改;其次,随着实际应用的需要,工业机器人系统将变得越来越复杂,多台机器人之问的协调工作已成为必要,因此多台机器人之间的通信问题也应该解决;第三。机器人语言编程系统不仅要能够响应命令和报告状态,而且需要具有支持高层推理和决策的功能,因此需要解决机器人语言系统与高层次系统的交互功能的问题;第四。与各

28、种模型系统的接口问题,未来的机器人程序设计系统将于各种模型系统相连程序可以询问这些系统,提取广泛的信息以支持编程过程总之,机器人编程语言的设计目前仍处于发展之中它还需要大量的研究工作才能成为真正实用的工具14课题的主要内容及所要解决的问题 SIASUN机器人语言的定义以及语言编辑器的设计和实现机器人编程语言用于描述个别机器人执行的作业操作一个可用的机器人编程语言应该由以下几部分组成:指令集合的定义、程序的格式与结构的定义(这是关键的部分。应该具有通用性)和程序表达码和载体,用于传递源程序: 语言解释器的设计和实现本课题中的机器人语言是解释型的,相对于编译型的解释型语言实现起来相对容易; 机器人

29、运动学建模、机器人运动轨迹的规划给定的两端点之甸,常有多条可能的轨迹,本论文中,我们将讨论插值、直线和圆弧路径的轨迹规划方法; 设计并实现上位PC控制机与机器人运动控制卡(PMAC卡)问的接口 机器人控制软件的界面规划与实现,以及对整个机器人软件体系结构与设计方法的探讨 机器人软件体系结构的设计15论文结构安排本文共分为六章。第一章:绪论介绍课题背景及其研究意义,机器人语言系统的基本概念;第二二章:SIASUN机器人语言开发包括语言的定义,编辑器和解释器的设计和开发:第三章:SIANSUN示教再现系统的设计及其实现,SIASUN机器人示教、再现系统的设计。示教信息的处理与存储,示教文件的生成与

30、编辑第四章:SIANSUN机器人运动学分析及轨迹生成给出了SIASUN机器人运动学正解及逆解详细阐述了机器人(轨迹规划)轨迹生成方法及流程;5东南大学颈士学位论文 第一章绪论第五章:机器人软件体系结构的设计提出了一种分布式的机器人控制器,采用以太网作为系统总线,实现从Internet到设备底层的无缝连接应用面向对象技术以及模块化的设计方法,并对软件组件进行c0R队规范封装实现了机器人控制器的网络化、开放式,分布式和可重构:第六章:结论与展望-6东南大学硕士学位论文 第二章SIASLm4机器人语言开发第二章SIASUN机器人语言开发21 SIASUN机器人语言编程系统的实现方案鉴于前面对机器人语

31、言系统的分析,本课题将开发一种类似VAL语言的解释型动作级语言实现一个具有基本的指令解释和处理简单的反馈信息的语言处理系统,其总体结构如图2-1机器人图21机器人语言处理系统在这个语言处理系统中,主要的组成部分有:源程序编辑模块、指令解释模块、运动学计算模块等源程序编辑模块主要完成对机器人语言源程序的生成和编辑功能;解释模块是核心,其输入是经过编辑器编辑好的机器人语言源程序如果需要。解释程序将调用轨迹计算模块生成路径。再由机器人控制器向运动控制卡发送指令完成所需的作业解释器的实现方案如图2-2中虚线框中所示,具体阐述见第四章运动学计算模块(轨迹规划化器)其核心的功能是轨迹规划,实现在操作机初始

32、位置和目标位置之间用多项式函数来。内插”或“逼近”给定的路径,并沿时间轴产生一系列“控制设定点”,供操作机控制之用路径的端点既可以用关节坐标给定。也可以用直角坐标(笛卡尔坐标)给定控制器处理各种信号的输入输出,实现所需的控制算法并产生控制量。运动控制模块主要是实现由控制器给出的运动控制量。I荷荏羹_I j当饕釜吝IjL jL数 一=堆仿真系缝l文奉稿辑卜机 诩 据笑 洼 处爰 理 誓薄 西 及井往 轨 计I幂教生成空阀直卜 霉分 迹 算析 生 一执行帆捣成T厂I“羞虻H运霆盖正l: 群鼻暑 :图2-2机器人语言编程系统结构图一7-东南大学硕士学位论文 第二章SIASUN轨嚣人语言开发22 SI

33、ASUN机器人语言介绍仿照VAL语言,S1ASUN机器人语言基本具有如下特征:(1)能够在线实时的使用;(2)具有坐标变换的功能,机器人位置参数可以直接用直角坐标系给定;(3)对机器人动作顺序编制程序时。其中的定位参数必须给定实际的数据:(4)可以用外部存储器来存储程序和数据。SIASUN机器人语言的硬件支持系统如图2-3:轴刚机量人控制誊 h广l_仆蔷口l 1J图2-3 SIASUN机器人语言的硬件支持系统 图2-4 SIASUN语言系统框图2,2。1 SIASUN机器人的语言系统介绍SIASUN机器人的语言系统框图如图24各个主要的组成部分如下:(1)编辑:在编辑状态下,可以用终端键盘输入

34、文本程序,也可以通过示教盒按示教方式输入程序编辑过程包括对程序文件的生成和修改编辑完成的程序随即存储在内存中,也可以将程序和相关数据一并存入外部存储器需要时也可以从外部存储器载入源程序(2)系统命令:包括位置的定义、程序和数据列表、程序和数据存储,程序控制、系统状态的设置和控制(3)编程语言:语言指令由一条条指令组成,在发出。执行”指令后指令披逐条执行在执行程序的同时,系统可以进行命令控制这时,源程序的编辑功能被禁用222语言的命令和指令介绍一、语言的功能介绍SIASUN机器人命令和指令主要分成三类:动作控制;程序控制和坐标设置下面简单介绍它们的功能。决定机械手位置的控制功能:其中包括FTP控

35、制(Point To Point Control威者sequential positioningcontr01),即在运动的路径上指定若干个必须通过的点:cP控制(Continuous PalIl contr01),即整个运动路径都由插补点决定:两点之问为直线轨迹的CP控制;从某一点开始,手指姿态一定的直线运动;从某一点开始,手指变化的直线运动;用示教盒进行的手动控制定位功能:其中包括:绕各个关节的单独转动;在其坐标系中,沿x、y,Z三轴的平移,以围绕三轴的转动;在工具坐标系中沿x、Y、z三轴的平移;速度控制功能:包括手动控制时用示教盒上的开关设定速度: 在程序执行时通过命令设定程序步骤的速度

36、(O100):程序的编辑功能:其中包括:删除或者插入一行或者多行指令;修改指令文字;修改位置数据:I东南大学硕士学位论文 第二章SIASUN机器人语言开发给指定的内容加注释;位置数据的定义(输入)方法:用键盘键入机械手在其坐标系中各个轴的位置和姿态,及机械手各个关节轴的位置:或者用示教盒手动引导,确定机械手在基坐标系中位置和姿态:主要的指令有运动控制指令:MOVJ MOVJZ MOVL MOVL MOVLZ MoveMOVP MOVPZ APPRO APPROS DEPART DEPARTS速度控制指令:SEED,程序控制指令:CALL等用“,”表示注释行源程序格式如下:COMM日盯ERY ,

37、l,llMMAND UST舵NOP3MOVJ VJ=30(B。氏氏氏)lP!,4MOVLVL60伊XPYPZTXTYTZ)lP2 05MOVC VC=45 fPX0 PY0 Pzo TX0 TY0 Tzo PXI PYl PZl TXl TYl Tzn胛3 P46MOVJ VJ=30(q岛岛只岛幺)lP5 7END 118说明:第l、2行为程序注释;第3行标志程序起始点;第4行表示抓手以关节插补的方式运动到PI位置,速度为30*,:第5行:抓手以直线轨迹的运动到P2位置,速度为毫米,秒。第6行:抓手以圆弧轨迹分别经过P3和P4位置,运行速度为45;第7行:抓手以关节插补方式运动到P5位置,速度

38、伉30:最后,第8行:表示程序结束二、基本语句说明移动命令:MOVJ功能: 以关节插补方式移动到示教位置附加项:v卢VJ:I99使用举例; MOVJ VJ=500MOVL功能:以直线插补移动到示教位置附加项:VL=VC:l一500mms使用举例:MOC VC=120MOVP功能: 从空间的一点移动到空间的另一点附加项:VJV=VJ or vL应用举例:SPEED VJ=125 Or SPEED VL=1100控制命令:JUMP功能:转跳到指定语句附加项:(变量号码)IF命令使用举例:JUMP“123 IF IN#(14)=OFFCALL 功能:转子程序-9-东南大学硕士学位论文 第二章SIAS

39、UN机器人语言开发附加项:IF命令应用举例:CALL Jobl IF IN#(24)卸N功能:显示跳转目的地附加项:应用举例:“123功能:不作任何动作附加项:无使用举例:NOPEND 功能:程序结束附加项:无使用举例:ENDIF 功能:判断各种条件附加在进行处理的其他命令之后使用格式:机器语言),然后对编译出来的目标程序进行运行计算而解释是指接受某高级语言的一个语句的输入进行解释并控制计算机执行,而且马上得到结果,然后在接受一个语句,重复上述过程至源程序结束也就是把解释与运行融为一体,不再分解释时与运行时。解释执行过程如图2-6: 医筹薹习脚一一,卜回l柳始教据卜_H l LJ图2-6解释执

40、行过程解释器(解释程序)并不把源程序转换为目标代码,所以下一次翻译解释时得按此过程重复一遍,因此,效率低是解释型语言的一个缺点,但是它具有直观易懂、解释程序结构简单,容易实东南大学硕士学位论文 第二章SIASUN机器人语言开发现。易于是实现人机对话等优点解释器是编程系统的核心,其主要的功能是将源程序的每行语句解释成计算机能够理解和执行的代码形式主要的组成部分有:词法分析器(词法分析程序)语法分析器(语法分析程序)和功能函数调用模块其中:词法分析的任务是扫描源程序字符串,按照词法规则,识别出一个个的单词,并经其转换为相应内码形式交给语法分析程序使用:语法分析程序的功能是组词成旬,即通过与法分析,

41、确定整个输入串是否能构成语法上正确的句子和程序等;功能函数则实现相应的功能。需要时被解释程序调用解释程序的工作流程如图2-7:图27解释程序工作流程控制机器人源程序编辑好后,编辑器除了在界面上显示该程序外,还在内存中开辟了一个文件缓冲区源程序的所有代码多存放在这个文件缓冲区中当程序进入执行状态时,解释器先知向缓冲区中的第一行程序,然后,先对该行程序进行词法分析,进而进行语法分析解释器根据前两步返回的内码,调用相应的功能函数,执行相应的功能,执行完后,解释器再指向文件缓冲中的第二行程序,重复执行上述步骤,如此循环,直到对源程序处理结束在上述的每一步中。若在处理某行语句出现错误(词法错误或者语法错

42、误),则退回到对源文件的编辑状态,同时是出错信息。用户根据相应的信息修改程序中的错误,然后重新执行程序,如此循环,直到源程序被正确执行242词法分析器(一)词法分析器的设计词法分析程序通常有较扫描器。扫描器处理的往往是以行为单位的源程序语句,它假定源程序已经从外部的存储器调入到内存的输入缓冲区词法分析程序的输入的是源程序的逐个的字符,输出的是一个类型或者内码12东南大学硕士学位论文 第二章SIASUN机器人语言开发本词法分析器可以识别的基本单词有以下几类:基本命令字(保留字) 如:MOVJ MOJZ MOL MOLZ MOVC MOVP MOVP MOVPZ SPEED等;标示符用于表示各种名

43、字;运算符=、一,、:分隔符,(、)词法分析程序除了识别单词外、还输出该单词的类型或内码值,单词的类型定义见表21表2一l输出单词类型 含义 输出单词类型 含义C0眦AND 基本命令 STRING 字符串NU蛐ER 数字 DELIV 分隔符liT 回车 FINISHED 文件结束同时,为了更有利于程序的实现和提高程序执行的效率,在设计词法分析程序时,为每一个基本命令字设置了一个内码值对应关系如表22:基本命令 内码值 基本命令 内码值 基本命令 内码值NoP 0 MOVP 7 DE队RTS 14MO 1 MOVPZ 8 SPEED 15MOVJz 2 MOVS 9 CALL 16MoVL 3

44、APPRO 10 WAIT 17MOVLZ 4 APPROS 1l HOME 18MOVC。 5 DEPART 12 END。 19IF 6 THEN 13 待扩展词法分析框图如图2-8。因此在定义好了词法分析程序的输入与输出后。我们便可以把它当作语法分析的一个过程,当语法分析程序需要一个单词时。便调用词法分析程序东南大学硕士学位论文 第二章SIASUN机器人语言开发占强冈f赢一茵7丌围7f图28词法分析框图(二二)扫描器的实现图2-9扫描器算法流程图在具体的程序实现上,用函数GctTokcn0函数来完成词法分析器功能Gefrokcn0函数的算法流程图如图2-9进入GctToken0函数后。扫

45、描器的扫描指针指向文件缓冲区中的第一个字符,并且进行判断:若是结束标志,则返回FINISHED:若是空格或者回车。则跳过,扫描指针指向下一个字符;若是连续两个,则该行为注释行,扫描指针跳过这一行,指向下一行的首字符:若是分隔符,则返回DELIM;若是数字,返回NUMBER;如果是字符串,则进一步判断时标示符还是基本命令如果是命令,返回COMMAND。否则,则返回STRING;均不是则显示错误信息。这样,每调用一次GetTokcn0函数,扫描器均向前推进,并返回相应的字符类型或者内码243语法分析器语法分析的任务是:在词法分析的基础上,根据语言的语法规则(文法),把单词符号分解成各类语法单位,例

46、如“短语”、“句子”、“程序段”、和“程序”通过语法分解,确认整个输入串是否构成语法上正确的“程序”语法分析所遵循的是语言的文法例如在编程语言中,符号串:x+123y4代表一个算术表达式因而,语法分析的任务就是识别这个符号串属于“算术表达式”这个语法范畴对表达式进行分析和求值的方法很多,常用的有算符优先分析和递归下降分析法。我们采用递归下降语法分析器这样就可以将表达式看成是递归的数据结构即表达式的自我定义。若运算符限于+、一,、和(),则所有的表达式可以用下列的文法进行定义:14东南大学硕士学位论文 第二章SIASUN机器人语言开发Expression=Term+Term儿-TermTerm-

47、Factor【FactorIFactorRKto产埘abIe。Number of(expression)即表达式由项(Term)组成而项则由因子(Factor)组成,因子可以是变量、数字或者表达式如表达式:14+3B,有两项:14和3*B,共有三个因子14,3和B根据这种特点,在进行程序设计时,我们可以将表达式产生的规则变成一组相互递归的函数以形成递归下降与法分析器这里,递归下降语法分折器功能有函数霉et Cxp(rulO实现在词法分析和语法分析的基础上,可以更清楚地看到解释器的工作流程(图2-7):首先词法分析其:作,返回一个基本单元的类型,解释器进行判断,如果是变量(后面肯定是表达式),便

48、调用语法分析器进行分析必要时还要调用词法分析器若不是变量,便是基本命令字,解释器根据返回的内码调用相应的功能函数,并执行该功能然后词法分析器的指针指向文件缓冲区中的下一个字符进行下一轮分析,直到程序结束为止至此,我们完成了SIASUN机器人语言编程系统的编辑器和解释器的设计。25小结介缁了SIASUN机器人语言的定义、语法、基本语句及其格式(类似于VAL语言)编辑器的设计以及对语言源程序的编辑方法由于本课题开发的基于解释型的语言,本章还详细阐述了语言解释器的设计思路和实现方法包括扫描器的设计与实现语法分析器的设计和实现一15一东南大学硕士学位论文 第三章SIASUN机器人示教、再现系统的开发第三章S I ASUN机器人示教、再现系统的开发所谓示教,是指通过示教盒(或者手把手示范或计算机键值)使机器人末端执行器沿工作路线运动,f=记录示教路线上的关键位置所谓再现是指使用事先示教好的位置数据使机器人再现示教的运动轨迹然而。为了使再现是机器人运动轨迹平滑和运动平稳(没有抖动)需要在示教位置同进行某种形式的位置插补(详第四章)通过示教再现系统,基本上能够满足工业机器人的需要,如

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报