一种基于图像识别的焊接机器人控制系统转让专利

申请号 : CN202310117201.9

文献号 : CN115990896B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 武慧红黄志佳汪渊博杨丹冯燕萍陈华

申请人 : 浙江奥桑机械设备有限公司

摘要 :

本发明属于控制领域,公开了一种基于图像识别的焊接机器人控制系统,包括图像处理模块、计算模块和控制模块;图像处理模块用于对线激光图像进行计算,获取焊缝的坐标;计算模块用于根据焊缝的坐标计算出焊接头的目标坐标;控制模块用于将焊接头移动至目标坐标。本发明在对线激光图像进行处理的过程中,仅进行了灰度化运算、滤波运算和窗口检测运算便能够得到焊缝的坐标,与现有技术相比,减少了二值化处理、形态学处理、细化处理等步骤,从而提高了焊缝坐标的获取速度,进而提高焊接机器人的焊接效率。

权利要求 :

1.一种基于图像识别的焊接机器人控制系统,其特征在于,包括图像处理模块、计算模块和控制模块;

图像处理模块用于对线激光图像进行计算,获取焊缝的坐标;

计算模块用于根据焊缝的坐标计算出焊接头的目标坐标;

控制模块用于将焊接头移动至目标坐标;

其中,对线激光图像进行计算,获取焊缝的坐标,包括:S1,对线激光图像进行灰度化处理,获得灰度图像,以灰度图像左下角为坐标原点,建立直角坐标系;

S2,在灰度图像中使用1×vrn的检测窗口对位于检测窗口中心的像素点进行检测,vrn表示检测窗口的行数,vrn为奇数整数,1表示检测窗口的列数;

S3,判断检测窗口是否符合预设的检测条件,若是,则进入S4,若否,则进入S6;

S4,将S2中的检测窗口中心的横坐标加上1,得到新的检测窗口中心的横坐标,若新的检测窗口中心的横坐标大于灰度图像的列数,则进入S7,若新的检测窗口中心的横坐标小于等于灰度图像的列数,则进入S5;

S5,根据预设的规则获取新的检测窗口中心的纵坐标,从而得到新的检测窗口中心,进入S2;

S6,将S2中的检测窗口中心的纵坐标减1,得到新的检测窗口中心,进入S2;

S7,将横坐标连续的且符合预设的检测条件的3个检测窗口的中心的像素点分别记为px1、px2、px3;

S8,计算px1、px2之间的斜率k1,计算px2、px3之间的斜率k2,若|k1‑k2|小于设定的斜率阈值且k1为负值,k2为正值,则将px2作为变化点,将变化点的坐标记为(xchg,ychg);

S9,计算焊缝的纵坐标yaim, 则焊缝的坐标为(xchg,yaim)。

2.根据权利要求1所述的一种基于图像识别的焊接机器人控制系统,其特征在于,还包括发射模块,发射模块用于向焊缝发射线激光。

3.根据权利要求2所述的一种基于图像识别的焊接机器人控制系统,其特征在于,还包括成像模块,成像模块用于对照射在焊缝上的线激光进行成像,得到线激光图像。

4.根据权利要求1所述的一种基于图像识别的焊接机器人控制系统,其特征在于,所述根据焊缝的坐标计算出焊接头的目标坐标,包括:将焊缝的坐标从图像坐标系转换到世界坐标系,得到目标坐标。

5.根据权利要求1所述的一种基于图像识别的焊接机器人控制系统,其特征在于,对线激光图像进行灰度化处理,获得灰度图像,包括:灰度化函数如下:

g(x,y)=w1×r(x,y)+w2×g(x,y)+w3×b(x,y)其中,g(x,y)为灰度图像g的坐标(x,y)处的像素点的灰度值,w1、w2、w3分别表示r(x,y)、g(x,y)、b(x,y)的权重,r(x,y)为RGB颜色空间中的红色分量图像中,坐标(x,y)处的像素点的像素值,g(x,y)为RGB颜色空间中的绿色分量图像中,坐标(x,y)处的像素点的像素值,b(x,y)为RGB颜色空间中的蓝色分量图像中,坐标(x,y)处的像素点的像素值。

6.根据权利要求1所述的一种基于图像识别的焊接机器人控制系统,其特征在于,判断检测窗口是否符合预设的检测条件,包括:S31,分别对检测窗口中的每个像素点进行滤波处理,得到滤波后的像素点的集合D;

S32,计算集合D中像素值突变的像素点的纵坐标的最小值miy和最大值may;

S33,获取集合D中像素值大于设定的像素值阈值的像素点的数量nbgt;

