0前言增材制造技术(Addictive Manufacturing,AM)[1]是一种基于离散分离原理,对三维模型进行分层切片,再通过添加材料快速制造实体零件的技术。按照热源能束的不同,可将金属增材制造技术分为激光、电弧和电子束三类[2]。激光增材制造技术(Laser Addictive Manufacturing,LAM)[3]是以激光作为热源,金属粉末或丝材作为成型材料,惰性气体作为保护气的金属增材制造技术,在航天航空、汽车、电子、医疗、军工等领域得到了广泛应用[4-7]。LAM成型制品质量与激光功率、工艺设计和焊接路径规划有密不可分的关系。在实际操作过程中,任何环节的问题都可能使成型制品出现气孔、凹坑等缺陷。在增材制造“自下而上”的成型过程中,如果表面缺陷未被检出并及时处理,可能导致成型件报废。视觉检测技术是精密测试技术领域中最具有发展潜力的新技术。视觉检测的基础在于相机的标定,现有的相机标定技术分为传统标定法、自标定法及主动视觉标定法。传统标定法中,Roger Tasai提出Tasai两步法[8]求解相机的内外参数,但需要标定参照物,且标定过程复杂;自标定方法中,典型的是基于Kruppa方程进行相机内外参数标定,但直接求解Kruppa方程[9]存在较大难度;主动视觉标定中,聂红梅和高磊分别以Opencv和Matlab为平台[10-11],实现了张正友标定法[12]的相机标定程序,标定精度较高且鲁棒性较强。本文针对激光增材制造过程中的成型制品表面形貌检测的需求,搭建了一个基于主动视觉标定法的单线结构光视觉检测系统,通过Matlab软件和Labiew软件编程实现相机内外参数的标定,并计算出激光增材制造制件表面的三维坐标信息,来验证该检测系统的精度,为后续激光增材制造闭环控制奠定基础。1激光增材制造视觉系统硬件与软件组成1.1硬件结构激光增材制造视觉系统主要由线结构光视觉传感器[13-15]、运动控制柜、示教器以及工控机组成,视觉传感系统在空间中相对位置如图1所示,视觉传感器结构如图2所示。线结构光视觉传感器主要由单线结构光发射器和BASLER黑白工业相机组成,相机以CMOS为感光元件,分辨率为5 472 pixel10.11885/j.issn.1001-2303.2022.02.F001图1激光增材制造检测系统Fig.1Laser additive manufacturing inspection system10.11885/j.issn.1001-2303.2022.02.F002图2视觉传感器结构Fig.2Vision sensor structure diagram×3 648 pixel,采用焦距为12 mm的镜头,最大光圈1.4。首先将线结构光视觉传感器置于工件正上方,相机垂直置于工件平面,线激光发射器与相机呈一固定夹角A,传感器与熔覆平台之间距离为H,使线结构光投射在熔覆件上,将工业相机采集的激光条纹图像信息和示教器记录的当前法兰盘位姿信息传输给计算机,最后结合工业相机标定的内外参数和传感器与机器人的手眼标定结果,将特征点三维位置信息传输给示教器,对数据进行分析后控制激光熔覆头进行缺陷修补。1.2系统软件激光增材制造机器视觉系统软件主要包括Matlab、Labview2018和图像采集软件。Matalb软件主要进行相机内外参数的标定、机器人系统与视觉传感系统变换矩阵的计算;Labview则是对整个系统进行模块化设计,主要分为图像采集和数据分析模块,其中包含图像采集、特征提取、参数设置、基座坐标计算和系统介绍5个界面。通过采集图像界面获取目标图像,用户可以在特征提取界面中选择目标图像、设置灰度值阈值、提取结构光条纹的中心线(见图3a);在参数设置界面中,可以编辑、保存Matlab标定好的相机内外参数(见图3b);在基座坐标界面中,可以直接读取特征点基座坐标(见图3c)。图3激光增材制造视觉系统软件界面Fig.3Software interface of the laser additive manufacturing vision system10.11885/j.issn.1001-2303.2022.02.F3a1(a)特征提取界面10.11885/j.issn.1001-2303.2022.02.F3a2(b)参数设置界面10.11885/j.issn.1001-2303.2022.02.F3a3(c)基座坐标提取界面2机器视觉系统标定算法在整个检测系统中,所涉及的各个坐标系变换关系如图4所示。图中H1表示法兰盘末端坐标系与机器人基坐标系的变换矩阵;H2表示法兰盘末端坐标系与光平面坐标系的变换矩阵;H3表示相机坐标系与光平面坐标系的变换矩阵;H4表示世界坐标系与相机坐标系变换矩阵;XBYBZB表示机器人的基坐标系; XFYFZF表示机械臂末端法兰盘坐标系;XTYTZT表示工具尖端坐标系;XCYCZC表示相机坐标系; XWYWZW为世界坐标系;为简化计算,相机原点在光平面上的投影点OC为光平面坐标系原点,取相机Z轴某一点ZC(0,0,ZC),以OCZC在光平面的投影为Z轴,同理建立X轴、Y轴,Y轴与光平面垂直,由此建立XLYLZL光平面坐标系,且光平面坐标系中Y轴值恒为0,从而降低了算法的复杂性。10.11885/j.issn.1001-2303.2022.02.F004图4Eye-in-Hand模型Fig.4Eye-in-Hand model2.1相机内外参标定和光平面的标定在Eye-in-Hand手眼标定之前,首先要确定相机的内外参数、相机坐标系与光平面坐标系变换矩阵H3(见图4)。本文基于Matlab进行内外参数标定。Matlab是美国Mathwork公司开发的数学软件,具有完善的图像处理和机器视觉工具包。其中,像素坐标系与相机坐标系间的变换矩阵CPH可由Matlab的Camera Calibrator工具包进行标定,可直接提取出相机的内参数和棋盘格标定板某个位姿的外参数。本文采用的是透视投影模型,根据透视投影法可知,像素坐标与相机坐标的变换关系需以光平面为约束条件,像素坐标与相机坐标的变换关系如式(1)所示。Xc=Sxc-CxSxεYc=Syr-CySyεZc=fδε (1)式中 ε=A(Sxc-CxSx)+B(Syr-CySy)+Cfδ;δ=k[(Sxc-CxSx)2+(Syr-CySy2)]+1,其中k为径向畸变,Sx为X方向的像元尺寸,Sy为Y方向的像元尺寸,c为特征点X方向像素坐标,r为特征点Y方向像素坐标,Cx为图像坐标系原点在像素坐标系中X值,Cy为图像坐标系原点在像素坐标系中Y值,这些参数为相机内参数,[A,B,C]为光平面系数。计算光平面系数[A,B,C],需已知某条直线的世界坐标点,根据交比不变性原理,已知直线和光平面交点为标定点的世界坐标Piw,Matlab标定所得外参即世界坐标系与相机坐标系变换关系H4i,调整标定板姿态重复5次,根据式(2)计算得出标定点相机坐标Pic,并采用最小二乘法拟合光平面方程A·Xc+B·Yc+C·Zc-1=0的系数A、B、C。XciYciZci1=H4i·XwiYwiZwi1(2)式中 [Xci,Yci,Zci],[Xwi,Ywi,Zwi]分别为标定点的相机坐标和世界坐标,H4i为4×4的矩阵(i=1,2,3,4,5),实质为相机的外参数。根据相机与光平面的投影关系建立光平面坐标系。根据式(2)相机坐标与光平面坐标映射关系计算可得相机坐标系与光平面坐标系的变换关系H3:PL=H3·PC 3式中 PL、PC分别表示特征点的光平面坐标和相机坐标。由此特征点的相机坐标转化为光平面坐标。2.2Eye-in-Hand手眼标定工业6轴机器人手眼标定的实质是确定光平面坐标系到机械臂末端法兰盘坐标系的变换关系H2。由上一节可知,特征点的像素坐标以及对应的相机坐标,将相机坐标投影到对应的光平面坐标,再由手眼标定所得光平面坐标系与法兰盘坐标系的位姿H2和法兰盘相对于机器人底座的位姿H1(见图4),根据式(4)可得激光平面坐标到基坐标的变换关系。PB=H1·H2·PL 4联立式(3)和式(4)得到相机坐标到基坐标得变换关系为PB=H1·H2·H3·PC 5式中 PB和PL分别表示已知点基坐标和该点对应的光平面坐标;H3表示相机坐标系与光平面坐标系的位姿。H1、H2、H3为4×4的矩阵。Eye-in-Hand手眼标定步骤为:(1)确定目标点的基坐标。将机器人坐标系调整为工具坐标系,操作示教器使机器人尖端与已知点P刚好接触,记录此时示教器中的位置信息,记作PB=(XB,YB,ZB)。(2)确定目标点的光平面坐标。将工具坐标系切换至法兰盘坐标系,保持目标点P固定,打开线激光器,移动机械臂使激光条纹正好经过点P,为使误差尽可能小,应使P点尽量位于激光条纹的中间点,然后相机在此位姿下采集图像。利用Labview提取出P点像素坐标,由式(1)转化为相机坐标,继而由2.1节中式(3)得到光平面坐标PL,根据示教器确定此时的H1。(3)变换位姿采集。保持P点不动,移动机器人以不同姿态重复步骤2,记录5组PiL和H1i(i=1,2,3,4,5),根据式(4)计算可得H2。3实验结果及分析本文所采用线结构光视觉检测方法选用BASLER黑白工业相机、iWorker六自由度工业机器人和角点间距为18 mm的棋盘标定板进行标定实验,由于Matlab存在完善的棋盘格标定包,且不存在偏心误差。介于现有条件,利用Matlab提取角点像素坐标,取标定板上O、A、B、C、D五个点如图5所示,相机内参数标定如表1所示,外参标定误差如表2所示。10.11885/j.issn.1001-2303.2022.02.F005图5相机外参标定板Fig.5Camera external parameter calibration board10.11885/j.issn.1001-2303.2022.02.T001表1相机内参数标定Table 1Calibration of camera internal parameters内参数f/mmSx/μmSy/μmCx/pixCy/pixk初始值122.42.42 73618 240标定值12.732.42.42 717.918170.177 610.11885/j.issn.1001-2303.2022.02.T002表2相机外参标定误差Table 2Calibration error of camera internal and external parameters目标点像素坐标/pixel标定坐标/mm实际坐标/mm标定误差/mmcrXWYWXW’YW’∆X∆YO2 3841 3090.049 50.074 9000.049 50.074 9A2 3901 5260.024 318.026 10180.024 30.026 1B2 6252 17317.993 471.927 818720.006 60.072 2C2 8371 95035.941 553.979 036540.058 50.021 0D3 2641 72171.663 336.037 872360.336 70.037 8根据表1、表2得出相机的内参数以及外参数在X和Y方向平均绝对误差:∆X¯=15∑i=15∆Xi¯=0.095 1 mm∆Y¯=15∑i=15∆Yi¯=0.046 4 mm(6)由式(6)可知,相机标定的平均绝对误差小于0.1 mm,由于黑色对于光的吸收不均匀,角点位于黑白交界处,因此棋盘格角点坐标为亚像素坐标,影响角点的标定精度,可选用黑底白圆标定板并采用Halcon提高精度,但总体来说,外参标定精度较高。通过改变标定板所在高度5次,采用2.1节标定方法,根据已知的标定点的相机坐标Pic进行光平面拟合,得到光平面系数[A,B,C]=[-0.014 3,0.000 7,0.004 6],光平面拟合图如图6所示。根据Labview软件提取特征点像素坐标和上述所得标定参数,将像素坐标分别代入式(1)和式(5),所得基坐标结果基本满足定位要求,但计算结果仍存在一定误差。其原因为:(1)单线结构光与相机光轴角度太小产生标定误差;(2)机器人固有精度所带来的误差影响;(3)标定点坐标的肉眼提取带来的误差;(4)各方面误差累计影响计算结果。其中标定误差为主要原因。10.11885/j.issn.1001-2303.2022.02.F006图6线激光拟合平面Fig.6Line laser fitting plane4结论(1)通过线结构光视觉传感器系统对相机内外参数进行标定,使用Matlab软件 Camera Calibrator工具包的标定方法,将外参数的平均绝对误差控制在0.1 mm以下。(2)在激光熔覆头旁安装线结构光视觉系统,采用Matlab和Labview软件相结合的混合编程设计激光增材制造系统,根据图像采集和数据分析模块,从图像中提取出特征点的三维基坐标,以方便工业机器人进行对缺陷定位和修补。(3)以光平面为参考平面,建立二维像素坐标与三维相机坐标的变换关系,简化算法的复杂程度,降低了设备成本,能够满足激光增材制造中的定位要求。(4)本文基于单线激光开发的增材制造视觉检测系统,还可以进一步提高线结构光条纹中心的提取精度和鲁棒性,因此需要优化线结构中心提取算法,提高检测系统的三维坐标提取精度。
使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,
确定继续浏览么?
复制成功,请在其他浏览器进行阅读
复制地址链接在其他浏览器打开
继续浏览