工业机器人离线编程(FANUC) 第四章、机器人的协调与通信

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第四章机器人协作与控制器间的通信
当机器人工作单元需要多机同时工作完成任务时,就存在着多机器人之间的协调动作问题。

在Roboguide中,多机之间的协调主要通过对控制器的编程控制来实现。

其中,就包含了一个控制器控制多台机的同步运行和不同控制器之间的信号通信技术。

控制器中的Group(组)技术就能够实现控制器对多台机器设备的同步控制;也可以通过两个控制器的IO信号实现控制器间的同步问题。

本章通过“三机协调焊接案例项目(项目五)”的实施重点介绍这两种协调方式,分为三个部分,一、Roboguide环境Group(组)的添加与使用技术;二、IO 信号的添加与使用创建技术;三、创建一个三机配合完成焊接任务的项目案例。

4.1 控制器Group分组技术
4.1.1 添加Group
创建一个工作站(Workcell),如图4.1所示,在第一步选择HandlingPRO;
图4.1 创建机器人焊接工作站
第二步输入工作站名称,其它步骤采用默认设置,直到第七步,按照图 4.2选择一个焊接机器人作为Group 2;
图4.2 机器人焊接工作站配置
之后继续,直到Finish,然后,就进入系统的配置进程。

参数配置依次依照图4.3(a)-(e)输入:
(a)(b)
(c)(d)
(e)
图4.3 工作站的配置过程
最后,进入到工作站的仿真环境中,该环境中有两台机器人,一台归属第一组GP:1,用于搬运的机器人GP:1-R-2000iB/165F;另一台是用于焊接的机器人,归属第二组GP:2,用于焊接的机器人GP:2-ARC Mate 100iB SA(R-30iB);具体如图4.4所示:
图4.4 工作站的仿真环境(1)
用鼠标拖动机器人改变两个机器人的位置,并为焊接机器人添加一个基座Fixture,布景如图4.5所示:
图4.5 工作站的仿真环境(2)
4.1.2 示教编程
先做一个简单的移动程序,即:两个机器人在P1点和P2点之间的循环运动。

这里,P1、P2点的信息都包含了两个机器人的坐标,它们的示教过程如下:(1)、示教P1点
A)、如图4.6所示,先在Cell Browser树形窗口中选中GP:1-R-2000iB/165F,然后使用示教单元,移动搬运机器人的末端到该机器人的期望位置;
显示为G1组
选中
GP:1-R-2000iB/165F
图4.6:示教P1点(1)
B)、如图4.6所示,先在Cell Browser树形窗口中选中GP:2-ARC Mate 100iB SA(R-30iB),然后使用示教单元,移动焊接机器人的末端到该机器人的期望位置;
显示为G2组
选中
GP:2-ARC Mate 100iB SA(R-30iB)
图4.6:示教P1点(2)
C)、通过程序编辑器,记录下P1点的运动指令如图4.7所示:
图4.7:P1点运动指令
(2)、示教P2点
按照上述操作,分别改变两个机器人的末端位置,示教P2点,并记录下P2点的运动指令。

然后再添加跳转循环指令,程序编辑完毕,代码清单如图4.8所示:
图4.8:程序清单
(3)、仿真运行,即可看到两个机器人在P1点和P2点之间循环移动。

4.2 控制器IO信号的添加与使用
4.2.1 添加机器人Robot
若在上述环境中添加一个机器人,其操作如下:
点击主菜单:Cell→Add Robot,之后就弹出机器人配置窗口如图4.9所示,开始对添加的机器人进行配置。

图4.9:添加一个机器人控制器(1)
其它操作均使用默认配置参数,直到Finish,自动启动系统配置之后,在仿真环境中就能够看到添加的机器人,如图4.10所示调整机器人位置。

图4.10:添加一个机器人控制器(2)
4.2.2 添加机器人控制器IO信号
(1)、任务描述
在图4.10中,可以看到Cell Browser树形窗口中的新添加的机器人控制器2:Robot Controler2。

可以在该控制器中添加TP示教程序(Programs),以实现对这个机器人的运动控制;在控制器1(Robot Controller1)中,可以通过编程对两个
机器人同时执行运动操作。