S34,计算检测系数:

其中,dtccef为检测系数,ysthr为预设的纵坐标差值,fcthr为设定的方差比较值,bgt为集合D中像素值大于设定的像素值阈值的像素点的集合,gi为bgt中的像素点i的灰度值;

α为灰度值差值的权重,β为数量的权重,η为方差的权重;

S35,将检测系数与设定的系数阈值进行比较,若检测系数大于设定的系数阈值,则检测窗口符合预设的检测条件,若检测系数小于等于设定的系数阈值,则检测窗口不符合预设的检测条件。

7.根据权利要求1所述的一种基于图像识别的焊接机器人控制系统,其特征在于,根据预设的规则获取新的检测窗口中心的纵坐标,包括:用d表示S2中的检测窗口中心的纵坐标,则新的检测窗口中心的纵坐标d'为:其中,θ表示自适应范围参数, 为向上取整。

8.根据权利要求7所述的一种基于图像识别的焊接机器人控制系统,其特征在于,θ的计算函数为:其中,ns为在高度Q垂直发射线激光时,在平面上留下的线激光的宽度,E为线激光的最大有效宽度,bsn为常数。

说明书 :

一种基于图像识别的焊接机器人控制系统

技术领域

[0001] 本发明涉及控制领域,尤其涉及一种基于图像识别的焊接机器人控制系统。

背景技术

[0002] 焊接机器人在焊接的过程中需要实时获取焊缝的位置,便于对焊接头的位置进行实时调节,实现自动焊接。现有技术中,一般通过采集焊缝周围的线激光图像,然后通过对线激光图像进行图像识别得到焊缝的位置,接着根据该位置得到焊接头的目标坐标,将焊接头移动到目标坐标后便可以进行焊接,这种控制方式使得焊机头能够跟随焊缝的位置自动进行移动,实现自动焊接。
[0003] 然而现有的焊接机器人对线激光图像进行处理的过程中,在进行灰度化处理、降噪处理后,还需要进行二值化处理、形态学处理、细化处理等步骤才能得到焊缝的坐标,步骤比较多,因此耗时比较久,影响了焊接机器人的焊接效率。

发明内容

