本发明涉及无损检测技术与机器人领域,具体是一种基于线扫描数据提取焊后焊缝边缘点的方法。
背景技术:
焊件在焊接过程中因焊接工艺与设备条件的偏差,残余应力状态和冶金因素变化的影响以及结构材料与尺寸的差异等,往往会在焊缝中产生不同程度与数量的气孔、夹渣、未熔合、未焊透以及裂纹等缺陷。为了检测这些焊缝缺陷,实际应用中,常常需要通过超声探伤等无损检测方法来实现,目前主要采用手动方式,检测效率低,人为因素也容易对检测结果产生不利影响。将无损检测技术与机器人技术相结合,研究自动化检测技术,是解决上述问题的有效途径。
在机器人应用中,路径规划及机器人编程是一项关键技术,目前主要有两种方式:基于自学习或者示教的在线编程和基于cad模型的离线编程。在线示教编程简单直接,目前,国内外应用的工业机器人系统大多采用示教再现模式,但是示教再现模式在实际生产中存在如下缺点:(1)编程者处于机器人工作空间中,危险系数高;(2)运动规划的失误容易导致工装夹具或者机器人的损坏。对于无损检测应用,磕碰容易导致价格昂贵的探头器件损坏;(3)示教编程很难实现复杂的机器人作业,采用示教编程很难得到优化的测量路径;(4)编程质量取决于编程者的经验;(5)示教编程需要占用机器人的作业时间。
离线编程是应用计算机图形学技术实现一个交互式软件环境,机器人作业的全过程在数字化环境里实现。与传统的在线示教编程相比,离线编程具有如下优点:(1)编程者远离危险的工作环境,安全系数高;(2)在编程期间不会损坏工装夹具及机器人等相关设备;(3)容易生成复杂的运动轨迹,且便于编辑机器人程序,有利于提高编程效率和编程质量;(4)对编程人员的经验要求不高;(5)编程时不影响机器人的正常生产;(6)便于和cad/cam系统结合,做到cad/cam/机器人一体化。但是,对于焊件来说,工件与cad模型之间很难准确匹配,因此很难利用cad模型进行离线编程,而采用激光三维扫描技术获取焊缝位置,并基于扫描数据实现离线编程就可以避免上述缺陷。
目前工业中也存在各种各样的焊缝自动化跟踪技术,但大多是针对焊接之前的焊缝识别,本发明主要针对焊后焊缝,通过对激光三维扫描技术获取的扫描数据进行分析、计算,来提取焊缝边缘点。
技术实现要素:
本发明的目的是提供一种基于线扫描数据提取焊后焊缝边缘点的方法,以实现准确、自动化识别焊缝边缘,从而实现焊缝的精准检测。
为了达到上述目的,本发明所采用的技术方案为:
一种基于线扫描数据提取焊后焊缝边缘点的方法,其特征在于:包括以下步骤:
(1)、通过三维激光扫描设备获取焊后焊缝的线扫描数据并输入计算机中,根据待提取的焊缝边缘点在扫描线中的位置交互设定扫描线方向;
(2)、计算每一条扫描线相邻线段间的有向夹角以及有向夹角的累加和,并进行移动平均处理;
(3)、自前向后遍历,自适应确定阈值,根据阈值自动确定焊缝边缘点的位置。
所述的一种基于线扫描数据提取焊后焊缝边缘点的方法,其特征在于:所述步骤(1)中交互设定扫描线方向时,当待提取的焊缝边缘点离扫描线起始点近时,扫描线方向不变;否则将所有扫描线反向。
所述的一种基于线扫描数据提取焊后焊缝边缘点的方法,其特征在于:所述步骤(2)过程如下:
(2a)、将一条扫描线上的所有点用pi=(xi,yi,zi)表示,其中i=0,…,n,每个点与其之后的一个点确定一个向量,得到向量vi=(xi+1-xi,yi+1-yi,zi+1-zi),其中i=0,…,n-1;
(2b)、计算相邻两向量vi-1、vi之间的夹角θi,其中i=1,…,n-1,设k=(0,0,1),若(vi-1×vi)·k>0,则θi=arccos(vi-1·vi/||vi-1||||vi||);若(vi-1×vi)·k<0,则θi=-arccos(vi-1·vi/||vi-1||||vi||);;
(3c)、一条扫描线中pi点对应的夹角为θi,其中i=1,…,n-1,夹角累加和为
(3d)、对步骤(3c)得到的夹角累加和进行移动平均处理,即自第二个点开始求连续2m+1个
所述的一种基于线扫描数据提取焊后焊缝边缘点的方法,其特征在于:所述步骤(3)过程如下:
(3a)、遍历
(3b)、从
与已有技术相比,本发明的优点在于:第一,该算法计算简单,可用于焊后焊缝边缘点的在线提取,从而实现基于焊缝激光扫描的自适应路径规划,实现焊后焊缝的自动检测;第二,该算法也具有较为广泛的应用,针对不同类型的焊缝,可以适当调整,实现不同类型焊缝的边缘点准确识别。
附图说明
图1为本发明的方法流程图。
图2为实施例中焊缝扫描线数据的示意图。
图3为实施例中计算夹角累加和的结果示意图。
图4为实施例中计算夹角累加和移动平均处理的结果示意图。
具体实施方式
如图1所示,一种基于线扫描数据提取焊后焊缝边缘点的方法,包括以下步骤:
(1)、通过三维激光扫描设备获取焊后焊缝的线扫描数据并输入计算机中,根据待提取的焊缝边缘点在扫描线中的位置交互设定扫描线方向;
(2)、计算每一条扫描线相邻线段间的有向夹角以及有向夹角的累加和,并进行移动平均处理;
(3)、自前向后遍历,自适应确定阈值,根据阈值自动确定焊缝边缘点的位置。
实施例一
本实施例是对只有一条焊缝的零件的焊缝边缘点识别,包括以下步骤:
步骤(1)中,交互设定扫描线方向时,假设图2所示扫描线起始点为左侧点,且待提取的焊缝边缘点为焊缝左侧的边缘点,扫描线方向不变;否则需要将所有扫描线反向。
步骤2:计算每一条扫描线相邻段间的有向夹角以及有向夹角的累加和,并进行移动平均处理。
(2a)图2所示的一条扫描线上所有点用pi=(xi,γi,zi)(i=0,…,n)表示,每个点与其之后一点确定一个向量,得到向量vi=(xi+1-xi,yi+1-yi,zi+1-zi)(i=0,…,n-1);
(2b)计算相邻两向量vi-1、vi之间的夹角θi(i=1,…,n-1),设z=(0,0,1)且图2中z轴指向内部,如果(vi-1×vi)·z>0,则θi=arccos(vi-1·vi/||vi-1||||vi||);否则,则θi=-arccos(vi-1·vi/||vi-1||||vi||);
(2c)一条扫描线中pi点对应的夹角为θi(i=1,…,n-1),夹角累加和为
(2d)对步骤(2)得到的夹角累加和进行移动平均处理,即自第二个点开始求连续2m+1个
所述的一种基于线扫描数据提取焊后焊缝边缘点的方法,其特征在于:所述步骤(3)过程如下:
步骤3:自前向后遍历自适应设定阈值,并根据阈值自动确定焊缝边缘点的位置。
(3a)遍历
(3b)从
以上实施方式仅用于说明本发明,而非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的保护范畴。