智能远距离激光切割控制系统设计与研究
2020-04-22杜勇吴军覃绍先罗鸣张志强曾庆影
杜勇,吴军,覃绍先, 罗鸣,张志强,曾庆影
(1. 国网湖北省电力有限公司 检修公司,湖北 武汉 430050; 2. 中国科学院光电研究院半导体泵浦激光工程中心天津分中心 研发中心,天津 300304; 3. 中科和光(天津)应用激光技术研究所有限公司 研发部,天津 300304;4. 北京鑫金电科技有限公司 技术部,北京 101100; 5. 天津大学 电气自动化与信息工程学院,天津 300072)
0 引言
智能制造技术已经引起广泛关注[1]。激光切割具有切割速度快、切割效率高、切割面光滑、热影响区域小等优点,已经得到广泛应用[2-3]。高空铁塔在安装过程中,会出现安装孔位错位的现象,需要进行高空切割扩孔,传统做法是工人带着切割设备在高空手工操作,效率低,难度大,时间长,且操作人员会面临安全问题。将激光切割应用到高空角钢扩孔切割中,可解决以上问题,激光器技术已经比较成熟,但控制系统需要根据应用场景进行智能化设计,从而达到提高效率、降低施工风险的目的。
采用机器视觉技术可实现智能化、自动化切割作业。机器视觉以计算机、相机、光源等硬件为基础,通过图像处理,代替人眼进行物体的识别[4-5]。国外对机器视觉应用的研究较早,且处于领先地位。如NAGATOU T、CAN N、MUSCHELLI J等人将机器视觉用于生产线识别、焊点检测和CT图像识别等方面,且取得很好的使用效果[6-8]。国内对机器视觉应用的研究近几年发展较快,应用范围也较广,如零件表面质量检测、目标识别、路径规划等方面[9]。
控制系统中采用机器视觉技术进行切割区域识别、切割路径规划,上位机根据机器视觉给出的路径控制电机运动,从而带动激光切割头完成切割动作。
1 目标场景
在电力铁塔安装过程中,需要将角钢连接起来。一般采用螺栓连接,但两角钢螺栓连接处的预置孔经常出现错位,如图1所示,两个孔位未能对齐,紧固螺栓无法穿过。为了实现螺栓穿过,就要将错位的一侧角钢孔按照另一侧孔进行切割扩孔,以达到螺栓穿过两角钢的目的。本文旨在设计一种智能远距离激光切割控制系统,以实现高空智能钢板切割扩孔作业,满足螺栓穿过两孔位,完成锁紧作业。
图1 两孔错位
2 硬件控制系统设计
硬件系统主要包括PC机、工业相机及光源、位移传感器、电机及驱动控制器,如图2所示。
1—电机及驱动控制器;2—x轴;3—z轴;4—y轴;5—激光切割头;6—位移传感器;7—工业相机及光源。图2 硬件搭建示意图
工业相机是代替人眼用来做测量和判断的。通过数字图像摄取目标转换成图像信号,传送给专用的图像处理系统,图像系统对这些信号进行各种运算并抽取目标的特征。本系统中用来提取待切割工件的切割路径。光源采用环形光源,环形光源是与工业相机同轴安放的,与待测物体距离合适时,可大大减少阴影、提高对比度,实现大面积荧光照明。环形光源对检测高反射材料表面极佳,适合于角钢。
采用激光测距原理的位移传感器,精度达到了0.01mm,用来测定激光切割头与待切割角钢的距离,将距离信息发送给上位机,以控制电机,使得激光切割头到待切割位置保持一定的距离,保证切割质量。
电机及驱动控制器采用步进电机,此驱动控制器提供基于CAN总线控制,可以轻松实现多达120个节点的工控网格系统,可实现基于编码器的闭环控制。
此外控制系统还包括限位、故障报警等功能。
3 软件控制系统设计
3.1 控制系统功能要求
针对激光切割的具体要求,控制系统需满足以下3点要求:
1) 能够实现切割路径规划;
2) 能够给出激光切割头到待切割件的距离,并将距离信息传递给电机,从而控制激光切割头出光口与待加工件距离;
3) 能够实现三轴联动,完成插补运动。
3.2 控制系统工作流程设计
为了实现自动、精确地识别作业,上位机软件需要控制三维导轨的运动和激光器的出光,并通过工业相机传回的图像进行识别,自动转换坐标来进行切割作业。
在程序设计中,要求程序启动后,先进行视觉设备、激光设备、电机设备、传感器设备等相关设备的初始化和接入。基于程序的健壮性和操作的安全性考虑,在进行下一步操作前,设备状态的检查是必须的。设备状态正常接入后,通过视频展示窗口,引导客户通过界面操作电机去寻找目标孔位,待目标孔位进入识别区域后,进行图像识别操作,并在界面展现识别结果,便于下一步操作。
在确认视觉识别出的目标区域无问题后,程序会自动进行下一步的画圆操作。先按照顺时针方向确认起始点,通过激光位移传感器控制激光作业有效高度,控制电机的PVT模式进行画圆操作。在此期间,有任何异常,用户都可以用电机停止键来终止操作。在用户确认视觉识别效果后,之后的操作都是程序自动控制,只需要用户观察状况,必要时进行紧急停止操作即可。
具体流程设计如图3所示。
3.3 机器视觉程序
机器视觉程序采用Microsoft Visual Studio 2015环境,结合OPENCV3.3.0版本,来实现螺孔的识别以及切割点的查找和定位计算。
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效率,由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,可实现图像处理和计算机视觉方面的很多通用算法。
计算机视觉市场巨大而且持续增长,且这方面没有标准API,而OpenCV致力于真实世界的实时应用,通过优化的C代码编写对其执行速度带来了可观的提升,并且可以通过购买Intel的IPP高性能多媒体函数库(integrated performance primitives)获得更快的处理速度。本文所述的机器视觉程序主要步骤如下:
1) 首先划定感兴趣区域,确保待切割孔位在区域之内;
2) 对原图进行拉普拉斯变换,增强图像边缘差异;
3) 进行膨胀操作,放大边缘区域;
4) 阈值分割,突出边缘;
5) 找出最大面积的原型,即现实中的上层钢板的孔位,此处得出的原型标记为圆1;
6) 根据5) 找出的孔位,在拉普拉斯变换图像基础上,进行阈值分割;
7) 找出轮廓,合并相近的轮廓,提取出最大的轮廓;
8) 通过轮廓得出拟合圆,此圆标记为圆2,拟合出来的弧即为待切割弧,也是切割路径;
程序控制流程如图3所示,实现效果如图4所示,分割小图片下方数字对应上文中的算法步骤。
图3 控制流程图
图4 机器视觉算法步骤
3.4 电机程序
电机控制程序基于微软.Net平台,采用C#语言进行编写。因为电机导轨在平面上是二维的,在已知半径和圆心的情况下,只能通过移动x轴和y轴来得出一个圆形。这就需要将一个圆分成360个节点或者720个节点或者1080个节点来画圆,划分节点数越多,画出的圆越精细。当然也要看导轨电机能控制移动的最小精度。
取圆上任意一点Pos(x,y)为坐标,设圆半径为R,下一点与圆心的直线与Pos与圆心的直线夹角为θ。从而可知,y轴移动相对位置为Rsin(θ)。x轴位置为R-Rcos(θ)。从而得出x周步进距离为abs(x-x1),y轴步进位置为abs(y-y1)。为了精确控制,位置坐标采用double类型,传递给电机步进时采用floor函数向下取整。
3.5 控制系统用户软件设计
设计的用户界面如图5所示。
图5 UI界面
图5中:① 区为电机基本通讯参数设置区域;② 区为电机综合控制区,用于控制电机的基本操作,确保电机状态正常;③ 区为PVT模式控制区,用于结合图像识别的结果进行PVT模式画圆操作,其中,目标圆半径可以被调节;④ 区为电机位置模式控制区,用于引导用户找到螺孔,保证视觉算法获取到正常的图片;⑤ 区为图像展示区,采用高分辨率成像,方便用户识别孔位是否正常;⑥ 区为激光位移传感器控制区,用于展示激光位移传感器状态和数据;⑦ 区为激光设备控制区,到达切割区域后,通过控制激光器来进行切割。
4 控制系统实验测试
将PC置于切割现场30m远处,用电线和信号线连接切割设备。通过控制软件控制三轴电机联动。在引导用户找到孔位后,经过若干次测试,确定了光源电压、识别距离、阈值分割等机器视觉参数,识别率可达99%以上。结合机器视觉识别结果,进行光学坐标和实际坐标转换,并联动电机。控制位移传感器出光口绕切割路径移动,记录距离信息。根据距离信息将激光切割头出光口移动到切割路径起始点上方0.7mm处,按照识别的路径画弧。
设置的目标孔直径为10.12mm、15.06mm、20.08mm、25.04mm,多次测试后发现,激光切割头路径的直径及测试结果如表1所示。
表1 测试结果 单位:mm
由表1可见,激光切割头走过的切割路径弧直径误差在±0.05mm以内,误差较小,完全满足激光切割需求。
5 结语
实现了通过机器视觉技术识别规划切割路径;实现了激光切割头按照切割路径进行运动;实现了三轴联动、插补运动;实现了远距离控制。经测试,激光切割头智能化运动误差在±0.05mm以内,效果较好,可满足下一步将要进行的激光切割要求。本系统智能化程度高,为激光设备或者其他加工设备实现智能化操作提供了参考。