唐 溪,姚锡凡,董 艺,张峻铭
(1.华南理工大学 机械与汽车工程学院,广东 广州 510640;2.广州城市理工学院 机械工程学院,广东 广州 510800)
基于离线编程或者示教再现的传统焊接机器人效率低下,且难以应对焊接热变形、工件尺寸一致性差、工件定位精度低等问题,因此通过视觉传感器检测、定位焊缝从而实现焊缝焊缝跟踪的自动焊机器人逐渐得到发展[1]。目前视觉传感器被广泛地应用于焊缝跟踪[2-3]、焊接质量控制与评估[4-5]、焊接前初始焊接位置的识别与引导等领域。作为机器人焊接自动化的关键环节之一,焊接前初始焊接位置的识别与引导要求视觉传感器可以映射焊接环境以消除工件位置不确定性。
在初始焊接位置的识别与引导任务中使用的视觉传感器主要有激光视觉传感器和被动视觉传感器两类,两者的区别在于是否使用激光辅助标记焊缝特征点。其中,激光视觉传感器因具有较高的鲁棒性和精度而得到广泛应用。文献[6]采用激光条纹标识并提取焊缝特征点坐标,取Z轴坐标值的二阶差小于阈值的位置作为初始焊接位置。文献[7]利用激光条纹特征与初始点特征的关系实现窄焊缝初始点的识别与对准。文献[8]通过分析激光视觉传感器运动扫描过程中激光条纹几何形状的变化,来判断焊缝起始点的位置,检测精度和速度较高。文献[9]以增量运动策略沿焊缝末端往复运动,通过分析运动过程中激光条纹的分离与相交变化规律,准确地识别角接焊缝的初始焊接位置。文献[10]采用激光条纹斜率差的变化来判断角接焊缝初始点位置,具有较高的精度和速度。上述几种方法通过分析运动过程中激光条纹三维信息和几何信息的变化来判断焊缝起始点位置,但是因为没有提取工件表面轮廓信息,所以无法得到工件的位姿信息,仅适用于工件位置和形状变化不大的焊接场景。
针对上述问题,有学者用激光视觉传感器扫描并重建了工件三维轮廓,然后通过点云处理等手段获取工件姿态,从而实现工件位姿估计和初始焊接位姿引导,在工件位置和形状变化较大的焊接场合有较好的效果。文献[11]用激光视觉传感器扫描待焊工件,得到焊件轮廓点云数据,并通过背景去除、平面拟合以及平面交线求解的方式实现焊缝及焊缝初始点的识别与定位。文献[12]通过多段扫描获取大型工件轮廓信息,并用三次平滑样条曲线建立复杂空间曲线焊缝模型,实现搭接型焊缝起点的检测。然而,上述几种用激光视觉传感器扫描从而获取工件轮廓三维信息的方法,虽然可以通过后续点云数据的处理得到工件位姿,但是工件轮廓三维重建的过程比较费时,且点云处理过程比较消耗计算资源。
与激光视觉传感器不同,被动视觉传感器可以不采用激光辅助而直接获取待焊工件图像,且采集的图像有丰富的细节,可以在机器人静止状态下直接提取焊缝初始位置信息。文献[13]通过模版匹配获取焊缝初始点所在区域,并用角点检测提取出焊缝起始点的亚像素坐标,由于传统的模版匹配方法容易受到环境噪音的干扰,不适用于工件形状复杂、投影一致性差的焊接场景。文献[14]提出一种基于形态学的图像处理算法来获取焊缝初始点,但是该方法仅适用于直线焊缝。文献[15]提出一种基于角点检测的初始焊缝位置识别方法,在图像预处理后,用Harris算子在全局环境下检测出焊缝初始位置。文献[16]则将改进的Harris算法和灰度扫描方法相结合,基于单相机双位置的配置,采用粗略定位和精细提取结合的模式提取焊缝初始点,定位精度可达1.48 mm。由于基于角点检测的方法容易被焊接生产环境中的背景噪音干扰,因此焊缝初始点特征提取较为困难且鲁棒性不强。目前,卷积神经网络依靠其较强的适应性和强大的特征提取能力而被广泛地应用于图像处理领域[17-18]。例如文献[19]在大口径管道初始焊接位置的自动识别时使用脉冲耦合神经网络(Pulse-Coupled Neural Network, PCNN)进行图像预处理,该算法在实际焊接环境中具有较高的鲁棒性。
针对目前焊缝起始向量检测与机器人初始焊接位姿估计方法研究的不足,受关键点检测[20]方法的启发,本文提出一种基于改进CenterNet的焊缝起始向量检测及机器人位姿估计方法,采用基于深度学习的中心点回归算法实现检测焊缝的起始点位置和角度,并结合传统图像处理提取底板边线,实现初始焊接位姿的估计。为解决模型参数量过大、检测速度较低的问题,设计了以ResNet50为基础的主干特征提取网络,并通过融合网络深浅层特征和多尺度特征,提高网络对焊缝起始矢量坐标和角度的检测精度。在特征融合过程中使用卷积块注意力模块(Convolutional Block Attention Module, CBAM)实现特征的加权融合,从而突出有效特征并抑制无效特征。针对工件姿态和初始焊接位姿估计的问题,提出一种基于LSD[26](line segment detector)直线检测的工件底板边线检测算法,用于提取底板边线。最后,使用极线约束匹配获取对应点,并用双目三角测量原理得到工件表面关键点的三维坐标,从而得到工件位姿和初始焊接位姿矢量。
在焊接场合下,使用双目立体视觉识别定位工件初始焊接位置,引导焊接机器人的焊枪对准初始焊接位置,其原理如图1所示。两台交汇布置的双目相机同时获取待焊工件图像,包含焊缝以及底板边线二维信息,通过处理焊缝图像可以提取底板边线和焊缝起始向量特征,结合立体匹配技术和双目三角测量原理,可得到图像中初始焊缝和底板边线的深度信息,从而进一步获取工件在机器人基坐标系下的姿态信息,引导焊枪对准初始焊接位置。
通过目标检测得到点Xc在左右相机成像平面上投影点的齐次像素坐标:P1=(u1,v1,1)和P2=(u2,v2,1),则点Xc与投影点齐次坐标P1、P2的关系如式(1)所示:
(1)
其中:s1为比例系数,M1、M2分别为左相机与右相机的内参矩阵,R和t表示右相机坐标系相对于左相机坐标系的旋转矩阵和平移向量。
从而求得世界点Xc在左相机坐标系下的三维坐标值,如下所示:
z=s1。
(2)
(3)
CenterNet[21]网络采用编码—解码(encoder-decoder)结构的全卷积神经网络提取图像特征信息,通过网络输出的关键点热力图来预测物体的中心点,并基于关键点回归来预测目标的其他属性。该方法广泛地应用于2D目标检测、3D目标检测、人体姿态检测以及旋转目标检测等领域,具有较高的检测精度和检测速度。针对焊缝起始向量检测任务的需要,本文设计了如图3所示的焊缝起始向量检测算法框架。该框架针对原始CenterNet网络的不足,设计了轻量高效的主干特征提取网络,并提出了新的检测结构。该检测结构包含3个检测分支,分别为焊缝起始点热力图预测、起始点偏移量预测和起始向量角度预测。
CenterNet分析了3种不同结构的主干特征提取网络,分别是卷积残差网络[22](convolutional Residual Networks, ResNet),堆叠沙漏网络[23](Stacked Hourglass Network, Hourglass),以及深层聚合网络[24](Deep Layer Aggregation, DLA)。但是上述主干网络不能满足机器人自动化焊接对于检测精度和检测速度的要求。考虑到深度卷积神经网络浅层特征包含更为丰富的位置信息,但是语义信息不足;网络深层特征语义信息丰富,有利于热力图中心点回归预测,但是定位信息粗略。因此,提出的Weldsv-ResNet主干特征提取网络通过深浅层特征和多尺度特征融合来减少卷积过程中的信息损失,并通过引入注意力机制增强有效特征表达,从而提高检测精度。该网络的结构如图4所示。
Weldsv-ResNet主干特征提取网络以ResNet50为编码结构,在编码阶段,经过一系列卷积与池化操作降低特征空间维度;解码阶段,通过3次上采样操作(upsample block)和多次特征融合逐步恢复目标细节,并嵌入残差块(Residual block),防止网络过拟合。在主干网络编码层和解码层间使用跳连接实现网络深层特征和浅层特征的融合,从而减少定位信息的丢失,提高焊缝起始向量的定位精度。在网络解码层中,以通道叠加的方式聚合上采样过程中获得的多尺度特征,提高网络对于角度和尺度变化的适应性。在多尺度特征融合和深浅层特征融合过程中,容易将无效特征引入最终输出的特征图中,影响检测精度,因此使用卷积块注意力机制[25](CBAM block)学习特征融合权重,从而抑制无效特征,提高检测精度。
焊缝起始向量的检测需要准确获取焊缝起始点的像素坐标和起始向量的角度。然而,在编码—解码过程中容易丢失网络浅层定位信息,因此引入深浅层特征融合机制以提高焊缝起始点定位精度。如图5所示,在深浅层特征融合时,网络编码层特征图由跳连接旁路引出,与网络解码层特征图进行相加融合。在跳连接旁路中,使用残差块来调整从编码层引出的特征的通道数,残差结构中的1×1卷积用于跨通道融合。经过残差块处理的特征使用CBAM注意力机制重新调整特征在空间维度和通道维度上的权重,然后再与解码层特征进行相加融合,从而使网络充分利用有效特征,提高检测精度。
由于焊接前机器人和工件位置的不确定性导致焊缝图像投影一致性差,焊缝的角度和大小容易剧烈变化,仅利用单一尺度的特征不能适应角度和尺度变化剧烈的焊缝图像数据,为了提高网络对于多尺度、多角度焊缝起始向量检测的鲁棒性,在解码层引入多尺度特征融合。如图6所示,解码层中分辨率为162、322、642的特征图,先用1×1卷积核压缩通道数,再分别用8倍、4倍、2倍的上采样提高其分辨率,上采样使用双线性插值法。上采样后的特征图经过3×3卷积处理后与解码层中分辨率为1282的特征图进行通道叠加,并使用CBAM注意力机制模块学习不同尺度特征融合的权重,得到最终的高分辨率特征图。分辨率较高的特征图能够保留目标细粒度特征,有利于焊缝起始点的准确识别和定位。分辨率较小的特征图,能提供大尺度的特征信息,提高模型对于焊缝起始向量角度变化的预测能力。最终输出的特征图中融合了不同尺度特征图的信息,能够提升网络对焊缝角度和尺度变化的敏感度。
特征融合能够减少有用信息的损失,但也容易产生大量干扰检测效果的特征。使用CBAM可以自适应调整特征在通道域和空间域上的融合权重,从而突出有效特征,抑制无效特征。如图7所示,输入的特征F∈ℜC×H×W先按通道进行全局最大池化和均值池化,所得两个一维向量经过共享多层感知机(shared MLP)处理后相加。相加结果经过Sigmoid激活得到一维通道注意力Mc∈ℜC×1×1,所得通道注意力与输入特征按元素相乘得到新的特征F′。新特征F′按空间进行全局最大池化和均值池化,产生的二维向量经过拼接后进行卷积和Sigmoid激活操作,得到二维空间注意力Ms∈ℜ1×H×W。将所得二维空间注意力与特征图F′按元素相乘得到通道域和空间域都经过加权处理的特征图F″,具体过程如下:
F′=Mc(F)⊗F,
F″=Ms(F′)⊗F′。
(4)
模型训练的损失函数由热力图关键点预测损失Lk、关键点偏移量预测损失Loff和关键点角度预测损失Langle三部分组成,损失函数如式(5)所示:
Ldet=Lk+λangleLangle+λoffLoff。
(5)
式中λoff和λangle分别为关键点偏移量预测损失Loff和关键点矢量角度预测损失Langle的权重系数,本文根据实验确定λoff=1,λangle=0.03。
(1)热力图关键点预测损失 预测关键点位置和类别的损失函数采用式(6)所示的Focal Loss函数,可以改善样本不均衡等问题。
(6)
(7)
(8)
根据机器人焊接生产的任务需要,采集并标注焊缝图像数据集。如图8所示,焊缝数据集包含角接、搭接和对接3种目前生产中常见的焊缝类型。数据集包含黑白和彩色图像,像素分别为2 048×1 536和1 600×1 200。焊缝图像数据采集时充分考虑了机器人初始姿态的多样性,采集的焊缝图像囊括了不同角度和高度拍摄的焊缝图像。数据集使用labelme标注,标注完的数据经过处理得到包含焊缝类别C、焊缝起点像素坐标(u,v)以及焊缝起始向量角度θ(0≤θ≤359.99)的标签数据。数据集共计5 234张,按8∶1∶1的比例划分,得到训练集4 186张、验证集524、测试集524张。
在模型训练时,由于相机采集的原始图像尺寸较大,训练时加载的图像数据经过填充和缩放得到像素512×512的图像作为模型输入。为了均衡检测精度和检测效率,模型输出采用的降采样倍率R=4。模型训练使用Adam优化器,设置初始学习率为5×10-4,batch size为10,迭代训练140轮。训练过程中,每轮结束用验证集进行验证,当损失函数值超过4次未能降低时,学习率便衰减为原来的0.5倍。在加载训练数据时,使用实时数据增强,包括图像的缩放、翻转、旋转、色域畸变等数据增强方法,以提高模型的泛化能力。训练模型使用的计算机配备Intel Core i9-9900K处理器,并用NVIDIA GeForce RTX 2080Ti显卡加速训练过程。
对焊缝初始向量检测网络的性能进行评估,需要综合考虑模型的检测精度、检测速度和模型部署时硬件的限制,故将模型参数大小纳入评估范围。使用平均检测精度(mean Average Precision, mAP)来评估模型检测精度。为保证双目视觉定位精度,对焊缝起始向量检测的平均定位误差、平均角度误差以及误差分布情况进行评估。网络的检测速度用每秒检测的帧数(Frame per Second, FPS)作为评价指标。
获取的焊缝起始向量vs尚不足以获取工件姿态信息,需进一步获取世界坐标系下工件初始焊缝的起始向量以及工件底板边线向量,以获取工件姿态。因此提出一种基于LSD直线检测的工件底板边线条件筛选算法,用于提取图像中距离焊缝起始点最近的底板边线ve。在提取出焊缝起始向量和工件底板边线后,使用极线约束匹配方法求取对应点,并通过三角化得到世界坐标系下的三维坐标以及三维矢量。在实际焊接生产中,不同焊缝类型的焊接需要焊枪与工件底板保持不同的夹角,利用焊缝起始向量检测获得的焊缝类别和获取的工件底板法向量,可以自适应求取焊枪位姿。算法的总体框架如图9所示。
求取工件姿态从而求取焊枪的位姿,除了需要工件焊缝的起始矢量外,还需要提取工件底板边线特征以获取工件底板所在平面和其法向量。LSD直线段检测算法可以在常数时间内得到亚像素精度的直线段检测结果,对图像中的直线特征提取有着较高的灵敏度。工件底板边线条件筛选算法先用LSD检测出焊缝图像中的直线特征,然后以焊缝起始向量检测网络检测到的焊缝起始点像素坐标(u,v)和矢量角度θ为筛选条件,并结合边线的形态特征和分布规律,完成噪音线段的去除以及底板边线的提取。
以图10所示的焊缝图像为例,由于相机安装在焊枪运动方向一侧,焊缝起始点的左侧区域Ⅰ不包含底板边线。为减少干扰,可以先去除无效区域Ⅰ,再用LSD提取直线。但在焊缝起始点右侧仍然存在大量噪音线段,噪音线段的来源包括焊枪、工作台和工件表面划痕、工件焊缝和其他底板边线等。
针对上述噪声来源,设计噪声线段初步筛选条件。对于焊枪上的误检线段,可以设置图10中区域Ⅱ对应的感兴趣区域(Region of Interest, ROI)来筛选去除噪音线段,若线段的两个端点都处于ROI区域内,则视为噪音。对于因焊缝产生的误检线段,利用焊缝起始向量的角度θ和角度筛选阈值τ来确定线段筛选的角度范围,通过实验确定τ的最佳角度为22°。令θ′=θmod180°,已知α∈[0,180°)为检测出线段的角度,则判定线段为误检测线段的条件有如下3种:
(1)对于τ<θ′<180°-τ,当α满足|θ′-α|≤τ时,线段为误检测线段;
(2)对于θ′≤τ,当α满足0≤α≤τ+θ′或180°+θ′-τ≤α≤180°时,线段为误检测线段;
(3)对于θ′≥180°-τ,当α满足θ′-τ≤α≤180°或0≤α≤θ′+τ-180°时,线段为误检测线段。
对于其他误检测线段,通过计算线段与焊缝起始点(u,v)的距离以及线段长度进行筛选。当线段与焊缝起始点距离d>ε时,视为噪音并剔除,其中ε为距离筛选阈值,实验确定最佳阈值ε=25pixel。鉴于图像中由于表面划痕等因素产生的误检线段长度较短,通过自适应阈值的长度筛选去除噪音线段,当线段长度l<0.1MaxLen时,视为噪音线段,其中MaxLen为图像中检测出的所有线段长度的最大值。
如图11所示,利用上述条件完成线段的初步筛选,从而获得一个以边线线段为主,包含少量噪声线段的线段列表。鉴于包含边线特征的线段数量多、相互间距离和斜率相近,使用直线分组筛选算法提取目标线段组。
由于线段斜率不连续,为了方便分组筛选,根据线段上两个端点求得线段的角度α∈[0,180°)。如图12所示,分组前对列表中的线段按照其角度由小到大排序,然后在已经完成排序的线段列表上采用滑动窗口的方法,以线段的角度为指标进行分组。已知线段列表长度为n,对于任意的1≤i≤j≤n,若满足αj-αi≤Δα,则将下标为i~j间的线段分为一组,得到线段集合groupk,其中Δα为分组的角度阈值,也是滑动窗口的角度步长,实验确定了最佳阈值Δα=2°。
从滑动窗口分组得到的若干个线段集合中筛选出线段总长最大的线段集合作为目标边线特征对应的线段集合。对最终分组筛选出的目标线段集合,用式(9)求出该集合中所有线段的加权平均角度αavg,将该角度作为工件底板边线的角度值,式中li和αi为所得线段组内的第i条线段的长度和角度。
(9)
用双目立体视觉求取空间点的三维坐标,需要获取空间点在两幅图像上对应点的像素坐标。作为一种对应点匹配方法,极线约束匹配通过极线约束方程建立两幅图像中对应点像素坐标间的代数关系。由1.2节的双目立体视觉模型可知,左右相机的内参矩阵分别为M1和M2,两个相机坐标系间的旋转矩阵和平移向量为R和t,空间点Xc在左右相机上的投影点的齐次像素坐标为P1和P2,则P1和P2满足式(10)所示关系:
(10)
式中[t]×为平移向量t=[tx,ty,tz]的反对称矩阵,其定义如式(11)所示:
(11)
由极线约束方程可知,已知空间点Xc在左侧图像中投影点的齐次像素坐标为P1,则空间点Xc在右侧图像中投影点位于式(10)所确定的极线上。如图13所示,已知a点是在左图像上检测到的焊缝初始向量上的一点,则其在右图像上的对应点为a′。a′通过a点在右图像上对应的极线La和右图像上检测到的焊缝起始向量的交点确定。同理,通过极线约束得到左图像底板边线上一点b,在右图像中对应点b′。鉴于焊缝起始点在图像中唯一,通过唯一性约束得到左右焊缝图像中焊缝起始点s和s′的对应关系,从而得到位于工件底板上的3对匹配点。利用1.2节建立的双目立体视觉模型,通过三角化可以得到3对匹配点对应的空间点A,B,S的三维坐标。
R=cosαI+(1-cosα)nnT+n^sinα。
(12)
式中:I为单位矩阵,α为位姿向量相对于机器人基坐标Z轴方向上单位矢量的旋转角度,n为旋转轴的单位向量,n^为单位向量n的反对称矩阵。
为了更好地评估Weldsv-ResNet主干网络的检测效果,分别使用ResNet50、ResNet101、DLA34和Hourglass网络作为对比实验,网络训练过程中得到的损失函数值曲线如图15所示。
ResNet系列的网络在编解码过程中浅层位置信息容易丢失,因此训练初期网络的学习能力较弱,损失函数值较高。DLA34与Hourglass则通过浅层特征映射减少编解码过程中信息的缺失,因此网络的收敛能力和拟合能力较强。而提出的Weldsv-ResNet在特征融合的基础上引入注意力机制,无效特征得到抑制,因此最终稳定收敛于一个更小的损失函数值,从而证明了算法改进的有效性。
分别取上述几种网络在训练过程中得到的最优网络权重,在测试集上进行焊缝起始向量检测对比实验,测试结果如表1所示。
表1 焊缝起始向量检测结果
由表1可知,Weldsv-ResNet的平均检测精度达到了98.66%,相比ResNet50、ResNet101和DLA34网络分别提高了12.17%、12.07%和6.79%,而检测速度比原始ResNet50仅降低了12%。与检测精度同样较高的Hourglass相比,Weldsv-ResNet的平均检测精度虽然仅有0.31%的微弱提升,但是检测速度相比Hourglass却提升了83.3%。ResNet101相比ResNet50有更深的网络结构,但是仅获得较小的精度提升,采用特征映射与融合的DLA34和Hourglass相比,ResNet系列算法具有较高的精度提升,证明了特征融合机制的有效性。实验结果表明,改进后的Weldsv-ResNet在保证检测速度的同时,获得了较高的检测精度和召回率。
为了进一步讨论所提主干网络在焊缝起始向量检测上的精度和鲁棒性,实验对比了几种主干网络在焊缝起始向量位置预测以及角度预测两方面的误差分布情况,结果如表2和表3所示。
表2 焊缝起始向量位置误差实验结果对比
表3 焊缝起始向量角度误差实验结果对比
由表2和表3可知,ResNet系列主干网络在焊缝起始向量检测任务中所获得的位置误差和角度误差的均值和方差较大,因此检测精度较低且鲁棒性较差。虽然ResNet101相比ResNet50有更多的编码层以及更深的网络结构,但位置预测精度却略低于ResNet50,这是因为较深的网络结构更容易丢失浅层位置信息,所以影响了定位精度。相比之下Hourglass和DLA34均有效利用了浅层位置信息,因此获得了较高的检测精度和鲁棒性。Weldsv-ResNet通过深浅层特征融合有效保留了浅层位置信息,通过多尺度特征融合以提高模型焊缝角度和尺度变化的敏感性,并通过注意力机制强化有效特征表达,从而获得较好的检测精度和鲁棒性。对于焊缝起始向量位置预测,误差小于20 pixel的比例达到94.01%,平均位置误差为8.7 pixel,方差为8.7 pixel;对于角度预测,其误差小于10°的比例达到95.61%,均值和方差分别为3.9°和15.9°,可见Weldsv-ResNet的检测精度和鲁棒性均基本满足焊接生产中初始焊缝引导的要求。在焊接生产中常见的3种焊缝类型上的检测效果如图16所示(经过裁剪)。
工业焊接生产需要焊缝起始点检测模型同时具有检测精度高和检测速度快等优点,且规模较小的模型更有利于在工业焊接生产环境的部署。实验对比分析了不同网络的参数量以及显存占用,结果如表4所示。
表4 模型规模对比
由表4可知,Weldsv-ResNet网络以ResNet50为基础编码结构,引入深浅层特征融合、多尺度特征融合以及CBAM注意力机制,并使用轻量化上采样模块和残差结构。虽然Weldsv-ResNet相比ResNet50模型参数增加了67.6%,显存占用增加了22.0%,但是各项参数与ResNet101基本持平。与DLA34相比,Weldsv-ResNet的网络模型参数较大,但是显存占用仅增加27.3%。与精度较高的Hourglass相比,Weldsv-ResNet网络模型参数仅为Hourglass的28.7%,显存占用仅为Hourglass的65.7%,从而在控制模型规模、保证检测速度的同时获取了更高的检测精度。
为进一步验证改进措施的有效性,设计消融实验来评估各项改进措施对模型检测性能提升的帮助。实验的损失函数曲线如图17所示,实验结果对比如表5所示。
表5 消融实验结果
由图17可知,多尺度特征融合、深浅层特征融合以及CBAM注意力机制的引入有效地提高了模型的收敛能力和拟合精度,模型经过训练后可以稳定收敛于更低的损失函数值,获得良好的泛化能力以及检测精度。
由表5可知,ResNet50与深浅层特征融合的结合和单纯的ResNet50相比,将mAP提高了4.89%,这是因为深浅层特征融合能够保留更多浅层特征的位置信息以及深层特征的语义信息,有利于提高焊缝初始向量的检测和定位精度。通过在深浅层特征融合过程中添加CBAM注意力机制,可以自适应调整特征融合权重,从而抑制无效特征的干扰,因此mAP相比单纯的深浅层特征融合提高了2.07%。使用多尺度特征融合可以保留不同分辨率特征的信息,从而提高模型对于焊缝角度和尺度剧烈变化的检测敏感性,使mAP相比原始的ResNet提高了3.71%。特征融合时CBAM模块的使用也进一步将mAP提高了4.76%。对比完整的改进网络与去除CBAM机制的改进网络,进一步证明了特征融合过程中使用注意力机制可以在消耗资源较少的情况下有效提升模型性能。总的来说,通过在原始ResNet50网络中添加深浅层特征融合和多尺度特征可以有效提高检测精度,而CBAM的使用可以在消耗极小资源的情况下给模型的检测精度带来较大的提升。
如图18所示为工件位姿与焊枪姿态求取的实验平台。该实验平台包含一台伯朗特六自由度焊接机器人,机器人型号为BRTIRWD1506A。双目相机使用海康威视MV-CA032-10GC型黑白工业相机,相机像素为2 048×1 536,图像采集帧率为37.5 fbs。双目相机与焊枪一同安装在机器人末端法兰上。实验时,上位机控制双目相机采集待焊工件图像,所得图像经过上位机处理后得到待焊工件位姿。工件位姿转换为焊枪位姿后发送给焊接机器人,从而实现初始焊接位姿的引导。
由于双目相机采用“手在眼上”的安装方式,将三维坐标从相机坐标系转换到机器人坐标系时,需要使用机器人末端位姿数据,因此机器人重复定位精度对视觉定位精度有较大的影响。为了验证焊接机器人的重复定位精度,取工作空间中8个固定点,每个固定点由焊接机器人末端工具以12种不同的姿态接触,获取8组位姿数据,每组位姿数据取平均值作为固定点实际坐标值,得到不同姿态下机器人对某一个固定点重复定位的绝对误差,结果如图19所示。
由图19可知,当焊接机器人末端工具尖端以不同的姿态接触空间中某个固定点时,示教器显示坐标与平均值坐标的绝对偏差在0.7 mm范围内波动,绝对偏差的平均值在约0.5 mm范围内波动。产生这种误差主要与机器人自身的机械结构的刚度、精度和传感器精度有关。
工件位姿的可靠求取需要在检测出焊缝起始向量的基础上进一步提取工件底板边线,为验证底板边线提取算法的可靠性,参照焊接生产场景,获取大量测试图片,实验结果如表6所示。
表6 底板边线检测结果
由表6可知,在包含对接、角接和搭接3种类型焊缝的测试数据上,工件底板边线检测算法分别得到98.5%、96.3%、93.5%的检出率。这表明算法能够适应环境中的背景噪音、焊缝起始向量检测误差以及工件形态差异,具有一定的准确性和鲁棒性。
在获取焊缝起始向量和工件底板边线后,通过向量运算和坐标系变换,得到工件底板的法向量以及用于焊接机器人初始焊接位姿引导所用的焊枪位姿。焊枪位姿用机器人基坐标系下的直角坐标X、Y、Z和欧拉角RX、RY、RZ表示。为验证所求焊枪位姿的精度,分别以角接、搭接、对接3种不同类型的待焊工件进行待焊工件初始焊接位姿引导实验。
实验采用的初始焊接位姿为:对接型工件的初始焊接位姿垂直工件表面,如图14a中向量vn所示;搭接和角接型工件采用图14b中向量vt所示位姿。为便于获取工件实际的姿态和焊枪初始焊接姿态,试验时固定工件,由机械臂带动相机以不同姿态拍摄每类工件各20组待焊工件图像。鉴于初始焊接位姿的引导无需考虑焊枪绕其Z轴旋转的欧拉角RZ,因此实验采用RZ=0。首先用所提方法得到焊缝起始向量和工件底板边线,然后求出焊枪的初始焊接位姿,所得位姿数据与真实焊枪初始焊接姿态对比得到如图20所示的焊枪位置与姿态相对误差。
由图20a和20b可知,对接型焊缝的初始焊接位姿在X、Y、Z三个方向的最大误差范围为-2.5 mm~2.2 mm,初始焊接位姿欧拉角RX、RY的误差范围在-15°~13°之间;由图20c和20d可知,对于角接型焊缝,检测得到的初始焊接位姿在X、Y、Z三轴方向上的最大误差范围为-2.2 mm~1.8 mm,初始焊接位姿的欧拉角RX、RY的误差范围为-18°~18°;由图20e和20f可知,对于对接型焊缝,检测得到的初始焊接位姿在X、Y、Z三轴方向上的最大误差范围为-2.0 mm~2.2 mm,初始焊接位姿的欧拉角RX、RY的误差范围为-15°~25°。说明使用上述方法通过单次拍摄的待焊工件图像便基本可以得到较为准确的工件初始焊接位姿信息。
为了提高工件姿态检测和焊枪初始位姿估计的精度和鲁棒性,在焊接机器人运动到初始焊接位置前多次获取待焊工件在不同姿态下的图像,得到多组焊枪位姿数数据,取多组位姿数据的平均值作为最终焊枪位姿。对3种类型工件,分别进行20组定位实验,得到如图21所示的焊枪初始位姿引导精度的绝对误差分布数据。
由图21可知,在焊枪对准初始焊接位置前多次拍摄焊缝图像,并取初始焊接位姿数据的平均值为最终焊枪姿态,可以有效提高焊枪对准精度。从误差分布范围来看,3种焊缝类型在X、Y、Z三个方向上的绝对值误差波动范围分别小于0.3 mm、0.35 mm、0.5 mm,在RX、RY方向的绝对值误差波动范围分别小于4.5°和3.0°,可见定位的精度和鲁棒性得到提高。焊枪位置与姿态绝对误差的均值如表7所示。
表7 焊枪位置与姿态绝对误差均值
结合图21和表7可知,对于3种焊缝类型,焊枪定位的绝对值误差在X、Y、Z三个方向上的最大值分别小于1.0 mm、0.95 mm、1.35 mm。对于焊枪姿态而言,在RX、RY方向的绝对值误差的最大值分别小于9.5°和7.0°。从平均绝对误差角度来看,所得的焊枪位姿在X、Y、Z三轴上绝对定位误差最大值为1.07 mm,焊枪位姿欧拉角绝对误差的最大误差为7.99°。相比之下,仅用单一位姿数据引导焊枪对准初始焊接位置的精度较低,在位置和角度方面的最大误差分别达到2.5 mm和25°。可见,多次采集焊件图像并使用平均值引导焊枪对准的方法可以有效提高对准的精度,且具有较高的稳定性。对于焊接机器人初始焊接位置对准的误差来源,主要包括焊缝特征提取误差、相机标定误差、手眼标定误差、机器人误差等因素。考虑到焊接机器人不同姿态下对同一点的重复定位精度为0.5 mm,机器人自身的误差为焊接机器人初始焊接位置对准的主要误差来源,这也从侧面体现了所提出方法的可靠性。
针对传统方法无法识别图像中焊缝起始向量、缺少待焊工件姿态信息以及难以估计初始焊接位姿等问题,本文提出一种基于改进CenterNet的焊缝起始向量检测及机器人位姿估计方法。为了快速精准地提取焊缝起始向量,为焊缝起始向量检测网络设计了轻量高效的主干特征提取网络。该主干网络以ResNet50为基础编码结构,通过多尺度特征融合、深浅层特征融合以及通道与空间注意力机制的使用,在有效提高检测速度的同时,得到了较高的检测精度。为实现机器人初始焊接位姿估计,提出工件底板边线条件筛选算法,并使用极线约束匹配和双目三角测量原理得到工件表面若干特征点的三维信息,最终获取工件姿态和焊枪位姿。实验结果表明,设计的主干网络在平均检测精度、召回率、平均定位误差和平均角度误差等方面有着显著优势,检测速度和模型规模基本满足焊接生产的实时性和轻量化的要求。模型消融试验结果进一步证明了各项改进措施的有效性。最后,通过实验证实了边线检测算法的可靠性,通过对比单次检测与多次检测取平均值在初始焊接位姿对准时产生的误差,表明多次检测取均值可以有效提升对准精度。总的来说,基于改进CenterNet的焊缝起始向量检测与机器人位姿估计方法,能够以较高的速度、精度和鲁棒性引导焊机器人对准初始焊接位姿。
受限于焊件数据采集和标定的困难,模型的设计和训练受到影响,工件底板边线检测采用的是传统方法,因此对环境变化的适应性存在不足。在后续研究中,拟设计边线检测网络,采用基于深度学习的图像处理方法提取底板边线,以提高边线检测算法的环境适应性。