目录

  • 1 绪论
    • 1.1 机器人的基本概念
    • 1.2 机器人的发展概况
    • 1.3 机器人的分类
    • 1.4 工业机器人的技术参数
  • 2 工业机器人的本体结构设计
    • 2.1 工业机器人的总体设计
    • 2.2 工业机器人的驱动与传动
    • 2.3 机身及臂部设计
    • 2.4 腕部设计
    • 2.5 手部设计
  • 3 工业机器人的运动学
    • 3.1 物体在空间中的位姿描述
    • 3.2 齐次坐标变换
    • 3.3 变换方程的建立
    • 3.4 工业机器人连杆参数及其变换矩阵
    • 3.5 工业机器人的运动学方程
  • 4 工业机器人静力学及动力学分析
    • 4.1 工业机器人速度雅可比与速度分析
    • 4.2 机器人静力学分析
    • 4.3 机器人动力学分析
  • 5 工业机器人轨迹规划
    • 5.1 工业机器人轨迹规划
    • 5.2 关节空间法
    • 5.3 直角坐标空间法
    • 5.4 轨迹的实时生成
  • 6 地面移动机器人
    • 6.1 移动机器人的类型及特点
    • 6.2 轮式移动机器人
    • 6.3 履带式移动机器人
    • 6.4 步行机器人
  • 7 多指灵巧手
    • 7.1 多指灵巧手的结构设计
    • 7.2 单指机构的运动学模型
    • 7.3 多手指协调运动学分析
    • 7.4 三指位姿方程的逆向解
    • 7.5 灵巧手的静力学分析
  • 8 并联机器人
    • 8.1 并联机器人的定义与特点
    • 8.2 典型的并联机构
    • 8.3 并联机构自由度的计算
    • 8.4 并联机构的位置分析
  • 9 工业机器人的感知
    • 9.1 工业机器人传感器概述
    • 9.2 位置和位移传感器
    • 9.3 机器人的视觉技术
    • 9.4 机器人的触觉
  • 10 机器人的控制系统
    • 10.1 机器人控制系统与控制方式
    • 10.2 基于运动坐标的控制
    • 10.3 基于运动参数的控制
    • 10.4 机器人的智能控制系统
  • 11 安川机器人
    • 11.1 认识安川机器人
    • 11.2 手动操作机器人
    • 11.3 NX100 HP6机器人菜单讲解
    • 11.4 机器人编程教导
    • 11.5 应用设定
    • 11.6 常见异常情况处理
    • 11.7 保养与备品
  • 12 ABB机器人
    • 12.1 认识ABB机器人
    • 12.2 系统安全及环境保护
    • 12.3 机器人示教
    • 12.4 机器人启动
    • 12.5 机器人自动生产
    • 12.6 编程与测试
    • 12.7 输入输出信号
    • 12.8 系统备份与冷启动
    • 12.9 文件管理
编程与测试



1. 程序储存器( Program memory )的组成

程序储存器(Program memory)应用程序(Program)系统模块(System modules) 组成,如图12.35所示。其中,应用程序( Program )包括:主模块(Main module)、主程序(Main routine)、程序数据(Program data)、例行程序(Routines)、程序模块(Program modules)、程序数据(Program data)、例行程序(Routines)。系统模块(System modules)包括:系统数据(System data)和例行程序(Routines)。

所有ABB机器人都自带两个系统模块,USER模块与BASE模块,根据机器人应用不同,有些机器人会配备相应应用的系统模块。

图12.35  程序储存器


2. 编程窗口

机器人的编程界面如图12.36所示。由菜单键File、Edit、View、IPL1与IPL2组成。菜单键File包括:Open用来打开一个现有文件,文件类型为:程序.prg或模块.mod。 New用来新建一个程序,Save program用来存储更改后的现有程序,Save program as用来存储一个新程序,Print用来打印程序,现已经不使用。Preferences用来定义用户化指令集,Check program用来检验程序,光标会提示错误。Close用于在程序储存器中关闭程序。Save module用来存储更改后的现有模块,此选项只在Module窗口中存在。Save module as用于存储一个新模块,此选项只在Module窗口中存在。

