基于激光视觉的焊接机器人离线自动编程技术

2021-08-10 02:33周方明蒋尊宇陈琪昊裴永强陈维鹏
关键词:控制柜离线编程

周方明,蒋尊宇,陈琪昊,周 磊,裴永强,陈维鹏

(1.江苏科技大学 江苏省先进焊接技术重点实验室,镇江212100)(2.中国船舶海洋动力部件有限公司,上海 201306)(3.南京合信智能装备有限公司,南京 210000)

随着先进制造技术的发展,实现船舶焊接制造的自动化与智能化已是必然趋势[1].机器人焊接编程方式主要是示教编程和离线编程[2].示教编程工作效率低,由于柴油机机座内部焊缝较多,多为K型坡口的立焊和横焊焊缝,均需多层多道焊接,焊接工艺复杂,且柴油机机座尺寸较大、结构复杂,缸内空间狭小,人工操作不便,示教编程难以满足生产需求.虽然传统离线编程效率高,但在实际的焊接中会因为柴油机机座的装配、摆放导致焊缝实际位置与仿真环境的中不一致,应用性差.实际应用中需反复更改工件坐标,以解决此问题,降低了生产效率和焊接质量.因此,在柴油机机座的焊接中,需精确定位焊缝.文献[3]采用视觉辅助的离线编程机器人去毛刺技术,通过视觉提取工件边缘信息与离线编程的轨迹调整,可以有效提高机器人去毛刺的加工质量.文献[4]通过结合离线编程技术和三维视觉技术,克服了离线编程需预先在仿真环境中确定工件坐标,实现了与环境和模型无关的自动机器人制造平台.国外的商用离线编程软件,如:Robotstudio、Roboguide等均有视觉跟踪功能,但只针对各自品牌的机器人.上述文献技术均缺少工艺参数自动发送和焊接监控模块.

文中提出了一种基于激光视觉的焊接机器人离线自动编程技术,该技术无需通过示教方式对离线程序修改,从而提高了工作效率.该技术包括5个模块:激光视觉模块、自动编程及仿真优化模块、焊接监控模块、焊接参数发送模块、通信模块[5].

其中,激光视觉模块是通过相机对打在焊缝上的激光条纹进行图像处理得到焊缝特征信息,以实现焊缝的定位与跟踪[6].自动编程及仿真优化模块,采用离线编程软件RobotMaster[7]生成寻位程序,对寻位程序添加视觉寻位功能,实现焊缝的寻位与跟踪[8].焊接监控模块和焊接参数发送模块均采用Delphi开发[9],焊接监控模块用于实时监控焊接参数的变化.焊接参数发送模块用于查询每种焊缝的工艺参数并发送给机器人[10-11].本系统不仅具有离线编程效率高的特点,还实现了发送焊接参数及焊接参数实时监控功能,提高了机器人焊接生产效率、保证了焊接质量.

1 焊接机器人离线自动编程系统

1.1 系统硬件

焊接机器人系统主要包括FANUC机器人M-10iA、3个直线移动的外部轴、机器人控制柜、TPS5000焊机、送丝机等;激光视觉系统主要包括FUJI-CAM相机、控制盒、通信线等;发送参数模块包括上位机、下位机程序,以太网等;PLC系统包括PLC控制柜、清枪剪丝站、安全报警装置、安全门报警装置,工作站如图1.

图1 龙门架机器人焊接工作站(带工件)Fig.1 Gantry robot welding station (with workpiece)

1.2 系统工作原理

如图2,基于激光视觉的焊接机器人离线编程系统一般步骤为:首先,绘制待焊工件的三维图,将其导入RobotMaster中,仿真运行并生成离线寻位程序;其次,通过Delphi开发的上位机界面查询焊接工艺参数并将参数发送至机器人控制柜中;接着,对离线程序添加视觉寻位功能和多层多道焊功能.最后,将程序以FTP的形式发送到机器人控制柜中,运行机器人.在运行机器人至焊缝起始位置时,激光视觉传感器会自动搜索起始焊位并实时跟踪焊缝.

图2 基于激光视觉的焊接机器人离线编程系统流程Fig.2 Flow chart of offline programming system for welding robot based on laser vision

2 系统功能模块

该系统主要包括5个模块:激光视觉模块、离线自动编程及仿真优化模块、焊接监控模块、焊接参数发送模块、通信模块.

2.1 激光视觉系统

此次系统研制所用的激光视觉产品是加拿大赛融公司生产,本系统所使用的激光视觉产品由半导体线性激光发生器、带滤光视觉传感器(CCD)、高速图像处理系统以及空冷装置等辅助设备构成.激光与焊枪安装位置如图3.根据该系统的技术文件,可检测的有效距离是59~199 mm,即焊丝至工件坡口内角的有效距离为17~157 mm,激光视觉传感器和焊枪的夹角为15°,当焊丝与工件坡口内角的距离为80 mm时,通过三角关系可计算出激光条纹与焊丝的垂直距离:L=43.56 mm.离线编程时,将焊接起始点和以TCP坐标的Z方向偏移+80 mm,X方向偏移-43 mm,搜索的焊接结束点依据焊缝长度而定.

图3 激光视觉传感器与焊枪的位置关系Fig.3 Positional relationship between laser vision sensor and welding torch

确定激光传感器的安装位置后,通过自动标定法建立激光传感器与机器人工具坐标之间的位置关系,以此为基础进行坐标变换.如图4,激光条纹反映了焊缝坡口的轮廓形状,通过设定相机的算法及相关参数,如:坡口角度、角度容差、焊缝类型、间隙检测等,焊接机器人便可获取真实焊接作业环境中的焊缝中心位置数据,从而实现焊缝的寻位与跟踪.

图4 激光寻位Fig.4 Laser positioning

2.2 离线自动编程及仿真优化模块

本模块采用RobotMaster软件实现机器人路径优化及生成离线寻位程序.将工作站的三维模型导入到MasterCam中配置龙门架机器人工作站和焊枪,并校正了此仿真场景的外部轴和焊枪.

Robotmaster具有自动提取焊接路径的功能,通过选择焊接路径和设置焊枪角度,生成焊接路径.接着,通过设置偏移角度的正切角度和Z方向值对焊接路径偏移,如图5.

图5 路径偏移Fig.5 Path offset

焊接路径设置后,进入龙门架焊接机器人工作站仿真界面,如图6.激光视觉传感器的安装位置位于焊枪TCP的X轴正方向的正前方,故需将焊枪TCP的X轴正方向与寻位路径正方向一致.通过Robotmaster的轴配置设置为Z轴不旋转、工具旋转设置一定角度,使焊枪TCP的X轴正方向与寻位路径正方向一致.

图6 仿真运行Fig.6 Simulation run

在现场,机座典型接头根据离线编程的设计要求放置.将离线编写的机器人焊接程序下载至机器人控制柜中,单步运行机器人至焊缝的编程起点位置时,测量该位置与实际的焊缝起点位置之间的偏差,如表1.根据表1的数据,仿真工作站与实际工作站TCP偏差较小,当工件位置发生变化时,影响较小.

表1 TCP偏差Table 1 TCP deviation

在实际机座应用中,经多次对比,离线自动编程效率相对示教编程提高约30%.

2.3 焊接监控模块及参数发送模块

焊接监控模块和参数发送模块的实现,需完成上位机界面与下位机程序的开发.上位机界面的开发采用Delphi开发,下位机程序的开发采用C#开发.通信前,需设置机器人与上位机的IP地址和端口号一致.

2.3.1 焊接监控模块的下位机程序及上位机界面

焊接监控模块的下位机程序块有:sock_conn(连接上位机的主程序名)、判读读写是否异常、weld_data(获取焊接参数的主程序名)、Cpos(获取机器人当前位置的主程序名)、get_buffer(各种参数转换成字符串并写入buffer)、socket_write(发送的主程序名).其中,weld_data和get_buffer的程序如下:

代码1 weld_data的代码

Code1 Code for weld_data

GET_VAR(entry,′AWE1WP01′,′SCH[1].$FDBK_VOLTS′,volts,status);

GET_VAR(entry,′AWE1WP01′,′SCH[1].$FDBK_AMPS′,amps,status);

代码2 get_buffer的代码

Code2 Code for get_buffer

CNV_REAL_STR(lpos[1].x,5,3,buffer[1]);

CNV_REAL_STR(lpos[1].r,5,3,buffer[6]);

CNV_REAL_STR(volts,3,1,buffer[7]);

CNV_REAL_STR(amps,3,1,buffer[8]);