这里假定控制器1中的搬运机器人为R1、焊接机器人为A1,控制器2中的搬运机器人为R2,本节实现的三机协调任务描述如下:
图4.11:机器人运动任务示意图
如图4.11所示,三台机器人均有P1、P2点,它们的初始位置在P1点,通过两个控制器相互给出联络I/O 信号后,三台机器人相互协调都向各自的P2点运动,循环往复。

程序设计思路如下:
首先,所有机器人都执行回到P1点的运动指令:
控制器1的DO[1] 是输出联络信号,控制器2与该信号的输入连接接口为DI[1];当控制器1的DO[1]=ON 时,控制器2的DI[1]也同时为ON ,控制器2就可以根据DI[1]来判断机器人R1、A1是否已经到达了自己的P1点;
控制器2的DO[1] 也是输出联络信号,输出给控制器1的DI[1],当控制器2的DO[1]=ON 时,控制器1的DI[1]也同时为ON ,控制器1就可以根据DI[1]来判断机器人R2否已经到达了自己的P1点;
然后,当所有机器人均到达自己的P1点时,就让两个控制器中的DO[1]=OFF ,同时,开始让所用机器人向各自的P2点运动。

是否到达P2点,在两个控制器内设置联络信号DO[2]与DI[2],当为ON 时,就说明机器人已经到达P2点,控制器就可以由P2点向P1点运行,同时,让两个控制器的DO[2]=OFF ;
循环往复,实现多机之间的同步协调运动。

(2)、添加联络信号 添加联络信号的操作如下:
如图4.12所示,点击主菜单:Cell →I/O Interconnections ;
机器人R1的P1
机器人A1的P1 机器人R2的P2
控制器2中的P1点 (只有一个机器人R2)
机器人A1的P2
机器人R1的P2
控制器1中的P1点 (有2个机器人R1、A1)
图4.12:添加联络信号操作(1)
点击之后,弹出图4.13所示窗口,并依次点击Add1,分别输入图示两个控制器的联络信号DO[1]与DI[1]、DO[2]与DI[2]:
图4.13:添加联络信号操作(2)
添加完毕后,点击Apply按钮后,点击OK确认。

4.2.3 示教编程与仿真运行
通过示教操作,按照图4.11,分别在控制器1和控制器2中添加程序,具体操作步骤如下:
(1)、点击机器人R1或者A1,然后点击主菜单:Teach→Add Simulation
Program,输入文件名Test后,就可以在控制器1依照本章4.1.2介绍的方法内编写示教程序。

程序清单如图4.14所示:
图4.14:控制器1中的程序清单
程序清单及注解如下:
LBL[1] ;循环用标签
JP[1] 100% FINE ;机器人R1和机器人A1回到各自的P1点
DO[2]=OFF ;告诉机器人R2,R1和A1现在不在P2点
DO[1]=ON ;告诉机器人R2,R1和A1已经到达P1点
WAIT DI[1]=ON ;等待机器人R2也到达P1点
JP[2] 100% FINE ;全部到达P1点后,R1和A1开始移向P2
DO[1]=OFF ;告诉机器人R2,R1与A1现在不在P1点
DO[2]=ON ;告诉机器人R2,R1与A1已到P2点了
WAIT DI[2]=ON ;等待R2也到达P2点
JMP LBL[1] ;跳转到开始,循环执行
(2)、点击机器人R2,然后点击主菜单:Teach→Add Simulation Program,输入文件名Test1_1后,就可以在控制器1依照本章4.1.2介绍的方法内编写示教程序。

程序清单如图4.15所示,其注解如下:
LBL[1] ;循环用标签
JP[1] 100% FINE ;机器人R2自己的P1点
DO[2]=OFF ;告诉机器人R1和A1,R2现在不在P2点
DO[1]=ON ;告诉机器人R1和A1,R2已经到达P1点
WAIT DI[1]=ON ;等待机器人R1和A1也到达P1点
JP[2] 100% FINE ;全部到达P1点后,开始向P2运动
DO[1]=OFF ;告诉机器人R1和A1,R2现在不在P1点
DO[2]=ON ;告诉机器人R1和A1,R2已到P2点了
WAIT DI[2]=ON ;等待R1和A1也到达P2点
JMP LBL[1] ;跳转到开始,循环执行
图4.15:控制器2中的程序清单
(3)、上述程序输入之后,就执行仿真运行,运行效果如图4.16。

