《机器人技术》课件:第6章机器人编程语言.ppt

上传人(卖家):罗嗣辉 文档编号:2039639 上传时间:2022-01-19 格式:PPT 页数:26 大小:448.50KB
下载 相关 举报
《机器人技术》课件:第6章机器人编程语言.ppt_第1页
第1页 / 共26页
《机器人技术》课件:第6章机器人编程语言.ppt_第2页
第2页 / 共26页
《机器人技术》课件:第6章机器人编程语言.ppt_第3页
第3页 / 共26页
《机器人技术》课件:第6章机器人编程语言.ppt_第4页
第4页 / 共26页
《机器人技术》课件:第6章机器人编程语言.ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、第6章 机器人控制系统v6.1 机器人编程要求与语言类型v6.2 机器人语言系统结构和基本功能v6.3 常用机器人编程语言v6.4 机器人的离线编程6.1 6.1 机器人编程要求与语言类型机器人编程要求与语言类型6.1.1 对机器人编程的要求 1. 能够建立世界模型(能够建立世界模型(world model) 2. 能够描述机器人的作业能够描述机器人的作业 3. 能够描述机器人的运动能够描述机器人的运动 4. 允许用户规定执行流程允许用户规定执行流程 5. 要有良好的编程环境要有良好的编程环境 6. 需要人机接口和综合传感信号需要人机接口和综合传感信号6.1.2 机器人编程语言的类型 机器人语

2、言尽管有很多分类方法,但根据作业描述水平的高低,通常可分为三级:(1)动作级;(2)对象级;(3)任务级。1. 动作级编程语言动作级编程语言 动作级语言是以机器人的运动作为描述中心,通常由指挥夹手从一个位置到另一个位置的一系列命令组成。动作级语言的每一个命令(指令)对应于一个动作。动作级语言的代表是VAL语言,它的语句比较简单,易于编程。动作级语言的缺点是不能进行复杂的数学运算,不能接受复杂的传感器信息,仅能接受传感器的开关信号,并且和其他计算机的通信能力很差。VAL语言不提供浮点数或字符串,而且子程序不含自变量。(1)关节级编程 关节级编程程序给出机器人各关节位移的时间序列。(2)终端执行器

3、级编程 终端执行器级编程是一种在作业空间内直角坐标系里工作的编程方法。 2. 对象级编程语言对象级编程语言 对象级语言解决了动作级语言的不足,它是描述操作物体间关系使机器人动作的语言,即是以描述操作物体之间的关系为中心的语言,这类语言有AML,AUTOPASS等。 AUTOPASS是一种用于计算机控制下进行机械零件装配的自动编程系统,这一编程系统面对作业对象及装配操作而不直接面对装配机器人的运动。 3. 任务级编程语言任务级编程语言 任务级语言是比较高级的机器人语言,这类语言允许使用者对工作任务所要求达到的目标直接下命令,不需要规定机器人所做的每一个动作的细节。只要按某种原则给出最初的环境模型

4、和最终工作状态,机器人可自动进行推理、计算,最后自动生成机器人的动作。任务级语言的概念类似于人工智能中程序自动生成的概念。任务级机器人编程系统能够自动执行许多规划任务。6.2 机器人语言系统结构和基本功能机器人语言系统结构和基本功能6.2.1 机器人语言系统的结构 机器人语言系统如图所示,它能够支持机器人编程、控制,以及与外围设备、传感器和机器人接口;同时还能支持和计算机系统的通信。 机器人语言操作系统包括三个基本的操作状态:(1)监控状态;(2)编辑状态;(3)执行状态。 6.2.2 机器人编程语言的基本功能 基本功能包括运算、决策、通讯、机械手运动、工具指令以及传感器数据处理等。许多正在运

5、行的机器人系统,只提供机械手运动和工具指令以及某些简单的传感数据处理功能。 1. 运算运算 在作业过程中执行的规定运算能力是机器人控制系统最重要的能力之一。 2. 决策决策 机器人系统能够根据传感器输入信息做出决策,而不必执行任何运算。 3. 通讯通讯 机器人系统与操作人员之间的通讯能力。 4. 机械手运动机械手运动 可用许多不同方法来规定机械手的运动。 5.工具指令工具指令 一个工具控制指令通常是由闭合某个开关或继电器而开始触发的。 6. 传感数据处理传感数据处理 用于机械手控制的通用计算机只有与传感器连接起来,才能发挥其全部效用。 6.3 常用的机器人编程语言6.3.1 VAL语言1. V

6、AL语言及特点语言及特点 VAL语言是美国Unimation公司于1979年推出的一种机器人编程语言,主要配置在PUMA和UNIMATION等型机器人上,是一种专用的动作类描述语言。 (1) VAL语言系统 VAL语言系统包括文本编辑、系统命令和编程语言三个部分。 在文本编辑状态下可以通过键盘输入文本程序,也可通过示教盒在示教方式下输入程序。 系统命令包括位置定义、程序和数据列表、程序和数据存储、系统状态设置和控制、系统开关控制、系统诊断和修改。 编程语言把一条条程序语句转换执行。(2) VAL语言的主要特点 1)编程方法和全部指令可用于多种计算机控制的机器人。 2)指令简明,指令语句由指令字