数据库软件采用Microsoft SQL Server 2008.焊接监控模块的主要功能是实时绘制焊接电流、电压变化曲线和保存焊接参数至数据库中,如图7.本系统是通过TCP/IP协议建立与机器人的socket通信,机器人实时发送焊接参数及机器人位置数据至上位机,上位机接收并保存焊接参数,便于焊后焊接质量的分析与改进.

图7 机器人焊接监控系统界面Fig.7 Interface of robot welding monitoring system

2.3.2 焊接参数发送模块的下位机程序和上位机界面

参数发送模块的下位机程序,其主程序名是socket、get_parm、job_mode、set_parm,分别代表连接上位机、接收上位机发送的参数、设置工作模式、设置接收的参数.其中,get_parm和set_parm的程序如下.get_parm从上位机界面获取的参数是八位字符串.

代码3 get_parm的代码

Code3 Code for get_parm

CNV_STR_INT(STR_VAR,INT_VAR);RWELD=INT_VAR DIV 1000000;INT_VAR=INT_VAR-ROUND(RWELD)*1000000;SCH=INT_VAR DIV 10000;

INT_VAR=INT_VAR-ROUND(SCH)*10000;

AMPS=INT_VAR DIV 100;

WSPEED=INT_VAR-ROUND(AMPS)*100;

代码4 set_parm的代码

Code4 Code for set_parm

SET_VAR(entry,str_rweld,str_sch+′.$CMD_AMPS′,amps,status);

SET_VAR(entry,str_rweld,str_sch+′.$CMD_WSPEED′,wspeed,status);

参数发送模块的界面,如图8.焊接参数以字符串的形式发送至机器人控制柜中.该方式发送焊接参数,相对于反复查询工艺手册的方式,效率明显提高.

图8 焊接参数发送界面Fig.8 Interface of welding parameter sendingm

2.4 通信模块

通信模块主要是实现主控计算机与机器人控制柜的通信,完成程序的传输、焊接参数的接收与发送等.机器人与主控计算机采用以太网通信,通信模式是TCP/IP协议,仿真后生成的离线程序,经修改编译后,通过FTP下载至机器人控制器中.运行该程序,控制机器人运动并焊接.

3 试验验证

根据焊缝类型和焊道,通过焊接参数发送模块查询待焊工件的工艺参数,确定焊道编号和焊道分别为01、01,通过以太网将焊接参数发送至机器人控制柜中;

通过RobotMaster离线编程软件,对焊接起始点以TCP坐标的Z方向偏移+70 mm,X方向偏移-43 mm,仿真优化焊接路径并生成离线程序,通过二次加工生成具有激光视寻位和多层多道焊功能的程序.编译后,将程序以FTP通讯下载至机器人控制柜中.

经偏移试板,使焊缝的位置在三维空间中发生变化,再次运行程序,能精确定位焊缝位置并实时跟踪.运行机器人完成底板与侧板的焊接实验,焊接效果如图9.实验表明:该技术能有效解决因工件位置发生变化,导致离线程序在焊接实行生产中不能正常使用,实现了焊缝的精确定位与跟踪.

图9 起始搜索点和焊接结果Fig.9 Initial search point and welding results

4 结论

(1)本研究获得的基于激光视觉的机器人离线自动编程系统,通过离线寻位程序和激光寻位系统,可有效解决因工件位置的不同,导致离线软件不能在焊接生产中正常使用的问题,实现精确定位焊缝.

(2)本研究系统的焊接参数发送模块和焊接监控系统模块,是通过Delphi开发的上位机界面和C#开发的下位机程序共同实现的.其中,焊接参数发送模块无需查找焊接手册来确定焊接参数,可直接发送参数至机器人控制柜中,使得操作便捷;焊接监控系统模块,能实时监控焊接参数及机器人位置,并保存焊接参数到数据库中,便于焊后焊接质量的分析与改进.

(3)在柴油机机座生产中,应用本研究获得的基于激光视觉的机器人离线自动编程系统,焊接生产效率提高30%以上.

猜你喜欢
控制柜离线编程
动力集中电动车组综合控制柜热分析计算
带有伺服放大器和变频器控制柜的散热计算案例
异步电机离线参数辨识方法
编程,是一种态度
元征X-431实测:奔驰发动机编程
浅谈ATC离线基础数据的准备
编程小能手
纺织机上诞生的编程
电梯控制柜静电放电抗扰度检测技术应用
FTGS轨道电路离线测试平台开发