图4.16:多机协调运行效果
4.3 项目五――三机配合完成工件焊接任务
4.3.1目标与任务描述
教学目标:学会使用Group分组和控制器I/O通信技术实现多机协调动作。

知识技能点:控制器Group的创建、IO通讯与编程技术。

任务描述:
仿真系统中共有三台机器人:一台焊接机器人A1、两台搬运机器人R1和R2;
图4.17:任务描述
如图4.17所示,任务可描述为:机器人R1和R2分别从物料架M1和M2处取出需要焊接的物料,搬运到焊接作业区,然后,焊接机器人对这两个物料执行焊接操作;焊接完毕后,R2和A1回到初始位,机器人R1把焊接件放置到物料筐M3后,也回到初始位,开始焊接下一个工件。

编制程序,使该动作循环执行。

4.3.2 任务实施
(1)、依照本章4.2节方法,建立一个机器人工作站环境(包括搬运机器人R1、焊接A1;搬运机器人R2);
图4.18:添加物料架和物料
物料架(大物料M1)
物料架(小物料M2)
物料筐(焊
接件M3)
机器人A1
机器人R1
机器人R2
焊接作业区
环境建立后,如图4.18所示,添加Fixtures ,命名为:Rack 、Hole 、Basket ,分别代表物料架M1、M2和物料筐M3;添加Parts ,命名为Big 、Little 、Whole ,分别代表物料M1、M2和已经焊接的工件M3;其三维图形的选择参看图4.17;
(2)、建立机器人控制器1(Robot Controller1)与控制器2(Robot Controller2)之间的通信联络信号,建立步骤参见本章4.2.2步骤。

信号设置如图4.19所示:
图4.19:Controller1与Controller2的通信信号
(3)、TP 示教
对于机器人A1和机器人R1,其示教点如图4.20所示:
图4.20:机器人A1和机器人R1的示教点
抓取及抓取调整P1、P2、P3
P1 P2
P3
焊接机器人等
待及调整P1-P4、P8-P11
作业区:
机器人A1:P5-P6、机器人R1:P4-P8
焊接件放置调整P9-P11
对于机器人R2,其示教点如图4.21所示:
图4.21:机器人R2的示教点
(4)、编程思路及程序
控制器1与控制器2之间需要协调通信,根据图4.19设置的通信信号,它们之间的机制为:Controller1中的DO[2]信号为ON 时,代表机器人R1已经把M1搬运到焊接作业区,等待焊接,Controller1中的DO[1]信号为ON 时,代表机器人A1已经完成焊接作业,告诉机器人R2 撤离作业区;Controller2中的DO[2]信号为ON 时,说明R2已经把物料M2带到了焊接作业区,告诉焊接机器人A1可以过来焊接了。

对于机器人A1和机器人R1,编程思路如图4.22:
图4.22:机器人R1、A1的程序流程图
抓取及调整区P1-P3、P6
焊接作业
区:P4、P5
P4
P5
P6
P1
P2
P3
根据上述流程,编写控制器1的程序如图4.23所示:
模拟机器人A1
的焊接动作
模拟工件的焊接
成形过程
图4.23:机器人R1、A1的程序清单
对于机器人R2,图4.24所示的程序流程表述了R2的工作流程:
图4.24:机器人R2的程序流程图
根据上述流程,编写控制器2的程序如图4.25所示:
图4.25:机器人R2的程序清单
(5)、仿真运行
仿真运行,效果如图4.26所示。

图4.26:仿真效果图
4.3.3 知识拓展
(1)、拓展知识一:上述项目是如何仿真焊接加工成形过程的?
上述项目物料的焊接过程,实际上是运用仿真技术,将物料M1与物料M2组合在一起的模拟过程,模拟仿真可以分为三个步骤:
A )、机器人R1与机器人R2的模拟对接,即:R1与R2分别抓取M1和
M2
模拟M2被焊接到M1上,机器人R2手抓清空效果
到焊接工作区,并通过示教,使两个物料在空间上对接在一起;
B)、当焊接完毕,需要把R1与R2上的物料M1和M2清除掉,这个指令用的是Drop,只是这里的Drop指令并没有指定特定的放置位置对象。

例如:该项目中R2的Drop指令如图4.27所示:
图4.27:清除机器人R2手抓上物料M2的指令
其意思是把机器人抓手(GP:1-UT:1(EOAT1))上的物料M2(即:Little)放置下来。