7、及数据组成,实时及离线编程均可应用。 3)指令及功能均可扩展,可用于装配线及制造过程控制。 4)可调用子程序组成复杂操作控制。 5)可连续实时计算,迅速实现复杂运动控制;能连续产生机器人控制指令,同时实现人机交联。 2. VAL语言的指令语言的指令 VAL语言包括监控指令和程序指令两种。其中监控指令有六类,分别为位置及姿态定义指令、程序编辑指令、列表指令、存储指令、控制程序执行指令和系统状态控制指令。(1)监控指令 1) 位置及姿态定义指令 POINT指令:执行终端位置、姿态的齐次变换或以关节位置表示的精确点位赋值。格式: POINT POINT = n 或或 POINT POINT =2 D

8、POINT指令:删除包括精确点或变量在内的任意数量的位置变量。 HERE指令:此指令使变量或精确点的值等于当前机器人的位置。 WHERE指令:该指令用来显示机器人在直角坐标空间中的当前位置和关节变量值。 BASE指令:用来设置参考坐标系,系统规定参考系原点在关节1和2轴线的交点处,方向沿固定轴的方向。2) 程序编辑指令EDIT指令:此指令允许用户建立或修改一个指定名字的程序,可以指定被编辑程序的起始行号。其格式为:EDIT EDIT , 用EDIT指令进入编辑状态后,可以用C、D、E、I、L、P、R、S、T等命令来进一步编辑。如: C命令命令:改变编辑的程序,用一个新的程序代替。 D命令命令:

9、删除从当前行算起的n行程序,n缺省时为删除当前行。 E命令命令:退出编辑返回监控模式。 I命令命令:将当前指令下移一行,以便插入一条指令。 P命令命令:显示从当前行往下n行的程序文本内容。 T命令命令:初始化关节插值程序示教模式,在该模式下,按一次示教盒上的 “RECODE”按钮就将MOVE指令插到程序中。3) 列表指令DIRECTORY指令:此指令的功能是显示存储器中的全部用户程序名。LISTL指令:功能是显示任意个位置变量值。LISTP指令:功能是显示任意个用户的全部程序。4) 存储指令FORMAT指令:执行磁盘格式化。STOREP指令:功能是在指定的磁盘文件内存储指定的程序。STOREL

