本技术涉及焊接,尤其涉及圆管相贯线焊缝处理方法、装置和存储介质。
背景技术:
1、圆管相贯线焊缝在焊接领域中较为常见,在如喷淋水管、石油管和天然气管等各种类型的圆管连接场景中均有出现。图1为两圆柱面之间形成的相贯线,目前针对圆管相贯线焊缝的焊接主要分为两大类:一是人工焊接,二是机器人焊接。但人工焊接圆管相贯线容易出现焊接质量差和焊接不均匀、不美观等问题,而机器人对圆管相贯线焊缝主要通过示教几个关键点来焊接,这样不但精度无法保证一致,生产效率也不高,如在2011年01月25日申请的,申请号为201110029075.9的中国专利申请文件,采用一种示教方法,使用机器人焊接相贯线焊缝,该申请文件通过操作机器人在相贯线焊缝上示教至少4个关键点,然后构建局部坐标系,利用标定完成机器人基座标系到工件坐标系的转换,最后通过相贯线焊缝轨迹插补算法生成实际的焊缝轨迹,最后实现焊接。
2、使用该方法能够实现相贯线焊缝的焊接,但示教本身存在引入人为误差的因素,另外相贯线焊缝可能存在坡口或者缝隙大小不一的情况,这些都会导致生成的焊缝轨迹精度较低,进而影响焊接成型效果和焊接质量。另外通过示教识别焊缝也会降低工作效率、影响生成的连续性。
技术实现思路
1、鉴于此,本技术提供的圆管相贯线焊缝处理方法,能够快速、准确地计算出相贯线焊缝的数据,并且能够使用在所有两圆管相交形成的相贯线焊缝场景。
2、为实现上述目的,本技术第一方面采用如下技术方案:圆管相贯线焊缝处理方法,基于预扫描模式获取圆管的三维点云数据后拟合第一圆管以及第二圆管的圆柱面方程,并根据所拟合的圆柱面方程获取相贯线数据,包括如下步骤:
3、将第二圆管圆柱的底面圆投影至第一圆管的轴线向量nm上,得到底面圆与第一圆管轴线相交的两点的坐标pl0(xl0,yl0,zl0)和pl1(xl1,yl1,zl1),其中pl0与pl1之间的距离l视为相贯线长度;
4、在pl0到pl1之间等步长step取第一圆管圆柱面的底面圆中心点pl,所述第一圆管圆柱面的底面圆中心点pl可由公式7求得;
5、pl(xl,yl,zl)=pl0(xl0,yl0,zl0)+step*nm(nmx,nmy,nmz) (公式7)
6、其中,step∈[0,l];
7、在第一圆管的圆柱面上任取一点pm,获取点pm坐标,并将点pm代入第二圆管的圆柱面方程;
8、若pm也满足第二圆管的圆柱面方程,则比较pm到有效的第二圆管三维点云数据的质心pbv之间的距离d1和pl到有效的第二圆管三维点云数据的质心pbv之间的距离d2,若d1<d2,则pm为真正的相贯线数据;
9、优选地,pm的获取步骤如下:
10、根据向量叉乘公式,将第一圆管轴线向量nm与第二圆管轴线向量nb进行叉乘,得到向量va,并将所得到的向量va再与第一圆管轴线向量nm叉乘,得到向量vb:
11、va(nax,nay,naz)=nm(nmx,nmy,nmz)×nb(nbx,nby,nbz) (公式8)
12、vb(nbx,nby,nbz)=nm(nmx,nmy,nmz)×va(nax,nay,naz) (公式9)
13、设pm(xm,ym,zm)为第一圆管圆柱面上一点,将向量va和向量vb看作第一圆管圆柱面的底面圆上的两个垂直向量,因此,点pm坐标可根据公式10求得:
14、pm=pl+rm*(cosθ*va+sinθ*vb) (公式10)
15、其中,θ∈[0,2π],rm为第一圆管圆柱面的底面圆半径。
16、优选地,在获取相贯线数据后,对相贯线数据进行焊接工艺处理,包括:
17、对相贯线数据进行外扩;将相贯线数据等间隔采样;将等间隔采样的相贯线数据的初始点设置在第二圆管一侧。
18、优选地,在获取相贯线数据之前,需要拟合第一圆管以及第二圆管的圆柱面方程,具体包括如下步骤:
19、s1、对第一圆管以及第二圆管进行扫描,获取第一圆管和第二圆管表面的三维点云数据;
20、s2、对所述步骤s1中获取的三维点云数据分别进行预处理,以去除三维点云数据中的离群点并对三维点云数据下采样,包括:统计滤波和体素滤波;
21、s3、根据所述步骤s2中经过预处理的三维点云数据,拟合第一圆管的圆柱面方程;
22、s4、过滤第二圆管三维点云数据中存在的第一圆管表面三维点云数据;
23、s5、根据所述步骤s4中得到的有效的第二圆管三维点云数据拟合第二圆管圆柱面方程,并输出第二圆管的轴线上一点pb0(xb0,yb0,zb0),轴线向量nb(nbx,nby,nbz)和底面圆半径rb。
24、优选地,所述步骤s3中,拟合第一圆管圆柱面方程的具体步骤为:
25、s301、对第一圆管三维点云数据中的每一个点,取其邻域内若干点,并以该点以及其邻域内的若干点拟合一平面,计算该平面的法向量,并将所得的平面法向量单位化,所得的单位法向量即该点的单位法向量;
26、s302、随机选取n个三维点云数据的单位法向量,将其看作坐标点,并拟合一平面planei,求解该平面的法向量ni(nix,niy,niz);其中,向量ni(nix,niy,niz)为圆柱轴线向量,i表示第i次迭代;
27、s303、将所有的三维点云数据投影至拟合平面planei上,并根据所有的投影点拟合圆circlei,求得拟合圆circlei的底面半径ri和圆心pi(xi0,yi0,zi0);其中,半径ri为圆柱底面圆半径,点pi(xi0,yi0,zi0)为圆柱轴线上一点,i表示第i次迭代;
28、s304、将点pi(xi0,yi0,zi0),向量ni(nix,niy,niz)和半径ri代入公式11,求得第一圆管的圆柱面方程:
29、(x-x0)2+(y-y0)2+(z-z0)2-[nx(x-x0)+ny(y-y0)+nz(z-z0)]2=r2
30、(公式11)
31、s305、根据公式12计算三维点云数据中的每个点与拟合圆柱之间的误差若误差小于设定阈值errorthreshi,则认为该点是内点:
32、
33、s306、计算三维点云数据中内点个数占整个三维点云数据总数量的比例ratioi,若ratioi大于设定阈值ratiothreshi,则认定为拟合成功,将点pi(xi0,yi0,zi0)、向量ni(nix,niy,niz)和半径ri分别返回至第一圆管的轴线上一点pm0(xm0,ym0,zm0),轴线向量nm(nmx,nmy,nmz)和底面圆半径rm;否则从步骤s302开始重新迭代,直至达到最大迭代次数,所述最大迭代次数为提前设置的最大循环拟合次数,在达到最大迭代次数前,若ratioi大于设定阈值ratiothreshi则拟合成功,退出拟合程序,若达到最大迭代次数时,ratioi仍小于设定阈值ratiothreshi,则认为拟合失败。
34、优选地,步骤s4中,根据公式12计算预处理后的每个第二圆管三维点云数据与第一圆管圆柱面之间的误差error,若误差error大于设定的误差阈值errorthresh,则认为是有效的第二圆管三维点云数据,并保留,否则从数据集中将该点数据删除;并计算所有有效的第二圆管三维点云数据的质心点pbv(xbv,ybv,zbv)。
35、进一步优选地,获取相贯线数据还可以使用如下方法:
36、在第一圆管轴线与第二圆管轴线的相交位置构建局部坐标系;
37、将第一圆管的圆柱面方程和第二圆管的圆柱面方程转换至该局部坐标系中,分别得到在局部坐标系下的第一圆管圆柱面方程和第二圆管圆柱面方程;
38、联立局部坐标系下的第一圆管圆柱面方程和第二圆管圆柱面方程,得到相贯线方程,从而得到相贯线数据。
39、本技术第二方面,提供了圆管相贯线焊缝处理装置,包括存储器、处理器以及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现本技术第一方面所述方法的步骤。
40、本技术第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现本技术第一方面所述方法的步骤。
41、有益效果:
42、(1)只需设定扫描范围便能快速、准确地计算出相贯线焊缝的数据;
43、(2)能够根据实际情况进行相应的焊接工艺调整,以提高焊接成型效果;
44、(3)能够使用在所有两圆管相交形成的相贯线焊缝场景,不仅能够适应两圆管对心垂直相交形成的相贯线焊缝,而且能够适应两圆管偏心斜交的情况;
45、(4)计算出的焊缝数据误差小,能够控制在1mm以内,满足相贯线焊接的要求。
1.圆管相贯线焊缝处理方法,基于预扫描模式获取圆管的三维点云数据后拟合第一圆管以及第二圆管的圆柱面方程,并根据所拟合的圆柱面方程获取相贯线数据,其特征在于,包括如下步骤:
2.根据权利要求1所述的圆管相贯线焊缝处理方法,其特征在于:pm的获取步骤如下:
3.根据权利要求2所述的圆管相贯线焊缝处理方法,其特征在于:在获取相贯线数据后,对相贯线数据进行焊接工艺处理,包括:
4.根据权利要求1所述的圆管相贯线焊缝处理方法,其特征在于,在获取相贯线数据之前,需要拟合第一圆管以及第二圆管的圆柱面方程,具体包括如下步骤:
5.根据权利要求4所述的圆管相贯线焊缝处理方法,其特征在于:
6.根据权利要求5所述的圆管相贯线焊缝处理方法,其特征在于:步骤s4中,根据公式6计算预处理后的每个第二圆管三维点云数据与第一圆管圆柱面之间的误差error,若误差error大于设定的误差阈值errorthresh,则认为是有效的第二圆管三维点云数据,并保留,否则从数据集中将该点数据删除;并计算所有有效的第二圆管三维点云数据的质心点pbv(xbv,ybv,zbv)。
7.根据权利要求1所述的圆管相贯线焊缝处理方法,其特征在于:获取相贯线数据还可以使用如下方法:
8.圆管相贯线焊缝处理装置,包括存储器、处理器以及存储在存储器上的计算机程序,其特征在于:所述处理器执行所述计算机程序以实现权利要求1-7任一所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序/指令,其特征在于:该计算机程序/指令被处理器执行时实现权利要求1-7任一所述方法的步骤。