CN105665970B - 用于焊接机器人的路径点自动生成系统和方法 - Google Patents
用于焊接机器人的路径点自动生成系统和方法 Download PDFInfo
- Publication number
- CN105665970B CN105665970B CN201610116110.3A CN201610116110A CN105665970B CN 105665970 B CN105665970 B CN 105665970B CN 201610116110 A CN201610116110 A CN 201610116110A CN 105665970 B CN105665970 B CN 105665970B
- Authority
- CN
- China
- Prior art keywords
- path point
- image
- weld
- module
- robot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003466 welding Methods 0.000 title claims abstract description 55
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000033001 locomotion Effects 0.000 claims abstract description 24
- 238000004891 communication Methods 0.000 claims description 22
- 238000007781 pre-processing Methods 0.000 claims description 15
- 230000009466 transformation Effects 0.000 claims description 15
- 238000000605 extraction Methods 0.000 claims description 14
- 238000001514 detection method Methods 0.000 claims description 10
- 238000003708 edge detection Methods 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 6
- 235000011036 Rubus leucodermis Nutrition 0.000 claims description 5
- 235000003942 Rubus occidentalis Nutrition 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 5
- 238000005260 corrosion Methods 0.000 claims description 5
- 230000007797 corrosion Effects 0.000 claims description 5
- 238000005192 partition Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 230000000877 morphologic effect Effects 0.000 claims description 4
- 244000111388 Rubus occidentalis Species 0.000 claims description 3
- 239000002184 metal Substances 0.000 claims description 3
- 238000013519 translation Methods 0.000 claims description 3
- 235000013399 edible fruits Nutrition 0.000 claims 1
- 238000007689 inspection Methods 0.000 claims 1
- 238000002203 pretreatment Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 244000181917 Rubus leucodermis Species 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23K—SOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
- B23K37/00—Auxiliary devices or processes, not specially adapted to a procedure covered by only one of the preceding main groups
Abstract
本发明公开了一种用于焊接机器人的路径点自动生成系统和方法。其中,该系统包括机器人本体、控制器、RGB‑D传感器和上位机。其中,机器人本体为六自由度焊接机器人,其包括焊炬;控制器用于控制机器人本体的运动;RGB‑D传感器固定在机器人的机械臂上,用于采集焊件的RGB图像和深度图像,并将所述RGB图像和深度图像传送至上位机;上位机用于对焊件的RGB图像和深度图像进行处理,提取出焊件的焊缝边缘,并根据焊缝边缘计算路径点信息,再将路径点信息发送至控制器,以控制焊炬末端沿着所述路径点移动。通过本发明实施例实现了自动生成空间曲线焊缝的路径点,减轻了工人的工作量,提高了机器人的工作效率。
Description
技术领域
本发明实施例涉及机器人自动化技术领域,尤其是涉及一种用于焊接机器人的路径点自动生成系统和方法。
背景技术
焊接机器人的目标是使得焊炬末端能够准确地走过焊缝中心,完成焊接的操作。在实际生产中,常见的做法是由工人通过示教盒操纵机器人,使之走过目标路径并进行记录经过的路径点,通过编程指定这一系列路径点的通过速度和通过精度等信息,再现程序时即可实现机器人完成焊接工作。但由于焊件本身的不规则性,即便是同一批焊件也很少实现一个程序不用修改就焊接完每一件焊件。这使得机器人示教更加耗时更加繁琐。
为了减轻工人的工作量,离线编程,虚拟示教,任务级编程等一系列方法也被提出以简化示教过程。离线编程是目前应用较为广泛的一种方法,通过建立起机器人本体和焊件的三维模型,工人在电脑上就可以对机器人进行示教,能够减轻工人的工作量,同时也能提高机器人的工作效率。但是这种方法需要机器人和焊件及工作环境等的三维模型,绘制三维模型也是一项耗时的任务,且由于模型和实物尺寸之间的差异,离线编程后仍需要手动修改。虚拟示教则是结合虚拟现实技术可实现远程操纵机器人的新兴技术,然而对于规划机器人路径点而言,仍然需要工人进行示教操作,只是示教地点改变为远程而已。任务级编程是指只需输入简单的指令就能够一个完整复杂动作的编程方式。复杂的细节可以通过已经编好的程序自动完成。这是机器人编程理想的发展方向。
借助于精度越来越高的视觉等各种传感器以及先进的视觉算法,通过视觉实现任务级机器人自动编程已经开始逐渐被深入研究。单纯的双目立体视觉在精度上不够理想,算法也较为复杂,耗时较长。而新兴的RGB-D摄像头能够同时获取图像和深度信息,得到环境中的三维点云信息,对于机器人正确理解工作环境有着十分重要的意义。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种用于焊接机器人的路径点自动生成系统。此外,还提供一种用于焊接机器人的路径点自动生成方法。
为了实现上述目的,根据本发明的一个方面,提供了以下技术方案:
一种用于焊接机器人的路径点自动生成系统,用于焊接工作台上焊件的焊接,所述系统至少包括:
机器人本体,包括焊炬;
控制器,用于控制所述机器人本体上的运动;
RGB-D传感器,固定在所述机器人本体的末端,用于采集所述焊件的RGB图像和深度图像,并将所述焊件的所述RGB图像和所述深度图像传送至上位机;
所述上位机,用于对所述焊件的所述RGB图像和所述深度图像进行处理,提取出所述焊件的焊缝边缘,并根据所述焊缝边缘计算路径点信息,再将所述路径点信息发送至所述控制器,以控制所述焊炬末端沿着所述路径点移动。
根据本发明的另一个方面,还提供了一种用于焊接机器人的路径点自动生成方法,所述方法至少包括:
所述RGB-D传感器采集所述焊件的RGB图像和深度图像,并将所述焊件的所述RGB图像和所述深度图像传送至所述上位机;
上位机被配置为执行以下步骤:
图像预处理:在所述焊件的RGB图像上选取仅有所述焊缝且没有所述焊炬末端的第一区域,将所述第一区域转换为灰度图像;
焊缝边缘提取:根据所述灰度图像,提取出所述焊缝边缘图像;
路径点坐标计算:根据所述焊缝边缘图像计算相机坐标系下的路径点坐标;
路径点判断:将所述相机坐标系下的路径点坐标转换成机器人基坐标系下的位姿数据,并判断机器人是否已经经过与该位姿数据对应的位姿,若是,则丢弃所述位姿,否则将所述位姿数据发送至所述控制器;
所述控制器将所述当前时刻的所述机器人本体的位姿数据发送至所述上位机,并从所述上位机接收所述机器人基座标系下的路径点上焊炬末端应到达的位姿数据,以及控制所述焊炬末端沿着所述路径点移动。
与现有技术相比,上述技术方案至少具有以下有益效果:
本发明实施例通过将RGB-D传感器固定在机器人本体的末端,以采集焊件的RGB图像和深度图像,并将焊件的RGB图像和深度图像传送至上位机;然后,上位机对焊件的RGB图像和深度图像进行处理,提取出焊件的焊缝边缘,并根据焊缝边缘计算路径点信息,再将路径点信息发送至控制器,以控制焊炬末端沿着路径点移动。从而可实现自动生成空间曲线焊缝的路径点,减轻了工人的工作量,提高了机器人的工作效率。
附图说明
附图作为本发明的一部分,用来提供对本发明的进一步的理解,本发明的示意性实施例及其说明用于解释本发明,但不构成对本发明的不当限定。显然,下面描述中的附图仅仅是一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。在附图中:
图1为根据一示例性实施例示出的基于RGB-D传感器且用于焊接机器人的路径点自动生成系统的结构示意图;
图2为根据一示例性实施例示出的示教器的结构示意图;
图3为根据一示例性实施例示出的界面模块的结构示意图;
图4为根据一示例性实施例示出的数据结构模块的结构示意图;
图5为根据一示例性实施例示出的数据通信模块的结构示意图;
图6为根据另一示例性实施例示出的用于焊接机器人的路径点自动生成系统的结构示意图;
图7为根据一示例性实施例示出的用于焊接机器人的路径点自动生成方法的流程示意图;
图8为根据另一示例性实施例示出的用于焊接机器人的路径点自动生成方法的流程示意图。
具体实施方式
下面结合附图以及具体实施例对本发明实施例解决的技术问题、所采用的技术方案以及实现的技术效果进行清楚、完整的描述。显然,所描述的实施例仅仅是本申请的一部分实施例,并不是全部实施例。基于本申请中的实施例,本领域普通技术人员在不付出创造性劳动的前提下,所获的所有其它等同或明显变型的实施例均落在本发明的保护范围内。本发明实施例可以按照权利要求中限定和涵盖的多种不同方式来具体化。
需要说明的是,在下面的描述中,为了方便理解,给出了许多具体细节。但是很明显,本发明的实现可以没有这些具体细节。
需要说明的是,在没有明确限定或不冲突的情况下,本发明中的各个实施例及其中的技术特征可以相互组合而形成技术方案。
图1示例性地示出了基于RGB-D传感器且用于焊接机器人的路径点自动生成系统的结构示意图。如图1所示,该系统10用于焊接工作台上焊件的焊接,其至少可以包括机器人本体12、控制器14、上位机16和RGB-D传感器18。其中,机器人本体12包括焊炬122。控制器14用于控制机器人本体12上的焊炬122的运动。RGB-D传感器固定在机器人本体12的末端,用于采集焊件的RGB图像和深度图像,并将焊件的RGB图像和深度图像发送至上位机16。上位机16用于对焊件的RGB图像和深度图像进行处理,提取出焊件的焊缝边缘,并根据焊缝边缘计算路径点信息,再将路径点信息发送至控制器14,以控制焊炬122末端沿着路径点移动。
本发明实施例中的机器人可以为六自由度弧焊机器人。上位机16生成的路径点直接作用于控制器实现自动运动。RGB-D传感器18可以固定在机器人手臂上。为了有较好的视野范围以及精度,可使RGB-D传感器距离工作台大约40~60厘米。
在实际实施过程中,本发明实施例在正式工作之前需标定RGB-D相机与机器人末端之间的手眼关系。优选地,本发明实施例采用湖南大学电气信息工程学院的许海霞等人在文章中提出的“一种机器人手眼关系自标定的方法”进行标定。具体地,控制机器人末端完成5次平移运动以及2次旋转运动,对场景中的单个景物的视差及深度值列出机器人末端与摄像机坐标之间位置关系的约束方程组,求出RGB-D相机内参数以及手眼关系。
在手动选择ROI(Region of Interest)的范围后,机器人末端开始沿着焊缝移动。
在一个可选的实施例中,控制器还用于发送当前时刻的机器人本体的位姿数据到上位机,以及从数据通信模块接收机器人基座标系下的路径点上焊炬末端应到达的位姿数据。上述上位机16还可以具体包括图像预处理模块、焊缝边缘提取模块、路径点生成模块、坐标变换模块和数据通信模块。其中,图像预处理模块用于在焊件的RGB图像上选取仅有焊缝且没有焊炬末端的第一区域,将第一区域转换为灰度图像,并将灰度图像发送至焊缝边缘提取模块。焊缝边缘提取模块用于根据灰度图像,提取出焊缝边缘图像。路径点生成模块用于根据焊缝边缘图像计算相机坐标系下的路径点坐标。坐标变换模块用于将相机坐标系下的路径点坐标转换成机器人基坐标系下的位姿数据,并判断机器人是否已经经过与该位姿数据对应的位姿,并判断机器人是否已经经过与该位姿数据对应的位姿,若是,则丢弃所述位姿,否则将所述位姿数据发送至数据通信模块。数据通信模块用于将当前时刻的机器人本体的位姿数据发送至坐标变换模块,以及将坐标变换模块规划的焊炬的位姿数据发送至控制器。
在本发明实施例中,每个模块作为一个节点运行,节点间通过自定义消息通信。
优选地,RGB-D传感器采样率约为30帧/秒,其发布的每一帧图像仅有轻微不同。
考虑到机器人自动生成路径点时以低速运动,焊缝提取模块获取灰度图像消息时不需要太高的帧率,通过定时器以每3秒取一帧图像也即一个消息几个即可。
路径点生成模块视预设的运动速度而定,每帧图像获取2~5个路径点。
坐标变换模块在接收到路径点消息后,根据手眼标定矩阵算出该路径点上焊炬末端应具有的位姿,并将计算出的位姿与当前时刻机器人的位姿进行对比,并将获取到的机器人三维坐标与将所计算的焊炬末端路径点坐标进行矢量差(即将坐标转换后的机器人基坐标系下的路径点所在的A点与当前时刻的机器人焊炬末端所在的B点形成矢量),再与所计算的焊炬末端位姿的X轴方向进行点乘(即与A点位姿的X轴方向点乘);如果所得的值大于零,则认为该路径点尚未经过(即该路径点有效,将规划的路径点所述焊炬的位姿发送至数据通信模块);否则,认为该路径点无效,放弃之(即丢弃该路径点)。
上述上位机可以在不更改原机器人及其控制器的配置的情况下使用,适用于工厂中机器人的快速升级。
上述上位机还可以包括碰撞检测模块。这种情况下,图像预处理模块还用于在RGB图像上选取具有焊炬末端的第二区域,对第二区域进行滤波,并将滤波后的第二区域发送至碰撞检测模块。碰撞检测模块用于根据滤波后的第二区域和深度图像,通过测定焊炬末端与焊缝边缘的距离来确定焊炬末端的运动状态。
图像预处理模块可以对第二区域进行高斯滤波。
上述碰撞检测模块还可以包括:识别模块、处理模块、计算模块、运动改变模块和运动停止模块。其中,识别模块用于识别第二区域中焊炬末端。处理模块用于在第二区域中以焊炬末端为圆心做两个半径分别为M个像素点和N个像素点的第一和第二同心圆,其中,M大于N。计算模块用于结合深度图像,计算出第一和第二同心圆内所有像素点到焊炬末端的距离。运动改变模块用于在第一同心圆内的像素点到焊炬末端的距离小于第一阈值的情况下,发出预警并改变焊炬末端的运动方向。运动停止模块用于在第二同心圆内的像素点到焊炬末端的距离小于第二阈值的情况下,发出碰撞警报并停止焊炬末端的运动。
在实际应用中,由于测量计算等误差,以及可能出现的意外情况等原因,焊炬末端可能会出现与焊件在焊缝外接触的情况发生,这可能导致焊接失败。因此,运行过程中对于RGB-D传感器的每帧二维图像进行检测。其中,二维图是指包括具有焊炬末端的RGB图像。
作为示例,处理模块测定焊炬末端与焊缝边缘的距离可以这样:以焊炬末端为圆心做两个半径分别为8个像素和2个像素的同心圆;结合深度图像计算出同心圆内所有点到焊炬末端的距离;如果大圆内的点到焊炬末端的距离小于第一阈值则发出预警并尝试改变方向;如果小圆内的点到焊炬末端的距离小于第二阈值,则发出碰撞警报并停止。
上述焊缝边缘提取模块具体可以配置为执行以下步骤:1)对灰度图像进行顶帽变换,获取焊件焊缝边缘的亮部分细节图像;2)对灰度图像进行黑帽变换,获取焊件焊缝底部及侧面的暗部分细节图像;3)将亮部分细节图像与暗部分细节图像相加,获取焊缝的明暗细节图像;4)将所述焊缝的明暗细节图像通过边缘检测算子提取出焊缝边缘二值图像;5)对焊缝边缘二值图像进行形态学的膨胀和腐蚀处理,得到仅焊缝区域为亮的二值图像;6)将二值图像按亮区域分割并连接距离小于预定阈值的亮区域,得到完整的焊缝区域图像;7)通过边缘检测算子对完整的焊缝区域图像进行边缘提取,得到焊缝边缘图像。
其中,步骤3)将顶帽变换和黑帽变换步骤得到的图像相加,获取焊缝完整的明暗细节,使得焊缝宽度更加近似且焊缝边缘曲线更加连续。步骤5)对边缘图像进行形态学的膨胀和腐蚀处理后可以弥补细小的边缘缺失以及多余的细小曲线。步骤6)对图像中的不连续的部分进行修补,在实际应用中,可以将图像按亮区域分割并连接距离在10个像素以内的亮区域,从而得到完整的焊缝区域。
上述路径点生成模块具体可以被配置为执行选取开始点、计算下一路径点、路径点判断调整下一路径点、计算路径点三维坐标和记录当前路径点等步骤。其中,首先开始点,将焊缝边缘图像最下方的两条边缘的中点选取为开始路径点。再计算下一路径点,将当前路径点平移单位矢量得到下一路径点,其中,单位矢量的矢量方向为焊缝边缘的切线方向。接着调整下一路径点,判断下一路径点是否在焊缝内部若下一路径点不在焊缝内,将下一路径点调整至焊缝内。然后计算路径点三维坐标并记录当前路径点,根据深度图像,计算下一路径点在相机坐标系中的三维坐标。将下一路径点记录为当前路径点,以生成路径点数加一,如果已生成路径点数小于设定值,并继续从计算下一路径点开始执行,否则调用图像预处理模块。
其中,焊缝边缘某点的切线方向可由以该像素点为中心的n×n邻域内的割线近似求得。
在一个可选的实施例中,上述系统还可以包括示教器。该示教器与上位机和控制器相连,并包括:示教再现模块、输入输出模块、数据通讯模块和图像显示模块。其中,示教再现模块用于通过控制器向机器人示教目标位置。输入输出模块用于接收上位机发送来的路径点信息以及控制器发送来的当前时刻的机器人本体的位姿数据,并向控制器设置输入输出信息和路径点的位姿数据。数据通讯模块用于实现上位机和示教器之间的通信,以及示教器与控制器之间的通信。图像显示模块用于显示RGB-D传感器采集到的RGB图像和深度图像以及路径点信息。
其中,上位机和示教器都能够独立工作,不会被另一部分的缺失所干扰。示教器能够在没有上位机的情况下实现示教再现功能。图像显示模块能够直观地表示出已经生成的路径点和当前所在位置,有助于判断自动生成路径点的合理性。
优选地,示教器运行在安装WinCE系统的嵌入式硬件上。
通过上述示教器,可避免或减少手动示教。
图2示例性地示出了示教器的一种变形例的结构示意图。该示教器(也称示教器系统)可以包括界面模块、数据结构模块和数据通信模块。
其中,如图3所示,界面模块可以包括示教再现界面、设置信息界面、IO口输入输出界面、文件传输界面、机器人信息界面和远程文件管理界面。其中,示教再现界面包括程序编辑界面、示教操作选项界面、再现操作选项界面和编程界面。如图4所示,数据结构模块包括存储模块和消息组织模块。如图5所示,数据通信模块可以包括数据发送模块、数据接收模块和连接设置模块。
具体地,程序编辑界面负责编写示教程序,具有语法检查功能。再现操作选项界面负责将已经编辑好的程序再现运行,并设定单步再现,循环再现等。示教操作选项界面负责修改点动、再现运行时相关的选项,如点动或者连续运动等。设置信息界面负责设定1、24个用户坐标和24个工具坐标;2、各个坐标系的速度极限。IO口输入输出界面负责设定AI、AO以及DI、DO的读取和输出。文件传输界面负责通过FTP实现示教器与上位机之间以及示教器与机器人控制器之间的文件传输。机器人信息界面负责记录当前连接的机器人编号,控制器型号,报警信息,错误日志等。远程文件管理界面负责查看,整理,运行机器人控制器内的程序文件。
数据结构模块负责以XML文档的格式存储界面模块中所有的设置项,在发送数据或者运行命令时再提取并随之发送。所有与控制器交互命令均以一种固定格式组织,其由a)优先级;b)任务号;c)其他8个参数组成,八个参数的具体含义和任务号有关。文本和命令点坐标值分成两部分储存,文本以纯文本形式储存,命令点以链表形式组织,并以XML格式保存。
数据通信模块以TCP协议与控制器间传输命令,并以FTP协议与控制器间批量传输文件。示教器与上位机之间的命令交互也以TCP协议进行传输。
下面以一优选实施例来说明用于焊接机器人的路径点自动生成系统。如图6所示。该系统由RGB-D传感器1、上位计算机系统2、示教器3、控制器4、弧焊机器人5组成。其中,RGB-D传感器1获取到彩色和深度图像信息后,发布三维点云。示教器3接收程序,将程序记录发送至上位计算机系统2,并运行已经编辑好的程序。上位计算机系统2将生成的路径点位姿发送至控制器4。示教器3向控制器4发布指令。控制器4控制弧焊机器人5执行焊接工件的工作。
基于与上述系统实施例相同的技术构思,还提供一种用于焊接机器人的路径点自动生成方法。该方法可由上述用于焊接机器人的路径点自动生成系统执行。该方法用于焊接工作台上焊件的焊接,焊接机器人包括机器人本体和焊炬,机器人本体上设置有RGB-D传感器,机器人本体与控制器相连,控制器还与上位机相连。如图7所示,该方法至少可以包括:
S700:RGB-D传感器采集焊件的RGB图像和深度图像,并将焊件的RGB图像和深度图像传送至上位机。
S710:上位机被配置为执行以下步骤:
图像预处理步骤S711:在焊件的RGB图像上选取仅有焊缝且没有焊炬末端的第一区域,将第一区域转换为灰度图像;
焊缝边缘提取步骤S712:根据灰度图像,提取出焊缝边缘图像;
路径点坐标计算步骤S713:根据焊缝边缘图像计算相机坐标系下的路径点坐标;
路径点判断步骤S714:将相机坐标系下的路径点坐标转换成机器人基坐标系下的位姿数据,并判断机器人是否已经经过与该位姿数据对应的位姿,若是,则丢弃位姿,否则将位姿数据发送至控制器;
S720:控制器将当前时刻的机器人本体的位姿数据发送至上位机,并从上位机接收机器人基座标系下的路径点上焊炬末端应到达的位姿数据,以及控制焊炬末端沿着路径点移动。
在一个可选的实施例中,上述方法还可以包括:控制器将当前时刻的机器人本体的位姿数据发送至上位机,以及从上位机接收机器人基座标下的(也即所规划的路径点)路径点上焊炬末端应到达的位姿数据。上位机执行以下步骤:在焊件的RGB图像上选取仅有焊缝且没有焊炬末端的第一区域,将第一区域转换为灰度图像;根据灰度图像,提取出焊缝边缘图像;根据焊缝边缘图像计算相机坐标系下的路径点坐标;将相机坐标系下的路径点坐标转换成机器人基坐标系下的路径点位姿数据,并将路径点与当前时刻的机器人本体位姿数据进行对比,如果路径点有效,则将路径点的焊炬的位姿发送至控制器。
在上述实施例的基础上,焊缝边缘提取步骤具体可以包括:对灰度图像进行顶帽变换,获取焊件焊缝边缘的亮部分细节图像。对灰度图像进行黑帽变换,获取焊件焊缝底部及侧面的暗部分细节图像。将亮部分细节图像与暗部分细节图像相加,获取焊缝的明暗细节图像。通过边缘检测算子提取焊缝的明暗细节图像的边缘图像。对边缘图像进行形态学的膨胀和腐蚀处理,得到仅焊缝区域为亮的二值图像。将二值图像按亮区域分割并连接距离小于预定阈值的亮区域,得到完整的焊缝区域图像。通过边缘检测算子对完整的焊缝区域图像进行边缘提取,得到焊缝边缘图像。
在上述实施例的基础上,路径点坐标计算步骤S713具体可以包括:
S7131:将焊缝边缘图像最下方的两条边缘的中点选取为开始路径点。
S7132:通过从当前路径点平移单位矢量得到下一路径点,其中,单位矢量的矢量方向为焊缝边缘的切线方向。
S7133:判断下一路径点是否在焊缝内部。若否,将下一路径点调整至焊缝内。
S7134:根据深度图像,计算下一路径点在相机坐标系中的三维坐标。
S7135:将下一路径点记录为当前路径点,并调用步骤S7132,以生成路径点数加一,如果已生成路径点数小于设定值,重复执行S7132;否则执行图像预处理步骤。
下面以更加优选的实施例详细说明路径点自动生成系统的工作流程,如图8所示。
将上述实施例中的每个模块作为一个节点运行,节点间通过自定义消息通信。
S1:驱动节点(即节点1)发布RGB-D传感器获取的点云消息。
其中,点云消息可以为传感器获取的三维场景图像。发布的帧率为30帧/秒。
S2:校正节点(即节点2)获取到点云消息并将其转换为RGB图像消息和深度图像消息,然后进行发布。
S3:图像预处理节点(即节点3)获取RGB图像消息。进行如下处理:1)选取仅有焊缝且没有焊炬末端的ROI(Region of Interest)并进行滤波处理,发布到灰度图像消息;2)选取具有焊炬末端的ROI并进行滤波处理,发布到碰撞图像消息。
S4:焊缝提取节点(即节点4)以每3秒一帧的速率获取图像预处理节点发布的灰度图像消息,完成焊缝提取后发布焊缝的二值图像消息。
其中,在低速运动的情况下RGB-D传感器获得的每帧图像差别不大,而走完一帧图像规划的路径点约为3秒。
S5:碰撞检测节点(即节点5)获取图像预处理节点发布的碰撞图像消息,对每一帧图像进行碰撞检测。如没有警报,则不进行处理;如有碰撞预警,则发布消息,通知取消还未完成的运动,并发布新的路径点至数据通信节点,并通知焊缝提取节点重新开始工作;如果已经碰撞,则停止运动,等待人工处理。
S6:路径点生成节点(即节点6)先获取焊缝的二值图像消息,再生成计算路径点并发布相机坐标系下路径点消息。
S7:坐标变换节点(即节点7)获取路径点消息,以及当前时刻的机器人位姿消息;使用手眼标定矩阵计算焊炬位姿;如果当前时刻的机器人位姿领先于所计算的焊炬位姿,即机器人已经经过该路径点,则丢弃该路径点位姿,否则发布目标路径点位姿。
在本步骤中,坐标变换节点获取的是路径点生成节点发布的消息,是相机坐标系下的三维坐标值。坐标变换节点要将相机坐标系下的路径点转换成机器人基座标系下的位姿A,并与当前时刻的机器人焊炬末端所在位置B进行对比,如果判断将要发布的路径点已经落后于机器人已经达到的位置,则放弃该点的发布。其中,对比是通过B与位姿A坐标的矢量差与即将A点位姿的X轴方向点乘,如果这个结果大于零,则认为该即将发布的目标路径点尚未经过,是有效的,否则认为该目标路径点无效,放弃之。
S8:数据通信节点(即节点8)将计算的位置点发送给示教器、控制器,并进行本地存储。同时,数据通信节点也接受控制器发回的当前位姿。
其中,数据通信节点从RGB-D传感器获取的当前时刻的机器人位姿消息,是机器人基座标系下的三维坐标值。
综上所述,本发明实施例可以具有以下优点:安装方便,可扩展性好,性能稳定,用户不需培训即可使用。
本实施例中虽然将各个步骤按照上述先后次序的方式进行了描述,但是本领域技术人员可以理解,为了实现本实施例的效果,不同的步骤之间不必按照这样的次序执行,其可以同时(并行)执行或以颠倒的次序执行,这些简单的变化都在本发明的保护范围之内。
上述系统实施例和方法实施例的具体细节部分可以互相借鉴,在此不再赘述。
如本文中所使用的,术语“模块”可以指代在计算系统上执行的软件对象或例程。可以将本文中所描述的不同模块实现为在计算系统上执行的对象或过程(例如,作为独立的线程)。
本发明并不限于上述实施方式,在不背离本发明实质内容的情况下,本领域普通技术人员可以想到的任何变形、改进或替换均落入本发明的保护范围。
Claims (9)
1.一种用于焊接机器人的路径点自动生成系统,用于焊接工作台上焊件的焊接,所述系统至少包括:
机器人本体,包括焊炬;
控制器,用于控制所述机器人本体的运动;
其特征在于,所述系统还包括:
RGB-D传感器,固定在所述机器人本体的末端,用于采集所述焊件的RGB图像和深度图像,并将所述焊件的所述RGB图像和所述深度图像传送至上位机;
所述上位机,用于对所述焊件的所述RGB图像和所述深度图像进行处理,提取出所述焊件的焊缝边缘,并根据所述焊缝边缘计算路径点信息,再将所述路径点信息发送至所述控制器,以控制所述焊炬末端沿着所述路径点移动;
所述控制器,还用于将当前时刻的所述机器人本体的位姿数据发送至上位机,以及从所述上位机接收所述机器人基座标下的路径点上焊炬末端应到达的位姿数据;
所述上位机具体包括:
图像预处理模块,用于在所述焊件的RGB图像上选取仅有所述焊缝且没有所述焊炬末端的第一区域,将所述第一区域转换为灰度图像,并将所述灰度图像发送至焊缝边缘提取模块;
所述焊缝边缘提取模块,用于根据所述灰度图像,提取出所述焊缝边缘图像;
路径点生成模块,用于根据所述焊缝边缘图像计算相机坐标系下的路径点坐标;
坐标变换模块,用于将所述相机坐标系下的路径点坐标转换成机器人基坐标系下的位姿数据,并判断机器人是否已经经过该位姿,若是,则丢弃所述位姿,否则将所述位姿数据发送至数据通信模块;
所述数据通信模块,用于将当前时刻机器人本体的位姿数据发送至所述坐标变换模块,以及将所述坐标变换模块确定的所述位姿数据发送至所述控制器。
2.根据权利要求1所述的系统,其特征在于,所述上位机还包括碰撞检测模块;其中:
所述图像预处理模块,还用于在所述RGB图像上选取具有所述焊炬末端的第二区域,对所述第二区域进行滤波,并将所述滤波后的第二区域发送至碰撞检测模块;
所述碰撞检测模块,用于根据所述滤波后的第二区域和所述深度图像,通过测定所述焊炬末端与所述焊缝边缘的距离来确定所述焊炬末端的运动状态。
3.根据权利要求2所述的系统,其特征在于,所述碰撞检测模块还包括:
识别模块,用于识别所述第二区域中所述焊炬末端;
处理模块,用于在所述第二区域中以所述焊炬末端为圆心做两个半径分别为M个像素点和N个像素点的第一和第二同心圆,其中,所述M大于所述N;
计算模块,用于结合所述深度图像,计算出所述第一和第二同心圆内所有像素点到所述焊炬末端的距离;
运动改变模块,用于在所述第一同心圆内的像素点到所述焊炬末端的距离小于第一阈值的情况下,发出预警并改变所述焊炬末端的运动方向;
运动停止模块,用于在所述第二同心圆内的像素点到所述焊炬末端的距离小于第二阈值的情况下,发出碰撞警报并停止所述焊炬末端的运动。
4.根据权利要求1所述的系统,其特征在于,所述焊缝边缘提取模块具体用于执行以下步骤:
对所述灰度图像进行顶帽变换,获取所述焊件焊缝边缘的亮部分细节图像;
对所述灰度图像进行黑帽变换,获取所述焊件焊缝底部及侧面的暗部分细节图像;
将所述亮部分细节图像与所述暗部分细节图像相加,获取所述焊缝的明暗细节图像;
将所述焊缝的明暗细节图像通过边缘检测算子提取出焊缝边缘二值图像;
对所述焊缝边缘二值图像进行形态学的膨胀和腐蚀处理,得到仅焊缝区域为亮的二值图像;
将所述二值图像按亮区域分割并连接距离小于预定阈值的亮区域,得到完整的焊缝区域图像;
通过边缘检测算子对所述完整的焊缝区域图像进行边缘提取,得到所述焊缝边缘图像。
5.根据权利要求1所述的系统,其特征在于,所述路径点生成模块具体被配置为执行以下步骤:
选取开始点:将所述焊缝边缘图像最下方的两条边缘的中点选取为开始路径点;
计算下一路径点:将当前路径点平移一个单位矢量得到下一路径点,其中,所述单位矢量的矢量方向为所述焊缝边缘的切线方向;
路径点判断:判断所述下一路径点是否在所述焊缝内部;
调整下一路径点:在所述下一路径点不在所述焊缝内的情况下,将所述下一路径点调整至所述焊缝内;
计算路径点三维坐标:根据所述深度图像,计算所述下一路径点在所述相机坐标系中的三维坐标;
记录当前路径点:将所述下一路径点记录为所述当前路径点,以生成路径点数加一,如果已生成路径点数小于设定值,并从所述计算下一路径点步骤开始执行,否则从所述图像预处理模块开始执行。
6.根据权利要求1所述的系统,其特征在于,所述系统还包括:
示教器,其与所述上位机和所述控制器相连,并包括:
示教再现模块,用于通过所述控制器向所述机器人示教目标位置;
输入输出模块,用于接收所述上位机发送来的所述路径点信息以及所述控制器发送来的当前时刻的机器人本体的位姿数据,并向所述控制器设置输入输出信息和所述路径点的位姿数据;
数据通讯模块,用于实现所述上位机和所述示教器之间的通信,以及所述示教器与所述控制器之间的通信;
图像显示模块,用于显示所述RGB-D传感器采集到的RGB图像和深度图像以及所述路径点信息。
7.一种用于焊接机器人的路径点自动生成方法,其特征在于,所述方法至少包括:
RGB-D传感器采集焊件的RGB图像和深度图像,并将所述焊件的所述RGB图像和所述深度图像传送至上位机;
控制器将当前时刻的所述机器人本体的位姿数据发送至所述上位机,并从所述上位机接收所述机器人基座标系下的路径点上焊炬末端应到达的位姿数据,以及控制所述焊炬末端沿着所述路径点移动;
所述上位机被配置为执行以下步骤:
图像预处理:在所述焊件的RGB图像上选取仅有焊缝且没有所述焊炬末端的第一区域,将所述第一区域转换为灰度图像;
焊缝边缘提取:根据所述灰度图像,提取出所述焊缝边缘图像;
路径点坐标计算:根据所述焊缝边缘图像计算相机坐标系下的路径点坐标;
路径点检查:将所述相机坐标系下的路径点坐标转换成机器人基坐标系下的位姿数据,并判断机器人是否已经经过该位姿,若是,则丢弃所述位姿,否则将所述位姿数据发送至所述控制器。
8.根据权利要求7所述的方法,其特征在于,所述焊缝边缘提取步骤具体包括:
对所述灰度图像进行顶帽变换,获取所述焊件焊缝边缘的亮部分细节图像;
对所述灰度图像进行黑帽变换,获取所述焊件焊缝底部及侧面的暗部分细节图像;
将所述亮部分细节图像与所述暗部分细节图像相加,获取所述焊缝的明暗细节图像;
将所述焊缝的明暗细节图像通过边缘检测算子提取出焊缝边缘二值图像;
对所述焊缝边缘二值图像进行形态学的膨胀和腐蚀处理,得到仅焊缝区域为亮的二值图像;
将所述二值图像按亮区域分割并连接距离小于预定阈值的亮区域,得到完整的焊缝区域图像;
通过边缘检测算子对所述完整的焊缝区域图像进行边缘提取,得到所述焊缝边缘图像。
9.根据权利要求7所述的方法,其特征在于,所述路径点坐标计算步骤具体包括:
步骤1:将所述焊缝边缘图像最下方的两条边缘的中点选取为开始路径点;
步骤2:将当前路径点平移一个单位矢量得到下一路径点,其中,所述单位矢量的矢量方向为所述焊缝边缘的切线方向;
步骤3:判断所述下一路径点是否在所述焊缝内部,如果所述下一路径点不在所述焊缝内,将所述下一路径点调整至所述焊缝内;
步骤4:根据所述深度图像,计算所述下一路径点在所述相机坐标系中的三维坐标;
步骤5:将所述下一路径点记录为所述当前路径点,并调用所述步骤2,以生成路径点数加一,如果已生成路径点数小于设定值,重复执行步骤2;否则执行所述图像预处理步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610116110.3A CN105665970B (zh) | 2016-03-01 | 2016-03-01 | 用于焊接机器人的路径点自动生成系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610116110.3A CN105665970B (zh) | 2016-03-01 | 2016-03-01 | 用于焊接机器人的路径点自动生成系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105665970A CN105665970A (zh) | 2016-06-15 |
CN105665970B true CN105665970B (zh) | 2018-06-22 |
Family
ID=56306405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610116110.3A Active CN105665970B (zh) | 2016-03-01 | 2016-03-01 | 用于焊接机器人的路径点自动生成系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105665970B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106826815B (zh) * | 2016-12-21 | 2019-05-31 | 江苏物联网研究发展中心 | 基于彩色图像与深度图像的目标物体识别与定位的方法 |
JP6817122B2 (ja) * | 2017-03-21 | 2021-01-20 | 株式会社神戸製鋼所 | 溶接パス特定方法、プログラム、教示プログラム及び溶接ロボットシステム |
CN107414250B (zh) * | 2017-09-05 | 2019-03-19 | 昆山华恒焊接股份有限公司 | 焊接控制方法、装置及系统、计算机可读存储介质 |
CN107728619B (zh) * | 2017-10-16 | 2020-06-23 | 邦鼓思电子科技(上海)有限公司 | 一种用于机器人示教路径的规划方法 |
CN108188619B (zh) * | 2017-12-30 | 2021-02-12 | 重庆山巨化工机械成套设备有限公司 | 自动化焊接系统 |
CN108247250B (zh) * | 2017-12-30 | 2020-07-10 | 重庆山巨化工机械成套设备有限公司 | 自动化焊接系统 |
CN108544153A (zh) * | 2018-04-23 | 2018-09-18 | 哈尔滨阿尔特机器人技术有限公司 | 一种用于管板焊接的视觉机器人系统 |
CN108582076A (zh) * | 2018-05-10 | 2018-09-28 | 武汉库柏特科技有限公司 | 一种基于标准球的机器人手眼标定方法及装置 |
CN108972554B (zh) * | 2018-08-06 | 2020-09-04 | 中汽研汽车检验中心(武汉)有限公司 | 一种基于拟合曲线曲率特征的复杂曲面机器人路径点提取方法 |
CN109243284A (zh) * | 2018-10-31 | 2019-01-18 | 西安长峰机电研究所 | 一种铝合金薄板拼焊焊缝示教式自动跟踪装置 |
CN109623824A (zh) * | 2018-12-29 | 2019-04-16 | 深圳市越疆科技有限公司 | 人工智能轨迹复现方法 |
CN109903279B (zh) * | 2019-02-25 | 2022-11-18 | 北京深度奇点科技有限公司 | 焊缝运动轨迹的自动示教方法和装置 |
CN110132975B (zh) * | 2019-03-28 | 2022-04-12 | 中核建中核燃料元件有限公司 | 一种用于核燃料棒包壳表面检测的方法、装置 |
CN111112885A (zh) * | 2019-11-26 | 2020-05-08 | 福尼斯智能装备(珠海)有限公司 | 一种视觉系统在工件上下料及焊缝自适应定位的焊接系统 |
CN110992410B (zh) * | 2019-11-29 | 2020-10-30 | 广东技术师范大学 | 基于rgb-d数据融合的机器人视觉引导方法和装置 |
CN111230883B (zh) * | 2020-02-20 | 2021-07-23 | 北京博清科技有限公司 | 爬行焊接机器人返程方法、装置、机器人及储存介质 |
CN111462110B (zh) * | 2020-04-20 | 2021-04-13 | 广东利元亨智能装备股份有限公司 | 焊缝质量检测方法、装置、系统及电子设备 |
CN112643207B (zh) * | 2020-12-12 | 2022-09-30 | 南京理工大学 | 基于计算机视觉的激光自动除锈系统及方法 |
CN112743194B (zh) * | 2020-12-30 | 2022-08-09 | 上海凯耘系统工程有限公司 | 一种基于路径自动规划和坡点识别的全自动焊接工艺 |
CN112743270B (zh) * | 2020-12-31 | 2023-08-04 | 广州中设机器人智能装备股份有限公司 | 基于2d/3d视觉定位的机器人焊接装配方法及系统 |
CN113192029A (zh) * | 2021-04-29 | 2021-07-30 | 南通大学 | 一种基于ToF的焊缝识别方法 |
CN115805394B (zh) * | 2022-12-28 | 2023-11-21 | 上海市机械施工集团有限公司 | 钢筋焊接定位方法、装置、电子设备及存储介质 |
CN115837676B (zh) * | 2023-02-23 | 2023-06-27 | 山西一瑞科技有限公司 | 一种无轨转运平台的轨迹规划方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100210876B1 (ko) * | 1996-12-23 | 1999-07-15 | 이해규 | 갠트리형 자동용접시스템 제어방법 |
KR101407995B1 (ko) * | 2012-09-10 | 2014-06-17 | 대우조선해양 주식회사 | 경량화 구조의 포터블 용접로봇 |
CN104700705B (zh) * | 2015-01-19 | 2017-02-22 | 清华大学 | 工业机器人示教系统 |
CN104732559B (zh) * | 2015-02-02 | 2017-08-01 | 大连民族学院 | 一种基于rgb‑d数据的多目标检测与跟踪方法 |
CN104732587B (zh) * | 2015-04-14 | 2019-02-01 | 中国科学技术大学 | 一种基于深度传感器的室内3d语义地图构建方法 |
CN104856720B (zh) * | 2015-05-07 | 2017-08-08 | 东北电力大学 | 一种基于rgb‑d传感器的机器人辅助超声扫描系统 |
CN104965513B (zh) * | 2015-06-23 | 2017-05-17 | 东南大学 | 一种子弹跳机器人的回收系统及回收方法 |
-
2016
- 2016-03-01 CN CN201610116110.3A patent/CN105665970B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105665970A (zh) | 2016-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105665970B (zh) | 用于焊接机器人的路径点自动生成系统和方法 | |
CN104400279B (zh) | 基于ccd的管道空间焊缝自动识别与轨迹规划的方法 | |
US11440179B2 (en) | System and method for robot teaching based on RGB-D images and teach pendant | |
CN110524580B (zh) | 一种焊接机器人视觉组件及其测量方法 | |
CN110561432B (zh) | 一种基于人机共融的安全协作方法及装置 | |
CN109604777A (zh) | 基于激光结构光的焊缝视觉跟踪系统及方法 | |
CN110539109B (zh) | 一种基于单双目视觉的机器人自动焊接系统及方法 | |
CN111897332A (zh) | 一种语义智能变电站机器人仿人巡视作业方法及系统 | |
CN109903279B (zh) | 焊缝运动轨迹的自动示教方法和装置 | |
CN110245599A (zh) | 一种智能三维焊缝自主寻迹方法 | |
CN107824940A (zh) | 基于激光结构光的焊缝视觉跟踪系统及方法 | |
CN104708239A (zh) | 基于ccd的大型海洋管道起始点识别与定位方法及系统 | |
CN113333998A (zh) | 一种基于协作机器人的自动化焊接系统及方法 | |
CN113954085A (zh) | 一种基于双目视觉与线激光传感数据融合的焊接机器人智能定位与控制方法 | |
CN108098134A (zh) | 一种新型激光视觉焊缝跟踪系统及方法 | |
CN108032011A (zh) | 基于激光结构光焊缝初始点导引装置及方法 | |
CN114851209B (zh) | 一种基于视觉的工业机器人工作路径规划优化方法及系统 | |
CN114407015A (zh) | 一种基于数字孪生的遥操作机器人在线示教系统及方法 | |
CN109894779A (zh) | 一种机器视觉跟踪系统及方法 | |
CN115346413A (zh) | 一种基于虚实融合的装配指导方法及系统 | |
CN107454866A (zh) | 一种三维模型建立方法和装置 | |
CN110450167A (zh) | 一种机器人红外激光定位运动轨迹规划方法 | |
CN110702101A (zh) | 一种面向电力巡检场景的定位方法及系统 | |
CN116922387B (zh) | 一种摄影机器人的实时控制方法及系统 | |
CN109129480A (zh) | 一种基于双目3d定位的机械臂加工系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |