(12)发明专利申请
(10)申请公布号 CN 112329179 A(43)申请公布日 2021.02.05
(21)申请号 202011354292.0(22)申请日 2020.11.27
(71)申请人 华中科技大学
地址 430074 湖北省武汉市洪山区珞喻路
1037号(72)发明人 彭芳瑜 肖名君 陈晨 闫蓉
唐小卫 吉鹏晖 (74)专利代理机构 华中科技大学专利中心
42201
代理人 孔娜 李智(51)Int.Cl.
G06F 30/17(2020.01)G06F 30/20(2020.01)G06T 7/10(2017.01)G06T 17/20(2006.01)
权利要求书2页 说明书6页 附图7页
(54)发明名称
一种基于点云数据的零件特征快速识别方法
(57)摘要
本发明属于CAD/CAM相关技术领域,并公开了一种基于点云数据的零件特征快速识别方法。该方法包括下列步骤:S1构建待处理零件的三维模型;利用该三维模型构建与该三维模型相对应的属性邻接图,将该属性邻接图简化获得加工面邻接图;S2在加工面邻接图中搜索疑似型腔面;以任意疑似型腔面为起点,逐步搜索与该疑似型腔面相邻的面中的疑似型腔面,并确定最终的型腔底面;在加工面邻接图中将型腔底面与其它面的连接断开,以此获得加工面邻接图的分解图;S3根据特征库,将分解图与所述特征库进行匹配,确定舱段零件中的特征及加工面,进而实现零件特征和加工面的快速识别。通过本发明,实现零件特征和加工面的快速准确的识别。
CN 112329179 ACN 112329179 A
权 利 要 求 书
1/2页
1.一种基于点云数据的零件特征快速识别方法,其特征在于,该方法包括下列步骤:S1对于待处理零件,扫描该待处理零件获得对应的点云数据,对该点云数据进行重构获得与所述待处理零件相对应的三维模型;利用该三维模型构建与该三维模型相对应的属性邻接图,将该属性邻接图简化获得加工面邻接图;
S2在所述加工面邻接图中搜索与其相邻的面之间的连接均是凹邻接的面,搜索获得的面为疑似型腔面;以任意疑似型腔面i出发,逐个搜索与该疑似型腔面i相邻的面,判断与疑似型腔面i相邻的面中是否存在其它疑似型腔面,当不存在疑似型腔面时,所述疑似型腔面i即为型腔底面,当存在其它疑似型腔面时,将疑似型腔面i和其它疑似型腔面各自对应的凹邻接数量相比较,凹邻接最多的疑似型腔面为型腔底面;在所述加工面邻接图中将型腔底面与其它面的连接断开,以此获得加工面邻接图的分解图;
S3构建属性邻接矩阵和特征一一对应的特征库,根据分解图中面和面的连接形成的属性邻接矩阵,将该邻接矩阵与所述特征库的属性邻接矩阵进行匹配,以此确定零件中的特征的类型,进而实现零件特征的快速识别。
2.如权利要求1所述的一种基于点云数据的零件特征快速识别方法,其特征在于,在步骤S1中,所述三维模型的构建按照下列步骤进行:
对于扫描获得的点云数据,将该点云数据进行分割获得多个点云块,采用NURBS曲面重构每个点云块,以此获得多个重构曲面,将该多个重构曲面进行拼接以此获得形成所需的三维模型。
3.如权利要求2所述的一种基于点云数据的零件特征快速识别方法,其特征在于,所述将该点云数据进行分割提取面特征按照下列方式进行:在所述点云数据中随机选取种子点,对所选取的种子点采用kd-tree方法对点云进行深度优先搜索,在搜索过程中,将相邻点的法线夹角变化在可接受阈值范围内的点划分为一个面内,否则不在同一个面内。
4.如权利要求1所述的一种基于点云数据的零件特征快速识别方法,其特征在于,在步骤S1中,所述将该属性邻接图简化获得加工面邻接图按照下列方式进行:删除待处理零件中的毛坯面和与毛坯面相邻接的边,并简化圆角。
5.如权利要求4所述的一种基于点云数据的零件特征快速识别方法,其特征在于,所述毛坯面是指将待处理零件中存在与成形该待处理零件的毛坯料中一样的面,即存在未加工的面,该未加工的面即为毛坯面。
6.如权利要求4所述的一种基于点云数据的零件特征快速识别方法,其特征在于,所述简化圆角按照下列步骤进行,选取彼此之间的连接是凸邻接的三个相邻的面,且其中一个末端面不与其它面连接;删除该三个相邻的面中中间的面,将首尾两端的面连接,以此实现圆角的简化。
7.如权利要求1所述的一种基于点云数据的零件特征快速识别方法,其特征在于,在步骤S3中,所述特征库中的特征包括圆形凸台、矩形凸台和矩形型腔。
8.如权利要求7所述的一种基于点云数据的零件特征快速识别方法,其特征在于,所述圆形凸台对应的分解图中两个通过凸邻接相连的顶点,其对应的属性邻接矩阵为所述矩形凸台对应分解图中彼此之间均通过凸邻接相连的5个顶点,其对应的属性邻接矩
2
CN 112329179 A
权 利 要 求 书
2/2页
阵为所述矩形型腔对应分解图中的5个顶点,其中中心顶点通过凸邻接
与其它四个顶点相连,四个顶点彼此之间通过凹邻接相连,其对应的属性邻接矩阵为
3
CN 112329179 A
说 明 书
一种基于点云数据的零件特征快速识别方法
1/6页
技术领域
[0001]本发明属于CAD/CAM相关技术领域,更具体地,涉及一种基于点云数据的零件特征快速识别方法。
背景技术
[0002]目前,CAD、CAPP、CAM系统分别在产品设计、工艺设计和数控编程方面发挥了巨大的作用,但是目前这些系统各自比较,不能实现信息在各个系统间的自动转换和共享,需要人工参与的较多,因此在应用过程中自动化程度较低。随着工业中3D传感器技术的发展与广泛使用,围绕着三维点云的应用也越来越多,但是点云处理的效率仍是制约其发展的一个,并且将三维扫描用于零件三维模型造型和辅助加工较少。以提高产品造型、工艺设计和数控编程自动化程度和效率为目的将CAD/CAPP/CAM集成成为智能加工软件成了工业界的迫切需求。
[0003]尤其是针对于整体舱段零件,将三维点云用于舱段三维模型造型和辅助加工较少,其内壁包含数个型腔类的特征,加工面众多,在进行三维建模和型腔加工面的选取工作比较重复繁琐,影响了建模速度和编程效率以及自动化程度。现有的特征识别方法对于简单相交特征需要对面进行分割、合并等操作,比较复杂,效率和正确率不高,且不能应用于舱段型腔特征的识别。在中国专利公开说明书,申请号:CN 104462656 A提出了一种飞机蒙皮的特征识别方法,并未提出型腔及相交特征的快速分解和识别方法,所以对舱段零件的型腔特征还没有高效的识别方法,以及没有考虑通过点云处理方式获取舱段的模型。发明内容
[0004]针对现有技术的以上缺陷或改进需求,本发明提供了一种基于点云数据的零件特征快速识别方法,其中主要通过对加工面邻接图进行分解获得分解图,然后根据分解图中的特征子图识别三维模型中的特征,实现特征的快速识别,准确率高,识别效率快。[0005]为实现上述目的,按照本发明,提供了一种基于点云数据的零件特征快速识别方法,该方法包括下列步骤:[0006]S1对于待处理零件,扫描该待处理零件获得对应的点云数据,对该点云数据进行重构获得与所述待处理零件相对应的三维模型;利用该三维模型构建与该三维模型相对应的属性邻接图,将该属性邻接图简化获得加工面邻接图;
[0007]S2在所述加工面邻接图中搜索与其相邻的面之间的连接均是凹邻接的面,搜索获得的面为疑似型腔面;以任意疑似型腔面i出发,逐个搜索与该疑似型腔面i相邻的面,判断与疑似型腔面i相邻的面中是否存在其它疑似型腔面,当不存在疑似型腔面时,所述疑似型腔面i即为型腔底面,当存在其它疑似型腔面时,将疑似型腔面i和其它疑似型腔面各自对应的凹邻接数量相比较,凹邻接最多的疑似型腔面为型腔底面;在所述加工面邻接图中将型腔底面与其它面的连接断开,以此获得加工面邻接图的分解图;[0008]S3构建属性邻接矩阵和特征一一对应的特征库,根据分解图中面和面的连接形成
4
CN 112329179 A
说 明 书
2/6页
的属性邻接矩阵,将该邻接矩阵与所述特征库的属性邻接矩阵进行匹配,以此确定零件中的特征的类型,进而实现零件特征的快速识别。[0009]进一步优选地,在步骤S1中,所述三维模型的构建按照下列步骤进行:[0010]对于扫描获得的点云数据,将该点云数据进行分割获得多个点云块,采用NURBS曲面重构每个点云块,以此获得多个重构曲面,将该多个重构曲面进行拼接以此获得形成所需的三维模型。
[0011]进一步优选地,所述将该点云数据进行分割提取面特征按照下列方式进行:在所述点云数据中随机选取种子点,对所选取的种子点采用kd-tree方法对点云进行深度优先搜索,在搜索过程中,将相邻点的法线夹角变化在可接受阈值范围内的点划分为一个面内,否则不在同一个面内。[0012]进一步优选地,在步骤S1中,所述将该属性邻接图简化获得加工面邻接图按照下列方式进行:删除待处理零件中的毛坯面和与毛坯面相邻接的边,并简化圆角。[0013]进一步优选地,所述毛坯面是指将待处理零件中存在与成形该待处理零件的毛坯料中一样的面,即存在未加工的面,该未加工的面即为毛坯面。[0014]进一步优选地,所述简化圆角按照下列步骤进行,选取彼此之间的连接是凸邻接的三个相邻的面,且其中一个末端面不与其它面连接;删除该三个相邻的面中中间的面,将首尾两端的面连接,以此实现圆角的简化。[0015]进一步优选地,在步骤S3中,所述特征库中的特征包括圆形凸台、矩形凸台和矩形型腔。
[0016]进一步优选地,所述圆形凸台对应的分解图中两个通过凸邻接相连的顶点,其对应的属性邻接矩阵为
所述矩形凸台对应分解图中彼此之间均通过凸邻接相连的5
个顶点,其对应的属性邻接矩阵为所述矩形型腔对应分解图中的5个顶
点,其中中心顶点通过凸邻接与其它四个顶点相连,四个顶点彼此之间通过凹邻接相连,其
对应的属性邻接矩阵为
[0017]
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具备下列有益效
果:
[0018]
1.本发明通过构建三维零件的加工面邻接图,并根据加工邻接图中的型腔底面进行分解,将加工邻接图中的多个特征予以分割,实现各个特征的化,方便后期的识别过程,提高识别精度和效率;
5
CN 112329179 A[0019]
说 明 书
3/6页
2.本发明中通过采用扫描的点云数据,基于点云的深度优先搜索算法提取面特
征,提取的准确性和快速性得到了保证,然后采用NURBS曲面将各个面进行重构拟合,与三角片重构相比,重构的曲面表面更为光滑,更加贴近实际的零件特征,精度更高;[0020]3.本发明提出一种舱段特征快速识别方法,能够提高型腔内部相交特征和加工面的识别效率和正确率,为舱段零件加工在CAD/CAPP/CAM系统间的数据传递提供了有效的方法,进一步提高数控编程的效率和自动化水平。附图说明
[0021]图1是按照本发明的优选实施例构建的一种基于点云数据的零件特征快速识别方法流程图;
[0022]图2是按照本发明的优选实施例构建的舱体构件表面三维重构的结果图;[0023]图3是按照本发明的优选实施例构建的舱段零件示意图;
[0024]图4是按照本发明的优选实施例构建的边的凹凸性判断流程图;[0025]图5是按照本发明的优选实施例构建的直线边的凹凸性示意图,其中,(a)是二面角β∈(0,π)时,e为凹边的示意图,(b)是二面角β=π且β趋近于π+时,e为凹边的示意图,(c)是二面角β∈(π,2π)时,e为凸边的示意图,(d)是二面角β=π且β趋近于π-时,e为凹边的示意图;
[0026]图6是按照本发明的优选实施例构建的平面曲线边凹凸性示意图;[0027]图7是按照本发明的优选实施例构建的舱段零件属性邻接图;
[0028]图8是按照本发明的优选实施例构建的舱段零件简化后前后的邻接图,其中,(a)是舱段的属性邻接图,(b)是舱段的加工面邻接图;
[0029]图9是按照本发明的优选实施例构建的舱段零件加工面邻接图快速分解算法流程图;
[0030]图10是按照本发明的优选实施例构建的舱段零件基特征分解后的特征子图,其中,(a)是选取型腔面的示意图;(b)是分解型腔底面连接的示意图;
[0031]图11是按照本发明的优选实施例构建的舱段零件常见的孤立特征属性邻接图和邻接矩阵。
具体实施方式
[0032]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0033]本发明提供了一种零件特征的点云处理和型腔特征快速识别方法,提高了零件三维重构的效率,以及提高了零件相交特征分解的效率,实现快速识别零件的加工特征和加工面。本发明方法流程图如图1所示,该方法包括以下步骤:
[0034]S1使用三维扫描仪对待处理的构件进行扫描获取点云,经过滤波去噪以及采用kd-tree方法求取点云法线;本发明提供的方法适用于多型腔的结构,本实施例中实验的工件是一个舱体,获取得到该舱体的点云数据。
6
CN 112329179 A[0035]
说 明 书
4/6页
进一步,步骤S1具体包括如下子步骤:
[0036]S11使用三维扫描仪对舱段零件进行扫描,得到构件表面的三维点云数据;[0037]S12对所述三维点云数据进行体素滤波去噪,得到滤波去噪后的三维点云数据;对所述滤波去噪后的三维点云数据采用kd-tree方法求取点云法线;对获取得到的点云首先去除NAN点,并采用体素滤波降低点云规模。之后采用PCL点云库中的库函数完成点云kd-tree的建立,并设定邻域参数为5,提取邻域参数范围内的所有点云,利用这些点云进行法线求取。
[0038]S2对所述的点云法线,采用基于点云的深度优先搜索算法提取面特征,将原有的完整点云分割成一块块的点云,对分割完成后的每一块点云进行NURBS曲面重构,并将重构得到的各块曲面进行拼接,得到整个构件的重构结果。[0039]进一步,步骤S2具体包括如下子步骤:
[0040]S21对所述求取点云法线后的三维点云数据,采用基于点云的深度优先搜索算法提取面特征,将原有的完整点云分割成一块块的点云。[0041]在点云中随机选取种子点,对所选取的种子点采用kd-tree方法对点云进行深度优先搜索,在搜索中采用法线变化阈值进行约束,法线变化阈值设置为0.175rad,将法线变化不明显的区域归为同一个面,完成对点云的分割。
[0042]S22对所述分割完成后的每一块点云进行NURBS曲面重构,并将重构得到的各块曲面进行拼接,得到整个构件的重构结果,如图2所示。[0043]NURBS曲线由n+1个控制点形成,其表达式如下:
[0044]
[0045]
NURBS曲面的表达式如下:
[0046]
式中:Ni,k,Nj,l表示曲面的控制点,ωi表示权因子,di表示控制顶点,u表示节点矢量,k表示基函数在u方向上的阶,l表示基函数在v方向上的阶。
[0048]NURBS曲面拟合是通过PCL点云库中的相应库函数完成的,之后保持各拟合曲面的位置不变,将其整合到一张图上即可完成整个舱段构件的模型重构。
[0049]S3对于上述步骤获得的舱段零件的三维模型读入零件和毛坯的B-rep(Boundary-Representa-tion)信息,根据B-rep信息构建属性邻接图AAG。根据步骤S22中重构的舱段零件的模型,进一步,步骤S3具体包括如下子步骤:
[0050]S31利用在UG/NX软件中有提供二次开发接口UG/Open API所封装函数直接获得,其中UF_BREP_ask_topology()可返回存储面、边、点的拓扑树在数UF_BREP_topology_s结构中,通过采用深度或广度优先算法可以遍历得到舱段任意面、边的拓扑信息和Tag_t值。
7
[0047]
CN 112329179 A
说 明 书
5/6页
拓扑信息中包括面的属性以及边的属性,例如面的法向向量、最大包包络盒、面的内外环以及边的法向向量等。
[0051]S32如图3所示,图中为舱段零件示意图,由于内部型腔特征具有重复性,因此对部分区域作为实施例进一步说明。通过判断直线边、平面曲线边及曲面曲线边的凹凸性,构建属性邻接图,边的凹凸性是通过相邻面之间夹角构成的二面角α来判断。舱段零件的边主要包括平面与平面间的直线边和平面与曲面间的平面内曲线边,曲面和曲面的交线,如图4所示为舱段零件直线边和平面曲线边凹凸性判断流程图。如图5所示为直线边的凹凸性示意图,两相邻面f1,f2的公共边为e,假设相邻面f1,f2间夹角构成二面角为β,当β∈(0,π)时,e是凹边,如图5中(a),当β∈(π,2π)时,e是凸边,如图5中(c)。如果当β=π时,此时则需要对夹角β的渐进方式进行判断:当β趋近于π-时,e为凸边,如图5中(b),当β趋近于π+时,e为凹边,如图5中(d)。由此可见,求解棱边e的凹凸性本质上就是求解两相邻边的二面角。[0052]对于平面曲线凹凸性的判断如图6所示,面f1为圆柱面,f2为平面,f1与f2的相交棱边e即为平面曲线,对于平面曲线凹凸性的判断方法如下:假设面f2的法向向量n2,n2根据右手螺旋法则判定出包含棱边e在内的面f2所有构成的封闭环的转向。在棱边e上任取一点p,则p的切向量ne,ne的方向与封闭环的转向一致。假设存在一个向量n=ne×n1,n1为面f1过点p的切平面的法线向量。n与n2的夹角为λ,当|λ|>π/2时,e为凸边;当|λ|<π/2时,e为凹边。可以拓展到非平面的空间曲线,可以根据曲率判断凹凸性,或者作为过渡特征,先进行简化再判断。经过加工特征信息的提取和边的凹凸性判定后,即可以得到舱段零件完整的属性邻接图,如图7所示(0表示凹边或凹邻接,1表示凸边或凸邻接)。[0053]S4对步骤3中获得的舱段零件属性邻接图(AAG),删除毛坯面、毛坯面邻接的边和辅助特征,简化为加工面邻接图(MFAG),由于预先定义的舱段零件特征库都是单一的加工特征,所以需要将MFAG进行分解,获得特征子图。[0054]进一步,步骤S4具体包括如下子步骤:
[0055]S41对于舱段零件会存在一些辅助特征或者过渡特征,例如倒角圆角等等,通过判断倒角和圆角特征,对辅助特征和过渡特征进行简化,实施例中包含倒圆角,将彼此之间的连接是凸邻接的三个相邻的面,且其中的一个末端面不与其他面连接,删除该三个相邻的面中间的面,将首尾两端的面连接,以此实现圆角的简化。于是步骤S3中构建的舱段零件的AAG简化为MFAG,如图8所示,图8中(a)是圆角简化前的示意图,图8中(b)是圆角简化后的示意图。
[0056]S42由于预先定义的舱段零件特征库都是单一的加工特征,所以需要将MFAG进行分解,获得特征子图。
[0057]舱段零件包含两种特征,分别是孤立特征和相交特征,孤立特征不与其他特征相交,一般邻接关系为单纯的凹邻接或凸邻接,但是例如舱段内的无孤岛型腔。而相交特征则一定是既有凸邻接又有凹邻接,例如舱段零件内含孤岛型腔、多重型腔等。对于孤立特征分解产生的特征子图与它在预定义特征库中的属性邻接图是一致的。两个或两个以上的孤立特征相交形成的相交特征,其相交部分几何元素的集合构成相交实体。在舱段零件内部相交特征多为型腔相交其他特征,例如型腔相交型腔,型腔相交孤岛等,基于这一特点,本发明提出一种型腔特征快速分解方法,算法流程图如图9所示,具体步骤:[0058](1)对于孤立特征可以直接识别;
8
CN 112329179 A[0059]
说 明 书
6/6页
(2)定义型腔特征为基特征,在简化后的MFAG中首先搜索与其相邻的面之间的邻
接均为凹邻接的面,搜索获得的面为疑似型腔面;以任意疑似型腔面i出发,逐个搜索与该疑似型腔面i相邻的面,判断与疑似型腔面i相邻的面中是否存在其它疑似型腔面,当不存在疑似型腔面时,所述疑似型腔面i即为型腔底面,当存在其它疑似型腔面时,将疑似型腔面i和其它疑似型腔面各自对应的凹邻接数量相比较,凹邻接最多的疑似型腔面为型腔底面,一般型腔底面也为型腔加工面,其他疑似型腔面为型腔侧面。在实施例中面F27、F3、F29和F20均为型腔底面,将各个型腔作为基特征。[0060](3)进一步判断型腔是否为无孤岛型腔还是含孤岛型腔,即判断型腔是孤立特征还是相交特征,将上述型腔特征的底面F27、F3、F29和F20的凹邻接边进行分解,以此获得加工面邻接图的分解图,分解图中的特征子图包含的特征定义为副特征。如果有副特征,则表明该型腔为相交特征,也表示含有孤岛;如果没有其他副特征,则表明该型腔为特征,也表示不含孤岛。如图10所示为MFAG快速分解的特征子图,F2和F5为整体型腔的侧面,此处进行隐藏,不影响判断。[0061](4)根据特征子图生成属性邻接矩阵。[0062]S5构建舱段零件预定义特征库,通过特征识别算法将特征子图与预定义的特征库中的特征图一一进行匹配,识别出加工特征,如果有不能匹配的子特征则增加到特征库。[0063]进一步,步骤S5具体包括如下子步骤:[00]S51分析舱段零件结构特点和加工特征,定义舱段各类特征,定义型腔特征、圆形凸台特征、矩形凸台特征等。
[0065]S52经过步骤S4将属性邻接图分解成特征子图后,零件的加工特征识别问题就变成分解的特征子图的识别问题。型腔和凸台类特征的特征子图识别较为简单:若基本节点的相邻节点数等于该节点所代表的面的边数,且邻接关系为凸,则工艺特征为凸台;若邻接关系为凹,则工艺特征为型腔。其他的工艺特征的识别则是通过判断图同构来识别,即判断分解的特征子图与工艺库的特征子图间是否图同构。图同构的判断实际上是判断两图的顶点间是否存在一个映射,在该映射下,两图顶点的边也保持对应,因此图同构的问题转变为判定是否存在映射矩阵的问题。[0066]加工特征是否能够有效地被识别出来,很大程度取决于预定义的特征库是否包含这类特征,因此在工艺特征库应该尽可能详尽,该库为开发式,方便用户后续继续添加丰富工艺特征库,例举了舱段零件几种典型的孤立特征如图11所示。识别实施例中舱段零件部分区域包含两个无孤岛型腔特征,分别是以面F20和F27的型腔;还包含两个含孤岛型腔特征,分别是以面F3和F29为底面的型腔基特征,前者相交4个圆形凸台特征和一个矩形凸台特征,后者相交4个圆形凸台特征,并且能够快速识别出舱段零件的加工面F3、F20、F27和F29。
[0067]本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
9
CN 112329179 A
说 明 书 附 图
1/7页
图1
图2
10
CN 112329179 A
说 明 书 附 图
2/7页
图3
11
CN 112329179 A
说 明 书 附 图
3/7页
图4
图5
12
CN 112329179 A
说 明 书 附 图
4/7页
图6
图7
13
CN 112329179 A
说 明 书 附 图
5/7页
图8
14
CN 112329179 A
说 明 书 附 图
6/7页
图9
15
CN 112329179 A
说 明 书 附 图
7/7页
图10
图11
16
因篇幅问题不能全部显示,请点此查看更多更全内容