但由于ON(NO Part)并没有指出被放置的位置对象,所以其执行效果就是M2从机器人R2的手抓上凭空消失;
同样地,当指令Pickup没有指定特定抓取物件的来源时,仿真效果就是在手抓上凭空产生一个物件。

那么,就可以使用这种办法,当焊接工作完成之后,在机器人R1手抓上添加一个物料M2,与原来手抓上的M1结合在一起,以此来模拟完成焊接工作的效果。

程序中R1的Pickup指令如图4.28所示:
图4.28:机器人R1抓手上的M1与M2相结合的指令
图4.28所示指令中,没有指定物件Little(即:M2)的来源(即:From(No Part)),其效果就是R1手抓上凭空多出一个M2与原有的M1结合在一起,仿真效果上就是M1与M2焊接在了一起。

C)、把一个完整的焊接件模型加载到R1的手抓上之前,需要把原来的M1与M2清除掉,其指令如图4.29所示:
图4.29:清除机器人R1抓手上的M1与M2指令
然后,通过Pickup指令,把一个完整的焊接件模型加载到机器人R1的抓手
上,其指令如图4.30所示:
图4.30:把一个焊接件安装在机器人R1的抓手上
(2)、拓展知识二:如何仿真实现传输两个Machine之间的物件交接过程在许多时候,需要模拟两个Machine之间的物件交接进程。

依据Pickup与Drop指令的上述应用,就可以模拟这类交接过程。

例如:模拟升降机与传输带之间的物件交接过程的描述如图4.31所示。

传输带
物料
升降机
图4.31:物件交接模拟案例示意图
具体任务是:实现升降机把物料由底端升至顶端,然后物料由升降机的顶端进入到滚筒传输带,并沿着传输带向右边传送的仿真。

仿真创建及编程过程如下:
A)、使用Roboguide软件,采用默认设置,创建一个仿真环境;
B)、给环境中添加一个Part1,再添加Machine1,三维图形选择CAD File所弹出文件夹Fixtures下的子文件夹Conveyer里面的模型文件conveyer11.igs(即:库中的文件名及其存放路径为C:\ProgramData\FANUC\ROBOGUIDE\Image Library\Fixtures\conveyer\ conveyer11.igs ),并添加Link1,Part设置用Part1,调整Machine1及Link1;
然后,添加Machine2,三维图形选择文件C:\ProgramData\FANUC\ ROBOGUIDE\Image Library\Fixtures\Pallets\object\pallet01\body.dat,其尺寸参数设置如图4.32所示:
图4.32:Machine2的尺寸设定
仿真环境的场景布置如图4.33所示:
图4.33:场景布置图
C )、再调整Machine2的位置,如图4.34所示:使它刚好处在Machine1:Link1的下方;
Machine1:Link1
Machine1
Machine2: Link1
Machine2
图4.34:调整之后的场景布置图D)、设定Machine2:Link1的其它属性如图4.35所示:
(a)(b)
图4.35:Machine2中Link1的属性设置E)、设定Machine1:Link1的其它属性如图4.36所示:
注意:
-4000
让电机Z轴与
滚轮传输方
向一致
-4000 (a)(b)
(c)
图4.36:Machine1中Link1的属性设置
F)、编写程序代码如图4.37所示,其注解如下:
LBL[1] ;循环标签
DO[2]=OFF ;传输带Machine1上的Link1开始回到0点WAIT DI[4]=ON ;等待滚轮传输Machine1上的Link1回到0点DO[1]=ON ;升降机Machine2上的Link1开始上升
WAIT DI[1]=ON ;等待升降机上升到顶端(700mm处)
Pickup(‘Part1’) From ( ‘Machine2:Link1’ ) ;升降机Link1上的物件消失
Drop(‘ Part1’ ) On (‘ Machine1:Link1’ ) ;把物件放到滚轮传输机的Link1上DO[1]=OFF ;升降机Machine2上的Link1开始下降
DO[2]=ON ;滚轮传输机的Link1载着物件向右走
WAIT DI[3]=ON ;等待物件走到-4000mm处
WAIT DI[2]=ON ;等待升降机降落到0mm处
JMP LBL[1] ;跳转执行下一轮循环
图4.37:程序清单
G)、仿真运行,效果如图4.38。

图4.38:仿真效果图。

相关文档
最新文档