本发明涉及机器视觉技术领域,尤其涉及一种基于离线编程软件的多段焊缝轨迹修正方法。
背景技术:
机器人应用于焊接领域内大多数都是采用示教再现的方式,然而,由于待焊工件形状尺寸不一致以及工装夹具定位精度低等原因,现有的示教再现方式已经不能满足焊接的要求。采用提高工件的加工精度以及工装夹具定位精度的方式是解决这个问题的一个方法,但是该方法将会明显提高生产成本,对于加工设备的精度以及工人的技术要求都较高,对于复杂工件来说,高精度的工装夹具设计要求较高,并且工装夹具的精度会随着使用时间增加而降低。该方法并不是解决上述问题的好的解决方案。近年来,随着机器人智能焊接的发展,机器视觉在机器人领域的应用也越来越广泛。
视觉传感器主要有主动视觉和被动视觉两种方式,被动视觉主要依赖自然光源,而主动视觉则往往添加了光源,使得被测物体更加明显。结构光视觉传感器采用的是主动视觉的方式,添加了激光光源;激光照射到被检测物体表面形成激光条纹,相加采集激光条纹图像,然后通过三角测量法则可以计算出激光条纹上的点在相机坐标系下的空间位置。依据这个原理,将结构光视觉传感器安装于弧焊机器人末端,然后通过手眼标定,将激光条纹上的点转换到机器人坐标系下的点,如此即可用于机器人焊缝检测,焊缝跟踪等应用场合。
目前结构光视觉传感器在焊接机器人上的应用较多。英国metavision公司和加拿大赛融公司的结构光视觉传感器已经在机器人焊接上有较成功的应用,不过他们主要基于应用于焊缝跟踪,在焊接过程中对机器人焊接轨迹进行纠正。对于焊缝轨迹的离线方式的轨迹校准应用较少,很多应用只是对焊缝轨迹进行检测,而没有进行匹配校准的过程。
技术实现要素:
为解决现有技术所存在的技术问题,本发明提供一种基于离线编程软件的多段焊缝轨迹修正方法,通过利用离线编程软件获取焊缝的初始示教轨迹以及初始示教点,利用视觉扫描获取实际的焊缝轨迹位置并把初始示教轨迹配准到扫描轨迹上,更新的机器人作业示教点发送到机器人控制器,实现了多段的焊接轨迹修正。
本发明采用以下技术方案来实现:一种基于离线编程软件的多段焊缝轨迹修正方法,包括以下步骤:
s1、通过离线编程软件,按顺序拾取工件焊缝轨迹,输出轨迹点坐标与拾取顺序编号到文件;
s2、按图纸对焊缝的要求,指定机器人作业示教点,输出其坐标及其所属的焊缝编号到文件;
s3、规划初始机器人焊接程序;
s4、按规划的焊接顺序规划机器人焊缝扫描程序,并输出到机器人控制器;
s5、机器人控制器上执行焊缝扫描程序,获取焊缝扫描轨迹,并对每一段轨迹依次编号;
s6、分别把每一段初始焊缝轨迹配准到编号相同的扫描轨迹上,得到的变换矩阵用于变换初始机器人作业示教点的位置,获取变换后的机器人作业示教点;
s7、输出变换后的机器人作业示教点到机器人控制器,获取更新的焊接程序用于工件的焊接;
s8、重新装夹工件,重复执行步骤s5、s6、s7,实现批量作业。
本发明与现有技术相比,具有如下优点和有益效果:
1、本发明通过利用离线编程软件获取焊缝的初始示教轨迹以及初始示教点,利用视觉扫描获取实际的焊缝轨迹位置并把初始示教轨迹配准到扫描轨迹上,更新的机器人作业示教点发送到机器人控制器,实现了多段的焊接轨迹修正。
2、本发明通过分段配准的方式,实现了具有多段焊缝的非标零件焊接轨迹修正,不需要待焊工件的严格定位即可实现连续批量生产作业,提高了机器人焊接系统的柔性。
附图说明
图1是本发明方法的流程图;
图2是本发明机器人作业示教点、所拾取焊缝、视觉扫描轨迹三者位置与索引关系示意图;
图3是本发明计算分段配准迭代初值示意图;
图4是本发明多段焊缝轨迹修正工作主要模块示意图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
如图1所示,本实施例基于离线编程软件的多段焊缝轨迹修正方法,包括以下步骤:
s1、通过离线编程软件,按顺序拾取工件焊缝轨迹,输出轨迹点坐标与拾取顺序编号到文件;
具体地,输出的轨迹点是在焊接工作台坐标系下描述的,坐标值具有三个维度;
具体地,所拾取的焊缝是工件的“连续平滑边”,即不带有突变曲率的边;
s2、按图纸对焊缝的要求,指定机器人作业示教点,输出其坐标及其所属的焊缝编号到文件;
具体地,机器人作业示教点规定了焊枪末端的位置与姿态,具有六个维度,所指定的机器人作业示教点位置在拾取的焊缝上,姿态由所需的焊接工艺决定;
具体地,机器人作业示教点、所拾取焊缝、视觉扫描轨迹三者位置与索引关系如图2所示,seamid为拾取焊缝的索引值,根据拾取顺序顺次指定;机器人作业示教点的位置分量由拾取的焊缝上的某几个点确定,其在拾取焊缝上的位置根据图纸对焊缝的要求指定;姿态分量由离线编程的机器人初始焊接程序确定;视觉扫描轨迹只需占所拾取焊缝的一部分即可;
s3、规划初始机器人焊接程序;
s4、按规划的焊接顺序规划机器人焊缝扫描程序,并输出到机器人控制器;
具体地,焊缝的扫描顺序按与焊缝拾取顺序一致的方式规划;
s5、机器人控制器上执行焊缝扫描程序,获取焊缝扫描轨迹,并对每一段轨迹依次编号;
具体地,每一段焊缝的扫描只需要扫描轨迹的一部分而不是全部;
s6、分别把每一段初始焊缝轨迹配准到编号相同的扫描轨迹上,得到的变换矩阵用于变换初始机器人作业示教点的位置,获取变换后的机器人作业示教点;
具体地,焊缝轨迹的配准使用“先粗后精”的策略,粗配准使用拟合直线重合的策略,精配准使用迭代最近点icp算法;
具体地,粗配准是经过分段处理后,每一段的焊接轨迹点与视觉扫描点之间的变换关系可视作刚性变换,由于焊接轨迹点与视觉扫描点的分布形态均为线状分布,因此可以用线性模型分别拟合两条轨迹,然后计算两条直线之间的刚性变换矩阵;从视觉扫描轨迹的两个端点出发分别搜索焊缝轨迹上的最近点,用最近点截取焊缝轨迹上的一段作为对应段。
如图3所示,视觉扫描段的端点p1'、p2'在焊缝轨迹上的最近点分别为p1、p2,两段轨迹的拟合线分别为l′、l,l′、l是一对异面直线,其公垂线段为mn,异面夹角为θ,求解结果是一个变换矩阵,以此作为迭代最近点icp算法迭代初值,经过该矩阵的变换,l可与l′重合,进行粗配准后,利用迭代最近点icp算法进行精配准。
具体地,轨迹配准得到的变换矩阵用于变换原始机器人作业示教点,最终输出到机器人控制器的只有变换后的机器人作业示教点,连接各作业段的空走机器人作业示教点不作任何操作;
s7、输出变换后的机器人作业示教点到机器人控制器,得到更新的焊接程序用于工件的焊接;
s8、重新装夹工件,重复执行步骤s5、s6、s7,实现批量作业。
如图4所示,本实施例中,多段焊缝轨迹修正工作主要由三个模块完成,包括离线规划模块、轨迹修正模块以及运动插补模块;其中,离线规划模块负责初始焊缝轨迹和机器人程序的生成;轨迹修正模块负责轨迹匹配修正的运算工作;运动插补模块负责驱动焊枪末端进行焊接作业。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。