[0004] 本发明的目的在于公开一种基于图像识别的焊接机器人控制系统,解决现有的焊接机器人在对焊缝进行焊接的过程中,对线激光图像进行处理的步骤比较多,因此耗时比较久,影响了焊接机器人的焊接效率的问题。
[0005] 为了达到上述目的,本发明采用如下技术方案:
[0006] 一种基于图像识别的焊接机器人控制系统,包括图像处理模块、计算模块和控制模块;
[0007] 图像处理模块用于对线激光图像进行计算,获取焊缝的坐标;
[0008] 计算模块用于根据焊缝的坐标计算出焊接头的目标坐标;
[0009] 控制模块用于将焊接头移动至目标坐标;
[0010] 其中,对线激光图像进行计算,获取焊缝的坐标,包括:
[0011] S1,对线激光图像进行灰度化处理,获得灰度图像,以灰度图像左下角为坐标原点,建立直角坐标系;
[0012] S2,在灰度图像中使用1×vrn的检测窗口对位于检测窗口中心的像素点进行检测,vrn表示检测窗口的行数,vrn为奇数整数,1表示检测窗口的列数;
[0013] S3,判断检测窗口是否符合预设的检测条件,若是,则进入S4,若否,则进入S6;
[0014] S4,将S2中的检测窗口中心的横坐标加上1,得到新的检测窗口中心的横坐标,若新的检测窗口中心的横坐标大于灰度图像的列数,则进入S7,若新的检测窗口中心的横坐标小于等于灰度图像的列数,则进入S5;
[0015] S5,根据预设的规则获取新的检测窗口中心的纵坐标,从而得到新的检测窗口中心,进入S2;
[0016] S6,将S2中的检测窗口中心的纵坐标减1,得到新的检测窗口中心,进入S2;
[0017] S7,将横坐标连续的且符合预设的检测条件的3个检测窗口的中心的像素点分别记为px1、px2、px3;
[0018] S8,计算px1、px2之间的斜率k1,计算px2、px3之间的斜率k2,若|k1‑k2|小于设定的斜率阈值且k1为负值,k2为正值,则将px2作为变化点,将变化点的坐标记为(xchg,ychg);
[0019] S9,计算焊缝的纵坐标yaim, 则焊缝的坐标为(xchg,yaim)。
[0020] 优选地,还包括发射模块,
[0021] 发射模块用于向焊缝发射线激光。
[0022] 优选地,还包括成像模块,
[0023] 成像模块用于对照射在焊缝上的线激光进行成像,得到线激光图像。
[0024] 优选地,所述根据焊缝的坐标计算出焊接头的目标坐标,包括:
[0025] 将焊缝的坐标从图像坐标系转换到世界坐标系,得到目标坐标。
[0026] 优选地,对线激光图像进行灰度化处理,获得灰度图像,包括:
[0027] 灰度化函数如下:
[0028] g(x,y)=w1×r(x,y)+w2×g(x,y)+w3×b(x,y)
[0029] 其中,g(x,y)为灰度图像g的坐标(x,y)处的像素点的灰度值,w1、w2、w3分别表示r(x,y)、g(x,y)、b(x,y)的权重,r(x,y)为RGB颜色空间中的红色分量图像中,坐标(x,y)处的像素点的像素值,g(x,y)为RGB颜色空间中的绿色分量图像中,坐标(x,y)处的像素点的像素值,b(x,y)为RGB颜色空间中的蓝色分量图像中,坐标(x,y)处的像素点的像素值。
[0030] 优选地,判断检测窗口是否符合预设的检测条件,包括:
[0031] S31,分别对检测窗口中的每个像素点进行滤波处理,得到滤波后的像素点的集合D;
[0032] S32,计算集合D中像素值突变的像素点的纵坐标的最小值miy和最大值may;
[0033] S33,获取集合D中像素值大于设定的像素值阈值的像素点的数量nbgt;
[0034] S34,计算检测系数:
[0035]
[0036] 其中,dtccef为检测系数,ysthr为预设的纵坐标差值,fcthr为设定的方差比较值,bgt为集合D中像素值大于设定的像素值阈值的像素点的集合,gi为bgt中的像素点i的灰度值;α为灰度值差值的权重,β为数量的权重,η为方差的权重;
[0037] S35,将检测系数与设定的系数阈值进行比较,若检测系数大于设定的系数阈值,则检测窗口符合预设的检测条件,若检测系数小于等于设定的系数阈值,则检测窗口不符合预设的检测条件。
[0038] 优选地,根据预设的规则获取新的检测窗口中心的纵坐标,包括:
[0039] 用d表示S2中的检测窗口中心的纵坐标,则新的检测窗口中心的纵坐标d'为:
[0040]
[0041] 其中,θ表示自适应范围参数, 为向上取整。
[0042] 优选地,θ的计算函数为:
[0043]
[0044] 其中,ns为在高度Q垂直发射线激光时,在平面上留下的线激光的宽度,E为线激光的最大有效宽度,bsn为常数。
[0045] 本发明在对线激光图像进行处理的过程中,仅进行了灰度化运算、滤波运算和窗口检测运算便能够得到焊缝的坐标,与现有技术相比,减少了二值化处理、形态学处理、细化处理等步骤,从而提高了焊缝坐标的获取速度,进而提高焊接机器人的焊接效率。

附图说明

[0046] 为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0047] 图1为本发明基于图像识别的焊接机器人控制系统的一种示意图。

具体实施方式