10、指令:此指令存储用户程序中注明的全部位置变量名和变量值。LISTF指令:指令的功能是显示软盘中当前输入的文件目录。LOADP指令:功能是将文件中的程序送入内存。LOADL指令:功能是将文件中指定的位置变量送入系统内存。DELETE指令:此指令撤销磁盘中指定的文件。COMPRESS指令:只用来压缩磁盘空间。ERASE指令:擦除磁内容并初始化。5) 控制程序执行指令ABORT指令:执行此指令后紧急停止(紧停)。DO指令:执行单步指令。EXECUTE指令:此指令执行用户指定的程序n次,n可以从32 768到 32 767,当n被省略时,程序执行一次。NEXT指令:此命令控制程序在单步方式下执行。PR

11、OCEED指令:此指令实现在某一步暂停、急停或运行错误后,自下一步起继续执行。RETRY指令:指令的功能是在某一步出现运行错误后,仍自那一步重新运行程序。SPEED指令:指令的功能是指定程序控制下机器人的运动速度,其值从0.01到327.67,一般正常速度为100。6) 系统状态控制指令CALIB指令:此指令校准关节位置传感器。STATUS指令:用来显示用户程序的状态。FREE指令:用来显示当前未使用的存储容量。ENABL指令:用于开、关系统硬件。ZERO指令:此指令的功能是清除全部用户程序和定义的位置,重新初始化。DONE:此指令停止监控程序,进入硬件调试状态。(2)程序指令1) 运动指令

12、指令包括GO、MOVE、MOVEI、MOVES、DRAW、APPRO、APPROS、DEPART、DRIVE、READY、OPEN、OPENI、CLOSE、CLOSEI、RELAX、GRASP及DELAY等。2) 机器人位姿控制指令 这些指令包括RIGHTY、LEFTY、ABOVE、BELOW、FLIP及NOFLIP等。3) 赋值指令 赋值指令有SETI、TYPEI、HERE、SET、SHIFT、TOOL、INVERSE及FRAME。 4) 控制指令 控制指令有GOTO、GOSUB、RETURN、IF、IFSIG、REACT、REACTI、IGNORE、SIGNAL、WAIT、PAUSE及ST

13、OP。其中GOTO、GOSUB实现程序的无条件转移,而IF指令执行有条件转移。IF指令的格式为:IF THEN 5) 开关量赋值指令 指令包括SPEED、COARSE、FINE、NONULL、NULL、INTOFF及INTON。6) 其他指令 其他指令包括REMARK及TYPE。6.3.2 IML语言1、定义、定义 IML也是一种着眼于末端执行器的动作级语言,由日本九州大学开发而成。IML语言的特点是编程简单,能人机对话,适合于现场操作,许多复杂动作可由简单的指令来实现,易被操作者掌握。2、坐标系、坐标系 ML用直角坐标系描述机器人和目标物的位置和姿态。坐标系分两种,一种是机座坐标系,一种是固

14、连在机器人作业空间上的工作坐标系。3、指令、指令 IML语言的主要指令有:运动指令MOVE、速度指令SPEED、停止指令STOP、手指开合指令OPEN及CLOSE、坐标系定义指令COORD、轨迹定义命令TRAJ、位置定义命令HERE、程序控制指令IFTHEN、FOR EACH语句、CASE语句及DEFINE等。6.3.3 AL语言1、概述、概述 AL语言是20世纪70年代中期美国斯坦福大学人工智能研究所开发研制的一种机器人语言,它是在WAVE的基础上开发出来的,也是一种动作级编程语言,但兼有对象级编程语言的某些特征,使用于装配作业。2、编程格式、编程格式 1) 程序BEGIN开始,由END结束

15、。 2) 语句与语句之间用分号隔开。 3) 变量先定义说明其类型,后使用。变量名以英文字母开头,由字母、数字和下画线组成,字母大、小写不分。 4) 程序的注释用大括号括起来。 5) 变量赋值语句中如所赋的内容为表达式,则先计算表达式的值,再把该值赋给等式左边的变量。3. AL语言中数据的类型语言中数据的类型(1) 标量(scalar) 可以是时间、距离、角度及力等,可以进行加、减、乘、除和指数运算,也可以进行三角函数、自然对数和指数换算。(2) 向量(vector) 与数学中的向量类似,可以由若干个量纲相同的标量来构造一个向量。(3) 旋转(rot) 用来描述一个轴的旋转或绕某个轴的旋转以表示

