焊接变形量自适应的直线焊缝打磨轨迹生成方法及装置

文档序号:32241235发布日期:2022-11-18 22:31阅读:79来源:国知局
焊接变形量自适应的直线焊缝打磨轨迹生成方法及装置

1.本发明涉及机器人视觉定位技术领域,尤其涉及焊接变形量自适应的直线焊缝打磨轨迹生成方法及装置。


背景技术:

2.焊接技术在企业生产中被广泛应用,焊接完成后的焊缝为满足板件在尺寸、平整度以及美观性方面的要求,有时需要进行打磨处理。由于焊缝打磨过程中所需的控制因素要求较多,场景复杂多变而,利用机器人打磨很难实现精度要求,所以现如今焊缝打磨过程基本都是通过人力解决。
3.通过人力解决的话一方面打磨过程中产生的噪音、粉尘、有害气体、火花等会影响到作业人员的身心健康。打磨过程通常比较消耗体力,使用的工具一般都在高速运转,如果使用过程中不小心,会对身体造成一定程度的物理伤害;另一方面成本相对也较高,且标准化程度难以统一。


技术实现要素:

4.本发明的目的是为了至少解决现有技术的不足之一,提供焊接变形量自适应的直线焊缝打磨轨迹生成方法及装置。
5.为了实现上述目的,本发明采用以下的技术方案,
6.具体的,提出焊接变形量自适应的直线焊缝打磨轨迹生成方法,包括以下:
7.通过kinect v2相机中的彩色rgb相机获取目标焊板的多帧二维图像、红外ir相机获取目标焊板的多帧三维点云图像;
8.根据获取的多帧所述二维图像以及三维点云图像,进行三维直线焊缝粗提取得到三维焊缝信息;
9.对所述三维焊缝信息进行降噪处理,并剔除离群点以及非真实焊缝轨迹点后,得到三维焊缝点云pi;
10.根据所述三维焊缝点云pi,生成可被机器人实际生产执行的路径点;
11.控制机器人按照所述路径点进行焊缝打磨。
12.进一步,具体的,所述三维直线焊缝信息通过以下方式进行粗提取,
13.对获取的二维图像进行灰度化处理后高斯滤波,再通过canny边缘检测提取其中的纹路信息,之后利用霍夫直线变换提取纹路信息中的直线获得多条直线,基于bdscan思想提取出目标直线即为焊缝,此时得到焊缝在二维图像中的位置;
14.标定好彩色rgb相机与红外ir相机的内参和外参,具体包括,
15.设p
ir
=[x
ir y
ir z
ir
]为ir相机坐标系下某点的空间非齐次坐标,p
ir
=[u
ir v
ir 1]为ir相机像平面上p
ir
的投影点,h
ir
为提前标定好的ir深度相机内参矩阵,则有以下关系:
[0016]zir p
ir
=h
ir
p
ir
ꢀꢀꢀ
(1)
[0017]
同理可得rgb相机对应关系:
[0018]zrgb p
rgb
=h
rgb
p
rgb
ꢀꢀꢀ
(2)
[0019]
设为红外相机外参,为彩色相机外参,为彩色相机相机坐标系相对于红外相机坐标系的空间位姿变换,则有:
[0020][0021][0022][0023]
把(1)、(2)代入(5),可以消去p
rgb
和p
ir

