刘广涛 韩昊宏 柏淑军
(长春汽车工业高等专科学校,吉林长春 130013)
工业机器人已成为智能制造的重要组成部分,为服务国家高质量发展战略和人才强国战略,教育部发布的《1+X工业机器人应用编程职业技能等级标准》和人社部发布的《工业机器人系统操作员国家职业技能标准》中均要求从事工业机器人系统集成人员应具备以下能力:1)基于机器视觉系统结合外围设备等配置机器人工作站或系统参数[1];2)能够设计机器人工作站的程序框架或系统的总控程序,完成生产联调[2]。但在技能竞赛和技能鉴定过程中,笔者发现参赛选手或考核人员所设计的程序过于臃肿,且工作效率低下,甚至难以在规定时间内完成考核任务。
ABB机器人视觉工作站是《1+X工业机器人应用编程职业技能等级标准》和《工业机器人系统操作员国家职业技能标准》考核平台[3],同时应用于吉林省技能大赛、中国第一汽车集团有限公司机器人工种考核培训,现已在工业机器人系统集成人员的教学、培训、职业竞赛、技能鉴定中广泛应用。
本工作站由ABB工业机器人、快换装置模块、变位机模块、立体料仓模块和视觉检测模块组成:
1)快换装置模块:主要根据不同的实训目标和操作对象,提供多种不同的快换工具。
2)变位机模块:通过组态IO模块和以太网与PLC进行信息交互,PLC最终根据机器人的命令将变位机运行到指定的位置。
3)立体料仓模块:主要用于储存多种零件,机器人通过数字量输入/输出控制,完成零件的供料和料仓监控。
4)视觉检测模块:对工件位置、颜色等信息进行检测。
现以完成关节部件的装配任务为例进行任务分析。本任务中根据法兰颜色,机器人自动切换工具从立体料仓抓取与法兰同颜色的关节基座和电机完成三套关节成品的装配工作,其任务流程如图1所示。
图1 任务流程图
通过PLC编程软件实现PLC硬件组态、网络地址设定、PLC与机器人通信程序编写等内容。常规上视觉系统与ABB机器人采用Socket通信的方式,劣势在于程序复杂、编程调试效率低下,不利于实际生产作业、竞赛考核等。
本程序设计ABB 机器人与视觉系统采用ProfiNET通信,PLC端编写梯形图程序控制视觉系统数据初始化、相机拍照、颜色及角度识别,可以提高编程效率,提高机器人程序的柔性化程度[4]。
视觉系统由康耐视相机、光源及安装相机控制软件的计算机组成。首先正确安装并连接相机,设置计算机和相机的通信地址,通过命令提示符窗口测试电脑与相机之间的通信;不断调整视觉参数,直到视觉调试软件可以清晰地显像;触发相机拍照,获取相机数据,完成相机对工件形状、位置和颜色的学习和识别,便于工业机器人抓取传送带上不同位置的工件;最后进行相机通信参数相关设置,保证机器人、PLC、相机三者之间通信正常。具体视觉调试流程如图2所示。
图2 视觉调试流程
根据工业机器人作业流程和运动轨迹进行程序设计,编写机器人主程序和子程序[5]。
首先,以数组的形式建立一维点位数据,用数组的形式建立工业机器人运动轨迹的点位数据,有利于通过复制、粘贴的形式简单地修改,以此加快程序编辑速度,有利于后期编辑子程序中使用形参进行调用。
其次,需要建立工业机器人工具抓放程序、工件搬运程序、工件装配程序,本任务涉及弧口工具、平口工具、吸盘工具的抓放工序,按照常规的编程方式,仅工业机器人自动拾取工具一项便需要建立6个子程序,程序臃肿、效率低下。所以本程序设计通过数组、偏移、内部形参变量的形式将6个子程序合成1个程序即带参子程序,不仅提高了程序柔性化程度,还可根据任务赋值参数调用子程序,实现不同的任务流程和工序。
最后,建立VAR num p、VAR num s,通过赋值变量p控制tp工具示教点位中的运动点位,通过赋值变量s到程序yv12(num p,num s)中应用TEST...CASE指令实现分支走向的判断,其中CASE1实现快换装置弹珠伸出,CASE2实现快换装置弹珠缩回。子程序pt(num p,num s)在主程序调用中,通过主程序实现对于VAR num p和VAR num s的赋值,实现指定工具的抓取及放下。以工具抓放程序为例,程序如下:
PROC pt(num p,num s)//抓放工具程序
MoveAbsJ hNoEOffs, v150, z50, tool0;//回原位
MoveL Offs (tp {p},0,100,120), v150, z50,tool0;//过渡点
MoveL Offs(tp{p},0,0,120),v150,z50,tool0;
MoveL Offs(tp{p},0,0,0), v50, fine, tool0;//目标点
yv12 p,s;//快换装置弹珠伸缩控制子程序
MoveL Offs(tp{p},0,0,120),v150,z50,tool0;
MoveL Offs (tp {p},0,100,120), v150, z50,tool0;
MoveAbsJ hNoEOffs,v150,z50,tool0;//ENDPROC
PROC yv12 (num p,num s)//快换装置弹珠伸缩控制子程序
WaitTime 1;
TEST s//条件判断
CASE 1://s等于1时执行
Set YV2;//信号YV2置1
Reset YV1;/信号YV2置0
CASE 2://s等于2时执行
Set YV1;//信号YV2置1
Reset YV2;//信号YV2置0
ENDTEST//条件判断结束
WaitTime 1;ENDPROC
工业机器人根据视觉系统反馈的法兰颜色对料仓抓取位置进行判断时,采用TSET条件判断指令结合系统中自定义数据datain.data1的状态进行识别,另外因为关节底座是按照要求固定摆放,所以根据datain.data1的状态,分别调用带参数子程序pc(num p,num s)。比如视觉识别当前法兰颜色为红色,datain.dat=1,此时机器人需要抓取料仓第一排第一个库位的红色关节底座,所以将变量p赋值为1,变量s赋值1,调用程序(pc 1,1)。红色关节部件成品装配完成后按照要求需将成品放回料仓第二排第三个库位,所以调用程序(pc 3,2)。
主程序编程如下:
PROC main()
MoveAbsJ hNoEOffs, v300, z50, tool0;//机器人回原位
pt 1,1;//抓取弧口工具
v 1,1;//触发视觉拍照
WaitTime 2;
TEST datain.data1//判断视觉反馈数据判断法兰颜色确定抓取位置
CASE 1:
pc 1, 1;//机器人抓取料仓库位1的关节底座
CASE 2:
pc 2, 1;//机器人抓取料仓库位2的关节底座
CASE 3:
pc 3, 1;//机器人抓取料仓库位3的关节底座
ENDTEST
pz1 1,2;//机器人将关节底座放置到变位机
WaitTime 1;
Set EXDO2;
Reset EXDO3;//变位机气缸伸出固定关节底座
int;//机器人工具开合信号初始化
pt 1,2;//放下弧口工具
pt 2,1;//抓取平口工具
WaitTime 2;
TEST datain.data1//判断视觉反馈数据确定法兰颜色
CASE 1:
pc 6,1;//机器人抓取料仓库位6的电机CASE 2:
pc 5,1;//机器人抓取料仓库位5的电机CASE 3:
pc 4,1;//机器人抓取料仓库位4的电机ENDTEST
pz1 2, 2;//机器人将电机放置到变位机处关节底座中完成装配
int;//机器人工具开合信号初始化
pt 2,2;//放下平口工具
pt 3,1;//抓取吸盘工具
pv 1,1;//抓取法兰工件
pz2 1, 2;//机器人将法兰放置到变位机处完成关节部件装配
int;//机器人工具开合信号初始化
pt 3,2;//放下吸盘工具
pt 1,1;//抓取弧口工具
Set EXDO3;
Reset EXDO2;//变位机气缸缩回释放关节底座
WaitTime 1;
pz1 1,1;/机器人将关节成品从变位机处取回
TEST datain.data1//判断视觉反馈数据判断法兰颜色确定放回位置
CASE 1:
pc 1, 2;//机器人将关节成品放回料仓库位1
CASE 2:
pc 2, 2;//机器人将关节成品放回料仓库位2
CASE 3:
pc 3, 2;//机器人将关节成品放回料仓库位3
ENDTEST
int;//机器人工具开合信号初始化
pt 1,2;//放下弧口工具
MoveAbsJ hNoEOffs,v300,z50,tool0;ENDPROC
本任务来源于汽车行业真实的技能考核案例,通过设计带参机器人程序、主站PLC程序和视觉检测系统等,实现模块化、标准化、柔性化地完成标准化关节部件装配、定制化关节部件装配和自动化装配入库功能。本文所设计的程序不仅可以有效提高编程调试效率,大幅度提高生产节拍,更能实现一程序多流程、一框架多场景的应用,为企业技术人员设计真实产线程序框架标准提供了较为有效的思路。