菜单键Edit包括:Cut用于剪切指令或数据,用Cut可能会丢失指令或数据。Copy用于复制数据或指令。Paste用于将剪切或复制的指令或数粘贴到相应位置。Go to Top,将光标移至顶端。Go to Bottom,将光标移至底端。Mark,定义一块,涂黑部分。Change Selected,修改指令中数据,可直接将光标,移至相应位置按回车键。Show value,输入数据,可直接将光标移至相应数据按回车键。Modpos,修改机器人位置,功能键上有。Search,寻找指令,程序复杂时很有用。

  菜单键IPL1与IPL2:IPL1与IPL2为指令目录。其中IPL2有Most commt1、Most commt2、Most commt3为用户化定义指令目录,可在菜单键File中Preference定义。

功能键:Copy、Paste、Modpos 在菜单键Edit中可以找到。Test 为编程窗口与测试窗口切换键。

图12.36  编程窗口

3.指令

(1)基本运动指令

基本运动指令包括:MoveL(线性运动)、MoveJ(关节轴运动)、MoveC(圆周运动)、p1(目标位置)、 v100=1(运行速度mm/s)、z10(转弯区尺寸mm)、tool1(工具中心点TCP)。各指令中的大写字母代表的含义如图12.37所示。 

图12.37 指令的含义

(2)速度选择

速度选择:mm/s,将光标移至速度数据处,按回车键,进入选择窗口,选择所需速度。机器人运行速度属于数据类型speeddata。常用运行速度在Base模块中已经定义。特殊速度可自行定义。vmax速度为v5000,Base模块中定义最大速度为v7000,最大速度机器人未必能达到。 

(3)转弯区尺寸选择

转弯区尺寸选择:mm,将光标移至转弯区尺寸数据处,按回车键,进入选择窗口,选择所需转弯区尺寸。机器人转弯区尺寸属于数据类型zonedata。 

(4)参变量

参变量:光标指在当前指令时,按功能键OptArg,可选择参变量。 

(5)函数Offs()

如图12.38所示,要达到p1、p2、p3、p4点,可以用图右侧的语句来实现。但为了精确确定p1、p2、p3、p4点,也可以使用函数Offs()。函数Offs中各参量的含义如图12.39所示。Offs(p1,x,y,z) 代表一个离p1点X 轴偏差量为x,Y 轴偏差量为y,Z轴偏差量为z的点。将光标移至目标点,按回车键,进入目标点选择窗口,在功能键上选择Func,采用切换键选择所用函数Offs()。如图12.40所示,要达到p1、p2、p3、p4点,可以用图右侧的语句来实现。

图12.38 机器人到达的目标点


图12.39  函数Offs中各参量的含义

图12.40 使用函数Offs() 到达目标点

(6)转轴运动指令

转轴指令可使用下面语句实现:

MoveAbsJ   jpos1,  v100,  z10,  tool1 

(7)输入输出群指令

输出信号指令可使用下面语句实现:Set   do1

其中,do1:输出信号名,( signaldo ),将一个输出信号赋值为1。

复位输出信号指令可使用下面语句实现:Reset   do1

其中,do1:输出信号名,( signaldo ),将一个输出信号赋值为0。

输出脉冲信号指令可使用下面语句实现:

PulseDO   do1

输入信号指令可使用下面语句实现:WaitDI   di1,  1

其中,di1:输入信号名,( signaldi ),1(状态)(dionum);

(8)通信指令(人机对话)

清屏指令用TPErase,写屏指令为TPWrite String,String(显示的字符串),在示教器显示屏上显示字符串数据,也可以用“……”形式直接定义字符串,每一个写屏指令最多显示80个字符。

(9)功能键读取指令

功能键读取指令可使用下面语句实现:

(10)程序流程指令

判断执行指令IF: 

循环执行指令WHILE

(11)程序运行停止指令

停止指令Stop,机器人停止运行;

软停止指令(Soft Stop),直接在下一句指令启动机器人;

