第 6 章 工业机器人编程
第 6 章 工业机器人编程编程方式介绍 6.1 编程方式介绍 6.2 机器人编程语言的基本要求和类别 6.3 编程语言的应用 习题
第 6 章 工业机器人编程
6.1 编程方式介绍顺序控制的编程 1. 顺序控制的编程 在顺序控制的机器中, 所有的控制都是由机械或电气的 顺序控制器实现的。按照我们的定义, 这里没有程序设计的 要求。顺序控制的灵活性小,这是因为所有的工作过程都已编 好, 每个过程或由机械挡块或由其他确定的办法所控制。大 量的自动机都是在顺序控制下操作的。这种方法的主要优点 是成本低, 易于控制和操作。
第 6 章 工业机器人编程 示教方式编程(手把手示教) 2. 示教方式编程(手把手示教) 目前大多数机器人还是采用示教方式编程。示教方式是一 项成熟的技术, 易于被熟悉工作任务的人员所掌握, 而且用简 单的设备和控制装置即可进行。示教过程进行得很快,示教过 后,马上即可应用。在对机器人进行示教时, 将机器人的轨迹 和各种操作存入其控制系统的存储器。如果需要,过程还可以 重复多次。在某些系统中, 还可以用与示教时不同的速度再现。
第 6 章 工业机器人编程 如果能够从一个运输装置获得使机器人的操作与搬运装 置同步的信号, 就可以用示教的方法来解决机器人与搬运装 置配合的问题。 示教方式编程也有一些缺点: ① 只能在人所能达到的速度下工作; ② 难与传感器的信息相配合; ③ 不能用于某些危险的情况; ④ 在操作大型机器人时, 这种方法不实用; ⑤ 难获得高速度和直线运动; ⑥ 难于与其他操作同步。
第 6 章 工业机器人编程 示教盒示教 3. 示教盒示教 利用装在控制盒上的按钮可以驱动机器人按需要的顺序 进行操作。在示教盒中,每一个关节都有一对按钮, 分别控制 该关节在两个方向上的运动;有时还提供附加的最大允许速度 控制。虽然为了获得最高的运行效率,人们一直希望机器人能 实现多关节合成运动,但在示教盒示教的方式下,却难以同时 移动多个关节。电视游戏机上的游戏杆虽可用来提供在几个 方向上的关节速度,但它也有缺点。这种游戏杆通过移动控制 盒中的编码器或电位器来控制各关节的速度和方向, 但难以 实现精确控制。现在已经有了能实现多关节合成运动的示教 机器人。 示教盒一般用于对大型机器人或危险作业条件下的机器 人示教。但这种方法仍然难以获得高的控制精度, 也难以与其 他设备同步, 且不易与传感器信息相配合。
第 6 章 工业机器人编程 脱机编程或预编程 4. 脱机编程或预编程 脱机编程和预编程的含意相同, 是
指用机器人程序语言预 先进行程序设计,而不是用示教的方法编程。脱机编程有以下 几个方面的优点: (1) 编程时可以不使用机器人, 以腾出机器人去做其他工 作。 (2) 可预先优化操作方案和运行周期。 (3) 以前完成的过程或子程序可结合到待编的程序中去。 (4) 可用传感器探测外部信息, 从而使机器人作出相应的 响应。这种响应使机器人可以工作在自适应的方式下。
第 6 章 工业机器人编程 (5) 控制功能中可以包含现有的计算机辅助设计(CAD)和 计算机辅助制造(CAM)的信息。 (6) 可以预先运行程序来模拟实际运动, 从而不会出现危 险。利用图形仿真技术,可以在屏幕上模拟机器人运动来辅助 编程。 (7) 对不同的工作目的,只需替换一部分待定的程序。 在非自适应系统中, 没有外界环境的反馈,仅有的输入是各 关节传感器的测量值, 因此可以使用简单的程序设计手段。
第 6 章 工业机器人编程
6.2 机器人编程语言的基本要求和类别动作级 1. 动作级 动作级语言以机器人末端操作器的动作为中心来描述各种 操作, 要在程序中说明每个动作。这是一种最基本的描述方式。
第 6 章 工业机器人编程 对象级 2. 对象级 对象级语言允许较粗略地描述操作对象的动作、操作对象 之间的关系等。使用这种语言时,必须明确地描述操作对象之 间的关系和机器人与操作对象之间的关系。它特别适用于组装 作业。
第 6 章 工业机器人编程 任务级 3. 任务级 任务级语言则只要直接指定操作内容就可以了,为此,机器 人必须一边思考一边工作。这是一种水平很高的机器人程序语 言。 现在还有人在开发一种系统, 它能按某种原则给出最初的 环境状态和最终的工作状态,然后让机器人自动进行推理、计 算, 最后自动生成机器人的动作。这种系统现在仍处于基础研 究阶段,还没有形成机器人语言。本章主要介绍动作级和对象 级语言。
第 6 章 工业机器人编程 到现在为止,已经有多种机器人语言问世, 其中有的是研 究室里的实验语言,有的是实用的机器人语言。前者中比较有 名 的 有 美 国 斯 坦 福 大 学 开 发 的 AL 语 言 、 IBM 公 司 开 发 的 AUTOPASS语言,英国爱丁堡大学开发的RAFT语言等; 后者中比 较有名的有由AL语言演变而来的VAL语言,日本九州大学开发 的IML语言, IBM公司开发的AMI.语言等, 详见表6.1。
第 6 章 工业机器人编程 表6.1 国外常用的机器人语言举例
第 6 章 工业机器人编程
6.3 编程语言的应用6.3.1 AL语言 语言 变量的表达及特征 1. 变量的表达及特征 AL变量的基本类型有标量(SCALAR)、矢量(VECTOR)、旋转 (ROT)、坐标系(FRAME)和变换(TRA
NS)。 (1) 标量: 标量与计算机语言中的实数一样, 是浮点数, 可以进行加、减、乘、除和指数五种运算, 也可以进行三角函 数和自然对数的变换。AL中的标量可以表示时间(TIME)、距离 (DISTANCE)、角度(ANGLE)、力(FORCE)或者它们的组合,并可 以处理这些变量的量纲,即秒(sec)、英寸(inch)、度(deg)或 盎司(ounce)等。AL中有几个事先定义的标量,例如: PI=3.14159, TRUE=1, FALSE=0。
第 6 章 工业机器人编程 (2) 矢量: 矢量由一个三元实数(x, y, z)构成, 表示对应 于某坐标系的平移和位置之类的量。 与标量一样, 它们可以是 有量纲的。 利用VECTOR函数,可以由三个标量表达式来构造矢 量。 在AL中有几个事先定义过的矢量: xhat<-VECTOR(1, 0, 0); yhat<-VECTOR (0, 1, 0); zhat<-VECTOR (0, 0, 1); nilvect<-VECTOR(0, 0, 0)。 矢量可以进行加、减、内积、叉积及与标量相乘、相除等 运算。
第 6 章 工业机器人编程 (3) 旋转: 旋转表示绕一个轴旋转, 用以表示姿态。 旋转用 函数ROT来构造, ROT函数有两个参数: 一个代表旋转轴, 用矢 量表示; 另一个是旋转角度。旋转规则按右手法则进行。 此 外,x函数AXIS(x)表示求取x的旋转轴, 而│x│表示求取x的旋转 角 。 AL 中 有 一 个 称 为 nilrot 的 事 先 说 明 过 的 旋 转 , 定 义 为 ROT(zhat, 0*deg)。
第 6 章 工业机器人编程 (4) 坐标系: 坐标系可通过调用函数FRAME来构成。 该函 数有两个参数: 一个表示姿态的旋转,另一个表示位置的距离 矢量。AL中定义STATION代表工作空间的基准坐标系。 图6.1是机器人插螺栓作业的示意图, 可以建立起图中的 base坐标系、beam坐标系和feeder坐标系,程序如下: FRAME base beam feeder; 坐标系变量说明 base<-FRAME(nilrot, VECTOR (20, 0, 15)*inches); 坐标系base的原点 位于全局坐标系