第12讲工业机器人的编程过程课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第12讲工业机器人的编程过程课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 12 工业 机器人 编程 过程 课件
- 资源描述:
-
1、第5章 工业机器人控制 第第 5 5 章章 工业机器人编程工业机器人编程 5.15.1机器人编程语言的基本要求和类别机器人编程语言的基本要求和类别5.25.2编程语言的应用编程语言的应用 5.3工业工业机器人机器人的编程过程的编程过程第5章 工业机器人控制 5.2 编程语言的应用编程语言的应用5.2.1 AL5.2.1 AL语言语言 ALAL语言是一种高级程序设计系统,描述装配类的语言是一种高级程序设计系统,描述装配类的任务。任务。它有类似它有类似ALGOLALGOL的源语言,有将程序转换为机器码的源语言,有将程序转换为机器码的编译程序和由控制操作的机械手及其他设备的实时的编译程序和由控制操作
2、的机械手及其他设备的实时系统。系统。编译程序是由斯坦福大学人工智能实验室用高级编译程序是由斯坦福大学人工智能实验室用高级语言编写的,在小型计算机上实时运行。近年,该程语言编写的,在小型计算机上实时运行。近年,该程序已能在微型计算机上运行。序已能在微型计算机上运行。ALAL语言对其他语言有很大的影响,在一般机器人语言对其他语言有很大的影响,在一般机器人语言中起主导作用。该语言是斯坦福大学语言中起主导作用。该语言是斯坦福大学19741974年开发年开发的。的。第5章 工业机器人控制 5.2.1 AL语言语言 许多子程序和条件监测语句增加了该语言的力传许多子程序和条件监测语句增加了该语言的力传感和柔
3、顺控制能力。当一个进程需要等待另一个进程感和柔顺控制能力。当一个进程需要等待另一个进程完成时,可使用适当的信号语句和等待语句。完成时,可使用适当的信号语句和等待语句。这些语句和其他的一些语句可以使两个或两个以这些语句和其他的一些语句可以使两个或两个以上的机器人臂进行坐标控制。上的机器人臂进行坐标控制。利用手和手臂运动控制命令可控制位移、速度、力利用手和手臂运动控制命令可控制位移、速度、力和力矩。和力矩。第5章 工业机器人控制 1.1.变量的表达及特征变量的表达及特征 ALAL变量的基本类型有标量变量的基本类型有标量(SCALAR)(SCALAR)、矢量、矢量(VECTOR)(VECTOR)、旋
4、、旋转转(ROT)(ROT)、坐标系、坐标系(FRAME)(FRAME)和变换和变换(TRANS)(TRANS)。(1)(1)标量标量:标量与计算机语言中的实数一样标量与计算机语言中的实数一样,是浮点数是浮点数,可以进行加、减、乘、除和指数五种运算可以进行加、减、乘、除和指数五种运算,也可以进行三角也可以进行三角函数和自然对数的变换。函数和自然对数的变换。ALAL中的标量可以表示时间中的标量可以表示时间(TIME)(TIME)、距离距离(DISTANCE)(DISTANCE)、角度、角度(ANGLE)(ANGLE)、力、力(FORCE)(FORCE)或者它们的组或者它们的组合合,并可以处理这些
5、变量的量纲并可以处理这些变量的量纲(即单位)(即单位),即秒即秒(sec)(sec)、英、英寸寸(inch)(inch)、度、度(deg)(deg)或盎司或盎司(ounce)(ounce)(重量单位)(重量单位)等。等。AL中中有几个事先定义的标量有几个事先定义的标量,例如例如:PI=3.14159(即(即),TRUE1,FALSE=0。第5章 工业机器人控制(2)(2)矢量矢量:矢量由一个三元实数矢量由一个三元实数(x,y,z)(x,y,z)构成构成,表示对应表示对应于某坐标系的平移和位置之类的量。于某坐标系的平移和位置之类的量。与标量一样与标量一样,它们可以是它们可以是有量纲的。有量纲的。
6、利用利用VECTORVECTOR(矢量)(矢量)函数函数,可以由三个标量表达式可以由三个标量表达式来构造矢量。来构造矢量。在在ALAL中有几个事先定义过的矢量中有几个事先定义过的矢量:xhatxhat-VECTOR(1,0,0);-VECTOR(1,0,0);yhatyhat-VECTOR(0,1,0);-VECTOR(0,1,0);zhatzhat-VECTOR(0,0,1);-VECTOR(0,0,1);nilvectnilvect-VECTOR(0,0,0)-VECTOR(0,0,0)。矢量可以进行加、减、内积、叉积及与标量相乘、相除等矢量可以进行加、减、内积、叉积及与标量相乘、相除等运
7、算。运算。第5章 工业机器人控制 内积和叉积的解释内积和叉积的解释内积:内积:两个矢量两个矢量之间的一种运算之间的一种运算,其结果是实数。其结果是实数。叉积:叉积:又叫又叫叉乘,也叫向量的外积、叉乘,也叫向量的外积、向量积。求下来的结果是一个向量。向量积。求下来的结果是一个向量。第5章 工业机器人控制(3)旋转旋转:旋转表示绕一个轴旋转旋转表示绕一个轴旋转,用以表示姿态。用以表示姿态。旋转用函数旋转用函数ROT来构造来构造,ROT函数有两个参数函数有两个参数:一个一个代表旋转轴代表旋转轴,用矢量表示用矢量表示;另一个是旋转角度。另一个是旋转角度。旋转规则按右手法则进行。旋转规则按右手法则进行。
8、此外此外,x函数函数AXIS(x)表示求取表示求取x的旋转轴的旋转轴,而而x表示求取表示求取x的旋转角。的旋转角。AL中有一个称为中有一个称为nilrot的事先说明过的旋转的事先说明过的旋转,定义为定义为ROT(zhat,0*deg)。第5章 工业机器人控制(4)(4)坐标系坐标系:坐标系可通过调用函数坐标系可通过调用函数FRAMEFRAME来构成。来构成。该函该函数有两个参数数有两个参数:一个表示姿态的旋转一个表示姿态的旋转,另一个表示位置的距离另一个表示位置的距离矢量。矢量。ALAL中定义中定义STATIONSTATION代表工作空间的基准坐标系。代表工作空间的基准坐标系。图图5.15.1
9、是机器人插螺钉作业的示意图是机器人插螺钉作业的示意图,可以建立起图中的可以建立起图中的basebase坐标系、坐标系、beambeam坐标系和坐标系和feederfeeder坐标系坐标系,程序如下程序如下:FRAMEbasebeamfeeder;坐标系变量说明坐标系变量说明baseFRAME(nilrot,VECTOR(20,0,15)*inches);坐坐标系标系base的原点位于全局坐标系的原点位于全局坐标系原点原点(20,0,15)(20,0,15)英寸处英寸处,Z,Z轴轴平行于全局坐标系的平行于全局坐标系的Z Z轴。轴。第5章 工业机器人控制 beambeamFRAME(ROT(Z,9
10、0FRAME(ROT(Z,90*deg),VECTOR(20,15,0)deg),VECTOR(20,15,0)*inches);inches);坐坐标系标系beambeam的原点位于全局坐标系原点的原点位于全局坐标系原点(20,15,0)(20,15,0)英寸处英寸处,并绕全并绕全局坐标系局坐标系Z Z轴旋转轴旋转9090度度feederfeederFRAME(nilrotFRAME(nilrot,VECTOR(25,20,0),VECTOR(25,20,0)*inches);inches);坐标系坐标系feederfeeder的原点位于全局坐的原点位于全局坐标系标系(25,20,0)英寸处
11、英寸处,且且Z轴轴平行于全局坐标系的平行于全局坐标系的Z轴轴对于在某一坐标系中描述的矢量对于在某一坐标系中描述的矢量,可以用矢量可以用矢量WRTWRT坐标系坐标系的形式来表示的形式来表示(WRT:With Respect To),(WRT:With Respect To),如如xhatxhatWRTWRTbeam,beam,表示在全局坐标系中构造一个与坐标系表示在全局坐标系中构造一个与坐标系beambeam中的中的xhatxhat具有相同具有相同方方向的矢量。向的矢量。第5章 工业机器人控制 图图 5.1 机器人插螺钉作业的路径机器人插螺钉作业的路径 第5章 工业机器人控制(5)(5)变换变换
12、:TRANS TRANS型变量用来进行坐标系间的变换。与型变量用来进行坐标系间的变换。与FRAMEFRAME(坐标系调用函数)(坐标系调用函数)一样一样,TRANS,TRANS包括两部分包括两部分:一个旋转一个旋转和一个向量。和一个向量。执行时执行时,先与相对于作业空间的基坐标系旋转先与相对于作业空间的基坐标系旋转部分相乘部分相乘,然后再加上向量部分。当算术运算符然后再加上向量部分。当算术运算符“-”-”作用作用于两个坐标系时于两个坐标系时,是指把第一个坐标系的原点移到第二个坐标是指把第一个坐标系的原点移到第二个坐标系的原点系的原点,再经过旋转使其轴重合。再经过旋转使其轴重合。因此可以看出因此
13、可以看出,描述第一个坐标系相对于基坐标系的过程描述第一个坐标系相对于基坐标系的过程,可通过对基坐标系右乘一个可通过对基坐标系右乘一个TRANTRANS来实现。如图来实现。如图5.1所示所示,可以可以建立起各坐标系之间的关系建立起各坐标系之间的关系:第5章 工业机器人控制 T6-base*TRANS(ROT(x,180*deg),VECTOR(15,0,0)*inches);建立坐标系建立坐标系T6,其其Z轴绕轴绕base坐标系的坐标系的X轴旋转轴旋转180,原点距原点距base坐标系原点坐标系原点(15,0,0)英寸处英寸处E-T6*TRANS(nilrot,VECTOR(0,0,5)*inc
14、hes);建立坐建立坐标系标系E,其其Z轴平行于轴平行于T6坐标系的坐标系的Z轴轴,原点距原点距T6坐标系原点坐标系原点(0,0,5)英寸处英寸处(螺钉头)螺钉头)bolt-tip-feeder*TRANS(nilrot,VECTOR(0,0,1)*inches);建立螺钉头坐标系建立螺钉头坐标系,其其Z轴平行于料槽轴平行于料槽feeder 坐标系的坐标系的Z轴轴,原点距原点距料槽料槽feeder 坐标系原点坐标系原点(0,0,1)英寸处英寸处beam-bore-beam*TRANS(nilrot,VECTOR(0,2,3)*inches);第5章 工业机器人控制 举例:举例:bolt-tip
15、-feeder*TRANS(nilrot,VECTOR(0,0,1)*inches);建立螺钉头坐标系建立螺钉头坐标系,其其Z轴平行于料槽轴平行于料槽feeder 坐标系的坐标系的Z轴轴,原点距料槽原点距料槽feeder 坐标系原点坐标系原点(0,0,1)英寸处英寸处beam-bore-beam*TRANS(nilrot,VECTOR(0,2,3)*inches);建立立柱孔坐标系建立立柱孔坐标系,其其Z轴平行于立柱坐标系的轴平行于立柱坐标系的Z轴轴,原点距立柱坐标原点距立柱坐标系原点系原点(0,2,3)英寸处英寸处第5章 工业机器人控制 2.2.主要语句及其功能主要语句及其功能(1)(1)运
16、动语句运动语句:MOVE:MOVE语句用来表示机器人由初始位姿到语句用来表示机器人由初始位姿到目标位姿的运动。在目标位姿的运动。在ALAL中中,定义了定义了barmbarm为蓝色机械手为蓝色机械手,yarm,yarm为为黄色机械手黄色机械手,为了保证两台机械手在不使用时能处于平衡状态为了保证两台机械手在不使用时能处于平衡状态,ALAL语言定义了相应的停放位置语言定义了相应的停放位置bparkbpark和和yparkypark。假定机械手在任意位置假定机械手在任意位置,可把它运动到停放位置可把它运动到停放位置,所用所用的语句是的语句是 MOVEMOVEbarmbarmTOTObparkbpark
17、;如果要求在如果要求在4s4s内把机械手移动到停放位置内把机械手移动到停放位置,所用指令是所用指令是 MOVEbarmTObparkWITHDURATION4*seconds;第5章 工业机器人控制 符号符号“”可用在语句中可用在语句中,表示当前位置表示当前位置,如如 MOVEMOVEbarm TO-2barm TO-2*zhatzhat*inches;inches;该指令表示机械手从当前位置向下移动该指令表示机械手从当前位置向下移动2 2英寸。英寸。由此可以看出由此可以看出,基本的基本的MOVEMOVE语句具有如下形式语句具有如下形式:MOVE(MOVE(机械手机械手)TO()TO(目的地目
18、的地)()(修饰子句修饰子句););例如例如:MOVEMOVEbarmbarmTOTOdestinationdestinationVIA f1 f2 f3VIA f1 f2 f3表示机械手经过中间点表示机械手经过中间点f1f1、f2f2、f3f3移动到目标坐标系移动到目标坐标系destinationdestination。MOVEbarmTOblockWITH APPROACH3*zhat*inches 第5章 工业机器人控制 表示把机械手移动到在表示把机械手移动到在Z轴方向上离轴方向上离block 3英寸的地方英寸的地方;如果用如果用DEPARTURE代替代替APPROACH,则表示离开则表
19、示离开block。关于关于接近接近/退避点退避点可以用设定坐标系的一个矢量来表示可以用设定坐标系的一个矢量来表示,如如 WITHAPPROACH=表达式表达式;WITHDEPARTURE=表达式表达式;如图如图5.1所示所示,要求机器人由初始位置经过要求机器人由初始位置经过A点运动到螺钉处点运动到螺钉处,再经过再经过B、C后到达后到达D点。描述该运动轨迹的程序如下点。描述该运动轨迹的程序如下:MOVEMOVEbarmbarm TO bolt grasp VIA A WITH APPROACH=-Z WRT feeder;TO bolt grasp VIA A WITH APPROACH=-Z
20、WRT feeder;MOVEMOVEbarmbarm TO B VIA A WITH DEPARTURE=Z WRT feeder;TO B VIA A WITH DEPARTURE=Z WRT feeder;MOVEbarm TO D VIA C WITH APPROACH=-Z WRT beambore;解释:解释:Z WRT feederZ WRT feeder表示在全局坐标系中构造一个与料槽坐标系表示在全局坐标系中构造一个与料槽坐标系feederfeeder中中的的Z Z具有相同方向的矢量。具有相同方向的矢量。第5章 工业机器人控制 图图 5.1 机器人插螺钉作业的路径机器人插螺钉作
21、业的路径 第5章 工业机器人控制(2)(2)手爪控制语句。手爪控制语句。手爪控制语句的一般形式为手爪控制语句的一般形式为:OPEN TO (svalOPEN TO (sval););CLOSE TO (svalCLOSE TO (sval););这两条语句是使手爪张开或闭合后相距这两条语句是使手爪张开或闭合后相距(sval)。(sval)是是表示开度的距离值。表示开度的距离值。第5章 工业机器人控制 3.AL3.AL程序设计举例程序设计举例例例 用用ALAL语言编制如图语言编制如图5.15.1所示的机器人把螺钉插入其中一所示的机器人把螺钉插入其中一个孔里的作业。这个作业需要把机器人移至料斗上方
22、个孔里的作业。这个作业需要把机器人移至料斗上方A A点点,抓抓取螺栓取螺栓,经过经过B B点、点、C C点点,再把它移至导板孔上方再把它移至导板孔上方D D点点(见图见图5.1),5.1),并把螺并把螺钉钉插入其中一个孔里。插入其中一个孔里。编制这个程序的步骤是:编制这个程序的步骤是:(1)(1)定义机座、导板、料斗、导板孔、螺定义机座、导板、料斗、导板孔、螺钉钉柄等的位置和柄等的位置和姿态。姿态。(2)(2)把装配作业划分为一系列动作把装配作业划分为一系列动作,如移动机器人、抓取如移动机器人、抓取物体和完成插入等。物体和完成插入等。(3)(3)加入传感器以发现异常情况和监视装配作业的过程。加
23、入传感器以发现异常情况和监视装配作业的过程。(4)重复步骤重复步骤(1)(3),调试并改进程序。调试并改进程序。第5章 工业机器人控制 按照上面的步骤按照上面的步骤,编制的程序如下编制的程序如下:BEGINBEGINinsertioninsertion(设置变量设置变量)(锣钉直径)(锣钉直径)bolt-diameterbolt-diameter-0.5-0.5*inches;inches;(锣钉高度)(锣钉高度)bolt-heightbolt-height-1-1*inches;inches;triestries-0;-0;graspedgraspedfalse;false;(定义机座坐标系
24、定义机座坐标系)(立柱(立柱坐标系)坐标系)beamFRAME(ROT(z,90*deg),VECTOR(20,15,0)*inches);(料槽(料槽坐标系)坐标系)feederFRAME(nilrot,VECTOR(20,20,0)*inches);(定义特征坐标系定义特征坐标系)第5章 工业机器人控制(锣钉系)(锣钉系)bolt-graspbolt-graspfeederfeeder*TRANS(nilrot,nilvectTRANS(nilrot,nilvect););(锣钉头)(锣钉头)bolt-tipbolt-tipbolt-grasp,TRANS(nilrotbolt-grasp
展开阅读全文