16、姿态。用ROT变量表示旋转变量时带有两个参数,一个代表旋转轴的简单矢量,另一个表示旋转角度。 (4) 坐标系(frame) 用来建立坐标系,变量的值表示物体固连坐标系与空间作业的参考坐标系之间的相对位置与姿态。(5) 变换(trans) 用来进行坐标变换,具有旋转和向量两个参数,执行时先旋转再平移。4. AL语言的语句介绍语言的语句介绍(1)MOVE语句 用来描述机器人手爪的运动,如手爪从一个位置运动到另一个位置。MOVE语句的格式为:MOVE TO (2)手爪控制语句OPEN:手爪打开语句; CLOSE:手爪闭合语句。语句的格式为:其中SVAL为开度距离值,在程序中已预先指定。OPEN TO

17、 CLOSE TO (3)控制语句 IF THEN ELSE WHILE DO CASE DO UNTIL FORSTEPUNTIL4)AFFIX和UNFIX语句 在装配过程中经常出现将一个物体粘到另一个物体上或一个物体从另一个物体上剥离的操作。语句AFFIX为两物体结合的操作,语句AFFIX为两物体分离的操作。5)力觉的处理 在MOVE语句中,使用条件监控子语句可实现使用传感器信息来完成一定的动作。监控子语句如:ON DO 例如例如:MOVE BARM TO -0.1*INCHES ON FORCE(Z)10*OUNCES DO STOP 表示在当前位置沿Z轴向下移动0.1英寸,如果感觉Z轴

18、方向的力超过10盎司,则立即命令机械手停止运动。【例】用AL语言编制下图机器人把螺栓插入其中一个孔里的作业。这个作业需要把机器人移至料斗上方A点,抓取螺栓,经过B点、C点再把它移至导板孔上方D点(见图),并把螺栓插入其中一个孔里。编制这个程序的步骤是编制这个程序的步骤是:定义机座、导板、料斗、导板孔、螺栓柄等的位置和姿态把装配作业划分为一系列动作,如移动机器人、抓取物体和完成插入等;加入传感器以发现异常情况和监视装配作业的过程;重复步骤13,调试改进程序。机器人把螺栓插入其中一个孔里的作业 6.3.4 SIGLA语言 SIGLA是70年代后期意大利OLIVETTI公司研制的一种简单的非文本型类

19、语言。用于对直角坐标式的SIGMA型装配机器人作数字控制。 SIGLA可以在RAM大于8k的微型计算机上执行,不需要后台计算机支持,在执行中解释程序和操作系统可由磁带输入,约占4kRAM,也可事先固化在PROM中。 SIGLA类语言有多个指令字,它的主要特点是为用户提供了定义机器人任务的能力。在SIGMA型机器人上,装配任务常由若干子任务组成: 1) 取螺丝刀 2) 在螺钉上料器上取螺钉A 3) 搬运螺钉A 4) 螺钉A定位 5) 螺钉A装入 6) 上紧螺钉A。 6.3.5 C语言简介 1. C语言简介语言简介 C语言是一种面向过程的计算机程序设计语言,它是目前众多计算机语言中举世公认的优秀的

20、结构程序设计语言之一。它由美国贝尔研究所的D.M.Ritchie于1972年推出。1978后,C语言已先后被移植到大、中、小及微型机上。 2. C语言的特点语言的特点 (1) C是中级语言 (2)C是结构式语言 (3)C语言功能齐全 (4) C语言适用范围大6.4 机器人的离线编程 机器人是一个可编程的机械装置,其功能的灵活性和智能性很大程度上决定于机器人的编程能力。由于机器人应用范围的扩大和所完成任务复杂程度不断增加,机器人工作任务的编制已经成为一个重要问题。通常,机器入编程方式可分为示教再现编程和离线编程。目前,在国内外生产中应用的机器人系统大多为示教再现型。下表为两种机器人编程方式的比较