[0048] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0049] 如图1所示的一种实施例,本发明提供了一种基于图像识别的焊接机器人控制系统,包括图像处理模块101、计算模块201和控制模块301。
[0050] 图像处理模块101用于对线激光图像进行计算,获取焊缝的坐标。
[0051] 计算模块201用于根据焊缝的坐标计算出焊接头的目标坐标。
[0052] 在一种实施例中,根据焊缝的坐标计算出焊接头的目标坐标,包括:
[0053] 将焊缝的坐标从图像坐标系转换到世界坐标系,得到目标坐标。
[0054] 控制模块301用于将焊接头移动至目标坐标;
[0055] 其中,对线激光图像进行计算,获取焊缝的坐标,包括:
[0056] S1,对线激光图像进行灰度化处理,获得灰度图像,以灰度图像左下角为坐标原点,建立直角坐标系。
[0057] 在一种实施例中,对线激光图像进行灰度化处理,获得灰度图像,包括:
[0058] 灰度化函数如下:
[0059] g(x,y)=w1×r(x,y)+w2×g(x,y)+w3×b(x,y)
[0060] 其中,g(x,y)为灰度图像g的坐标(x,y)处的像素点的灰度值,w1、w2、w3分别表示r(x,y)、g(x,y)、b(x,y)的权重,r(x,y)为RGB颜色空间中的红色分量图像中,坐标(x,y)处的像素点的像素值,g(x,y)为RGB颜色空间中的绿色分量图像中,坐标(x,y)处的像素点的像素值,b(x,y)为RGB颜色空间中的蓝色分量图像中,坐标(x,y)处的像素点的像素值。
[0061] 灰度化之后能够降低需要计算的颜色通道的数量,从而加快运算。
[0062] S2,在灰度图像中使用1×vrn的检测窗口对位于检测窗口中心的像素点进行检测,vrn表示检测窗口的行数,vrn为奇数整数,1表示检测窗口的列数。
[0063] 在本发明中,检测是按照从上到下,从左到右的顺序进行的。但是本发明不是对所有的像素点都使用检测窗口来进行检测,而是先在第一列检测到存在焊缝的区域,然后基于该区域不断向右延伸,得到完整的焊缝区域。与现有的检测方式相比,本发明不需要进行二值化等计算过程,计算效率更高。
[0064] S3,判断检测窗口是否符合预设的检测条件,若是,则进入S4,若否,则进入S6。
[0065] 检测窗口中心从上到下变化的过程中,不断地更新检测窗口中的像素点,当属于线激光的像素点大部分在检测窗口内时,则会因为符合检测条件而被准确识别出来。
[0066] 在一种实施例中,判断检测窗口是否符合预设的检测条件,包括:
[0067] S31,分别对检测窗口中的每个像素点进行滤波处理,得到滤波后的像素点的集合D;
[0068] S32,计算集合D中像素值突变的像素点的纵坐标的最小值miy和最大值may;
[0069] S33,获取集合D中像素值大于设定的像素值阈值的像素点的数量nbgt;
[0070] S34,计算检测系数:
[0071]
[0072] 其中,dtccef为检测系数,ysthr为预设的纵坐标差值,fcthr为设定的方差比较值,bgt为集合D中像素值大于设定的像素值阈值的像素点的集合,gi为bgt中的像素点i的灰度值;α为灰度值差值的权重,β为数量的权重,η为方差的权重;
[0073] S35,将检测系数与设定的系数阈值进行比较,若检测系数大于设定的系数阈值,则检测窗口符合预设的检测条件,若检测系数小于等于设定的系数阈值,则检测窗口不符合预设的检测条件。
[0074] 与现有技术相比,本发明仅需要对被纳入检测窗口的像素点进行滤波处理,而不需要对所有的像素点均进行滤波处理,大幅减少了参与滤波处理的像素点的数量,有利于提高焊缝的坐标的获取速度。而滤波处理则是能够降低噪声对检测系数的正确性的影响,提高检测系数用在检测属于线激光的像素点时的准确率。
[0075] 在检测系数的计算过程中,本发明从像素值突变的像素点的纵坐标、大于像素值阈值的像素点的数量、大于像素值阈值的像素点的像素值方差这几个方面进行加权计算,得到了能够准确检测出线激光的检测系数。纵坐标的差值的设置能够降低线激光区域的孔洞像素点对检测准确率的影响,若仅考虑像素值,则可能由于部分区域的线激光在反射时发生偏转,没有反射到成像装置中,产生孔洞,这样,计算出来的检测区域的检测系数是不能准确表示线激光的区域的。
[0076] 在一种实施例中,对于像素点cgpx,若cgpx的正上方或正下方的存在与cgpx之间的灰度值差值大于设定的突变阈值的像素点,则cgpx为像素值突变的像素点。
[0077] 在本发明中,像素值突变的像素点属于线激光的起始点或结束点的概率比较大,因此,检测窗口中的像素值突变的像素点的纵坐标的差值越大,则检测系数越大。
[0078] 在一种实施例中,分别对检测窗口中的每个像素点进行滤波处理,得到滤波后的像素点的集合D,包括:
[0079] S311,对于像素点rtpx,判断像素点rtpx是否属于已滤波集合中的像素点,若是,则不对rtpx进行滤波处理,若否,则计算rtpx的滤波辅助值;
[0080] S312,若滤波辅助值大于设定的辅助值阈值,则使用如下滤波算法进行滤波处理:
[0081]
[0082] 其中,flt(rtpx)为对rtpx进行滤波之后,rtpx的像素值,nertpx为以rtpx为中心的,边长为Θ的正方形区域内的像素点的集合,ctg为nertpx中的像素值突变的像素点的数量,λ为比例值,λ∈(0,1),dj和drtpx分别表示像素点j和像素点rtpx与检测窗口中心的距离,gtr为设定的距离阈值,gj为像素点j的灰度值;
[0083] 若滤波辅助值小于等于设定的辅助值阈值,则使用如下滤波算法进行滤波处理:
[0084]
[0085] 其中,flt(rtpx)为对rtpx进行滤波之后,rtpx的像素值,mdfv表示将矩阵中的像素点的灰度值从小到大进行排序,获取排在第5名的像素值,nei1到nei8为rtpx的邻域的像素点。
[0086] S313,将rtpx存入已滤波集合。
[0087] 具体的,本发明在滤波处理的过程中通过已滤波集合来避免对像素点的重复滤波计算,从而提高滤波速度。而在具体的滤波处理过程中,本发明先进行了滤波辅助值的计算,然后根据滤波辅助值来选择相应的滤波处理方式,能够避免仅使用较为复杂或仅使用较为简单滤波算法来进行滤波处理,从而在保证滤波效果的同时降低了整体的滤波时间。
[0088] 在一种实施例中,滤波辅助值的计算函数为:
[0089]
[0090] 其中,flthp为滤波辅助值的计算函数,nyflr为以rtpx为中心的,边长为Θ的正方形区域内,与rtpx的竖直方向梯度值的差值小于设定的常数的像素点的数量。
[0091] 当滤波辅助值比较大时,则表示正方形区域内与rtpx梯度值相近的像素点的数量比较多,rtpx属于线激光的起始点或结束点的概率比较大,且采用更能够保留起始点或结束点特征的滤波处理方式来进行滤波处理。具体而言,在滤波过程中,分别为正方形区域中不同的像素点自适应计算了不同的求和系数,同时也考虑了像素值突变的像素点的数量,从而达到了保留起始点或结束点特征的目的。
[0092] 当滤波辅助值比较小时,则采用更为快捷的滤波处理方式来进行滤波处理,从而达到减少整体的滤波时间的目的。
[0093] S4,将S2中的检测窗口中心的横坐标加上1,得到新的检测窗口中心的横坐标,若新的检测窗口中心的横坐标大于灰度图像的列数,则进入S7,若新的检测窗口中心的横坐标小于等于灰度图像的列数,则进入S5。
[0094] S5,根据预设的规则获取新的检测窗口中心的纵坐标,从而得到新的检测窗口中心,进入S2。
[0095] 在一种实施例中,根据预设的规则获取新的检测窗口中心的纵坐标,包括:
[0096] 用d表示S2中的检测窗口中心的纵坐标,则新的检测窗口中心的纵坐标d'为:
[0097]
[0098] 其中,θ表示自适应范围参数, 为向上取整。
[0099] 在一种实施例中,θ的计算函数为:
[0100]
[0101] 其中,ns为在高度Q垂直发射线激光时,在平面上留下的线激光的宽度,E为线激光的最大有效宽度,bsn为常数。
[0102] 在上述实施例中,横坐标加1之后,通过设置自适应范围参数参数,实现了纵坐标的起始值自适应地随着前一个检测窗口中心的变化而进行变化,因为线激光在整个线激光图像中的占比比较小,因此,能够在保证检测出线激光的同时,减少进入检测窗口的像素点的数量。
[0103] 在一种实施例中,vrn等于ns的值。
[0104] S6,将S2中的检测窗口中心的纵坐标减1,得到新的检测窗口中心,进入S2。
[0105] 纵坐标减1之后,表示检测窗口向下滑动。
[0106] S7,将横坐标连续的且符合预设的检测条件的3个检测窗口的中心的像素点分别记为px1、px2、px3。
[0107] S8,计算px1、px2之间的斜率k1,计算px2、px3之间的斜率k2,若|k1‑k2|小于设定的斜率阈值且k1为负值,k2为正值,则将px2作为变化点,将变化点的坐标记为(xchg,ychg)。
[0108] 由于在焊缝中的线激光的纵坐标会显著低于两边的线激光的纵坐标,因此,通过设置斜率的正负值以及斜率的差值,能够检测出属于焊缝的区域的像素点。
[0109] S9,计算焊缝的纵坐标yaim, 则焊缝的坐标为(xchg,yaim)。
[0110] 本发明在对线激光图像进行处理的过程中,仅进行了灰度化运算、滤波运算和窗口检测运算便能够得到焊缝的坐标,与现有技术相比,减少了二值化处理、形态学处理、细化处理等步骤,从而提高了焊缝坐标的获取速度,进而提高焊接机器人的焊接效率。
[0111] 优选地,还包括发射模块,
[0112] 发射模块用于向焊缝发射线激光。
[0113] 优选地,还包括成像模块,
[0114] 成像模块用于对照射在焊缝上的线激光进行成像,得到线激光图像。
[0115] 以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。