停止指令Exit,机器人停止运行,并且复位整个运行程序,将程序运行指针移至主程序第一行;

停止指令Break,机器人立刻停止运行,有冲击,直接在下一句指令启动机器人;

(12)计时指令

计时指令包括: 时钟复位指令和时钟启动指令,其中: 时钟复位指令为: CIKReset Clock, Clock 为机器人时钟名称;时钟启动指令为: CIKStart Clock;时钟停止指令为:CIKStop Clock。

(13)速度控制指令

速度控制指令可使用下面语句实现:

(14)等待指令

等待指令可使用下面语句实现:

(15)赋值指令

赋值指令可使用下面语句实现:

(16)负载定义指令

负载定义指令可使用下面语句实现:


4. 例行程序(Routine)

机器人位置布局如图12.41所示,首先,机器人从进料运输带(In feeder) 抓取工件,放至机器(Machine) 中加工,加工完成后,机器人再从机器中将工件取出,放至出料运输带上,完成一个循环。

图12.41   机器人位置布局图

(1)建立新例行程序

若要建立一个新例行程序,首先菜单键View中选择Routine,,然后点击功能键New,此时显示屏出现图12.43窗口。

图12.43 例行程序界面

(2)例行程序参数设置

Name为参数名称,光标指向参数名称时,功能键出现Text,用来更改参数名称。

Data type为数据类型,光标指向数据类型时,功能键出现Chang…,用来更改例行程序参数数据类型。

Required为必需性选择。Alt为分批输入参数选项。

First为开始使用的参数;Tail为结尾使用的参数;Mode为数据模式,光标指向必需性选择时,功能键出现In与Inout选项。In为参数使用时,只能读取;Inout为参数使用时,可以读写。

5. 测试

在机器人运行程序之前,要对程序进行调试。先要检查程序的语法,进入菜单键File选择Check Program,进入到编程窗口(Test),点击菜单键View 进入Test, 显示屏出现如图12.44窗口。

图12.44  程序检测窗口

(1)功能键

图12.44中窗口下面的功能键,Start为启动程序,机器人按程序连续运行,FWD为机器人程序向前单步运行,BWD为机器人程序向后单步运行,ModPos为修正机器人运行位置,Instr为切换至指令窗口。

(2)运行模式选择

在测试窗口按切换键,并且将光标移至运动模式选择(Running),此时,功能键显示Cont与Cycle选项。Cont为连续运行模式,程序自动循环执行,Cycle为单循环模式,程序运行完自动停止。 

(3)运行速率选择

在测试窗口按切换键,并且将光标移至运动速率选择(Speed),此时,功能键显示-%、+%、25%与100%选项,使用功能键确定运行速率。机器人实际运行速度为程序运动指令定义速度乘以相应百分比,最大不超过250mm/s。-%与+%在1%至5%之间将以1%递增或递减,-%与+%在5%至100%之间将以5%递增或递减。25%与100%是将机器人运行速率快捷的切换至25%与100%。运行速度调整可在程序运行时同步进行。在焊接程序中,运行速度选择只改变空行程速度,焊接速度不变。 

(4)程序运行指针( 》)

程序运行指针(简称PP)至关重要,它指示出一旦启动程序,程序将从哪里起执行。程序运行指针与光标必须指向同一行指令,机器人才能正常启动。使用菜单键Special可以更改程序运行指针位置,选择执行的指令。 

(5)删除指令

将光标移至所要删除的指令行,按删除键,用功能键OK确认。

(6)增加指令

在测试窗口按功能键Instr,进入指令窗口,选择增加指令,被选择的指令将生成在光标所指指令行的下一行。如果光标在程序的第一行,会出现一个提示窗口选择新指令生成在程序第一行(选择功能键Yes)或下一行(选择功能键No),然后用功能键OK确认。 

(7)修正工作点

将机器人移动至需要记录的工作点。将光标移动到需要修正的运动指令,按功能键ModPos修正工作点。注意此时操作窗口所选择的Tool与Wobj必须与运动指令所使用的一致。

(8)停止

按S-Stop键停止测试,尽量避免直接放开使能器(Enabling device)。