曹 翀,陈 阳,刘振国,郭 瑞,李晓会
(北京机械工业自动化研究所有限公司,北京 100120)
随着科学与技术的迅猛发展,对于产品焊后检测的要求更加细致及规范,要求也不断提高,设计人员及项目调试人员都希望能提供更加及时快捷方便的焊后检测产品。但传统的拍照视觉焊后检测往往在以下几方面困扰着工程师们:1)焊接时不可避免的会产生焊渣,细小的焊渣会影响产品的安全性和稳定性,但对于平面拍照检测来说,很难将焊渣与产品表面的污渍、划痕进行有效区分。2)很多焊接由于工艺要求,需在焊接过程中加入保护气,而焊接过程中使用保护气会在产品表面留下黑色痕迹,导致传统的平面拍照检测相片背景不干净,结果不稳定。3)平面拍照检测不能检测焊接高度,所以也不能通过焊缝的体积来对焊接效果进行评估,得到焊接效果的评价。
采用新的焊后检测系统,能够及时、快速、准确地完成焊后检测工作,对工业自动化焊接势在必行。为应对系统使用方新的要求,开发一个新的焊后检测系统成为必要。该系统的开发,汲取国内外先进焊后检测系统的经验与精华,以3D视觉为基础,把焊接高度、焊接宽度、焊接长度、漏焊、缺焊等工作通过软件快捷的实现,使焊后检测变得精准直观。
通过3D焊后检测系统,工厂使用方可以直观的在上位机界面看到焊接产品的3D模型结果,当有焊接不合格产品时,系统能自动红灯报警,界面直接显示不合格焊接点的位置,可单独查看不合格焊接点的3D/2D检测结果图并红色标注不合格原因及不合格区域,焊接信息上传MES系统等功能模块,将传统的焊后检测业务流程“一站式”实现,有效解决了传统焊后系统检测过程复杂、效率低、安全性差的缺陷,大大提高了检测效率。
三维视觉技术主要包括双目立体视觉和结构光三维视觉等。同时三维视觉技术依据使用场景的光照条件可以分为被动和主动两类[1]。被动三维视觉技术是使用场景已有的光源设备对被拍物进行照明,而主动三维视觉技术是使用特殊的光源设备对被拍物进行照明。显而易见的是被动三维视觉技术受外界光影响较大,适用于高度差较大的检测工件。因为本系统检测的焊点高度较小,约为0.5mm,故本系统采用主动三维视觉技术。主动三维视觉技术的基本思想是利用特定的、人工控制的光源和声源照射目标,并根据目标表面的反射特性、光学特性和声学特性获得目标的三维信息[2]。
结构光三维视觉的原理是光学三角测量。如图1所示,投影机将结构光投射到被检测物体表面上,从而形成由被检测物体的表面形状调制的三维图像。投射器在另一个位置检测三维图像,从而获得灯条的二维失真图像。当投影机和投射器之间的相对位置固定时,扭曲的二维失真图像坐标可以再现物体表面的三维轮廓。结构光三维视觉系统由光学投影仪、摄像机和计算机系统组成[3]。
摄像机坐标系与模块坐标系的空间位置关系可用下式表示:
其中(r1,r4,r7)、(r2,r5,r8)和(r3,r6,r9)分别表示坐标系OL-xLyLzL的xL轴,yL轴和zL轴的方向向量。
然而,上述公式不能从照相机的二维图像点坐标(X,Y)中获得唯一对应的三维物体点坐标(xL,yL,zL),并且需要方程的附加约束来消除这种模糊性。因此,模块坐标系下的结构光平面方程(注意:其建立是任意的)设置如下:
通过以上推理,可以看出工件上任意点的不同高度在点结构光模式下形成许多相似的三角形几何约束,并代表独特的姿态。此外,该点可用于通过使二维光条图像与高度扭曲的扫描工件相协调来重建物体表面的三维轮廓。
3D视觉焊后检测系统主要由以下几部分组成:固高三轴机器人本体与控制器,康耐视公司3D视觉DS1050R及控制器1套,西门子PLC S7-1200以及显示器。本系统视觉采用移动式安装,固定在三轴机器人手爪上跟随手爪移动。系统通过PLC进行集成,实现系统控制,不同设备支持的通信协议(工业以太网、CC24等)不同,具体的通信方式需要根据实际情况选择。硬件平台如图2所示。
图2 焊后检测系统硬件平台
固高三轴机器人作为负载3D扫描枪的机构,除了在工作时负载3D视觉采集器运动,采集图像数据以外,还需要控制器的伺服驱动器能够实时向视觉控制器传送ABZ的相位差信号,来确定视觉控制器运动距离。视觉控制器通过接收Y轴伺服控制器的信号来处理扫描图像组成。
Cognex公司的DS1050传感器负责对焊接后的电池模组进行扫描图像,通过红外扫描后的反光,得到工件表面的高度差信息,通过每条线的高度差信息组成了整个工件焊接表面的图像信息。同时该传感器可处理对分辨率要求高且需要扩大测量范围的各种多样化三维应用。DS1050在包含2D视觉工具的基础上又提供了检测三维高度、体积等三维工具。通过上述工具将复杂的机器视觉需求转化为易于维护的解决方案。客户在没有熟练程序员的帮助下能够以目前最快的速度为最具挑战性的三维应用创建和部署完整的解决方案。
三维传感器上的三维位移传感器采用激光三角技术来获取扫描部件的三维信息。无论对比度或照明条件如何,位移传感器都可以对部件进行精确检测。从而保证了整个焊后系统照片采样的稳定性。
配套的检测系统控制器选用Cognex VC5视觉控制器,最多可控制四个三维传感器并且能够在车间内实现通信。控制器预装易于配置的全新软件架构Cognex Designer™,能简化三维应用开发又可以创建专业化外观的图形用户界面。
西门子PLC负责向三轴机器人和视觉控制器传递工件到位信号,接收采集图片完成信号以及将最后采集的结果上传至MES系统中。通讯方式方面:西门子PLC通过PROFINET协议与固高控制器进行通讯,西门子PLC通过CC24通讯与相机DS1050控制器进行通讯。
图3 系统结构图
3.2.1 PLC交互数据功能模块
该模块在每天开机后先接收触摸屏发出的初始化位指令,调动三轴机器人回原点,对程序中的标志位统一进行清除。初始化完成后,向触摸屏传递初始化完成信息。当PLC传输过来工件到位信号时,系统控制三轴机器人按照程序运动,采集工件焊接信息,当工件上所有的焊接点信息采集完毕后,交互数据功能模块将采集到的焊接检测信息通过PLC上传MES,同时发送检测完毕信号。
3.2.2 图像处理模块
图像处理模块可以对采集到的图像进行保存,并能对图像进行平滑性处理。由于实际焊接中焊点图像由于保护气及产品材质原因,常有黑色痕迹产生,导致拍照图像灰度值不一。通过cogtoolFix算法对图像上每个3×3矩阵像素进行均值处理,工件采集照片中差异不大的灰度值会被过滤掉。使得图像背景更为干净,测量结果更加准确。
3.2.3 焊接点图像检测模块
首先对图像处理模块处理好的工件图像进行分割,查找到工件上12个铜排焊接区域。将查找到的12个焊接区域每个区域分割成单独待检测的模块,并按照Y轴坐标从小到大依次排列。然后对每一个单独的焊接点图像通过特征图形进行查找是否有漏焊,缺焊现象。如果有漏焊,缺焊现象,相机直接将区域缺焊信息上传MES,进行错误信息记录并报警。如果没有检测到漏焊缺焊现象,则开始记录焊接高度,测量焊缝宽度是否符合系统界面设定的焊接宽度输入区间。如果宽度不符合,作为错误信息,报警且上传MES。高度,宽度信息检测后,系统通过焊缝与焊接标志位的距离测量来比对是否有焊偏,通过对高度和阴影的检测,确认焊缝中是否有毛刺现象。如果有焊偏,毛刺现象,相机直接将错误信息上传MES,进行错误信息记录并报警,同时将问题图片上传至界面供工人查看。图4为焊缝的高度检测,通过高度检测结果可以直观的得出,此焊缝的最大高度为0.269mm,最小高度为0.267mm。图5为焊缝的宽度检测,通过宽度检测结果可以直观的得出,图示取样的位置宽度为2.51mm。
3D视觉焊后检测系统上位机界面开发是在Linux环境中进行,主要由于Linux操作系统占内存少、精简、稳定、适合开发等优点。界面运用Qt使用C++语言进行编程。
图4 焊缝高度检测
图5 焊缝宽度检测
界面分为主页面、详细结果页面、工具页面和结果页面。用户可通过鼠标点击对应页面的按钮直达想要查看的页面。
4.2.1 主页面
开机后显示的第一个界面即为主界面。点击主页面下按钮可进入功能界面。按钮上方两组蓝色方框,当有工件扫描之后,扫描出来的3D照片会显示在蓝色方框中。鼠标指针停留在照片上的位置,会以蓝色方框下的XYZ坐标值的方式显示。绿色小圆点0~11代表工件上的12个焊接点,当检测出焊接点问题时,绿色圆点会变红。右侧上方是检测参数调整框,当有参数调整需求时,可以直接在方框内输入要更改的数值。右侧下方的结果框,当检测一个工件整体,发现有问题时,对应的焊接问题右边的绿色指示灯会变红。点击详细结果按钮会查看到24个焊接点中,每个焊接点的详细信息。
4.2.2 详细结果页面
在此页面中,用户可在左侧看到24个焊接点的焊接错误信息,每当有焊接问题检测到时,对应的焊接问题指示灯变红。3D焊后检测系统能检测到漏焊、焊穿、焊偏、焊接宽度和高度,共五种问题。用户可以清楚直观地看到,当有焊点错误出现时,问题焊点位置,焊点具体问题。并可以通过工具页面对有问题的工件直接查看焊点图片。
4.2.3 工具页面
在图像保存设置栏中,勾选保存图像框或保存结果数据框,则系统可以自动将采集到的照片或最后结果数据信息保存到指定的文件夹中。如果想更改保存路径,则点击右侧的浏览按钮,重新选择照片保存的文件夹。点击清空结果,则保存路径文件框中当前显示的文件夹里,所有照片和数据都会被删除。如果想将数据输出到其他存储设备,则选择输出CSV按钮,选择存储设备路径,进行文件转移。离线仿真设置框主要用于查看以前工件的信息。勾选仿真器后,每次运行都会读取图像文件名栏显示的文件。勾选测试全部极柱,则将12个焊接点都检测一遍。如果不勾选,则检测测试极柱号栏中的极柱号焊接点。参数设置栏中黑斑阈值是用来检测焊穿孔信息。白斑阈值是用来检测缺焊信息。
4.2.4 结果页面
当检测完成时,系统会将检测到的焊接点信息按照编号,将焊接问题、测量的焊接长度和宽度通过PLC进行上传。在结果页面中,通过工件上二维码的信息查询可以直接调出该工件进行焊后检测时上传的测量信息,问题信息,方便用户回溯问题工件信息记录。同时根据工件二维码可以在照片记录文件夹中通过查询功能找到保存的工件焊后检测图片。通过图片仿真功能,用户可以调出工件采集的照片进行重新分析,修改参数。
三轴机器人携带3D视觉采集头对工件表面扫描,从而得到工件焊接点所在表面图像,将整体图像按照焊接点分割为24个小图像,对小图像进行图像处理,去除干扰因素,直接对焊接点进行检测,当检测到漏焊、焊穿、焊偏、焊接宽度和高度五种问题,直接界面标注,检测结果上传MES。经过工件反复检验与算法的反复验证,焊后检测系统的检测结果可靠有效,灵敏程度和稳定性可以保证。