21、。示教编程离线编程需要实际机器人系统和工作环境需要机器人系统和工作环境的图形模型在实际系统上试验程序通过仿真软件试验程序编程时需要停止工作可在机器人工作情况下编程很难实现复杂的机器人运动轨迹可实现复杂运动轨迹的编程编程质量取决编程者的经验可通过CAD的方法,进行最佳轨迹规划 示教再现型机人在实际生产应用中存在的主要技术问题有示教再现型机人在实际生产应用中存在的主要技术问题有:机器人的在线示教编程过程繁琐、效率低。示教的精度完全靠示教者的经验目测决定,对于复杂路径难以取得令人满意的示教果。对于一些需要根据外部信息进行实时决策的应用无能为力。而离线编程系统可以简机器人编程进程,提高编程效率,是实现

22、系统集成的必要的软件支撑系统。与示教编程相比,离线编程系统具有如下优点:减少机器人停机的时间,当对下一个任务进行编程时,机器人可仍在生产线上工作。使编程者远离危险的工作环境,改善了编程环境。离线编程系统使用范围广,可以对各种机器人进行编程,并能方便地实现优化编程。便于和CADCAM系统结合,做CAD/CAM/ROBOTICS一体化。可使用高级计算机编程语言对复杂任务进行编程。便于修改机器人程序。因此,离线编程引起了人们的广泛重视,并成为机器人学中一个十分活跃的研究方向。6.4.1 机器人离线编程概述1. 1. 离线编程的主要内容离线编程的主要内容 机器人离线编程系统是机器人编程语言的拓广,通过

23、该系统可以建立机器人和CAD/ CAM 之间的联系。设计编程系统应考虑以下几方面内容。1)所编程的工作过程的知识。2)机器人和工作环境三维实体模型。3)机器人几何学、运动学和动力学的知识。4)基于图形显示的软件系统、可进行机器人运动的图形仿真。5)轨迹规划和检查算法,如检查机器人关节角超限、检测碰撞以及规划机器人在工作空间的运动轨迹等。6)传感器的接口和仿真,以利用传感器的信息进行决策和规划。7)通信功能,以完成离线编程系统所生成的运动代码到各种机器人控制柜的通信。8)用户接口,以提供有效的人机界面,便于人工干预和进行系统的操作。2. 2. 离线编程系统的组成离线编程系统的组成 机器人离线编程

24、系统的组成如图所示。一般说来。机器人离线编程系统包括以下一些主要模块:传感器、机器人系统CAD建模、离线编程、图形仿真、人机界面以及后置处理等。机器人离线编程系统组成 6.4.2机器人离线编程技术的现状及发展趋势离线编程技术要在以下几方面不断研究和发展离线编程技术要在以下几方面不断研究和发展:1) 多媒体技术在机器人离线编程中的研究和应用。友好的人机界面、直观的图形显示及生动的语言信息都是离线编程系统所需要的。2) 多传感器的融合技术的建模与仿真。随着机器人智能化的提高,传感器技术在机器人系统中的应用越来越重要。因而需要在离线编程系统中对多传感器进行建模,实现多传感器的通讯,执行基于多传感器的操作。3) 各种规划算法的进一步研究。其包括路径规划、抓取规划和细微运动规划等。规划一方面要考虑到环境的复杂性、运动性和不确定性,另一方面又要充分注意计算的复杂性。4) 错误检测和修复技术。系统执行过程中发生错误是难免的应对系统的运行状态进行检测以监视错误的发生,并采用相应的修复技术。此外,最好能达到错误预报,以避免不可恢复动作错误的发生。5) 研究一种通用有效的误差标定技术,以应用于各种实际应用场合的机器人的标定。

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

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《机器人技术》课件:第6章机器人编程语言.ppt)为本站会员(罗嗣辉)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|