基于激光视觉传感器的机器人实时焊缝跟踪方法
2021-05-10陈新禹张庆新朱琳琳
陈新禹,张庆新,朱琳琳,胡 为
(沈阳航空航天大学自动化学院,辽宁 沈阳 110136)
1 引 言
焊接机器人可以提高生产效率、优化焊接质量、改善劳动条件,因此,被广泛应用在航空航天、船舶制造、汽车生产和各类加工制造业中。但当焊接对象或者焊接条件改变时,焊接机器人如果不能及时做出相应的调整,会使得焊枪偏离焊缝中心,从而造成焊接质量下降[1],因此,需要借助合适的传感器解决在线跟踪问题。激光视觉传感器凭借其非接触、速度快、精度高和抗干扰能力强等优点,而被广泛应用于机器人自动化焊接领域。
Chang等[2]搭建了一套移动焊接机器人系统,成功应用于造船厂的双壳结构和钢框架结构的自动焊接,并提出了一种微分特征点提取算法以及焊枪摆焊的路径规划算法。Ding等[3]搭建了一套基于激光视觉的焊缝跟踪系统,并提出一种基于模板匹配的坡口定位方法,在此基础上进一步提出利用FIFO堆栈来解决焊枪与传感器之间的前置距离问题,但并未针对焊接过程中焊接姿态需要变换的情况提出解决方法。Graaf等[4-5]提出基于轨迹的跟踪控制方法,实现焊缝在线实时跟踪。中国科学院方灶军[6]和景奉水等[7]基于激光视觉传感器并结合模糊控制器分别实现角接焊缝和狭窄焊缝的自动焊接,解决了在跟踪过程中机器人稳健控制问题。东南大学李新德[8]和河北工业大学陈海永[9]研究了焊缝特征描述算法,再通过模板匹配思想进行焊缝类型识别与定位,该类方法较好地解决了焊缝识别和识别准确度的问题。
以上学者在焊缝识别、实时跟踪和运动控制等方面取得了显著成果,大大促进了相关技术的发展和应用,但对变姿态焊缝跟踪过程研究较少。本文提及的变姿态焊接是指:由于待焊母材的焊缝走势不单一,焊接过程中,焊枪的前进方向和焊接姿态需要适当调整,以使焊缝始终处于传感器视野范围内同时焊枪也能以合适的姿态进行焊接作业。由于激光传感器和焊枪之间存在一定的前置距离,尤其是前进方向和作业姿态需要适应焊缝不断变换,使得实时焊缝跟踪算法成为自动化焊接领域研究的难点[10]。为了解决焊接过程中前进方向、焊接姿态和焊接速度需要变化的问题,本文提出基于焊缝绝对空间轨迹的跟踪方案,主要包括以下步骤:1)将传感器采集到的焊缝位置点变换到机器人基础坐标系下,形成绝对焊缝轨迹;2)利用非均匀样条插值算法,计算焊枪与焊缝绝对轨迹之间的位置偏差;3)将位置偏差变换到焊枪工具坐标系下进行实时修正。最终解决在多约束条件下的实时焊缝跟踪问题。
2 机器人焊缝跟踪系统
2.1 焊缝跟踪系统构成
机器人焊缝跟踪系统主要由六自由度焊接机器人、线激光视觉传感器、焊枪以及焊机组成,系统结构原理如图1所示。从图中可以看出激光传感器实时采集焊缝位置数据,并将位置信息通过Transmission Control Protocol(TCP)发送给传感器控制器完成偏差量的计算,再将计算结果通过TCP返回给机器人控制器,从而实现焊接机器人相对焊缝位置的实时修正。该系统是一个典型的闭环控制系统,激光视觉传感器以及焊缝跟踪算法构成其中的反馈环节,因此,对于实现良好的自动化焊接过程至关重要。
2.2 焊缝特征点提取
将工件置于激光传感器的视野内,激光线被投射到焊缝上,如图2(a);同时CCD相机采集被焊缝表面调制后的光条信息,如图2(b);使用Steger算法提取光条中心,如图2(c);最后在三维数据点的基础上,采用二阶差分特征点检测算法实现焊缝位置的识别和定位[2]。算法处理过程主要经过高斯平滑滤波、二阶差分、局部极大值抑制等算法,左高搭接焊缝的最终检测结果如图2(d)。为了减小实际焊接过程中的强弧光和飞溅的干扰,除了传感器上安装波长匹配的滤光镜以及尺寸适当的挡弧片外,软件采用基于多角度拉东变换的去噪算法[11],实现了较好的效果,但由于不是本文的重点,这里不做详述。
图1 焊缝跟踪系统示意图
图2 焊缝特征点提取图
2.3 机器人手眼标定
传感器坐标系到机器人坐标系的变换过程如公式(1)所示:
(1)
(2)
2.4 焊接跟踪流程
焊接作业前,首先需要示教机器人的初始焊接路径,示教路径要兼顾焊枪和激光传感器相对焊缝的位置。跟踪开始后,机器人先运动到焊接位置的起点,并发送激光传感器启动指令,然后控制机器人按照示教的初始路径进行移动。运行过程中机器人不断将实时位置和姿态发送给传感器控制器。传感器控制器在接收到机器人位置后同步控制激光传感器采集焊缝位置,并使用本文提出的焊缝跟踪算法计算当前焊枪的位置偏差,返回给机器人控制柜进行位置修正,从而实现对焊缝的实时跟踪,保证焊枪以准确的姿态进行焊接作业。
3 实时焊缝跟踪算法
图3 焊缝跟踪过程示意图
3.1 算法流程
跟踪算法具体实现步骤为:
(2)获取传感器数据:与步骤(1)同步,触发激光传感器采集当前焊缝特征点PS。
(3)更新轨迹堆栈:在(1)和(2)步骤的基础上,利用式(1)计算新采样焊缝位置PR并压入焊缝轨迹堆栈,如图3中的方块点。为了防止错误焊缝位置点被引入到轨迹中,提出采用卡尔曼滤波方法对新采集位置点进行滤波处理,具体细节参照3.2节。
(3)
3.2 基于卡尔曼滤波的轨迹去噪
(4)
式中,dis(·,·)表示两点之间的欧拉距离;thr为设定阈值,需要根据不同的焊缝变化曲率和焊接速度来设置,一般取值在0.5~1.5 mm之间。
3.3 基于NURBS的路径点插值
本文采取累计弦长的方式实现各个位置点的参数化,从而将每个位置点对应于唯一的节点数值。控制点向量中第k个控制点的节点数值可由公式(6)计算。
(5)
(6)
(7)
(8)
式中,Ni,4(u)为三次B样条基,可由以下递推公式迭代计算:
这里由于引入非均匀有理B样条算法进行插值处理,使得传感器的采样点不必均匀分布。对于焊接过程中前进速度的改变、激光传感器采集焊缝位置出现小概率失败等情况均具有很好地适应能力,解决了基于位置偏差进行焊缝跟踪一类方法的不足(如文献[3]的跟踪方法)。
4 实验验证与分析
本实验系统主要由安川YRC1000控制柜、MOTOMAN-AR1440型机器人、自主研发的激光焊缝跟踪传感器、多种焊接试验件、焊缝跟踪控制软件等构成,系统平台如图4所示。传感器通过支架被安装在焊枪绝缘套上,为了确保传感器的安全,需进一步在传感器安装支架上添加绝缘垫圈。跟踪实验前要先标定出传感器与机器人间的手眼矩阵,本文借鉴文献[13]方法实现,手眼矩阵结果为:
为了验证本文跟踪算法的可行性和精度,分别对圆弧、异形、S形焊缝进行跟踪实验。实验过程中,将上述形状的切割板材放置在实验平台上,此时切割板材的边沿与实验平台构成搭接型坡口,该坡口与真实焊缝坡口类似,可以满足跟踪测试的要求。并且所使用测试样件的坡口相较真实焊缝具有更好的一致性,可以将焊缝坡口检测误差控制在更小的范围内,从而更有针对性地评价本文所提出的实时跟踪算法的性能。同时为了更有针对性地测试跟踪算法的精度,而不是坡口检测和抗弧光算法的性能,实验过程中并没有真实起弧焊接,以避免弧光、飞溅等干扰对检测精度造成影响,从而将误差累加到整体跟踪过程。实验中,机器人的前进速度设置为10 mm/s,机器人位置的修正频率为20 f/s(即机器人与激光传感器的通讯帧率和激光传感器的采样频率均为20 f/s)。跟踪过程中将计算的绝对焊缝轨迹以及焊枪位置的实时偏差量进行显示和分析,实验结果分别如图5~7所示。图5所示是一个直径400 mm的标准部分圆工件。图6为一个异形样件,其具有直边、斜边、R角以及需要完整跟踪一周的特点。图7是一个波浪曲线样件。
从各图的跟踪误差曲线可以看出,跟踪过程只有在起始阶段存在较大误差,这主要是因为初始跟踪时焊枪和工件间存在明显位置偏差,但随着跟踪算法的介入,跟踪误差迅速减小。在忽略初始位置偏差的情况下,正常跟踪过程的误差均可以控制在0.5 mm以内,具体误差统计结果如表1。为了更合理的分析跟踪误差,统计中使用的是实际误差的绝对值,避免正负误差中和的问题。需要说明的是,虽然本文实验的跟踪精度是在一定程度地保正坡口检测精度、去除弧光干扰等条件下获得的,但仍可以证明本文提出实时跟踪算法的有效性和精度。
图4 焊缝跟踪系统实物
表1 跟踪误差结果(单位:mm)
由实验结果可以看出,提出的跟踪方法可以很好地解决实时焊缝跟踪问题,分别实现对圆弧、异形、S形焊缝进行连续不间断跟踪。经进一步分析,跟踪过程的误差主要由以下几方面造成:
(1)焊枪工具坐标系标定误差。一般焊枪工具会存在0.2 mm以上的标定误差;
(2)传感器与机器人之间的手眼矩阵以及机器人本体运动存在的误差;
(3)系统通讯以及传感器采集数据的延时误差。经测量发现,系统整体存在约0.02 s的延时,针对10 mm/s的焊接速度,在前进方向会产生约0.2 mm的位置偏差;
(4)跟踪算法在对应点查找、偏差修正方面带来的误差。
图5 圆形焊缝跟踪结果
图6 异形焊缝跟踪结果
图7 S形焊缝跟踪结果
5 结 论
本文对激光视觉传感器的机器人焊缝跟踪系统的结构和工作流程进行了介绍,提出基于绝对轨迹的焊缝实时跟踪算法。通过对多种不同类型的标准焊接样件进行跟踪实验,实验结果表明:在焊接速度约为10 mm/s的条件下,跟踪过程响应迅速,运动路径平滑光顺,未出现明显抖动现象,整体跟踪精度优于0.5 mm。证明本文提出实时跟踪算法的可行性,基本满足实时在线引导焊接应用的要求。