[0024][0025]
根据上述建立的彩色rgb相机与红外ir相机之间像素点的对应关系,将焊缝在二维图像中的位置投影到三维图像中。
[0026]
进一步,具体的,得到三维焊缝点云pi的过程,包括以下,
[0027]
通过dbscan算法对三维焊缝信息进行精简处理,得到三维焊缝点云pi,记为焊缝点簇line_2。
[0028]
进一步,具体的,根据所述三维焊缝点云pi,生成可被机器人实际生产执行的路径点,包括以下,
[0029]
步骤510、计算line_2中轨迹点的单位点法向量平均值n1,并基于line_2拟合出的直线单位方向向量a1叉乘n1计算出三维单位向量m:m=n1×
a1;
[0030]
步骤520、基于单位向量m,把点云簇line_2中各点pi在m向量方向偏移
±
1.5倍,并计算出对应领域点p
i1
=pi+1.5*m、p
i2
=p
i-1.5m,得到line_2的邻域点簇line_2+和line_2-;
[0031]
步骤530、分别计算出p
i1
以及p
i2
位于目标焊板点云上的最近邻点p
i1t
、p
i2t
,之后计算p
i1t
、p
i2t
的点法向量n
i1t
、n
i2t
,则真实打磨轨迹点的打磨位置和姿态分别为:pi=(p
i1t
+p
i2t
)/2;ni=(n
i1t
+n
i2t
)/2,此时记pi中所有点为点云簇line_3;
[0032]
步骤540、基于点云簇line_3对打磨轨迹点的打磨位置和姿态排序得到排序后的点云簇line_4;
[0033]
步骤550、利用b样条曲线对点云簇line_4中的位置pi和姿态ni信息进行平滑处理得到点云簇line_5。
[0034]
步骤560、再次利用b样条曲线对点云簇line_5处理获取点间隔相等的点云簇line_6,法向量也同步拟合;
[0035]
步骤570、根据点云簇line_6计算运动学反解、在反解结果中将第六轴设置为定值,得到可被机器人实际生产执行的路径点。
[0036]
本发明还提出焊接变形量自适应的直线焊缝打磨轨迹生成装置,包括:
[0037]
图像获取模块,用于通过kinect v2相机中的彩色rgb相机获取目标焊板的多帧二维图像、红外ir相机获取目标焊板的多帧三维点云图像;
[0038]
三维焊缝信息获取模块,用于根据获取的多帧所述二维图像以及三维点云图像,进行三维直线焊缝粗提取得到三维焊缝信息;
[0039]
精简模块,用于对所述三维焊缝信息进行降噪处理,并剔除离群点以及非真实焊缝轨迹点后,得到三维焊缝点云pi;
[0040]
路径点生成模块,用于根据所述三维焊缝点云pi,生成可被机器人实际生产执行的路径点;
[0041]
执行模块,用于控制机器人按照所述路径点进行焊缝打磨。
[0042]
本发明还提出焊缝打磨平台,应用了上述任意一项所述的焊接变形量自适应的直线焊缝打磨轨迹生成方法,包括,
[0043]
机器人;
[0044]
kinect v2相机,用于通过其中的彩色rgb相机获取目标焊板的多帧二维图像、红外ir相机获取目标焊板的多帧三维点云图像;
[0045]
平台,用于固定目标焊板;
[0046]
基于ros机器人控制系统的工控机,用于接收所述kinect v2相机传输的多帧二维图像以及三维点云图像,并基于此进行打磨轨迹规划与执行。
[0047]
本发明还提出一种计算机可读存储的介质,所述计算机可读存储的介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以上中任一项所述焊接变形量自适应的直线焊缝打磨轨迹生成方法的步骤。
[0048]
本发明的有益效果为:
[0049]
本发明通过提出焊接变形量自适应的直线焊缝打磨轨迹生成方法,通过首先对焊缝二维空间识别,接着二维空间焊缝投影到三维,获得三维空间焊缝,最后处理三维空间焊缝,生成可被机器人实际生产执行的路径点,整个过程全自动化完成,能够避免因为人工处理焊缝而带来的一系列问题,且本方法在进行焊缝识别以及打磨路径规划时准确度高,能够效率稳定地完成焊缝智能化打磨。
附图说明
[0050]
通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:
[0051]
图1所示为本发明焊接变形量自适应的直线焊缝打磨轨迹生成方法的流程图;
[0052]
图2所示为本发明焊接变形量自适应的直线焊缝打磨轨迹生成方法的实施流程图;
[0053]
图3所示为本发明焊接变形量自适应的直线焊缝打磨轨迹生成方法的一个实施方式中的目标焊板的示例图;
[0054]
图4所示为本发明焊接变形量自适应的直线焊缝打磨轨迹生成方法的由二维焊缝投影到三维焊缝的原理图;
[0055]
图5所示为本发明焊接变形量自适应的直线焊缝打磨轨迹生成方法的霍夫直线变换原理图;
[0056]
图6所示为本发明焊接变形量自适应的直线焊缝打磨轨迹生成方法的一个实施方式中基于line_2计算出的轨迹示意图;
[0057]
图7所示为本发明焊接变形量自适应的直线焊缝打磨轨迹生成方法的一个实施方式中三维焊缝打磨轨迹粗处理效果图;
[0058]
图8所示为本发明焊接变形量自适应的直线焊缝打磨轨迹生成方法的一个实施方式中基于line_5绘制打磨轨迹点和对应法向量示意图;
[0059]
图9所示为本发明焊接变形量自适应的直线焊缝打磨轨迹生成方法的一个实施方式中改进后的三维焊缝打磨轨迹效果图。
具体实施方式
[0060]
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。附图中各处使用的相同的附图标记指示相同或相似的部分。
[0061]
参照图1、图2以及图3,实施例1,本发明提出焊接变形量自适应的直线焊缝打磨轨迹生成方法,包括以下:
[0062]
步骤110、通过kinect v2相机中的彩色rgb相机获取目标焊板的多帧二维图像、红外ir相机获取目标焊板的多帧三维点云图像;
[0063]
步骤120、根据获取的多帧所述二维图像以及三维点云图像,进行三维直线焊缝粗提取得到三维焊缝信息;
[0064]
步骤130、对所述三维焊缝信息进行降噪处理,并剔除离群点以及非真实焊缝轨迹点后,得到三维焊缝点云pi;
[0065]
步骤140、根据所述三维焊缝点云pi,生成可被机器人实际生产执行的路径点;
[0066]
步骤150、控制机器人按照所述路径点进行焊缝打磨。
[0067]
参照图4以及图5,作为本发明的优选实施方式,具体的,所述三维直线焊缝信息通过以下方式进行粗提取,
[0068]
对获取的二维图像进行灰度化处理后高斯滤波,再通过canny边缘检测提取其中的纹路信息,之后利用霍夫直线变换提取纹路信息中的直线获得多条直线,基于bdscan思想提取出目标直线即为焊缝,此时得到焊缝在二维图像中的位置;
[0069]
从图中我们可以看出,进过霍夫变换后会得到多条直线出来,我们用直线簇l1表示,个数用size1表示,而我们需要的是唯一一条焊缝信息,下面是提取焊缝对应直线的原理:
[0070]
霍夫直线变换中,直线用两个参数(如图5)进行描述:θ、r。r为原点到直线的线段距离,θ为该线段与坐标系x轴的夹角。此时我们可以基于r对直线簇l1排序,设定一个系数λ1(0《λ1《1),舍弃基于r排序后前面(size1
×
λ1/2)条直线和末尾(size1
×
λ1/2)条直线,得到直线簇l2;经过第一次精简后还需要进行第二次精简,利用同样的原理,对直线簇l2基于θ进行排序和精简,得到直线簇l3;最后对直线簇l3中参数θ、r求平均,得到的平均值表示的直线与焊缝对应。
[0071]
想要让机器人打磨真实空间下的焊缝,就必须拿到三维空间下的焊缝点位信息,而二维空间相对于三维缺少一个维度信息,所以我们要想搬到rgb图像每个像素和点云之间的一个对应关系,下面是实现原理:
[0072]
kinect v2相机由两个相机组成,一个是彩色rbg相机,另一个是红外ir相机,ir相机可以获得三维点云和红外灰度图,三维点云每个点和红外灰度图的每个像素点一一对应。红外相机主要用来点云成像,获得的ir灰度图成像质量非常差,所以我们用rgb相机进行二维识别后把对应像素投影在ir图像上,即可获得对应像素的三维空间点位中心。做投影之前需要标定好两个相机的内参和外参。
[0073]
基于此,标定好彩色rgb相机与红外ir相机的内参和外参,具体包括,
[0074]
设p
ir
=[x
ir y
ir z
ir
]为ir相机坐标系下某点的空间非齐次坐标,p
ir
=[u
ir v
ir 1]为ir相机像平面上p
ir
的投影点,h
ir
为提前标定好的ir深度相机内参矩阵,则有以下关系:
[0075]zir p
ir
=h
ir
p
ir
ꢀꢀꢀ
(1)
[0076]
同理可得rgb相机对应关系:
[0077]zrgb p
rgb
=h
rgb
p
rgb
ꢀꢀꢀ
(2)
[0078]
设为红外相机外参,为彩色相机外参,为彩色相机相机坐标系相对于红外相机坐标系的空间位姿变换,则有:
[0079][0080][0081][0082]
把(1)、(2)代入(5),可以消去p
rgb
和p
ir

[0083][0084]
根据上述建立的彩色rgb相机与红外ir相机之间像素点的对应关系,将焊缝在二维图像中的位置投影到三维图像中,此时,我们已经找到彩色相机和红外相机像素点的对应关系,输入某个像素值p
rgb
既可得到对应的p
ir
,此时即可拿到三维空间下的点位信息。
[0085]
参照图6、图7、图8以及图9,作为本发明的优选实施方式,具体的,获取到对应的三维空间焊缝信息(这里简称焊缝点簇line_1)后,机器人还不能基于这些点进行打磨,还要对点簇进一步处理,并计算出适合打磨的点法信息。,得到三维焊缝点云pi的过程,包括以下,
[0086]
通过dbscan算法对三维焊缝信息进行精简处理,得到三维焊缝点云pi,记为焊缝点簇line_2。
[0087]
作为本发明的优选实施方式,具体的,根据所述三维焊缝点云pi,生成可被机器人实际生产执行的路径点,如果使用line_2直接计算轨迹点法向量,结果如图6,规划出的机器人实际打磨路径位姿如图7仿真效果,可见机器人运行速度不匀速、颤振严重,实际执行打磨过程中很容易出现安全事故,也不能满足打磨效果,解决方案:包括以下,
[0088]
步骤510、计算line_2中轨迹点的单位点法向量平均值n1,并基于line_2拟合出的直线单位方向向量a1叉乘n1计算出三维单位向量m:m=n1×
a1;
[0089]
步骤520、基于单位向量m,把点云簇line_2中各点pi在m向量方向偏移
±
1.5倍,并计算出对应领域点p
i1
=pi+1.5*m、p
i2
=p
i-1.5m,得到line_2的邻域点簇line_2+和line_2-;
[0090]
步骤530、分别计算出p
i1
以及p
i2
位于目标焊板点云上的最近邻点p
i1t
、p
i2t
,之后计
算p
i1t
、p
i2t
的点法向量n
i1t
、n
i2t
,则真实打磨轨迹点的打磨位置和姿态分别为:pi=(p
i1t
+p
i2t
)/2;ni=(n
i1t
+n
i2t
)/2,此时记pi中所有点为点云簇line_3;
[0091]
步骤540、基于点云簇line_3对打磨轨迹点的打磨位置和姿态排序得到排序后的点云簇line_4;
[0092]
步骤550、利用b样条曲线对点云簇line_4中的位置pi和姿态ni信息进行平滑处理得到点云簇line_5。这是为了让机器人执行打磨过程中速度和加速度连续,获得更好的加工效果。此时line_5中的点和法向量信息如图8,对比图6有不少改善。
[0093]
步骤560、再次利用b样条曲线对点云簇line_5处理获取点间隔相等的点云簇line_6,法向量也同步拟合;图8中直线点云疏密程度不同,ros-i机器人控制系统规划运动时,每段运行时间和距离不成正比,导致规划过程速度不恒定,忽快忽慢。此时需要再次利用b样条获取点间隔相等的点云簇line_6,法向量也同步拟合,此时如图9所示。
[0094]
步骤570、根据点云簇line_6计算运动学反解、在反解结果中将第六轴设置为定值,得到可被机器人实际生产执行的路径点。
[0095]
初始打磨轨迹中有多对点和法向量信息,每个点对应位置唯一,而法向量对应无穷多个机器人末端姿态,所以每对点法向量对应机器人无数反解状态,这里要唯一确定一个最优反解出来出来:
[0096]
机器人末端姿态信息,即工具坐标系相对于极坐标系的空间旋转变换关系,为了方便求解,这里用轴角angel-aix形式表示。基坐标系下z轴单位向量(0,0,1)和轨迹中的法向量分别叉乘,求得对应的旋转轴aix,z轴单位向量和每个法向量都丢应一个夹角,即为旋转角angel。轴角可以唯一确定出空间旋转变换关系,但是我们要求打磨过程中机器人第六轴固定在零位,此时的打磨轨迹姿态信息还不满足应用条件。
[0097]
该打磨系统基于ros-i建立,机器人运动学求解库trakik可以利用ros中机器人的dh参数信息求解出机器人的反解,并且可以设定机器人的一组当前关节空间姿态,基当前关节空间姿态反解出最优关节空间下的目标姿态,单次求解速度在0.5ms以内,完全满足使用条件。
[0098]
基于初始的打磨轨迹反解求出对应关节空间下的轨迹信息,设定第六个关节值为0后,利用kdl正运动学求解库求解出笛卡尔空间下对应的最终打磨轨迹点。最后基于最终轨迹点,利用ros中的moveit进行笛卡尔空间路径规划,执行打磨任务。
[0099]
其中步骤540的一个实现方式如下,
[0100]
此时得到的pi和其对应的ni还是一团无序点,这样的点簇无法进行轨迹规划,这里提出了一种直线点云快速排序方法:基于点云簇line_3拟合直线line,用过直线一点line_p和法向量line_n=(line_nx,line_ny,line_nz)表示。下面是点云排序伪代码(theta_x、theta_y分别表示line_n与x轴、y轴夹角):
[0101]
if(0
°
《=theta_x《=60
°
||120
°
《=theta_x《=180
°
)
[0102]
{获取在直线line上x=100时的点line_p2,计算点云簇line_3所有点pi与点line_p2的距离,并按该距离大小排序点云簇line_3,对应的法向量ni也同步排序,排序后的点云簇记为line_4;
[0103]
}else if(0
°
《=theta_y《=60
°
||120
°
《=theta_y《=180
°
)
[0104]
{获取在直线line上y=100时的点line_p3,计算点云簇line_3所有点pi与点
line_p3的距离,并按该距离大小排序点云簇line_3,对应的法向量ni也同步排序,排序后的点云簇记为line_4;
[0105]
}else
[0106]
{获取在直线line上z=100时的点line_p4,计算点云簇line_3所有点pi与点line_p4的距离,并按该距离大小排序点云簇line_3,对应的法向量ni也同步排序,排序后的点云簇记为line_4;
[0107]
}
[0108]
注:点云中的点单位为米,当x、y或者z取100时获得的直线上的点会在远离点云簇line_3某处,所以该方法排序点云具有非常高的鲁棒性。
[0109]
本发明还提出焊接变形量自适应的直线焊缝打磨轨迹生成装置,包括:
[0110]
图像获取模块,用于通过kinect v2相机中的彩色rgb相机获取目标焊板的多帧二维图像、红外ir相机获取目标焊板的多帧三维点云图像;
[0111]
三维焊缝信息获取模块,用于根据获取的多帧所述二维图像以及三维点云图像,进行三维直线焊缝粗提取得到三维焊缝信息;
[0112]
精简模块,用于对所述三维焊缝信息进行降噪处理,并剔除离群点以及非真实焊缝轨迹点后,得到三维焊缝点云pi;
[0113]
路径点生成模块,用于根据所述三维焊缝点云pi,生成可被机器人实际生产执行的路径点;
[0114]
执行模块,用于控制机器人按照所述路径点进行焊缝打磨。
[0115]
本发明还提出焊缝打磨平台,应用了上述任意一项所述的焊接变形量自适应的直线焊缝打磨轨迹生成方法,包括,
[0116]
机器人;
[0117]
kinect v2相机,用于通过其中的彩色rgb相机获取目标焊板的多帧二维图像、红外ir相机获取目标焊板的多帧三维点云图像;
[0118]
平台,用于固定目标焊板;
[0119]
基于ros机器人控制系统的工控机,用于接收所述kinect v2相机传输的多帧二维图像以及三维点云图像,并基于此进行打磨轨迹规划与执行。
[0120]
在本实施方式中,通过首先对焊缝二维空间识别,接着二维空间焊缝投影到三维,获得三维空间焊缝,最后处理三维空间焊缝,生成可被机器人实际生产执行的路径点,整个过程全自动化完成,能够避免因为人工处理焊缝而带来的一系列问题,且本方法在进行焊缝识别以及打磨路径规划时准确度高,能够效率稳定地完成焊缝智能化打磨。
[0121]
本发明还提出一种计算机可读存储的介质,所述计算机可读存储的介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以上中任一项所述焊接变形量自适应的直线焊缝打磨轨迹生成方法的步骤。
[0122]
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例中的方案的目的。
[0123]
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以
是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0124]
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储的介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或系统、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包括的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
[0125]
尽管本发明的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,而是应当将其视作是通过参考所附权利要求考虑到现有技术为这些权利要求提供广义的可能性解释,从而有效地涵盖本发明的预定范围。此外,上文以发明人可预见的实施例对本发明进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本发明的非实质性改动仍可代表本发明的等效改动。
[0126]
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1