CN117830297B - 焊缝识别方法、焊接方法、装置及电子设备 - Google Patents
焊缝识别方法、焊接方法、装置及电子设备 Download PDFInfo
- Publication number
- CN117830297B CN117830297B CN202410232271.3A CN202410232271A CN117830297B CN 117830297 B CN117830297 B CN 117830297B CN 202410232271 A CN202410232271 A CN 202410232271A CN 117830297 B CN117830297 B CN 117830297B
- Authority
- CN
- China
- Prior art keywords
- point cloud
- boundary
- point
- plane
- weld
- 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 113
- 238000000034 method Methods 0.000 title claims abstract description 95
- 230000011218 segmentation Effects 0.000 claims abstract description 61
- 238000012545 processing Methods 0.000 claims abstract description 41
- 238000007781 pre-processing Methods 0.000 claims abstract description 25
- 238000004422 calculation algorithm Methods 0.000 claims description 22
- 238000000605 extraction Methods 0.000 claims description 22
- 238000001914 filtration Methods 0.000 claims description 19
- 239000007787 solid Substances 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012935 Averaging Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 abstract description 14
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 230000002146 bilateral effect Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000003860 storage Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 239000011324 bead Substances 0.000 description 3
- 238000012512 characterization method Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002195 synergetic effect Effects 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 229910000831 Steel Inorganic materials 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Image Processing (AREA)
Abstract
本发明提出一种焊缝识别方法、焊接方法、装置及电子设备,属于数据处理领域,方法包括:将多平面工件的原始点云数据进行预处理后,分割为多个平面点云集;从平面点云集中提取出具有边界特征的边界点云,得到平面点云集的边界点云集;对边界点云集的每个边界点云,从剩余边界点云集中查找出该边界点云的最近邻点,并依据最近邻点确定多个焊缝点云;对所有焊缝点云进行直线拟合,得到多平面工件的多条焊缝。如此,在平面分割得到平面点云集后,将焊缝识别转化为平面边界检测,基于各边界点云集得到焊缝点云,并以此拟合出多条焊缝,排除掉非边界点云对焊缝点云识别的干扰和影响,大大提升了焊缝识别的精度。
Description
技术领域
本发明涉及数据处理领域,具体而言,涉及一种焊缝识别方法、焊接方法、装置及电子设备。
背景技术
焊接是制造业各个领域的材料加工的重要环节,对产品的质量有着重要影响。随着半自动化、自动化和智能化的发展,以及生产需求的不断提高,焊接已经从手动焊接发展为半自动焊接和全自动化焊接,焊接效率得到大幅度提升,焊接成本也大大降低。
提高焊缝识别的准确性是提升自动化焊接精度的必要条件。目前,在全自动化焊接技术中,通常采用基于点云平面交线的方法或基于点云配准的方法来识别焊缝。然而,基于点云配准的方法需要预先得到点云模型,点云模型与实际工件的误差较大,导致识别的焊缝精度低。基于点云平面交线的方法对点云相机的要求较高,一般的点云相机在拍摄钢结构等多平面工件时,会引入较大的误差,导致识别的焊缝精度较低。
发明内容
有鉴于此,本发明的目的在于提供一种焊缝识别方法、焊接方法、装置及电子设备,能够减少工件焊缝识别的误差,提高识别出的焊缝的精度。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供一种焊缝识别方法,所述方法包括:
获取多平面工件的原始点云数据,对所述原始点云数据进行预处理和平面分割,得到多个平面点云集;其中,每个所述平面点云集包括多个点云数据;
针对每个所述平面点云集,进行边界特征识别,以从所述平面点云集中提取出具有边界特征的边界点云,得到所述平面点云集对应的边界点云集;
针对每个所述边界点云集的每个边界点云,从剩余边界点云集中查找出所述边界点云的最近邻点,并依据所述最近邻点确定多个焊缝点云;
对所有所述焊缝点云进行直线拟合,得到所述多平面工作的多条焊缝。
可选地,所述进行边界特征识别,以从所述平面点云集中提取出具有边界特征的边界点云的步骤,包括:
计算出所述平面点云集中的每个点云数据的二维坐标,根据所述点云数据的二维坐标,建立所述平面点云集的最小包围盒;
将所述最小包围盒划分为多个网格,并依据网格中点云数据的有无,将所述多个网格划分为实孔网格和空孔网格;
从所有所述实孔网格中,提取满足边界特征的实孔网格作为边界网格,并将所述边界网格中的点云作为边界点云。
可选地,所述从所有所述实孔网格中,提取满足边界特征的实孔网格作为边界网格的步骤,包括:
从所有所述网格中,确定每个所述实孔网格的所有相邻网格;
针对每个所述实孔网格,从所述实孔网格的所有相邻网格中识别出空孔网格数,判断所述空孔网格数是否大于预设的边界特征阈值;
若否,则判定所述实孔网格满足边界特征,并将所述实孔网格作为边界网格。
可选地,所述将所述最小包围盒划分为多个网格的步骤,包括:
基于所述最小包围盒所在的二维坐标系,获取所述最小包围盒的端点坐标值;其中,所述端点坐标值包括横坐标最大值、横坐标最小值、纵坐标最大值、纵坐标最小值;
基于所述端点坐标值,采用网格均匀算法,计算出单个网格的边长和各坐标轴上的网格数;
依据所述边长和所述网格数,将所述最小包围盒划分为多个网格。
可选地,所述从剩余边界点云集中查找出所述边界点云的最近邻点,并依据所述最近邻点确定多个焊缝点云的步骤,包括:
分别从剩余的每个边界点云集中,查找出所述边界点云的一个最近邻点,得到所述边界点云的多个最近邻组;其中,每个所述最近邻组包括边界点云及所述边界点云的一个最近邻点;
针对每个所述最近邻组,对所述最近邻组中两个点云的三维坐标取平均值,得到平均坐标,将所述平均坐标对应的点作为一个焊缝点云。
可选地,所述对所述原始点云数据进行预处理和平面分割,得到多个平面点云集的步骤,包括:
对所述原始点云数据进行去离散点、滤波和降采样,得到预处理点云集;
采用RANSAC算法,对所述预处理点云集进行平面分割,得到多个平面点云集。
可选地,所述采用RANSAC算法,对所述预处理点云集进行平面分割,得到多个平面点云集的步骤,包括:
以平面模型作为分割对象,以所述预处理点云集作为分割点云集;
基于所述分割点云集,拟合出一个平面模型;
计算所述分割点云集中的每个点云到所述平面模型的第二距离,将所述第二距离小于第二阈值的点云作为所述平面模型的面内点,以得到一个由面内点构成的平面点云集;
将所述平面点云集从所述分割点云集中剔除,得到剩余点云数据,判断所述剩余点云数据的数量是否小于预设的结束阈值;
若是,则结束迭代;
若否,则将所述剩余点云数据作为分割点云集,返回执行所述基于所述分割点云集,拟合出一个平面模型的步骤。
可选地,所述基于所述分割点云集,拟合出一个平面模型的步骤,包括:
从所述分割点云集中随机选取目标数量的点云,以该随机选取的点云拟合出平面估计模型;
计算所述分割点云集中的每个点云到所述平面估计模型的第一距离,并将所述第一距离小于第一阈值的点云作为所述平面估计模型的局内点;
判断所述局内点的数量是否大于预设的平面点云阈值;
若是,则将所述平面估计模型作为一个平面模型;
若否,则返回所述从所述分割点云集中随机选取目标数量的点云,以该随机选取的点云拟合出平面估计模型的步骤,直至局内点的数量大于预设的平面点云阈值,或平面估计的迭代次数达到迭代阈值;
当平面估计的迭代次数达到迭代阈值时,将局内点数量最大的平面估计模型作为一个平面模型。
可选地,所述对所有所述焊缝点云进行直线拟合,得到所述多平面工作的多条焊缝的步骤,包括:
对所有所述焊缝点云,采用RANSAC算法进行直线拟合,得到所述平面点云集对应的焊缝。
第二方面,本发明实施例提供一种焊接方法,所述方法包括:
获取多平面工件的原始点云数据,对所述原始点云数据进行预处理和平面分割,得到多个平面点云集;其中,每个所述平面点云集包括多个点云数据;
针对每个所述平面点云集,进行边界特征识别,以从所述平面点云集中提取出具有边界特征的边界点云,得到所述平面点云集对应的边界点云集;
针对每个所述边界点云集的每个边界点云,从剩余边界点云集中查找出所述边界点云的最近邻点,并依据所述最近邻点确定多个焊缝点云;
对所有所述焊缝点云进行直线拟合,得到所述多平面工作的多条焊缝;
依据所述焊缝,对所述多平面工件进行焊接。
第三方面,本发明实施例提供一种焊缝识别装置,包括处理分割模块、焊缝点云提取模块和焊缝拟合模块;
所述处理分割模块,用于获取多平面工件的原始点云数据,对所述原始点云数据进行预处理和平面分割,得到多个平面点云集;其中,每个所述平面点云集包括多个点云数据;
所述焊缝点云提取模块,用于针对每个所述边界点云集的每个边界点云,从剩余边界点云集中查找出所述边界点云的最近邻点,并依据所述最近邻点确定多个焊缝点云;
所述焊缝拟合模块,用于对所有所述焊缝点云进行直线拟合,得到所述多平面工作的多条焊缝。
第四方面,本发明实施例提供一种焊接装置,包括处理分割模块、边界点提取模块、焊缝点获取模块、焊缝拟合模块和焊接模块;
所述处理分割模块,用于获取多平面工件的原始点云数据,对所述原始点云数据进行预处理和平面分割,得到多个平面点云集;其中,每个所述平面点云集包括多个点云数据;
所述边界点提取模块,用于针对每个所述平面点云集,进行边界特征识别,以从所述平面点云集中提取出具有边界特征的边界点云,得到所述平面点云集对应的边界点云集;
所述焊缝点获取模块,用于针对每个所述边界点云集的每个边界点云,从剩余边界点云集中查找出所述边界点云的最近邻点,并依据所述最近邻点确定多个焊缝点云;
所述焊缝拟合模块,用于对所有所述焊缝点云进行直线拟合,得到所述多平面工作的多条焊缝;
所述焊接模块,用于依据所述焊缝,对所述多平面工件进行焊接。
第五方面,本发明实施例提供一种电子设备,包括处理器和存储器,该存储器用于存储计算机程序;当该计算机程序被该处理器执行时,实现如第一方面中任一种可选的实施方式所述的焊缝识别方法,或者实现如第二方面所述的焊接方法。
第六方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一项可选的实施方式所述的焊缝识别方法,或者是第二方面所述的焊接方法。
本发明实施例提供的焊缝识别方法、焊接方法、装置及电子设备,方法包括:对多平面工件的原始点云数据进行预处理和平面分割,得到多个平面点云集;对每个平面点云集进行边界特征识别,以从平面点云集中提取出具有边界特征的边界点云,得到平面点云集的边界点云集;对边界点云集的每个边界点云,从剩余边界点云集中查找出该边界点云的最近邻点,并依据最近邻点确定多个焊缝点云;对所有焊缝点云进行直线拟合,得到多平面工件的多条焊缝。如此,在平面分割得到平面点云集后,引入对每个平面点云集的边界检测,即将焊缝识别转化为平面边界检测,进而基于各边界点云集得到焊缝点云,以及从所有焊缝点云中拟合出多条焊缝,排除掉平面点云集中非边界点云对焊缝点云识别的干扰和影响,从而在一定程度上克服因点云平面大而引入的误差,大大提升了焊缝识别的精度。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的焊缝识别系统的结构示意图。
图2示出了本发明实施例提供的焊接设备的结构示意图。
图3示出了本发明实施例提供的焊缝识别方法的流程示意图之一。
图4示出了图3中步骤S11的部分子步骤的流程示意图。
图5示出了图4中步骤S112的部分子步骤的流程示意图。
图6示出了图5中步骤S22的部分子步骤的流程示意图。
图7示出了图3中步骤S13的部分子步骤的流程示意图。
图8示出了图3中步骤S15的部分子步骤的流程示意图。
图9示出了本发明实施例提供的焊接方法的流程示意图。
图10示出了本发明实施例提供的焊缝识别装置的结构示意图。
图11示出了本发明实施例提供的电子设备的结构示意图。
附图标记说明:1000-焊缝识别系统;10-识别设备;20-点云相机;30-焊接设备;301-焊接组件;40-焊缝识别装置;401-处理分割模块;402-边界点提取模块;403-焊缝点获取模块;404-焊缝拟合模块;50-电子设备;501-处理器;502-存储器;503-通信模块;504-总线。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明实施例提供的焊缝识别方法,可以应用于图1所示的焊缝识别系统1000中,焊缝识别系统1000可以包括识别设备10和点云相机20,识别设备10可以通过有线或无线的方式与点云相机20通信连接,识别设备10和点云相机20均可以是焊接机器人或焊接设备的一个功能模块,也可以是独立设备。
点云相机20,用于对工件进行拍摄,得到工件的原始点云数据,并将原始点云数据传输给识别设备10。其中,工件一般为多平面工件。
识别设备10,用于实现本发明实施例提供的焊缝识别方法。
其中,识别设备10可以是但不限于是:个人计算机、笔记本电脑、服务器、服务器集群、平板电脑、移动终端等。
在一种可能的实现方式中,本发明实施例还提供有一种焊接设备,该设备包含执行焊接的相关模块,例如,焊缝识别模块、焊接组件和焊接控制模块。可选地,参照图2,该设备可以包含焊接组件301以及上述图1所示的焊缝识别系统1000,以便焊接控制模块基于该系统1000获得的焊缝,进行焊接组件301的控制;或者,该焊接设备具有用于通信的模块、接口等单元,用于与系统1000进行通讯,以便获得焊缝识别系统1000识别出的多平面工件的多条焊缝的信息,并依据该多条焊缝的信息,进行对多平面工件的焊接的控制。
可以理解为,焊接设备是以图1中系统1000中的识别设备识别出的多条焊缝所指示的位置作为焊缝区域,进行焊接工作。焊接设备可以是半自动焊接设备、也可以是全自动焊接设备,在本实施例中,不作具体限定。
请参照图3,本发明实施例提供了一种焊缝识别方法,可以包括以下步骤。在本实施例中,以该焊缝识别方法应用于图1中的识别设备10来举例说明。
S11,获取多平面工件的原始点云数据,对原始点云数据进行预处理和平面分割,得到多个平面点云集。
在本实施方式中,每个平面点云集包括多个点云数据。
S13,针对每个平面点云集,进行边界特征识别,以从平面点云集中提取出具有边界特征的边界点云,得到平面点云集对应的边界点云集。
S15,针对每个边界点云集的每个边界点云,从剩余边界点云集中查找出边界点云的最近邻点,并依据最近邻点确定多个焊缝点云。
S17,对所有焊缝点云进行直线拟合,得到多平面工作的多条焊缝。
可示例地,待焊接工件可以是包括三个平面且三个平面互相垂直的多平面工件(仅是举例,平面数可大于三个),此处以上文图1所示系统1000为例,其中点云相机20对多平面工件进行拍摄,得到原始点云数据,并将原始点云数据传输至识别设备10。
识别设备10接收到点云相机20发送的原始点云数据后,对原始点云数据进行预处理和平面分割,得到多个平面点云集。其中,每个平面点云集中的所有点云可以构成一个平面,且多个平面点云集构成的平面各不相同。对每个平面点云集,进行边界特征识别,即识别该平面点云集中具有边界特征的点云,从点云平面集中提取出边界点云,得到边界点云集。进而,识别设备10针对每个平面点云集的每个边界点云,从剩余边界点云集中查找出该边界点云的最近邻点,依据查找结果确定焊缝点云。
例如,假设有三个平面点云集,每个平面点云集均有对应一个边界点云集,即边界点云集A、边界点云集B和边界点云集C。对于边界点云集A的每个边界点云,从边界点云集B和边界点云集C查找出该边界点云的最近邻点。同理,对于边界点云集B的每个边界点云,从边界点云集A和边界点云集C查找出该边界点云的最近邻点。对于边界点云集C的每个边界点云,从边界点云集A和边界点云集B查找出该边界点云的最近邻点。
得到焊缝点云后,识别设备10对所有焊缝点云进行直线拟合,得到多平面工件的多条焊缝。
通过上述S11至S17,在平面分割得到平面点云集后,引入对每个平面点云集的边界检测,即将焊缝识别转化为平面边界检测,进而基于各边界点云集间的最近邻点查找结果,得到焊缝点云,以及从所有焊缝点云中拟合出多条焊缝,排除掉平面点云集中非边界点云对焊缝点云识别的干扰和影响,在一定程度上能够克服因点云平面大而引入的误差,例如普通点云相机在拍摄工件时由于平面起伏大而导致平面交线处点云质量差引起的误差,使得到的焊缝点云及焊缝更为准确,进而极大地提升了焊缝识别的精度。
为了排除原始点云数据中噪声的影响,以及提高得到平面点云集的速度,在预处理中引入滤波和降采样,并在平面分割中引入RANSAC算法。参照图4,S11可以包括以下实施方式。
S111,对原始点云数据进行去离散点、滤波和降采样,得到预处理点云集。
S112,采用RANSAC算法,对预处理点云集进行平面分割,得到多个平面点云集。
其中,为了提高去干扰的能力,对于S111可以实施为以下步骤。
S111-1,对原始点云数据进行逐点最近邻查找,得到每个原始点云的最近邻点以及与最近邻点间的距离值,并将距离值大于预设的最近邻阈值的原始点云和该原始点云的最近邻点滤除,得到第一点云集。
S111-2,采用双边滤波算法,对第一点云集进行处理,得到滤波点云集。
S111-3,对滤波点云集进行体素栅格下采样,得到预处理点云集。
由于点云相机20的精度、环境因素、电磁波衍射特性、被测物体表面性质变化和数据拼接配准操作过程等的影响,在获取多平面工作的原始点云数据时,原始点云数据中将不可避免地出现一些噪声点。以及,在实际应用中,由于受到外界干扰如视线遮挡等因素的影响,原始点云数据中往往存在着一些离主体点云(即多平面工件的点云)较远的离散点,即离群点。通过步骤S111-1,完成对原始点云数据的去离散点处理,可以很好地去除这些离群点。经过步骤S111-1的处理后,得到相对平滑的第一点云集。
对于步骤S111-2,使用双边滤波算法,对第一点云集中的每个点云,取邻近点云的加权平均来修正当前点云的位置,从而达到滤波效果。
可示例地,S111-2中的双边滤波算法可以为:
其中,表征第一点云集中第i个点云(即当前点云)经双边滤波后的位置,/>表征第一点云集中第i个点云的位置,/>表征第一点云集中第i个点云的法向量,/>表征第一点云集中第j个点云的位置,/>表征第一点云集中第/>个点云的法向量,/>表征第一点云集的点云总数,/>表征第i个权重归一化系数,G表征双边滤波核函数。
双边滤波核函数可以表示为:。
其中,,表征空间距离。/>,表征属性关系。/>和/>是两个控制滤波程度的参数。
通过双边滤波算法,进行点云空间域核和法向量域核的滤波,既能修正当前点云的位置,也能有选择地剔除部分与当前点云“差异”太大的相邻点云,从而达到保持原特征的目的,使滤波点云集更为平滑。
需要说明的是,在不同的应用场景中,可以将步骤S111-2中的双边滤波算法替换成任一种滤波算法,例如,可以是递推平均滤波法,也可以是小波变换滤波,本实施例中不作具体限定。
对滤波点云集进行体素栅格下采样,得到预处理点云集。
在步骤S111-3中,可以将滤波点云集输入VoxelGrid体素网格滤波器,采用VoxelGrid体素网格滤波器创建该滤波点云集的三维体素栅格,滤波点云集内的所有点云均在该三维体素栅格内。对于位于同一个体素内的所有点云,以该所有点的重心点来进行表示,以得到预处理点云集。
应当理解的是,每个体素的大小可以是任一值,例如可以是cm的体素,同一体素中的所有点用一个重心点表示。
如此,大大减少了点云数据量,有助于减少步骤S112进行平面分割时的计算量,从而能够提高处理速度,提高运行速率。
为了提高平面分割的准确度,在步骤S112中引入迭代分割的构思。参照图5,步骤S112可以通过以下步骤实现。
S21,以平面模型作为分割对象,以预处理点云集作为分割点云集。
S22,基于分割点云集,拟合出一个平面模型。
S23,计算分割点云集中的每个点云到平面模型的第二距离,将第二距离小于第二阈值的点云作为平面模型的面内点,以得到一个由面内点构成的平面点云集。
S24,将平面点云集从分割点云集中剔除,得到剩余点云数据。
S25,判断剩余点云数据的数量是否小于预设的结束阈值。若是,执行步骤S26,若否,则执行步骤S27。
S26,结束迭代。
S27,将剩余点云数据作为分割点云集。并在执行步骤S27之后,返回执行步骤S22。
其中,S25中的结束阈值为依据历史经验数据确定的经验值,可以理解为结束阈值表征着剩余点云数据不足以再构成一个平面,其数值可以根据不同的工件、焊接精度、焊接场景而有所不同。例如,结束阈值可以是多平面工件的原始点云数据的十分之一,也可以是多平面工件的原始点云数据的十二分之一,在本实施例,不作具体限定。
第二距离可以为垂直距离,第二阈值是依据大量历史经验设置的值,第二阈值为平面模型内的点云与平面模型间的距离上限值,若点云大于或等于第二阈值,则意味着该点云不属于平面模型内一点,否则,则属于平面模型内一点。
为了提高平面点云集的准确度,在S22中引入迭代拟合平面的构思,以得到更为准确的平面模型,避免因平面模型精度低而影响平面点云集的准确度。对于S22,参照图6,可以包括以下步骤。
S221,从分割点云集中随机选取目标数量的点云,以该随机选取的点云拟合出平面估计模型。
S222,计算分割点云集中的每个点云到平面估计模型的第一距离,并将第一距离小于第一阈值的点云作为平面估计模型的局内点。
具体地,对于分割点云集中的每个点云,可以先将该点云投影到平面估计模型,得到投影点,进而计算投影点与该点云间的直线距离,将该直线距离作为点云到平面估计模型间的第一距离。若第一距离小于第一阈值,则意味着该点云是平面估计模型上的一点,即局内点,否则,不是局内点。
S223,判断局内点的数量是否大于预设的平面点云阈值。若是,则执行步骤S224,若否,则执行步骤S225。
S224,将平面估计模型作为一个平面模型。
S225,更新平面估计的迭代次数,判断平面估计的迭代次数是否达到迭代阈值。若否,则返回执行步骤S221,若是,则执行步骤S226。
S226,将局内点数量最大的平面估计模型作为一个平面模型。
其中,平面点云阈值为依据历史经验数据确定的经验值,可以理解为结束阈值表征着构成一个平面的最少点云数,其数值可以根据精度或场景等的不同而有所不同,例如,平面点云阈值的数值可以是100个点云,也可以是1000个点云,在本实施例,不作具体限定。
第一距离可以为垂直距离,第一阈值是依据大量历史经验设置的值,第一阈值为平面估计模型内的点云与平面估计模型间的距离上限值,若点云大于或等于第二阈值,则意味着该点云不属于平面估计模型内一点,否则,则属于平面估计模型内一点。
应当理解的是,第一阈值和第二阈值的数值可以相同,也可以不相同。
迭代次数为预设设置的经验值,其可以是基于速度、效率、精度、质量等任一种或任几种考虑因素而设定的值,数值可以变化,在此不作具体限定。
通过上述S221至S226,在生成平面模型的过程中反复迭代寻优,在平面估计模型的局内点大于平面点云阈值,或平面估计的迭代次数达到迭代阈值的情况下,才获取平面模型,以得到最优的平面模型,使得到的平面模型更为准确。
对于图3中的S13,进行边界特征识别,从平面点云集中提取出具有边界特征的边界点云的过程可以灵活设置,例如,可以采用预训练的边界识别模型进行识别提取,也可以按预设规则进行处理,本实施例中,不作具体限定。
为了快速且高精度地提取每个平面点云集中的边界点云,在步骤S13的边界特征识别中引入划分为多个网格,基于网格提取边界点云的构思。参照图7,S13可以包括以下步骤:
S131,计算出平面点云集中的每个点云数据的二维坐标,根据点云数据的二维坐标,建立平面点云集的最小包围盒。
S132,将最小包围盒划分为多个网格,并依据网格中点云数据的有无,将多个网格划分为实孔网格和空孔网格。
S133,从所有实孔网格中,提取满足边界特征的实孔网格作为边界网格,并将边界网格中的点云作为边界点云。
对于S131,平面点云集中的点云数据均为三维点云,可以通过投影、透视投影等任一种三维坐标转二维坐标的方法,得到每个点云数据的二维坐标。即平面点云集可以表示为,其中,/>,转换为二维坐标后的平面点云集为,/>。
从中确定出横坐标最大值、横坐标最小值、纵坐标最大值和纵坐标最小值,即/>、/>、/>和/>,并以横坐标最大值、横坐标最小值、纵坐标最大值和纵坐标最小值为最小包围盒的四条边的中点,建立最小包围盒。
对于S132,将最小包围盒划分为多个网格的方式可以灵活设置,例如,可以依据设定的标准网格大小进行划分,也可以采用预设的机器学习模型得到划分标准,依据划分标准进行划分,还可以按照预设规则进行划分,在本实施例中,不作具体限定。
为了提高边界点云的精度,避免网格大小不一致而导致误差,S132中在将最小包围盒划分为多个网格的过程中引入均匀划分的构思,可以包括以下步骤。
S1321,基于最小包围盒所在的二维坐标系,获取最小包围盒的端点坐标值。
S1322,基于端点坐标值,采用网格均匀算法,计算出单个网格的边长和各坐标轴上的网格数。
S1323,依据边长和网格数,将最小包围盒划分为多个网格。
其中,端点坐标值包括横坐标最大值、横坐标最小值、纵坐标最大值、纵坐标最小值。
网格均匀算法可以为:
其中,表征边长,/>表征横坐标上的网格数,/>表征纵坐标上的网格数,/>表征平面点云集的点云总数。
通过上述S1321至S1322,即可得到长宽一致的多个网格,此时的最小包围盒可以表示为,而网格可以表示为/>,其中,/>,/>。
如此,将最小包围盒划分为多个长宽一致的网格,使网格均匀化,即量化标准统一,避免因网格大小不一致而导致的边界网格提取的误差,极大地降低误差,提升边界网格和边界点云的精度,进而提升焊缝识别的精度。
转换为二维坐标后的平面点云集中的每个点云数据可以依据其横坐标和纵坐标,得到其与网格间的位置关系,即将每个点云数据放入对应的网格,建立点云数据与网格间的位置关系:/>,/>。从而,可以根据网格中点云数据的有无,将最小包围盒中的所有网格划分为实孔网格和空孔网格。
对于S133,提取边界网格的方式可以灵活设置,例如,可以采用预训练的神经网络模型进行边界特征识别和提取边界网格,也可以按预设规则进行识别和提取,在本实施方式中,不作具体限定。
应当理解的是,越靠近边界点云密度越稀疏,对于边界网格,其特征为周围必定存在没有点云数据的区域,因此在S133的边界网格提取中,引入上述边界网格的特征,S133可以包括以下步骤。
S1331,从所有网格中,确定每个实孔网格的所有相邻网格。
S1332,针对每个实孔网格,从实孔网格的所有相邻网格中识别出空孔网格数。
S1333,判断空孔网格数是否大于预设的边界特征阈值。若是,则执行步骤S1334,若否,则执行步骤S1335。
S1334,判定实孔网格满足边界特征,并将实孔网格作为边界网格。
S1335,判定实孔网格不满足边界特征。
其中,边界特征阈值可以为依据历史经验数据设置的值,其为网格为边界网格时的特征值,当实孔网格的相邻网格中的空孔网格数大于该边界特征阈值,则意味着该实孔网格是边界网格,否则,不边界网格。边界特征阈值可以依据精度、场景等的不同而不同,例如,边界特征阈值可以是1,也可以是2,在此不作具体限定。
在S1331中,针对每个实孔网格,可以计算该实孔网格的中心点与其余各网格的中心点间的距离,并按从小到大的顺序将各距离进行排序,将预设次序前的网格作为实孔网格的相邻网格,例如,可以将前8作为相邻网格,也可以将前9作为相邻网格,在本实施例中,不作具体限定。
在S1332中,预设的边界特征阈值为预先根据大量的历史工件的边界网格特征确定的数值,边界特征阈值可以为大于0且不超过相邻网格数的整数值,例如,可以是1,也可以2,在本实施例中,不作具体限定。
在确定出所有的边界网格后,将边界网格内的点云作为边界点云。
如此,通过上述131至S133及其相关子步骤,建立平面点云集的最小包围盒,并用计算出的给定间隔将最小包围盒均匀划分为统一标准的多个网格,使每个网格均有相同的点云落入概率,从而从实孔网格中识别出符合边界特征的边界网格,进而得到高精度的边界点云。
多平面工件的焊缝即两个平面的交线,而每个平面点云集表征一个平面,且在S13中已得到每个平面点云集的边界点云集。故而,为了确定出焊缝,在S15确定焊缝点云的过程中引入每两个平面点云集的边界点云集求焊缝点云的构思。
参照图8,S15可以包括以下步骤。
S151,分别从剩余的每个边界点云集中,查找出边界点云的一个最近邻点,得到边界点云的多个最近邻组。
其中,每个最近邻组包括边界点云及边界点云的一个最近邻点。
S152,针对每个最近邻组,对最近邻组中两个点云的三维坐标取平均值,得到平均坐标,将平均坐标对应的点作为一个焊缝点云。
对于步骤S151,对于边界点云集中的任一个边界点云,可以采用Kd-Tree最近邻算法、k最近邻算法等任一种最近邻算法,从剩余的每个边界点云集中,查找出边界点云的一个最近邻点,在本实施例中,不作具体限定。
可示例地,若有3个边界点云集,分别为边界点云集A、边界点云集B、边界点云集C,则对于边界点云集A中的每个边界点云,从边界点云集B的边界点云中查找出一个最近邻点/>,从边界点云集C中查找出一个最近邻点/>,最终得到两个最近邻组:(/>)和()。
在实际应用时,可以直接使用两个最近邻组执行步骤S152,也可以为了提高精确度,对最近邻组进行筛选。筛选过程可以为:当最近邻组中的两个点云间的距离大于预设的邻点距离阈值时,将该最近邻组进行过滤。即将距离过大的最近邻组删除,以提升最近邻组的准确度,进而能够提高焊缝点云的精度。
在步骤S152中,对最近邻组中的两个点云去三维坐标的平均值,得到一个坐标,该坐标对应的点即为一个焊缝点云。例如,若最近邻组()中/>的坐标为的坐标为/>,则该最近邻组对于的焊缝点云的坐标为。
通过上述步骤S151至S152,可快速且更为准确地得到每两个边界点云集中符合焊缝特征的焊缝点云。
对于S17,对所有焊缝点云进行直线拟合,得到多平面工作的多条焊缝的过程中可以采用任一种拟合方法,例如,可以是最小二乘法,也可以是梯度下降法,在本实施例中,不作具体限定。
由于S15中进行最近邻点查找时需要尽可能包含更多边界上的点,导致初始焊缝的端点处存在杂点,为了尽可能地消除断点杂点的影响,提升焊缝的精度。在本实施例中,S17可以实施为:对所有焊缝点云,采用RANSAC算法进行直线拟合,得到平面点云集对应的焊缝。
可示例地,可以以直线作为分割对象,以所有焊缝点云组成的焊缝点云集作为拟合点云集;基于拟合点云集,拟合出一个直线模型;计算拟合云集中的每个点云到直线模型的第三距离,将第三距离小于第三阈值的点云作为直线模型的线内点,以得到一个由线内点构成的线内点云集;将线内点云集从拟合点云集中剔除,得到剩余点云数据;判断剩余点云数据的数量是否小于预设的结束阈值;若是,则结束迭代,若否,则将剩余点云数据作为拟合点云集,返回执行于拟合点云集,拟合出一个直线模型的步骤。进而,最终将每个线内点云集中的点云进行直线拟合,得到焊缝。
需要说明的是,上述得到焊缝的方法仅仅是一种举例,而非唯一限定。
另一种可示例地,可以将每两个边界点云集得到的所有焊缝点云进行直线拟合,得到一条焊缝。例如,若有边界点云集A、边界点云集B和边界点云集C,则将由边界点云集A和边界点云集B进行最近邻点查找后得到的焊缝点云拟合为一条焊缝,将边界点云集A和边界点云集C进行最近邻点查找后得到的焊缝点云拟合为一条焊缝,将边界点云集B和边界点云集C进行最近邻点查找后得到的焊缝点云拟合为一条焊缝。
本发明实施例还提供了一种焊接方法,参照图9,可以包括以下步骤。
S11,获取多平面工件的原始点云数据,对原始点云数据进行预处理和平面分割,得到多个平面点云集。
其中,每个平面点云集包括多个点云数据。
S13,针对每个平面点云集,进行边界特征识别,以从平面点云集中提取出具有边界特征的边界点云,得到平面点云集对应的边界点云集。
S15,针对每个边界点云集的每个边界点云,从剩余边界点云集中查找出边界点云的最近邻点,并依据最近邻点确定多个焊缝点云。
S17,对所有焊缝点云进行直线拟合,得到多平面工作的多条焊缝。
S19,依据焊缝,对多平面工件进行焊接。
S11至S17的相关实施方式可以参见上文焊缝识别方法实施例中的相关内容,本实施例中不在赘述。
以焊接方法应用于图2中的焊接设备30为例,S19可以理解为,焊接设备30获取到焊缝后,将以焊缝在多平面工件中对应的区域为焊接区域,进行焊接工作。
通过上述S11至S19,在平面分割得到平面点云集后,引入对每个平面点云集的边界检测,即将焊缝识别转化为平面边界检测,进而基于各边界点云集得到焊缝点云,以及从所有焊缝点云中拟合出多条焊缝,进而依据该焊缝进行焊缝,以排除掉平面点云集中非边界点云对焊缝点云识别的干扰和影响,从而在一定程度上克服因点云平面大而引入的误差,大大提升了焊缝识别的精度,进而提升焊接精度。
基于与上述焊缝识别方法相同的发明构思,本实施例中提供了一种焊缝识别装置40,可以应用于图1中的识别设备10。参照图6,焊缝识别装置40包括处理分割模块401、边界点提取模块402、焊缝点获取模块403和焊缝拟合模块404。
处理分割模块401,用于获取多平面工件的原始点云数据,对原始点云数据进行预处理和平面分割,得到多个平面点云集。其中,每个平面点云集包括多个点云数据。
边界点提取模块402,用于针对每个平面点云集,进行边界特征识别,以从平面点云集中提取出具有边界特征的边界点云,得到平面点云集对应的边界点云集。
焊缝点获取模块403,用于针对每个边界点云集的每个边界点云,从剩余边界点云集中查找出边界点云的最近邻点,并依据所述最近邻点确定多个焊缝点云。
焊缝拟合模块404,用于对所有焊缝点云进行直线拟合,得到多平面工作的多条焊缝。
上述焊缝识别装置40中,通过处理分割模块401、边界点提取模块402、焊缝点获取模块403和焊缝拟合模块404的协同作用,在平面分割得到平面点云集后,引入对每个平面点云集的边界检测,即将焊缝识别转化为平面边界检测,进而基于各边界点云集间的最近邻点查找结果,得到焊缝点云,以及从所有焊缝点云中拟合出多条焊缝,排除掉平面点云集中非边界点云对焊缝点云识别的干扰和影响,在一定程度上能够克服因点云平面大而引入的误差,例如普通点云相机20在拍摄工件时由于平面起伏大而导致平面交线处点云质量差引起的误差,使得到焊缝点云及焊缝更为准确,进而极大地提升了焊缝识别的精度。
需要说明的是,本发明实施例提供的焊缝识别装置40,其基本原理、产生的技术效果以及进一步实施方式和上述焊缝识别方法实施例相同,为简要描述,本实施例部分未提及之处,在此不再赘述,可参考上述焊缝识别方法实施例中的相应内容。
基于与上述焊接方法相同的发明构思,本实施例中提供了一种焊接装置,可以应用于图1中的焊接设备30。焊接装置包括如图10所示的处理分割模块401、边界点提取模块402、焊缝点获取模块403和焊缝拟合模块404,还包括焊接模块。
处理分割模块401,用于获取多平面工件的原始点云数据,对原始点云数据进行预处理和平面分割,得到多个平面点云集。其中,每个平面点云集包括多个点云数据。
边界点提取模块402,用于针对每个平面点云集,进行边界特征识别,以从平面点云集中提取出具有边界特征的边界点云,得到平面点云集对应的边界点云集。
焊缝点获取模块403,用于针对每个边界点云集的每个边界点云,从剩余边界点云集中查找出边界点云的最近邻点,并依据所述最近邻点确定多个焊缝点云。
焊缝拟合模块404,用于对所有焊缝点云进行直线拟合,得到多平面工作的多条焊缝。
焊接模块,用于依据焊缝,对多平面工件进行焊接。
上述焊接装置中,通过处理分割模块401、边界点提取模块402、焊缝点获取模块403、焊缝拟合模块404和焊接模块的协同作用,在平面分割得到平面点云集后,引入对每个平面点云集的边界检测,即将焊缝识别转化为平面边界检测,进而基于各边界点云集得到焊缝点云,以及从所有焊缝点云中拟合出多条焊缝,进而依据该焊缝进行焊缝,以排除掉平面点云集中非边界点云对焊缝点云识别的干扰和影响,从而在一定程度上克服因点云平面大而引入的误差,大大提升了焊缝识别的精度,进而提升焊接精度。
本发明实施例提供的一种电子装置,电子装置包括:第一处理单元、第二处理单元、第三处理单元和第四处理单元。
其中,第一处理单元,用于获取多平面工件的原始点云数据,对原始点云数据进行预处理和平面分割,得到多个平面点云集。其中,每个平面点云集包括多个点云数据。
第二处理单元,用于针对每个平面点云集,进行边界特征识别,以从平面点云集中提取出具有边界特征的边界点云,得到平面点云集对应的边界点云集。
第三处理单元,用于针对每个边界点云集的每个边界点云,从剩余边界点云集中查找出边界点云的最近邻点,并依据所述最近邻点确定多个焊缝点云。
第四处理单元,用于对所有焊缝点云进行直线拟合,得到多平面工作的多条焊缝。
需要说明的是,本实施例所提供的电子装置,其可以执行上述电机角度采用方法流程实施方式所示的方法流程,以实现对应的技术效果。为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。
可选地,第一处理单元、第二处理单元、第三处理单元和第四处理单元可以分开设置,也可以集成在一个单元中,即处理单元,本申请对于第一处理单元、第二处理单元和第三处理单元的具体实现方式,不做具体限定。
可选地,电子装置还可以包括存储单元,该存储单元存储有程序或指令。当第一处理单元、第二处理单元、第三处理单元和第四处理单元执行该程序或指令时,使得电子装置可以执行本发明焊缝识别方法中任一种可能的实现方式。
电子装置可以是焊接机器人的中控系统、焊接机器人、半自动焊接设备的中控系统、半自动焊接设备、焊接控制设置和服务器,还可以是与焊接机器人或半自动焊接设备通信连接的计算机设备,例如手机、平板电脑、笔记本电脑以及服务器等等,本发明对此不做限定。
此外,电子装置的技术效果可以上述焊缝识别方法实施例所示的方法的技术效果,此处不再赘述。
下面提供一种电子设备50,可以是焊接机器人的中控系统、焊接机器人、半自动焊接设备的中控系统、半自动焊接设备、焊接控制设置和服务器,还可以是与焊接机器人或半自动焊接设备通信连接的计算机设备,例如手机、平板电脑、笔记本电脑以及服务器等等。该电子设备50如图11所示,可以实现上述焊缝识别方法,即焊缝识别装置40;具体的,该电子设备50包括通过系统总线504连接的处理器501、存储器502和通信模块503。处理器501可以是CPU。存储器用于存储一个或多个计算机程序,当一个或多个计算程序被处理器501执行时,执行上述实施方式提供的焊缝识别方法或焊接方法。所述存储器502、处理器501以及通信模块503各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,存储器502用于存储程序或者数据。所述存储器502可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-Only Memory,EEPROM)等。
处理器501用于读/写存储器中存储的数据或程序,例如上述的LVDS、TDC及处理单元的功能实现的程序和数据,并执行本发明任意实施例提供的焊缝识别方法。
通信模块503用于通过网络建立电子设备50与其他通信终端之间的通信连接,并用于通过网络收发数据。
应当理解的是,图11所示的结构仅为电子设备50的结构示意图,所述电子设备50还可包括比图11中所示更多或者更少的组件,或者具有与图11所示不同的配置。
本发明实施例还提供一种电子设备50,包括处理器和存储器,该存储器用于存储一个或多个计算机程序;当该一个或多个计算机程序被该处理器执行时,实现本发明方法实施例中的任一种可能的实现方式所述的焊缝识别方法或焊接方法。
本发明实施例提供一种计算机可读存储介质,该计算机可读存储介质包括:计算机程序(也可以称为代码,或指令),当该计算机程序被运行时,使得计算机执行本发明方法实施例中的任一种可能的实现方式所述的焊缝识别方法或焊接方法。该存储介质可以包括内存、闪存、寄存器或者其结合等。
综合上述,本发明实施例提供的焊缝识别方法、焊接方法、装置及电子设备,具有以下有益效果:
(一)能够克服基于平面交线的焊缝识别方法存在的检测焊缝精度较差的问题。本发明中通过引入平面边缘检测,将焊缝识别问题转化为平面边界检测问题,提升了焊缝识别的精度。
(二)尽可能避免了基于平面交线的焊缝识别方法对参数的敏感性,即不同的点云相机成像质量不同,采集的点云平面起伏较大时,基于平面交线的焊缝识别方法的阈值选择困难。而本发明中通过平面边界检测提取边界点云、再进一步获取焊缝点云的方式,逐步缩小点云焊缝范围,从而可以将阈值设置较大来保证焊缝端点的准确性,阈值选择的范围更为宽泛。
(三)更具实用性。本发明避免了选择合适参数的繁琐过程,从而本发明提供的焊缝识别方法在现实环境中更具实用性。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种焊缝识别方法,其特征在于,所述方法包括:
获取多平面工件的原始点云数据,对所述原始点云数据进行预处理和平面分割,得到多个平面点云集;其中,每个所述平面点云集包括多个点云数据;
针对每个所述平面点云集,进行边界特征识别,以从所述平面点云集中提取出具有边界特征的边界点云,得到所述平面点云集对应的边界点云集;
针对每个所述边界点云集的每个边界点云,从剩余边界点云集中查找出所述边界点云的最近邻点,并依据所述最近邻点确定多个焊缝点云;
对所有所述焊缝点云进行直线拟合,得到所述多平面工作的多条焊缝;
所述进行边界特征识别,以从所述平面点云集中提取出具有边界特征的边界点云的步骤,包括:
计算出所述平面点云集中的每个点云数据的二维坐标,根据所述点云数据的二维坐标,建立所述平面点云集的最小包围盒;
将所述最小包围盒划分为多个网格,并依据网格中点云数据的有无,将所述多个网格划分为实孔网格和空孔网格;
从所有所述实孔网格中,提取满足边界特征的实孔网格作为边界网格,并将所述边界网格中的点云作为边界点云;
所述从剩余边界点云集中查找出所述边界点云的最近邻点,并依据所述最近邻点确定多个焊缝点云的步骤,包括:
分别从剩余的每个边界点云集中,查找出所述边界点云的一个最近邻点,得到所述边界点云的多个最近邻组;其中,每个所述最近邻组包括边界点云及所述边界点云的一个最近邻点;
针对每个所述最近邻组,对所述最近邻组中两个点云的三维坐标取平均值,得到平均坐标,将所述平均坐标对应的点作为一个焊缝点云。
2.根据权利要求1所述的焊缝识别方法,其特征在于,所述从所有所述实孔网格中,提取满足边界特征的实孔网格作为边界网格的步骤,包括:
从所有所述网格中,确定每个所述实孔网格的所有相邻网格;
针对每个所述实孔网格,从所述实孔网格的所有相邻网格中识别出空孔网格数,判断所述空孔网格数是否大于预设的边界特征阈值;
若否,则判定所述实孔网格满足边界特征,并将所述实孔网格作为边界网格。
3.根据权利要求1所述的焊缝识别方法,其特征在于,所述将所述最小包围盒划分为多个网格的步骤,包括:
基于所述最小包围盒所在的二维坐标系,获取所述最小包围盒的端点坐标值;其中,所述端点坐标值包括横坐标最大值、横坐标最小值、纵坐标最大值、纵坐标最小值;
基于所述端点坐标值,采用网格均匀算法,计算出单个网格的边长和各坐标轴上的网格数;
依据所述边长和所述网格数,将所述最小包围盒划分为多个网格。
4.根据权利要求1所述的焊缝识别方法,其特征在于,所述对所述原始点云数据进行预处理和平面分割,得到多个平面点云集的步骤,包括:
对所述原始点云数据进行去离散点、滤波和降采样,得到预处理点云集;
采用RANSAC算法,对所述预处理点云集进行平面分割,得到多个平面点云集。
5.根据权利要求4所述的焊缝识别方法,其特征在于,所述采用RANSAC算法,对所述预处理点云集进行平面分割,得到多个平面点云集的步骤,包括:
以平面模型作为分割对象,以所述预处理点云集作为分割点云集;
基于所述分割点云集,拟合出一个平面模型;
计算所述分割点云集中的每个点云到所述平面模型的第二距离,将所述第二距离小于第二阈值的点云作为所述平面模型的面内点,以得到一个由面内点构成的平面点云集;
将所述平面点云集从所述分割点云集中剔除,得到剩余点云数据,判断所述剩余点云数据的数量是否小于预设的结束阈值;
若是,则结束迭代;
若否,则将所述剩余点云数据作为分割点云集,返回执行所述基于所述分割点云集,拟合出一个平面模型的步骤。
6.根据权利要求5所述的焊缝识别方法,其特征在于,所述基于所述分割点云集,拟合出一个平面模型的步骤,包括:
从所述分割点云集中随机选取目标数量的点云,以该随机选取的点云拟合出平面估计模型;
计算所述分割点云集中的每个点云到所述平面估计模型的第一距离,并将所述第一距离小于第一阈值的点云作为所述平面估计模型的局内点;
判断所述局内点的数量是否大于预设的平面点云阈值;
若是,则将所述平面估计模型作为一个平面模型;
若否,则返回所述从所述分割点云集中随机选取目标数量的点云,以该随机选取的点云拟合出平面估计模型的步骤,直至局内点的数量大于预设的平面点云阈值,或平面估计的迭代次数达到迭代阈值;
当平面估计的迭代次数达到迭代阈值时,将局内点数量最大的平面估计模型作为一个平面模型。
7.根据权利要求1所述的焊缝识别方法,其特征在于,所述对所有所述焊缝点云进行直线拟合,得到所述多平面工作的多条焊缝的步骤,包括:
对所有所述焊缝点云,采用RANSAC算法进行直线拟合,得到所述平面点云集对应的焊缝。
8.一种焊接方法,其特征在于,所述方法包括:
获取多平面工件的原始点云数据,对所述原始点云数据进行预处理和平面分割,得到多个平面点云集;其中,每个所述平面点云集包括多个点云数据;
针对每个所述平面点云集,进行边界特征识别,以从所述平面点云集中提取出具有边界特征的边界点云,得到所述平面点云集对应的边界点云集;
针对每个所述边界点云集的每个边界点云,从剩余边界点云集中查找出所述边界点云的最近邻点,并依据所述最近邻点确定多个焊缝点云;
对所有所述焊缝点云进行直线拟合,得到所述多平面工作的多条焊缝;
依据所述焊缝,对所述多平面工件进行焊接;
所述进行边界特征识别,以从所述平面点云集中提取出具有边界特征的边界点云的步骤,包括:
计算出所述平面点云集中的每个点云数据的二维坐标,根据所述点云数据的二维坐标,建立所述平面点云集的最小包围盒;
将所述最小包围盒划分为多个网格,并依据网格中点云数据的有无,将所述多个网格划分为实孔网格和空孔网格;
从所有所述实孔网格中,提取满足边界特征的实孔网格作为边界网格,并将所述边界网格中的点云作为边界点云;
所述从剩余边界点云集中查找出所述边界点云的最近邻点,并依据所述最近邻点确定多个焊缝点云的步骤,包括:
分别从剩余的每个边界点云集中,查找出所述边界点云的一个最近邻点,得到所述边界点云的多个最近邻组;其中,每个所述最近邻组包括边界点云及所述边界点云的一个最近邻点;
针对每个所述最近邻组,对所述最近邻组中两个点云的三维坐标取平均值,得到平均坐标,将所述平均坐标对应的点作为一个焊缝点云。
9.一种焊缝识别装置,其特征在于,包括处理分割模块、边界点提取模块、焊缝点获取模块和焊缝拟合模块;
所述处理分割模块,用于获取多平面工件的原始点云数据,对所述原始点云数据进行预处理和平面分割,得到多个平面点云集;其中,每个所述平面点云集包括多个点云数据;
所述边界点提取模块,用于针对每个所述平面点云集,进行边界特征识别,以从所述平面点云集中提取出具有边界特征的边界点云,得到所述平面点云集对应的边界点云集;
所述焊缝点获取模块,用于针对每个所述边界点云集的每个边界点云,从剩余边界点云集中查找出所述边界点云的最近邻点,并依据所述最近邻点确定多个焊缝点云;
所述焊缝拟合模块,用于对所有所述焊缝点云进行直线拟合,得到所述多平面工作的多条焊缝;
所述边界点提取模块,还用于:
计算出所述平面点云集中的每个点云数据的二维坐标,根据所述点云数据的二维坐标,建立所述平面点云集的最小包围盒;
将所述最小包围盒划分为多个网格,并依据网格中点云数据的有无,将所述多个网格划分为实孔网格和空孔网格;
从所有所述实孔网格中,提取满足边界特征的实孔网格作为边界网格,并将所述边界网格中的点云作为边界点云;
所述焊缝点获取模块,还用于:
分别从剩余的每个边界点云集中,查找出所述边界点云的一个最近邻点,得到所述边界点云的多个最近邻组;其中,每个所述最近邻组包括边界点云及所述边界点云的一个最近邻点;
针对每个所述最近邻组,对所述最近邻组中两个点云的三维坐标取平均值,得到平均坐标,将所述平均坐标对应的点作为一个焊缝点云。
10.一种焊接装置,其特征在于,包括处理分割模块、边界点提取模块、焊缝点获取模块、焊缝拟合模块和焊接模块;
所述处理分割模块,用于获取多平面工件的原始点云数据,对所述原始点云数据进行预处理和平面分割,得到多个平面点云集;其中,每个所述平面点云集包括多个点云数据;
所述边界点提取模块,用于针对每个所述平面点云集,进行边界特征识别,以从所述平面点云集中提取出具有边界特征的边界点云,得到所述平面点云集对应的边界点云集;
所述焊缝点获取模块,用于针对每个所述边界点云集的每个边界点云,从剩余边界点云集中查找出所述边界点云的最近邻点,并依据所述最近邻点确定多个焊缝点云;
所述焊缝拟合模块,用于对所有所述焊缝点云进行直线拟合,得到所述多平面工作的多条焊缝;
所述焊接模块,用于依据所述焊缝,对所述多平面工件进行焊接;
所述边界点提取模块,还用于:
计算出所述平面点云集中的每个点云数据的二维坐标,根据所述点云数据的二维坐标,建立所述平面点云集的最小包围盒;
将所述最小包围盒划分为多个网格,并依据网格中点云数据的有无,将所述多个网格划分为实孔网格和空孔网格;
从所有所述实孔网格中,提取满足边界特征的实孔网格作为边界网格,并将所述边界网格中的点云作为边界点云;
所述焊缝点获取模块,还用于:
分别从剩余的每个边界点云集中,查找出所述边界点云的一个最近邻点,得到所述边界点云的多个最近邻组;其中,每个所述最近邻组包括边界点云及所述边界点云的一个最近邻点;
针对每个所述最近邻组,对所述最近邻组中两个点云的三维坐标取平均值,得到平均坐标,将所述平均坐标对应的点作为一个焊缝点云。
11.一种电子设备,其特征在于,包括处理器和存储器,该存储器用于存储计算机程序;当该计算机程序被该处理器执行时,实现如权利要求1至7中任一项所述的焊缝识别方法,或者实现如权利要求8所述的焊接方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410232271.3A CN117830297B (zh) | 2024-03-01 | 2024-03-01 | 焊缝识别方法、焊接方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410232271.3A CN117830297B (zh) | 2024-03-01 | 2024-03-01 | 焊缝识别方法、焊接方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117830297A CN117830297A (zh) | 2024-04-05 |
CN117830297B true CN117830297B (zh) | 2024-05-28 |
Family
ID=90523156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410232271.3A Active CN117830297B (zh) | 2024-03-01 | 2024-03-01 | 焊缝识别方法、焊接方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117830297B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118037729A (zh) * | 2024-04-12 | 2024-05-14 | 法奥意威(苏州)机器人系统有限公司 | 圆形焊缝焊接处理方法、装置、设备和介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021000719A1 (zh) * | 2019-06-30 | 2021-01-07 | 华中科技大学 | 一种基于三维点云的小曲率薄壁零件机器人加工边界提取方法 |
CN114283139A (zh) * | 2021-12-27 | 2022-04-05 | 常熟理工学院 | 一种基于面阵结构光3d视觉的焊缝检测分割方法及装置 |
CN115018813A (zh) * | 2022-06-30 | 2022-09-06 | 哈尔滨工业大学(威海) | 一种机器人自主识别与精确定位焊缝的方法 |
CN115409808A (zh) * | 2022-08-31 | 2022-11-29 | 深圳前海瑞集科技有限公司 | 焊缝识别方法、装置、焊接机器人及存储介质 |
CN115761172A (zh) * | 2022-10-10 | 2023-03-07 | 哈尔滨工程大学 | 一种基于点云语义分割与结构拟合的单体建筑三维重建方法 |
CN116604212A (zh) * | 2023-05-10 | 2023-08-18 | 南京工程学院 | 一种基于面阵结构光的机器人焊缝识别方法和系统 |
CN117314987A (zh) * | 2023-11-29 | 2023-12-29 | 法奥意威(苏州)机器人系统有限公司 | 点云配准方法和装置 |
-
2024
- 2024-03-01 CN CN202410232271.3A patent/CN117830297B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021000719A1 (zh) * | 2019-06-30 | 2021-01-07 | 华中科技大学 | 一种基于三维点云的小曲率薄壁零件机器人加工边界提取方法 |
CN114283139A (zh) * | 2021-12-27 | 2022-04-05 | 常熟理工学院 | 一种基于面阵结构光3d视觉的焊缝检测分割方法及装置 |
CN115018813A (zh) * | 2022-06-30 | 2022-09-06 | 哈尔滨工业大学(威海) | 一种机器人自主识别与精确定位焊缝的方法 |
CN115409808A (zh) * | 2022-08-31 | 2022-11-29 | 深圳前海瑞集科技有限公司 | 焊缝识别方法、装置、焊接机器人及存储介质 |
CN115761172A (zh) * | 2022-10-10 | 2023-03-07 | 哈尔滨工程大学 | 一种基于点云语义分割与结构拟合的单体建筑三维重建方法 |
CN116604212A (zh) * | 2023-05-10 | 2023-08-18 | 南京工程学院 | 一种基于面阵结构光的机器人焊缝识别方法和系统 |
CN117314987A (zh) * | 2023-11-29 | 2023-12-29 | 法奥意威(苏州)机器人系统有限公司 | 点云配准方法和装置 |
Non-Patent Citations (1)
Title |
---|
光切面法的电力钢管塔法兰肋板焊缝三维重构;刘源泂;《机械设计与制造》;20240131;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117830297A (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117830297B (zh) | 焊缝识别方法、焊接方法、装置及电子设备 | |
CN113042939B (zh) | 基于三维视觉信息的工件焊缝定位方法及系统 | |
CN111582054B (zh) | 点云数据处理方法及装置、障碍物检测方法及装置 | |
CN110070610B (zh) | 特征点匹配方法、三维重构过程的特征点匹配方法及装置 | |
EP3293700A1 (en) | 3d reconstruction for vehicle | |
CN113012157B (zh) | 一种设备缺陷视觉检测方法及系统 | |
Pound et al. | A patch-based approach to 3D plant shoot phenotyping | |
CN114743259A (zh) | 位姿估计方法、位姿估计系统、终端、存储介质及应用 | |
CN115018846A (zh) | 基于ai智能相机的多目标裂纹缺陷检测方法和装置 | |
CN117132630A (zh) | 一种基于二阶空间兼容性度量的点云配准方法 | |
CN117495891B (zh) | 点云边缘检测方法、装置和电子设备 | |
Kirkegaard et al. | Bin-picking based on harmonic shape contexts and graph-based matching | |
CN115909157A (zh) | 一种基于机器视觉的识别检测方法、装置、设备及介质 | |
CN113298838B (zh) | 一种物体轮廓线提取方法及系统 | |
CN112085752B (zh) | 一种图像的处理方法、装置、设备及介质 | |
CN113674218A (zh) | 焊缝特征点提取方法、装置、电子设备与存储介质 | |
CN112950594A (zh) | 产品表面缺陷的检测方法、设备及存储介质 | |
CN105809657A (zh) | 一种角点检测方法和装置 | |
CN116921932A (zh) | 焊接轨迹识别方法、装置、设备及存储介质 | |
CN116958264A (zh) | 一种基于三维视觉的螺栓孔定位及位姿估计方法 | |
CN111754467A (zh) | 基于霍夫变换的车位检测方法、装置、计算机设备及存储介质 | |
WO2023060927A1 (zh) | 一种3d光栅检测方法、装置、计算机设备及可读存储介质 | |
CN113012088A (zh) | 一种电路板故障检测及孪生网络的训练方法、装置和设备 | |
CN115527050A (zh) | 图像特征匹配方法、计算机设备和可读存储介质 | |
CN115205354A (zh) | 基于ransac和icp点云配准的相控阵激光雷达成像方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |