CN113192054B - 基于2-3d视觉融合的繁杂零件检测与定位的方法及系统 - Google Patents
基于2-3d视觉融合的繁杂零件检测与定位的方法及系统 Download PDFInfo
- Publication number
- CN113192054B CN113192054B CN202110551689.7A CN202110551689A CN113192054B CN 113192054 B CN113192054 B CN 113192054B CN 202110551689 A CN202110551689 A CN 202110551689A CN 113192054 B CN113192054 B CN 113192054B
- Authority
- CN
- China
- Prior art keywords
- point cloud
- parts
- data
- particle
- analog
- 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
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000004927 fusion Effects 0.000 title claims abstract description 15
- 239000011159 matrix material Substances 0.000 claims abstract description 54
- 238000012545 processing Methods 0.000 claims abstract description 43
- 238000006243 chemical reaction Methods 0.000 claims abstract description 26
- 238000001514 detection method Methods 0.000 claims abstract description 22
- 239000002245 particle Substances 0.000 claims description 104
- 238000004422 calculation algorithm Methods 0.000 claims description 30
- 230000000007 visual effect Effects 0.000 claims description 23
- 230000007246 mechanism Effects 0.000 claims description 21
- 230000006870 function Effects 0.000 claims description 19
- 238000013519 translation Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 12
- 230000009466 transformation Effects 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 10
- 238000005457 optimization Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000010276 construction Methods 0.000 claims description 7
- 230000000694 effects Effects 0.000 claims description 7
- 238000007667 floating Methods 0.000 claims description 6
- 238000006073 displacement reaction Methods 0.000 claims description 4
- 230000033001 locomotion Effects 0.000 claims description 4
- 238000005070 sampling Methods 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 claims description 3
- 238000000638 solvent extraction Methods 0.000 claims description 2
- 238000005507 spraying Methods 0.000 description 15
- 238000005259 measurement Methods 0.000 description 9
- 238000004519 manufacturing process Methods 0.000 description 7
- 230000018109 developmental process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 239000003973 paint Substances 0.000 description 3
- 239000007921 spray Substances 0.000 description 3
- 101100039010 Caenorhabditis elegans dis-3 gene Proteins 0.000 description 2
- 101100030351 Schizosaccharomyces pombe (strain 972 / ATCC 24843) dis2 gene Proteins 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003912 environmental pollution Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- 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
Abstract
本发明提供了一种基于2‑3D视觉融合的繁杂零件检测与定位的方法,包括:获取承载多种零件的整个托盘的二维图像;对二维图像进行处理得到所有零件的分类结果,并从每一类零件中选择一个作为标志零件;采集零件的点云数据;对点云数据进行分割,得到每个零件的点云数据;在预先构建的零件理论数模点云库中搜索与标志零件最接近的点云以确认零件种类,并进行点云配准,同时记录对应的旋转角作为同类零件的初始位姿;应用初始位姿将标志零件以外的同类零件与对应种类的零件理论数模点云进行点云配准;根据各个零件点云配准得到的转换矩阵将对应的理论数模转换到托盘上,获取零件的准确位姿。本发明实现了复杂零件的自动化检测、分类与定位问题。
Description
技术领域
本发明属于计算机视觉技术领域,尤其是涉及一种基于2-3D视觉融合的繁杂零件检测与定位的方法及系统。
背景技术
目前民机零件喷涂主要采用人工手动喷涂的方式,工人手持喷枪于喷涂车间内进行喷涂,存在喷涂漆膜厚度不均匀,喷涂效率低,漆料严重浪费,工作环境恶劣的问题,喷涂效率直接影响了整机的生产进度,漆膜厚度不均降低了喷涂合格率,漆料浪费问题既加重了环境污染,又造成企业成本增加,而工作环境恶劣,则严重危害了工人的身体健康。
为提高民机整机生产效率,引入具有智能识别工件、自主规划轨迹、自动进行喷涂的柔性喷涂机器人迫在眉睫。同时,民机喷涂工件种类繁多,多架次民机的工件种类达五万余种,且生产任务紧,待喷涂的工件数量巨大,工件摆放位置不固定,且无夹持装置,且同一托盘上工件种类不唯一,而工件的喷涂质量又有严格要求,基于上述难点和限制,开展了基于2-3D视觉融合的柔性喷涂机器人研发工作。实现上述目的是基础是先实现复杂零件的自动化检测、分类与定位问题。
发明内容
有鉴于此,本发明旨在提出一种基于2-3D视觉融合的繁杂零件检测与定位的方法及系统,以实现复杂零件的自动化检测、分类与定位问题。
为达到上述目的,本发明的技术方案是这样实现的:
第1方面,本发明提供了一种基于2-3D视觉融合的繁杂零件检测与定位的方法,所述方法包括:
获取承载多种零件的整个托盘的二维图像;
对二维图像进行处理得到零件数据,根据零件数据对零件进行分类,并从每一类零件中选择一个作为标志零件;
依据所述零件数据设置三维扫描的位姿,获取零件的点云数据;
依据所述零件数据对点云数据进行分割,得到每个零件的点云数据;
获取同类零件的快速定位,包括:
在预先构建的零件理论数模点云库中搜索与标志零件最接近的点云以确认零件种类,并进行点云配准,同时记录对应的旋转角作为同类零件的初始位姿;应用初始位姿将标志零件以外的同类零件与对应种类的零件理论数模点云进行点云配准;根据各个零件点云配准得到的转换矩阵将对应的理论数模转换到托盘上,获取零件的准确位姿。
进一步的,所述从每一类零件中选择一个标志零件的方法,包括:对二维图像进行处理得到的零件数据还包括每个零件的坐标信息,依据分类结果与坐标信息,选取每一类零件中距离托盘中心点最近的零件作为标志零件。
进一步的,所述获取同类零件的快速定位的方法,包括如下内容:
通过精扫描点云确定标志零件的零件种类:将标志零件的精扫描的点云与零件理论数模点云库中的所有点云数据进行遍历匹配多遍,选择适应度fitness值最小的作为零件的种类,并存储此时的旋转角(α,β,γ)作为同类其他零件的粗扫描的点云数据进行配准的初始欧拉角,以减少迭代次数;其中,根据每个零件的坐标信息,对标志零件进行精扫描,对于非标志零件进行粗扫描;其中,所述通过三维扫描采集零件的点云数据的方法包括:根据每个零件的坐标信息,对标志零件进行精扫描,对于非标志零件进行粗扫描;
通过粗扫描的点云确定标志零件同类的零件的位姿:继承同类的标志零件的(α,β,γ)值作为初始欧拉角,使用此欧拉角构建粒子群中一部分点的初始旋转矩阵,遍历所有的粗扫描点云,得到理论数模点云到托盘上的零件的转换矩阵;
获取实际位姿:根据转换矩阵,将理论数模点云转换到托盘上的实际零件位置处,获得托盘上所有零件的实际位姿,完成快速定位。
进一步的,所述分类方法包括:
S21,对二维图像进行处理得到零件个数信息N,以及各个零件的零件信息集,所述零件数据包括各个零件的数据信息集,所述数据信息集包括目标轮廓面积Poutline、最小包含矩形面积Prectangle、最小包含矩形长宽比Prect_xyrate、最小包含圆半径Pcircle_r;
S22,从零件信息集中随机选择K组做为标准信息,包括标准目标轮廓面积Soutline、标准最小包含矩形面积Srectangle、标准最小包含矩形长宽比Srect_xyrate、标准最小包含圆半径Scircle_r;
S23,通过如下公式计算误差平方和:
S24,分别令K=1、2、3...10,重复步骤S21至S23,求得10对(Ki,SUMi)数据;
S25,根据如下曲率半径公式,求得10对(Ki,Ri)数据,i从2开始;
其中,
dis1=|Ki-Ki+1|+|SUMi-SUMi+1|
dis2=|Ki-Ki+2|+|SUMi-SUMi+2|
dis3=|Ki+1-Ki+2|+|SUMi+1-SUMi+2|
i=0,1,2…8
S26,对(Ki,Ri)数据进行直线拟合,若拟合直线斜率大于0,设定最终确定分类为K=1类;若拟合直线斜率小于0,则比较最小曲率半径R值对应的K值既为最终确定种类数;
S27,依据种类数K和Kmeans聚类算法,将全部N个零部件进行分类。
进一步的,所述点云配准方法为基于解耦合的改进粒子群迭代优化算法,以最优粒子群算法为基础进行改进,引入滞步系数防止陷入局部最优,将三个旋转矩阵参数以及三个平移矩阵参数作为粒子的六个维度,采用3σ准则优化设置目标函数,并解耦合分别在各个维度上微动进一步精确匹配;包括如下内容:
S501,在扫描的点云中取X、Y、Z三个方向共计六个极值点,并对剩下的点云进行随机采样构建配准点云;
S502,构建初始粒子群:
将旋转参数(αi(t),βi(t),γi(t))及平移参数(xi(t),yi(t),zi(t))作为第i个粒子的广义维度参数,t表示第t次迭代;每个粒子的初始生成方法如下:
在(-π,π)的范围内随机取值初始化旋转参数(αi(0),βi(0),γi(0)),并以此作为构建欧拉角(Z-Y-Z)旋转矩阵的依据;
S503,旋转矩阵构造如下:
将(αi(0),βi(0),γi(0))带入构建Ri(0)初始化旋转矩阵;
求出以此角度进行旋转后配准点云的XYZ三个方向上的极值;以理论数模点云的XYZ方向上的极值与旋转后的配准点云的极值之差,作为平移矩阵参数的浮动范围;在浮动范围内随机取值作为初始平移参数(xi(0),yi(0),zi(0));
S504,以(αi(t),βi(t),γi(t),xi(t),yi(t),zi(t))作为locationi(t),构建RT矩阵对配准点云进行变换,RT矩阵如下:
将(αi(0),βi(0),γi(0),xi(0),yi(0),zi(0))带入构建RTi(0)初始化转换矩阵,对配准点云进行转换;
S505,使用KD-Tree来计算新姿态下的配准点云中每个点与理论数模点云中最近的点的平均距离fitness,即,
式中i表示粒子群中的第i个粒子,n表示配准点云中点的个数,fi m表示使用粒子i的参数变换配准点云后,配准点云上m点到理论数模上最近点的距离,表示第t次迭代时使用粒子i的参数变换配准点云后,配准点云上的点到理论数模上最近点的平均距离;
S506,其中,本算法中使用3σ准则重计算fitness值,即在计算适应度时剔除掉离群点以表示整体的匹配效果;即,若
则在重计算适应度时剔除掉配准点云上的m点;
S507,根据下列公式更新粒子群中每个粒子的参数;
locationi(t)=(αi(t),βi(t),γi(t),xi(t),yi(t),zi(t))
locationi(t+1)=vi(t+1)+locationi(t)
vi(0)=locationi(0)·ri
其中,i表示粒子群中的第i个粒子,locationi(t)表示粒子i在t次迭代后的参数,vi(t)表示粒子i在t次迭代的速度值,locationi(0)表示粒子i初始化的参数值,vi(0)表示粒子i初始化的速度值,ωi(t)表示粒子i在t次迭代的惯性系数,表示t次迭代时针对于pi(t)的学习系数,表示t次迭代时针对于pg(t)的学习系数,r表示0~1之间的随机数,pi(t)表示每个粒子在t次迭代下所经历过的个体历史最优参数,pg(t)表示粒子群在t次迭代下的全局历史最优参数;
其中,
其中,scale为理论数模体积的比例系数;
S508,本算法中针对于因速度更新而导致locationi超出搜索范围限制的情况,将对超出范围的参数在允许范围内重新随机采样;(αi(t),βi(t),γi(t))值将在在(-π,π)的范围内重新随机取值,(xi(t),yi(t),zi(t))的范围在每次迭代后更新,为使用(αi(t),βi(t),γi(t))构建旋转矩阵旋转配准点云后,在XYZ三个方向上理论数模点云与旋转后配准点云的极值之差;
S509,本算法中引入滞步系数,以防止局部收敛:
其中,expected_accuracy表示期望的配准精准度,iteration_times_remain表示剩余的迭代次数;当不等式成立,视为进入了滞步状态,当滞步状态大于10次时视为进入了局部最优,对一定比例粒子的惯性系数乘以滞步状态次数stagnant_times;即,
S510,在本最优粒子群算法中,速度的更新是六维相互影响的,即(αi(t),βi(t),γi(t),xi(t),yi(t),zi(t))将同时变换影响fitness的计算,所以采用解耦合对单个参数进行微量调整,针对于pg(t)的六个参数分别进行正负两个方向,共计12个方向的微动以更新状态;
针对旋转角:
针对位移:
其中,expected_accracy为期望的匹配准确度,iterated_times为已经迭代的次数,float表示XYZ三个参数上分别的搜索范围,float_all表示XYZ三个参数上搜索范围之和。
进一步的,所述对点云数据进行分割的方法为:对二维图像进行处理得到的零件数据还包括各个零件的零件边界框坐标信息,通过零件边界框坐标信息对点云数据进行分割,用于进行点云配准。
进一步的,所述零件理论数模点云库的获取方法,包括:通过在CATIA中编写宏文件得到零件的STL格式的理论数模,再采用C++对获取到的STL零件理论数模进行处理,将理论数模分割成平面或者圆弧面组成,同时记录平面的面心、法向以及四周的边界信息;将面片信息转化为密度均一的理论数模点云。
第2方面,本发明提供了一种实现上述基于2-3D视觉融合的繁杂零件检测与定位的方法的系统,所述系统包括:
二维相机,用于获取承载多种零件的整个托盘的二维图像;
二维视觉检测系统,用于对二维图像进行处理;
五轴测量机构,通过其机械臂固定三维扫描仪,并用于根据二维视觉检测系统输出的拍摄位姿控制三维扫描仪的运动状态;
三维扫描仪,用于采集零件的点云数据;
三维视觉定位系统,用于处理点云数据;
控制台,与二维相机、五轴测量机构、三维扫描仪通讯连接并进行控制,集成二维图像处理、点云数据处理、通讯处理功能。
相对于现有技术,本发明所述的方法及系统具有以下优势:
(1)本发明所述的方法及系统实现了复杂零件的自动化检测、分类与定位问题。
(2)本发明采用基于改进粒子群优化算法测量点云与零件理论数模点云的配准,提高了效率和搜索能力的有效性。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为根据本发明一个实施例的基于2-3D视觉融合的繁杂零件检测与定位的系统结构示意图;
图2为根据本发明一个实施例的基于2-3D视觉融合的繁杂零件检测与定位的方法流程图;
图3为根据本发明一个实施例的二维图像处理过程的流程图;
图4为根据本发明一个实施例的基于改进粒子群优化算法测量点云与零件理论数模点云的配准流程图;
图5为根据本发明一个实施例的零件位姿配准过程图;
图6位根据本发明一个实施例的改进粒子群优化算法的零件位姿配准优化目标函数随迭代次数趋势变化图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本专利将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
下面将参考附图并结合实施例来详细说明本发明。
据调研,目前民机喷涂体量巨大,且国内外的技术方案均采用人工喷涂的方式,目前市场上尚无成熟的可应用于种类繁多、数量不定、摆放位置不固定且三维构型复杂的自动喷涂方案。要实现柔性喷涂机器人技术,必须先解决繁杂零件的检测与定位问题。
为了解决上述问题,本发明的基于2-3D视觉融合的繁杂零件检测与定位的方法,所述方法主要包括如下步骤:
S1,获取承载多种零件的整个托盘的二维图像;
S2,对二维图像进行处理得到零件数据,根据零件数据对零件进行分类,并从每一类零件中选择一个作为标志零件;
S3,依据所述零件数据设置三维扫描的位姿,获取零件的点云数据;
S4,依据所述零件数据对点云数据进行分割,得到每个零件的点云数据;
S5,在预先构建的零件理论数模点云库中搜索与标志零件最接近的点云以确认零件种类,并进行点云配准,同时记录对应的旋转角作为同类零件的初始位姿;
S6,应用初始位姿将标志零件以外的同类零件与对应种类的零件理论数模点云进行点云配准;
S7,根据各个零件点云配准得到的转换矩阵将对应的理论数模转换到托盘上,获取零件的准确位姿。
为了实现上述方法,本发明提供了如图1所示为基于2-3D视觉融合的繁杂零件检测与定位的系统,该系统的硬件包括:二维相机1、三维扫描仪2、五轴测量机构3、控制台4、网格筛盘5或托盘、生产线6、待识别定位零件7。该系统的软件包括二维视觉检测系统、三维视觉定位系统、通讯模块。
网格筛盘5或托盘用于承载零件,并随着生产线6移动。
所述二维相机1安装于生产线6上端,当网格筛盘5随生产线6移动到二维相机1下面时,二维相机1用于二维图像采集和图像处理;
所述三维扫描仪2设置于五轴测量机构3的摆动机械臂上,用于扫描目标零部件的三维点云图像;
所述五轴测量机构3用于接收二维图像处理后得到的零件的位置信息,来控制三维扫描仪2移动至扫描位置。五轴测量机构3用于操作拍照式三维扫描仪实现网格筛盘5上零件的全方位扫描;拍照式三维扫描仪2生成零件外表面的点云数据;托盘升降气缸用于当网格筛盘5(即托盘)传送至测量位置时,把网格筛盘5顶起后脱离运转中的传送带,使网格筛盘5上工件不受传送带振动的影响,提高测量准确性。
所述控制台4与二维相机、五轴测量机构、三维扫描仪通讯连接并进行控制,集成集成二维图像处理、点云处理、仿真、通讯等软件功能,用于整个系统的数据处理和监控。其上主要安装有二维视觉检测系统、三维视觉定位系统、通讯模块。其中,采集二维图像在扫描点云之前。所述网格筛盘5随生产线向前移动,待识别定位零件7放置在网格筛盘5的上端。
所述系统的软件开发是基于PCL点云进行开发,主要功能包括数据库管理、扫描功能、点云数据处理、软件设置功能、与扫描机器人接口、与扫描仪接口、与控制系统接口等功能。其中人机界面上实时显示扫描仪扫描的数据及点云数据的面型提取结果,数据库管理功能主要用于实现工件关键信息的存储等,点云数据处理功能为测量系统的核心功能,主要工作流程为:点云数据滤波、点云数据聚类、基于RANSAC的面型提取等功能,软件设置功能包含软件的扫描参数、软件参数的基本设置等功能,同时软件具有与扫描机器人、拍照式三维扫描仪及控制系统的数据传输接口,通过TCP/IP协议传输数据。
上述系统工作过程包括如下步骤:
步骤A,二维相机1与三维扫描仪2的坐标系统一:
为了使用零件相对于筛盘上的坐标信息,我们需要将二维与三维相机的坐标系进行统一。通过在网格筛盘5上放置标定板,采用Pnp(视角N点法)算法实现二维相机1的坐标系到网格筛盘5的坐标系的转换,使用SVD(奇异值分解法)实现了三维扫描仪2坐标系到网格筛盘5的坐标系的转换。
步骤B,三维扫描仪2的点云拼接方案预生成:
由于三维测量相机的扫描距离为1m,因此需要以此为依据进行五轴机械臂的位姿计算。为了简化运算过程与点云数据的拼接过程,我们将五轴测量机械臂的工作行程区间进行栅格化,即,根据五轴机械臂的工作空间进行末端相机位姿的预计算。此后,使用预计算完毕的所有相机位姿坐标进行有限组点云数据的拍摄,记录当前所有位姿的点云拼接方案。
步骤C,将待喷涂零部件放置于网格筛盘5上,随传送带移动至二维相机1的下方;二维相机1采集零部件及网格筛盘5的二维图像,并将二维图像发送给二维视觉检测系统的图像处理模块进行图像处理。
步骤D,图像处理模块提取目标零件的信息
分别计算目标轮廓面积、最小包含矩形面积、最小包含矩形长宽比、最小包含圆半径、最小包含圆的圆心等信息,形成目标零部件信息集;利用零部件信息集对待喷涂零部件进行相似分类,并计算获取零部件的空间坐标信息;
步骤E,二维视觉检测系统将五轴测量机构移动位置信息发送给五轴测量机构3;五轴测量机构3接收位置信息,操纵三维扫描仪2移动到指定位置;三维扫描仪2开启扫描,获取点云信息,并根据步骤B所述对应位姿的拼接方案合并点云数据;
步骤F,三维视觉定位系统获取步骤D所述零件边界等信息集,对步骤E得到的点云数据进行分割。再基于解耦合改进的粒子群优化算法,引入滞步系数防止陷入局部最优,实现测量点云数据与零件理论数模的位姿配准。最终实现当前测量筛盘上繁杂零件的自动化检测、分类与定位。
步骤G,当传送带上下一网格筛盘5到达二维相机1的下端后,重复步骤C-步骤F操作。实现流水线网格筛盘5上繁杂零件的自动化检测、分类与定位。
其中,在所述步骤B中,用于图像采集的二维相机1与步骤E中三维扫描仪2分别位于不同工位,可同时对不同的网格筛盘5分别进行图像采集、扫描工作,提高效率。
在所述步骤E中,三维扫描仪2采集的图像需要依据圆形标点将多次扫描的结果进行拼接,据此,需将五轴测量机构3的水平X、竖直Y方向的可移动范围按等长度m=100mm划分,等效成为网格,共可产生M=(X/m)+(Y/m)个网格节点。五轴测量机构3仅可移动至网格节点对应的位置,且每一个位置都确定一个三维扫描仪2的姿态,可实现三维扫描仪图像的重复定位拼接。
上述系统的软件部分的工作如图2所示包括线下计算与实时计算两个部分,其中,线下计算包括上述步骤A、B、E提到的初始化标定(统一二维、三维相机坐标系、栅格化五轴三维测量系统的拍摄位姿与点云拼接方案的预生成),以及理论数模的预处理(转换零件理论数模为点云信息并预加载到内存中缩短算法IO时间)。
理论数模的预处理即预先构建零件理论数模点云库,主要包括如下内容:
采用CATIA二次开发,通过在CATIA中编写宏文件得到零件的STL格式的理论数模,再采用C++对获取到的STL零件理论数模进行处理,将理论数模分割成平面或者圆弧面组成,同时记录平面的面心、法向以及四周的边界信息。同时对面片的拓扑关系进行处理,得到面的相对关系,面与面是否相交、是否形成内交线以及交线的起始点信息等。接着将处理过的数模文件与拓扑关系存储到数据库结构中。最终,将面片信息转化为密度均一的理论数模点云。
在实时计算中,首先由二维相机1拍摄筛盘5的正上方视图,二维视觉检测系统运行流程如图3所示:
1、首先,需对二维相机1进行标定,获取二维相机1的内部参数。随后,在网格筛盘5中心放置黑白格标定板,选择网格筛盘5某一点作为空间坐标原点,确定二维相机1的图像像素坐标与空间坐标系的关系;本实施例采用Pnp(视角N点法)算法确定二维图像的像素坐标系和网格筛盘空间坐标系的转换关系;
2、当网格筛盘5随流水线移动至二维相机1的正下方时,触发二维相机1拍照信号,采集获取当前网格筛盘5的二维图像;
3、对采集的二维图像依次进行亮度均衡化、形态学处理、轮廓提取等处理,分割二维图像的前景、背景,识别出二维图像中的零件,数量为N;
4、依次计算出全部零件的轮廓面积、最小包含矩形面积、最小包含矩形长宽比、最小包含圆半径等数据,形成N组零件数据信息集;
5、随机选择上述零件数据信息集中K(0<K≤N)组数据作为标准集。通过直线拟合和最小曲线半径的方法计算出当前网格筛盘上所有零件的最佳分类种数K',即N个零件包括K'个种类。具体是通过kmeans聚类算法将全部N个零件分为K'组。
在零件数据信息集中增加每个零件的最小包含矩形顶点空间坐标、零件类别、零件中心点空间坐标等参数,并根据零件中心点的空间坐标信息确定五轴测量机构3的移动位姿;
二维视觉检测系统将零件种类、精确扫描零件号、零件最小矩形四点空间坐标发送给三维视觉定位系统;二维视觉检测系统计算确定五轴测量机构3的移动位置,并将位置信号发送给通讯模块控制五轴测量机构3。
其中,二维视觉检测系统利用得到的零件数据信息集,对当前零部件进行分类得到分类种数K',其步骤如下:
步骤T1,所述步骤C中,二维检测系统共检测出N个零部件,读取零部件信息中的目标轮廓面积(Poutline)、最小包含矩形面积(Prectangle)、最小包含矩形长宽比(Prect_xyrate)、最小包含圆半径(Pcircle_r);
步骤T2,从零部件信息中随机选择K组做为标准信息,其目标轮廓面积(Soutline)、最小包含矩形面积(Srectangle)、最小包含矩形长宽比(Srect_xyrate)、最小包含圆半径(Scircle_r);
步骤T3,计算误差平方和
步骤T4,
分别另K=1、2、3...10,重复步骤T1至T3,求得10对(Ki,SUMi)
数据;
步骤T5,根据曲率半径公式
其中,
dis1=|Ki-Ki+1|+|SUMi-SUMi+1|
dis2=|Ki-Ki+2|+|SUMi-SUMi+2|
dis3=|Ki+1-Ki+2|+|SUMi+1-SUMi+2|
i=0、1、2....8
求得10对(Ki,Ri)数据,i从2开始。
步骤T6,对(Ki,Ri)数据进行直线拟合,若拟合直线斜率近似为0或大于0,设定最终确定分类为K=1类;若拟合直线斜率小于0,则比较最小曲率半径R值,对应的K值既为最终确定种类数K'。
步骤T7,依据种类数K'和Kmeans聚类算法,将全部N个零部件进行分类。
经过二维图像处理,结合上述分类处理,得到了零件的粗分类结果与零件相对于网格筛盘5上的坐标信息。依据粗分类信息与坐标信息进行判断,选取每一类零件中距离筛盘中心点最近的零件作为标志零件。
所述三维视觉定位系统的主要工作流程为:
1)第一次测量时,在场景周围布点,进行五轴测量机构3的路径规划和学习;
2)在五轴测量机构3精度修正和路径规划完成后,五轴测量机构3带着三维扫描仪2进行无标记点扫描工件,获得工件的三维扫描点云数据;
3)重复以上步骤2),进行工件批次全自动扫描测量;
为了节约扫描时间,本申请的三维扫描分为粗扫描与精扫描两部分。
首先进行粗扫描,即,使用三维扫描仪2按照无缝衔接的拼接方式从正上方扫描整个筛盘5,这一步骤将只能获得零件的正面点云信息。而后,对于已经得出的用于精扫描的标志零件,进行围绕式的重点拍摄,即,通过多角度的拍摄以获得零件的尽可能多的的点云信息。精扫描将用于进行零件种类的比对,尽可能多的点云信息将极大的降低误匹配的可能性。
具体的三维扫描操作如下:
五轴测量机构3获取通过二维图像处理后选取的拍摄位姿下发给控制台4的PLC模块控制五轴机械臂运动,同时对运动状态进行实时监控。当五轴机械臂运动到位后,对三维扫描仪2下发拍摄指令,进行扫描获取点云信息。拍摄完毕后下发新的拍摄位姿给PLC模块重复上述步骤,周而复始获取筛盘5上所有零件的全部点云信息。
当全部点云拍摄完毕后,点云处理模块根据二维图像处理后获得的零件坐标对点云进行并发点云分割。
点云分割:根据二维图像处理后得到的筛盘坐标系下的步骤D中零件边界框坐标信息,将筛盘5上的零件单独的分割出来,用于进行点云配准。零件坐标信息为从最下端点开始的顺时针序四点,通过四点绘制四条直线。通过直线判别式确定点云是否在直线围城的空间范围内。其中,通过多线程同步运算在最高效率下将所有零件的点云数据单独的存储完毕,并根据二维图像处理结果找到每一种零件的标志零件的精拍点云信息。
点云配准:首先多线程并发的为每一个精拍点云遍历所有的零件理论数模点云库三次,选取匹配效果最好的零件理论数模点云作为该类待识别零件的种类,并记录配准旋转角作为同类零件的初始位姿。具体为,将精扫描的点云与零件数模点云库中的所有点云进行遍历匹配3遍。选择fitness值最小的作为零件的种类,并存储下此时的最佳(α,β,γ)值作为粗扫描点云匹配的初始欧拉角值,减少迭代次数。
当所有的精拍标志零件点云匹配完毕后,并发多线程的对所有的零件点云进行匹配。
其中,同类的其他零件继承该类标志零件对应的初始欧拉角(即初始位姿)作为点云配准的预猜想旋转位姿。具体的,继承同一种类零件的(α,β,γ)值作为初始欧拉角,使用此欧拉角构建粒子群中一部分点的初始旋转矩阵,遍历所有的粗扫描点云,得到理论数模到筛盘上的零件转换矩阵。点云配准完毕后,得到了理论数模到筛盘5上实际零件的转换矩阵,根据各个零件的对应转换矩阵将理论数模转换到筛盘5上,重构筛盘模型。最终实现了繁杂零件的检测、识别与定位。
其中,点云配准:本发明以最优粒子群算法为基础进行改进,引入滞步系数防止陷入局部最优,将三个旋转矩阵参数以及三个平移矩阵参数作为粒子的六个维度,采用3σ准则优化设置目标函数,并解耦合分别在各个维度上微动进一步精确匹配。
其中,基于改进粒子群优化算法测量点云与零件理论数模点云的配准流程图如图4所示,主要分为初始化与迭代匹配两部分。
所述初始化阶段,包括
S31,加载扫描点云与理论数模点云,构建配准点云,构建初始粒子群,判断是否具有初始欧拉角,若否,则构建随机旋转矩阵;所是,则使用初始欧拉角构建旋转矩阵;
S32,旋转配准点云,确定平移范围;随机取位移值,构建随机变换矩阵;
S33,变换配准点云,计算适应度
所述迭代匹配阶段,包括:
S41,判断是否达到匹配次数上限,若是,则转入步骤S44;若否,则更新迭代次数后,再判断是否滞步,若否,则更新速度,转入步骤S42;
若是,则更新滞步次数,引入滞步系数,更新速度,再判断是否需要解耦合,若否则转入步骤S42,若是则对处于当前个体极值的粒子单独更新速度;
S42,更新位置,计算适应度,再应用3σ准则剔除所有离群点重新计算适应度直至剔除全部离群点,更新当前个体极值和当前全局最优解;
S43,判断是否达到匹配精度要求,若是则转入步骤S44,若否则准入步骤S41继续执行;
S44,记录位置生成转换矩阵。
其中,初始化部分包括将扫描点云与理论数模点云加载到内存中提高效率,以及对粒子群、配准点云的构建与初始化。
本发明的一些实施例中,配准点云首先在扫描点云中取X、Y、Z三个方向共计六个极值点,并对剩下的扫描点云进行随机采样。
本实例中优选的,随机采样取94个点构建共计100个点组成的配准点云。初始化粒子群以旋转参数(αi(t),βi(t),γi(t))及平移参数(xi(t),yi(t),zi(t))作为第i个粒子的广义维度参数,t表示第t次迭代。
本实例中优选的,构建共计100个粒子组成粒子群。每个粒子的初始生成方法如下:
在(-π,π)的范围内随机取值初始化旋转参数(αi(0),βi(0),γi(0)),并以此作为构建欧拉角(Z-Y-Z)旋转矩阵的依据。
对于具有初始欧拉角的,使用初始欧拉角构建旋转矩阵;在本实例中优选的令50个粒子以(α,β,γ)作为(αi(0),βi(0),γi(0)),作为构建旋转矩阵的依据。旋转矩阵构造如下:
将(αi(0),βi(0),γi(0))带入构建Ri(0)初始化旋转矩阵。
求出以此角度进行旋转后配准点云的XYZ三个方向上的极值。
以理论数模的XYZ方向上的极值与旋转后的配准点云的极值之差,作为平移矩阵参数的浮动范围。在浮动范围内随机取值作为初始平移参数(xi(0),yi(0),zi(0))。
以(αi(t),βi(t),γi(t),xi(t),yi(t),zi(t))作为locationi(t),构建RT矩阵对配准点云进行变换,RT矩阵如下:
将(αi(0),βi(0),γi(0),xi(0),yi(0),zi(0))带入构建RTi(0)初始化转换矩阵,对配准点云进行转换。
粒子群构建完毕后,需要计算适应度值来评判出个体最优与粒子群最优。使用KD-Tree来计算新姿态下的配准点云中每个点与理论数模中最近的点的平均距离fitness。即,
式中i表示粒子群中的第i个粒子,n表示配准点云中点的个数,fi m表示使用粒子i的参数变换配准点云后,配准点云上m点到理论数模上最近点的距离,表示第t次迭代时使用粒子i的参数变换配准点云后,配准点云上的点到理论数模上最近点的平均距离。在初始化过程中t=0,且选取fitness值最小的粒子作为个体最优与粒子群的全局最优。
初始化完毕后进入迭代匹配过程。
本实例中优选的,以100次作为匹配迭代次数的上限值,并在每次迭代过程中更新已经迭代的次数(iterated_times)与剩余的迭代次数(iteration_times_remain)。
根据迭代过程中全局最优值的变化大小Δpg,进行滞步状态的判定。
其中,expected_accuracy表示期望的配准精准度,在本实例中优选的取0.75,iteration_times_remain表示剩余的迭代次数。当不等式成立,视为进入了滞步状态。
对于未进入滞步状态时,根据下列公式更新粒子群中每个粒子的参数:
locationi(t)=(αi(t),βi(t),γi(t),xi(t),yi(t),zi(t))
locationi(t+1)=vi(t+1)+locationi(t)
vi(0)=locationi(0)·ri
其中,i表示粒子群中的第i个粒子,locationi(t)表示粒子i在t次迭代后的参数,vi(t)表示粒子i在t次迭代的速度值,locationi(0)表示粒子i初始化的参数值,vi(0)表示粒子i初始化的速度值,ωi(t)表示粒子i在t次迭代的惯性系数,表示t次迭代时针对于pi(t)的学习系数,表示t次迭代时针对于pg(t)的学习系数,r表示0~1之间的随机数,pi(t)表示每个粒子在t次迭代下所经历过的个体历史最优参数,pg(t)表示粒子群在t次迭代下的全局历史最优参数。
本发明中,
其中,scale为理论数模体积的比例系数。在本实例中优选的,以理论数模XYZ三个方向的极值构建六面体计算体积volumn,
scale=volumn/1000
针对于因速度更新而导致locationi超出搜索范围限制的情况,将对超出范围的参数在允许范围内重新随机采样。(αi(t),βi(t),γi(t))值将在在(-π,π)的范围内重新随机取值。(xi(t),yi(t),zi(t))的范围在每次迭代后更新,为使用(αi(t),βi(t),γi(t))构建旋转矩阵旋转配准点云后,在XYZ三个方向上理论数模与旋转后配准点云的极值之差。
当滞步状态大于10次时视为进入了局部最优,对一定比例粒子的惯性系数乘以滞步状态次数stagnant_times。在本实例中优选的,随机选取40个粒子引入滞步系数。即,
对于进入滞步状态超过5次时视为需要微动优化匹配效果。在最优粒子群算法中,速度的更新是六维相互影响的。即(αi(t),βi(t),γi(t),xi(t),yi(t),zi(t))将同时变换影响fitness的计算,所以采用解耦合对单个参数进行微量调整,针对于pg(t)的六个参数分别进行正负两个方向(共计12个方向)微动以更新状态。
针对旋转角
针对位移
其中,expected_accracy为期望的匹配准确度,iterated_times为已经迭代的次数,float表示XYZ三个参数上分别的搜索范围,float_all表示XYZ三个参数上搜索范围之和。
使用如上方法更新粒子的参数后需要对于适应度进行计算。为剔除噪点对适应度fitness计算产生的影响,本发明使用3σ准则重计算fitness值。若应用粒子i的转站参数进行变换后,个别配准点云上的点到理论数模的最近距离太远,则在计算适应度时剔除掉这些离群点以表示整体的匹配效果。即,若
则在重计算适应度时剔除掉配准点云上的m点。
根据计算后的适应度值更新粒子的个体历史最优值与粒子群的全局历史最优值,并与预期的匹配精度进行对比,当粒子群的全局历史最优值小于预期匹配精度时视为匹配完毕。重复迭代过程直到达到匹配精度要求或者达到迭代次数上限,记录具有全局最优值粒子的参数生成转换矩阵并求逆,作为理论数模点云到实际扫描点云的转换矩阵。最终实现了繁杂零件的检测、识别与定位。
在本实例中,配准的过程图如图5所示,零件的理论数模点云是图5中浅色部分,通过2-3D视觉融合测量分割出来的目标点云是图5中深色部分。在两片点云初始匹配时,两者的位姿差别大,随着采用改进的粒子群优化算法进行配准迭代,两片点云的匹配程度逐渐变大,最终得到满足配准要求的匹配精度。
最终得到的转换矩阵为:
此时的目标函数全局最优1.98456。
测量点云与理论数模点云的匹配精度与迭代次数变化曲线如图6所示。粒子群算法的最佳适应度函数值随着迭代次数的增加快速收敛。目标函数值随着迭代次数的增加迅速下降,显示了本发明提出的改进粒子群算法搜索能力的有效性。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.基于2-3D视觉融合的繁杂零件检测与定位的方法,其特征在于,所述方法包括:
获取承载多种零件的整个托盘的二维图像;
对二维图像进行处理得到零件数据,根据零件数据对零件进行分类,并从每一类零件中选择一个作为标志零件;
依据所述零件数据设置三维扫描的位姿,获取零件的点云数据;
依据所述零件数据对点云数据进行点云分割,得到每个零件的点云数据;
获取同类零件的快速定位,包括:
在预先构建的零件理论数模点云库中搜索与标志零件最接近的点云以确认零件种类,并进行点云配准,同时记录对应的旋转角作为同类零件的初始位姿;
应用初始位姿将标志零件以外的同类零件与对应种类的零件理论数模点云进行点云配准;
根据各个零件点云配准得到的转换矩阵将对应的理论数模转换到托盘上,获取零件的准确位姿,
所述零件理论数模点云库的获取方法,包括:
通过在CATIA中编写宏文件得到零件的STL格式的理论数模,再采用C++对获取到的ST零件理论数模进行处理,将理论数模分割成平面或者圆弧面组成,同时记录平面的面心、法向以及四周的边界信息:将面片信息转化为密度均一的理论数模点云。
2.根据权利要求1所述的方法,其特征在于:所述从每一类零件中选择一个标志零件的方法,包括:
对二维图像进行处理得到的零件数据还包括每个零件的坐标信息,依据分类结果与坐标信息,选取每一类零件中距离托盘中心点最近的零件作为标志零件。
3.根据权利要求1所述的方法,其特征在于:所述获取同类零件的快速定位的方法,包括如下内容:
通过精扫描点云确定标志零件的零件种类:将标志零件的精扫描的点云与零件理论数模点云库中的所有点云数据进行遍历匹配多遍,选择适应度fitness值最小的作为零件的种类,并存储此时的旋转角(α,β,γ)作为同类其他零件的粗扫描的点云数据进行配准的初始欧拉角,以减少迭代次数;其中,根据每个零件的坐标信息,对标志零件进行精扫描,对于非标志零件进行粗扫描;
通过粗扫描的点云确定标志零件同类的零件的位姿:继承同类的标志零件的(α,β,γ)值作为初始欧拉角,使用此欧拉角构建粒子群中一部分点的初始旋转矩阵,遍历所有的粗扫描点云,得到理论数模点云到托盘上的零件的转换矩阵;
获取实际位姿:根据转换矩阵,将理论数模点云转换到托盘上的实际零件位置处,获得托盘上所有零件的实际位姿,完成快速定位,使用KD-Tree来计算新姿态下的配准点云中每个点与理论数模点云中最近的点的平均距离fitness,即,
式中i表示粒子群中的第i个粒子,n表示配准点云中点的个数,表示使用粒子i的参数变换配准点云后,配准点云上m点到理论数模上最近点的距离,表示第t次选代时使用粒子的参数变换配准点云后,配准点云上的点到理论数模上最近点的平均距离,在初始化过程中t=0,且选取fitness值最小的粒子作为个体最优与粒子群的全局最优,αi(t)、βi(t)以及γi(t)表示旋转参数,xi(t)、yi(t)以及zi(t)表示平移参数;
则在重计算适应度时剔除掉配准点云上的m点。
4.根据权利要求1所述的方法,其特征在于:所述对二维图像进行处理得到零件数据,根据零件数据对零件进行分类的方法,包括:
S41,对二维图像进行处理得到零件个数信息N,以及各个零件的数据信息集,其中,所述零件数据包括各个零件的数据信息集,所述数据信息集包括目标轮廓面积Poutline、最小包含矩形面积Prectangle、最小包含矩形长宽比Prect_xyrate、最小包含圆半径Pcircle_r;
S42,从数据信息集中随机选择K组做为标准信息,包括标准目标轮廓面积Soutline、标准最小包含矩形面积Srectangle、标准最小包含矩形长宽比Srect_xyrate、标准最小包含圆半径Scircle_r;
S43,通过如下公式计算误差平方和:
S44,分别令K=1、2、3...10,重复步骤S41至S43,求得10对(Ki,SUMi)数据;
S45,根据如下曲率半径公式,求得10对(Ki,Ri)数据,i从2开始;
其中,
dis1=|Ki-Ki+1|+|SUMi-SUMi+1|
dis2=|Ki-Ki+2|+|SUMi-SUMi+2|
dis3=|Ki+1-Ki+2|+|SUMi+1-SUMi+2|
i=0,1,2…8
S46,对(Ki,Ri)数据进行直线拟合,若拟合直线斜率大于0,设定最终确定分类为K=1类;若拟合直线斜率小于0,则比较最小曲率半径R值对应的K值既为最终确定种类数;
S47,依据种类数K和Kmeans聚类算法,将全部N个零部件进行分类。
5.根据权利要求1所述的方法,其特征在于:所述点云配准方法为基于解耦合的改进粒子群迭代优化算法,以最优粒子群算法为基础进行改进,引入滞步系数防止陷入局部最优,将三个旋转矩阵参数以及三个平移矩阵参数作为粒子的六个维度,采用3σ准则优化设置目标函数,并解耦合分别在各个维度上微动进一步精确匹配;包括如下内容:
S501,在扫描的点云中取X、Y、Z三个方向共计六个极值点,并对剩下的点云进行随机采样构建配准点云;
S502,构建初始粒子群:
将旋转参数(αi(t),βi(t),γi(t))及平移参数(xi(t),yi(t),zi(t))作为第i个粒子的广义维度参数,t表示第t次迭代;每个粒子的初始生成方法如下:
在(-π,π)的范围内随机取值初始化旋转参数(αi(0),βi(0),γi(0)),并以此作为构建欧拉角(Z-Y-Z)旋转矩阵的依据;
S503,旋转矩阵构造如下:
将(αi(0),βi(0),γi(0))带入构建Ri(0)初始化旋转矩阵;
求出以此角度进行旋转后配准点云的XYZ三个方向上的极值;以理论数模点云的XYZ方向上的极值与旋转后的配准点云的极值之差,作为平移矩阵参数的浮动范围;在浮动范围内随机取值作为初始平移参数(xi(0),yi(0),zi(0));
S504,以(αi(t),βi(t),γi(t),xi(t),yi(t),zi(t))作为locationi(t),构建RT矩阵对配准点云进行变换,RT矩阵如下:
将(αi(0),βi(0),γi(0),xi(0),yi(0),zi(0))带入构建RTi(0)初始化转换矩阵,对配准点云进行转换;
S505,使用KD-Tree来计算新姿态下的配准点云中每个点与理论数模点云中最近的点的平均距离fitness,即,
式中i表示粒子群中的第i个粒子,n表示配准点云中点的个数,表示使用粒子i的参数变换配准点云后,配准点云上m点到理论数模上最近点的距离,表示第t次迭代时使用粒子i的参数变换配准点云后,配准点云上的点到理论数模上最近点的平均距离;
S506,其中,本算法中使用3σ准则重计算fitness值,即在计算适应度时剔除掉离群点以表示整体的匹配效果;即,若
则在重计算适应度时剔除掉配准点云上的m点;
S507,根据下列公式更新粒子群中每个粒子的参数;
locationi(t)=(αi(t),βi(t),γi(t),xi(t),yi(t),zi(t))
locationi(t+1)=vi(t+1)+locationi(t)
vi(0)=locationi(0)·ri
其中,i表示粒子群中的第i个粒子,locationi(t)表示粒子i在t次迭代后的参数,vi(t)表示粒子i在t次迭代的速度值,locationi(0)表示粒子i初始化的参数值,vi(0)表示粒子i初始化的速度值,ωi(t)表示粒子i在t次迭代的惯性系数,表示t次迭代时针对于pi(t)的学习系数,表示t次迭代时针对于pg(t)的学习系数,r表示0~1之间的随机数,pi(t)表示每个粒子在t次迭代下所经历过的个体历史最优参数,pg(t)表示粒子群在t次迭代下的全局历史最优参数;
其中,
其中,scale为理论数模体积的比例系数;
S508,本算法中针对于因速度更新而导致locationi超出搜索范围限制的情况,将对超出范围的参数在允许范围内重新随机采样;(αi(t),βi(t),γi(t))值将在在(-π,π)的范围内重新随机取值,(xi(t),yi(t),zi(t))的范围在每次迭代后更新,为使用(αi(t),βi(t),γi(t))构建旋转矩阵旋转配准点云后,在XYZ三个方向上理论数模点云与旋转后配准点云的极值之差;
S509,本算法中引入滞步系数,以防止局部收敛:
其中,expected_accuracy表示期望的配准精准度,iteration_times_remain表示剩余的迭代次数;当不等式成立,视为进入了滞步状态,当滞步状态大于10次时视为进入了局部最优,对一定比例粒子的惯性系数乘以滞步状态次数stagnant_times;即,
S510,在本最优粒子群算法中,速度的更新是六维相互影响的,即(αi(t),βi(t),γi(t),xi(t),yi(t),zi(t))将同时变换影响fitness的计算,所以采用解耦合对单个参数进行微量调整,针对于pg(t)的六个参数分别进行正负两个方向,共计12个方向的微动以更新状态;
针对旋转角:
针对位移:
其中,expected_accracy为期望的匹配准确度,iterated_times为已经迭代的次数,float表示XYZ三个参数上分别的搜索范围,float_all
表示XYZ三个参数上搜索范围之和。
6.根据权利要求1所述的方法,其特征在于:所述对点云数据进行分割的方法为:
对二维图像进行处理得到的零件数据还包括各个零件的零件边界框坐标信息,通过零件边界框坐标信息对点云数据进行分割,用于进行点云配准。
7.实现权利要求1至6任一所述的基于2-3D视觉融合的繁杂零件检测与定位的方法的系统,其特征在于,所述系统包括:
二维相机,用于获取承载多种零件的整个托盘的二维图像;
二维视觉检测系统,用于对二维图像进行处理;
五轴测量机构,通过其机械臂固定三维扫描仪,并用于根据二维视觉检测系统输出的拍摄位姿控制三维扫描仪的运动状态;
三维扫描仪,用于采集零件的点云数据;
三维视觉定位系统,用于处理点云数据;
控制台,与二维相机、五轴测量机构、三维扫描仪通讯连接并进行控制,集成二维图像处理、点云数据处理、通讯处理功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110551689.7A CN113192054B (zh) | 2021-05-20 | 2021-05-20 | 基于2-3d视觉融合的繁杂零件检测与定位的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110551689.7A CN113192054B (zh) | 2021-05-20 | 2021-05-20 | 基于2-3d视觉融合的繁杂零件检测与定位的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113192054A CN113192054A (zh) | 2021-07-30 |
CN113192054B true CN113192054B (zh) | 2023-04-28 |
Family
ID=76982726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110551689.7A Active CN113192054B (zh) | 2021-05-20 | 2021-05-20 | 基于2-3d视觉融合的繁杂零件检测与定位的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113192054B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113792728A (zh) * | 2021-08-06 | 2021-12-14 | 南宁学院 | 高精度视觉定位方法 |
CN114332219B (zh) * | 2021-12-27 | 2023-01-17 | 机科发展科技股份有限公司 | 一种基于三维点云处理的托盘定位方法及装置 |
CN114897972A (zh) * | 2021-12-27 | 2022-08-12 | 机科发展科技股份有限公司 | 一种托盘定位方法及装置 |
CN114742789B (zh) * | 2022-04-01 | 2023-04-07 | 桂林电子科技大学 | 一种基于面结构光的通用零件拾取方法、系统及电子设备 |
CN115409880B (zh) * | 2022-08-31 | 2024-03-22 | 深圳前海瑞集科技有限公司 | 工件数据配准方法、装置、电子设备及存储介质 |
CN115365695B (zh) * | 2022-10-26 | 2023-01-10 | 艾美特焊接自动化技术(北京)有限公司 | 一种智能焊接方法 |
CN116040261B (zh) * | 2022-12-23 | 2023-09-19 | 青岛宝佳智能装备股份有限公司 | 一种专用托盘翻转机 |
CN115965628B (zh) * | 2023-03-16 | 2023-06-02 | 湖南大学 | 一种工件涂装质量在线动态检测方法及检测系统 |
CN117710396A (zh) * | 2023-12-14 | 2024-03-15 | 安徽工布智造工业科技有限公司 | 一种基于3d点云的轻钢行业非标零件的识别方法 |
CN117649545B (zh) * | 2024-01-30 | 2024-04-12 | 武汉市双桥科技有限公司 | 基于人工智能的喷涂轨迹规划方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110930456A (zh) * | 2019-12-11 | 2020-03-27 | 北京工业大学 | 基于pcl点云库的钣金零件的三维立体识别及定位方法 |
CN112084937A (zh) * | 2020-09-08 | 2020-12-15 | 清华大学 | 一种动态车辆检测方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106406338B (zh) * | 2016-04-14 | 2023-08-18 | 中山大学 | 一种基于激光测距仪的全向移动机器人的自主导航装置及其方法 |
CN110246127A (zh) * | 2019-06-17 | 2019-09-17 | 南京工程学院 | 基于深度相机的工件识别与定位方法和系统、分拣系统 |
CN110568447B (zh) * | 2019-07-29 | 2022-03-08 | 广东星舆科技有限公司 | 视觉定位的方法、装置及计算机可读介质 |
CN112801977B (zh) * | 2021-01-28 | 2022-11-22 | 青岛理工大学 | 一种基于深度学习的装配体零件相对位姿估计监测方法 |
-
2021
- 2021-05-20 CN CN202110551689.7A patent/CN113192054B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110930456A (zh) * | 2019-12-11 | 2020-03-27 | 北京工业大学 | 基于pcl点云库的钣金零件的三维立体识别及定位方法 |
CN112084937A (zh) * | 2020-09-08 | 2020-12-15 | 清华大学 | 一种动态车辆检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113192054A (zh) | 2021-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113192054B (zh) | 基于2-3d视觉融合的繁杂零件检测与定位的方法及系统 | |
Gagnon et al. | Registration of multiple range views for automatic 3-D model building | |
CN111679291B (zh) | 基于三维激光雷达的巡检机器人目标定位配置方法 | |
CN112505065B (zh) | 一种实现室内无人机对大部件表面缺陷进行检测的方法 | |
CN106707768B (zh) | 一种基于模型校准的喷漆轨迹规划方法 | |
CN104778688A (zh) | 点云数据的配准方法及装置 | |
CN114419147A (zh) | 一种救援机器人智能化远程人机交互控制方法及系统 | |
CN113421291B (zh) | 利用点云配准技术和三维重建技术的工件位置找正方法 | |
CN109472778B (zh) | 一种基于无人机的高耸结构外观检测方法 | |
CN115546289A (zh) | 一种基于机器人的复杂结构件三维形貌测量方法 | |
CN113587904B (zh) | 一种融合机器视觉和激光参照点信息的目标位姿测量方法 | |
CN116909208B (zh) | 基于人工智能的壳体加工路径优化方法及系统 | |
CN113947623A (zh) | 一种粗糙度检测方法、slam定位方法及施工方法 | |
CN116245944A (zh) | 一种基于实测数据的舱段自动化对接方法及系统 | |
CN116597080A (zh) | 一种多源空间数据的完整场景3d精细模型构建系统及方法 | |
CN114608540B (zh) | 一种数字摄影测量系统的测量网型确定方法 | |
CN116309879A (zh) | 一种机器人辅助的多视角三维扫描测量方法 | |
CN115908562A (zh) | 一种异面点合作标志器及测量方法 | |
CN115451964A (zh) | 基于多模态混合特征的船舶场景同时建图与定位方法 | |
CN114463495A (zh) | 一种基于机器视觉技术的智能喷涂方法及系统 | |
Jie et al. | DyLESC: A Dynamic LiDAR Extrinsic Self-Calibration Method for Intelligent Driving Vehicles | |
Comport et al. | Efficient model-based tracking for robot vision | |
Raible et al. | Automatic Path Planning for Robotic Grinding and Polishing Tasks based on Point Cloud Slicing | |
CN108230377A (zh) | 点云数据的拟合方法和系统 | |
CN116394235B (zh) | 一种基于三维测量的大型零部件机器人干冰清洗轨迹规划系统及方法 |
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 |