专利名称:曲面检测系统及方法
技术领域:
本发明涉及一种三维量测系统及方法,尤其是关于一种曲面检测系统及方法。
背景技术:
三坐标测量机是在工业、科研中被广泛应用于对产品进行测量的一种测量装置,一般的测量方法是将被测物件置于三坐标测量空间,利用三坐标测量机的接触探头沿被测物件的表面经过编程的路径逐点捕捉数据,根据捕捉的数据分析被测物件的曲面品质。然而,随着产品曲面造型越来越复杂,如手机、MP3、 MP4,传统的测量方法获得的测量数据很难反映曲面的真实情况,测量速度慢且效率较低。
发明内容
鉴于以上内容,有必要提供一种曲面检测系统及方法,能够对复杂曲面进行检测,提高曲面检测效率及精度。 —种曲面检测系统,运行于计算机。所述计算机执行该曲面检测系统从数据库接收曲面数据和点云数据,接收用户的公差设置和颜色设置信息,根据接收的曲面数据与点云数据将点云与曲面对齐,根据对齐后的曲面数据和点云数据计算点云中的各点到曲面的最近距离,确定各最近距离所对应的曲面上的各三角形,根据各最近距离所落入的公差区间用相应颜色标示该曲面上的各三角形。此外,所述计算机执行该曲面检测系统对曲面的颜色进行均衡处理,并依据均衡处理后的曲面数据生成检测报告。 —种曲面检测方法,该方法包括以下步骤(a)接收物件CAD模型的三角网格曲面数据及扫描物件得到的点云数据;(b)将所述点云与所述三角网格曲面对齐;(c)接收公差设置信息及颜色设置信息,包括允许的最大正公差值、允许的最小负公差值、公差的分段区间及不同公差区间的颜色值;(d)根据对齐后的三角网格曲面数据及点云数据计算对齐后点云中各点到三角网格曲面的最近距离,所述最近距离称作原始最近距离;(e)根据各原始最近距离确定与点云中各点距离最近的三角网格曲面上的三角形;(f)根据各原始最近距离所属公差区间得到各三角形的原始颜色值,将该各原始最近距离及各原始颜色值储存至三角网格曲面上相应三角形的数据结构;(g)根据三角网格曲面上三角形的数据结构中的原始最近距离、原始颜色值及用户设置的向三角形周围扩展的层数对三角网格曲面进行颜色均衡处理,计算各三角形的均衡最近距离及均衡颜色值;及(h)分析颜色均衡后的三角网格曲面数据,生成三角网格曲面检测报告。 相较于传统的三坐标量测机的测量系统及方法,本发明提供的曲面检测系统及方法可根据扫描物件得到的实际点云的点与物件的CAD模型的三角网格曲面的最近距离所属的不同公差分段区间用不同颜色标示CAD模型的三角网格曲面,并对CAD模型的三角网格曲面加以适当的颜色均衡处理,分析颜色均衡后的三角曲面数据并生成直观的检测报告,提高了对复杂曲面进行检测的精度和 度。
图1是本发明曲面检测系统较佳实施例的应用环境图。
图2是本发明曲面检测方法较佳实施例的主流程图。
图3是图2中步骤S107的细化流程图。
图4是图3中步骤S202的细化流程图。 图5是图2中步骤S108分析颜色均衡后的曲面数据,生成检测报告的一种方法的细化流程图。 图6是图2中步骤S108分析颜色均衡后的曲面数据,生成检测报告的另一种方法的细化流程图。 图7是图3中步骤S204根据三角形的顶点得到该三角形周围的一层三角形的示意图。 图8是图5中生成量测趋势线的示意图。
具体实施例方式
如图1所示,是本发明曲面检测系统较佳实施例的应用环境图。所述曲面检测系
统200安装并运行于计算机20。该计算机20与数据库10显示设备30相连接。 数据库IO用于储存物件的标准CAD模型的三角网格曲面数据(以下简称曲面数
据)、扫描物件得到的实际点云数据(以下简称点云数据)以及曲面检测过程中产生的数据。 计算机20执行该曲面检测系统200从数据库10接收曲面数据和点云数据,接收用户的公差设置和颜色设置信息,根据接收的曲面数据与点云数据将点云与曲面对齐,根据对齐后的曲面数据和点云数据计算点云中的各点到曲面的最近距离,确定各最近距离所对应的曲面上的各三角形,根据各最近距离所落入的公差区间用相应颜色标示该曲面上的各三角形。此外,计算机20还用于执行该曲面检测系统200对曲面的颜色进行均衡处理,并依据均衡处理后的曲面数据生成检测报告。 在对实际物件进行扫描时,由于光线或其它原因,有些部位可能没有扫描到点,有些扫描得到的点误差较大,对曲面的颜色进行均衡处理的目的是为了过滤掉点云中的个别误差点、对没有扫描到点的地方用周围的点来平衡,降低在对曲面进行检测过程中由于扫描误差而导致的误差。 显示设备30提供一显示界面用于显示三角网格曲面、扫描物件得到的点云、利用
该系统对曲面进行检测得到的不同颜色标示的曲面和检测报告。 如图2所示,是本发明曲面检测方法较佳实施例的主流程图。 首先,步骤S101,接收用户从数据库IO导入的曲面数据和点云数据。 步骤S102,根据接收的曲面数据与点云数据将点云与曲面对齐。 步骤S103,接收公差设置信息及颜色设置信息。于本实施例中,公差指的是点云
与曲面对齐后点云中的点到曲面的最近距离的值的波动范围。所述公差设置信息包括允
许的最大正公差值(如0. 350)、允许的最下负公差值(如-0. 350)及公差的分段区间,如
将允许的最大正公差值与允许的最小负公差值确定的区间
分成若干个公
差区间[-0. 350,-0. 300], [-0. 300,-0. 250],…,
,
。所述颜色设置信息包括不同公差区间的颜色,如公差区间[-0.350, -0.300]的颜色为深蓝,公差区间[-0. 300,-0. 250]的颜色为天蓝,公差区间
的颜色为粉红,公差区间
的颜色为深红,大于允许的最大正公差值的区间
的颜色为紫色,小于允许的最小负公差值的区间[_°°,-0.350]的颜色为咖啡色。
步骤S104,根据对齐后的曲面数据和点云数据计算对齐后点云中各点到该曲面的最近距离,各最近距离称作原始最近距离。所述对齐后的曲面数据包括对齐后曲面上所有三角形的信息和曲面上所有三角形顶点的信息。各三角形的信息储存于相应三角形的数据结构,各顶点的信息储存于相应顶点的数据结构。曲面上所有三角形的数据结构组成一个队列,该队列称作标记队列;曲面上所有三角形顶点的数据结构组成另一个队列,该队列称作顶点队列。每一个三角形的数据结构用于存储该三角形在该标记队列中的标记信息,该三角形三个顶点的连接顺序,该三个顶点在顶点队列中的标记信息,该三角形的原始最近距离值及原始颜色值、均衡最近距离及均衡颜色值,以及该三角形所在平面的法向量。每一个顶点的数据结构用于存储该顶点的坐标值、该顶点在顶点队列中的标记信息以及以该顶点为顶点的三角形所述标记队列中的标记信息。 步骤S105,根据各原始最近距离得到与各点距离最近的曲面上的三角形。为简
洁起见,下文中称与各最近距离相应的点云中的点落入与各最近距离对应的曲面上的三角
形,例如点云中的点Al与曲面上的三角形al距离最近,则称点Al落入三角形al。 步骤S106,根据各原始最近距离所落入的公差分段区间得到各三角形的颜色值,
各颜色值称作原始颜色值,并将各原始最近距离及各原始颜色值写入相应三角形的数据结
构。各原始最近距离及各原始颜色值也称作各相应三角形的原始最近距离及原始颜色值。 步骤S107,对曲面进行颜色均衡,包括根据用户设置的对曲面进行颜色均衡时
曲面上三角形向外扩展的层数N、各三角形的原始最近距离及原始颜色值重新计算得到各
三角形的均衡最近距离,根据各均衡最近距离得到各三角形的均衡颜色值,将各均衡最近
距离及各均衡颜色值写入相应三角形的数据结构(具体介绍请参见图3)。 步骤S108,分析颜色均衡后的曲面数据,生成曲面检测报告。 如图3所示,是图2中步骤S107的细化流程图。首先,在步骤S201,接收用户设置
的三角形向外扩展的层数N。三角形向外扩展的层数N指的是取一个三角形周围的N层三
角形,以该N层三角形的平均最近距离表示点云与该三角形的最近距离。 步骤S202,初始化曲面上三角形的标记队列和顶点队列,将各三角形在标记队列
中的标记信息写入顶点队列中相应顶点的数据结构(具体介绍请参见图4)。 步骤S203,从三角形标记队列中取出一个三角形(为方便区分,以下称该三角形
为种子三角形)的数据结构,如图7中的种子三角形(1)。 步骤S204,根据该种子三角形的数据结构中储存的该种子三角形各顶点在顶点队列中的标记信息从顶点队列中获取该种子三角形各顶点的数据结构,根据各顶点的数据结构中储存的信息得到该种子三角形周围的N层三角形。如图7所示,由种子三角形(1)的顶点A、B、C得到种子三角形(1)周围的第一层三角形,由该第一层三角形的各顶点可以得到第二层三角形,依次类推,直到得到种子三角形(1)的N层三角形。 步骤S205,检查该N层三角形中是否有三角形中没有点云中的点落入的点,仍旧以图7为例说明,假设N二 l,则由种子三角形(1)的顶点A、B、C可以得到12个三角形,这
7入,如三角形(2)、 (3)、 (5)、 (7)、 (8)、 (9)、 (10)、 (12),也可能没有点云中的点落入(因为扫描时未扫描到点),如三角形(4)、 (6)、 (11)、 (13)。
在步骤S205,若判断N层三角形中都有点云中的点落入,则直接进入步骤S207。
在步骤S205,若判断N层三角形中有三角形中没有点云中的点落入,则进入步骤S206,将该种子三角形的数据结构中的原始最近距离值暂时借给该三角形,例如将种子三角形(1)的原始最近距离值暂时借给三角形(4)、 (6)、 (11)、 (13)。 步骤S207,计算该种子三角形周围的N层三角形的原始最近距离值的平均值,以该平均值作为该种子三角形的均衡最近距离值。 步骤S208,检查曲面上是否还有三角形未充当过种子三角形。 在步骤S208,若判断还有三角形未充当过种子三角形,则流程返回步骤S203,直
到得到曲面上所有三角形的均衡最近距离。需要注意的是,N的取值范围不能过大(最好
不大于5),否则对曲面进行颜色均衡可能导致较大误差。 如图4所示,是图3中步骤S202的细化流程图。 步骤S301,获取曲面上三角形的顶点队列和标记队列。如顶点队列[(XO,YO,ZO), (X1,Y1,Z1), (X2,Y2,Z2), (X3, Y3, Z3),…,(Xn, Yn, Zn)],其中n为整数,表示顶点队列中的第n个顶点;标记队列[(1)-一>(0,1,2), (2)—->(2,1,3)(3)—>(1,4,3),…,(m)-—〉(ml, m2, m3)]。为方便理解,上述标记队列省略了三角形的原始距离值及原始颜色值、均衡最近距离及均衡颜色值,以及该三角形所在平面的法向量。其中,(1) 、 (2) 、 (3) , (m)分别表示该三角形为标记队列中的第1、2、3、m个三角形。(0,1,2)表示三角形(1)的三个顶点分别是顶点队列中的第0、1、2个顶点(X0, Y0,Z0) (X1,Y1,Z1),及(X2, Y2, Z2) 。 (2,1,3)表示三角形(2)的三个顶点分别是顶点队列中的第2、1、3个顶点(X2,Y2,Z2), (Xl,Y1,Z1),及(X3,Y3,Z3)。 (1,4,3)表示三角形(3)的三个顶点分别是顶点队列中的第1、4、3个顶点(XI, Yl, Zl) , (X4, Y4, Z4),及(X3, Y3, Z3)。 步骤S302,从标记队列中取出一个三角形,如三角形(1)一->(0,1,2)。
步骤S303,根据该三角形三个顶点的标记信息将该三角形在标记队列中的标记加入到顶点队列中相应顶点的数据结构,如在顶点队列中第O个顶点(X0,Y0,Z0)中加入三角形标记(l),第l个顶点(X1,Y1,Z1)中加入三角形标记(1),第2个顶点(X2,Y2,Z2)中加入三角形标记(1)。 步骤S304,检查是否还有三角形在标记对列中的标记信息未被加入到顶点队列中相应顶点的数据结构。若还有三角形在标记队列中的标记信息未都被加入到顶点队列中相应顶点的数据结构,则对该三角形自步骤S302开始重复流程直到标记队列中所有三角形的标记信息都加入到顶点对列中相应顶点的数据结构,流程结束,如在(X2, Y2, Z2)中加入三角形标记(2), (X1,Y1,Z1)中加入三角形标记(2), (X3,Y3,Z3)中加入三角形标记(2);在(X1,Y1,Z1)中加入三角形标记(3), (X4,Y4,Z4)中加入三角形标记数(3), (X3,Y3,Z3)中加入三角形标记(3),这样(X2,Y2,Z2)中增加了三角形标记(l),变为(X2,Y2,Z2, (l));顶点(X1,Y1,Z1)中增加了三角形标记(1)、 (2)、 (3),变为(X1,Y1,Z1, (1), (2), (3));顶点(X2,Y2,Z2)中增加了三角形标记(D、(2),变为(X2,Y2,Z2, (1), (2))顶点(X3,Y3,Z3)增加了三角形标记(2)、 (3),变为(X3,Y3,Z3, (2), (3)),通过查找顶点即可查找到该顶点所在的所有三角形。
8
如图5所示,是图2中步骤S108分析颜色均衡后的曲面数据、生成检测报告的一 种方法的细化流程图。 步骤S401,获取三角形的标记队列及公差设置中的允许的最大正公差值、允许的 最小负公差值。 步骤S402,从标记队列中取出一个三角形(记该三角形为三角形B)的数据结构, 根据该数据结构中储存的该三角形B三个顶点的标记信息从顶点队列中获取该三角形B的 三个顶点的数据结构,从各顶点的数据结构中得到各顶点的坐标值。 步骤S403,根据该三角形B的三个顶点坐标值计算得到该三角形B中心点的坐标 值,如(xl, yl, zl)。 步骤S404,根据该三角形B的中心点的坐标值及允许的最大正公差值、允许的最 小负公差值计算得到该三角形B的上公差三角形、下公差三角形的顶点坐标值。
步骤S405,根据该三角形B中心点的坐标值、该三角形B所在平面的向量(如 normal
, normal [1] , normal [2])及该三角形B的均衡最近距离值(如d)计算得到该三 角形B的量测点坐标值(x2, y2, z2), x2 = normal
*d+xl, y2 = normal [l]*d+yl, z2 = normal[2]氺d+zl。 步骤S406,连接该三角形B的中心点(xl,yl,zl)及量测点(x2,y2,z2)得到该三 角形B的量测趋势线。 步骤S407,判断三角形标记队列中是否还有三角形未生成量测趋势线。若还有三 角形未生成量测趋势线,则自步骤S402开始重复流程直到三角形标记队列中所有三角形 都生成量测趋势线后进入步骤S408,输出曲面的量测趋势线图示。 如图8是图5中生成量测趋势线的图示。曲面上所有三角形的上、下公差三角形 组成曲面的上、下公差曲面,若量测趋势线伸出上、下公差曲面,则表明该量测趋势线所对 应的三角形平面的误差超出了允许的误差范围。 如图6所示,是图2中步骤S108分析颜色均衡后的曲面数据、生成检测报告的另 一种方法的细化流程图。 步骤S501,输入各公差分段区间的取值范围,如0. 300-0. 350。
步骤S502,获取各公差分段区间内均衡最近距离的数量。 步骤S503,计算各公差分段区间内均衡最近距离的数量与曲面上所有均衡最近距 离数量的百分比。 步骤S504输出比例图。用户可根据需要选择以直方图、柱形图、饼图或其它图式 输出所述比例图。 对于图2中步骤S108分析颜色均衡后的曲面数据、生成检测报告的方法还可用
数据报表的形式,如计算并输出均衡最近距离的平均平方和,^~^-^总平均距离
<formula>formula see original document page 9</formula><formula>formula see original document page 10</formula>
其中,nl为均衡最近距离值的总数量,ml
1
为均衡最近距离值大于等于0的个数,k为均衡最近距离值小于0的个数,nl = ml+k。
权利要求
一种曲面检测方法,其特征在于,该方法包括以下步骤(a)从数据库接收物件CAD模型的三角网格曲面数据及扫描物件得到的点云数据;(b)根据所述三角网格曲面数据及点云数据将点云与三角网格曲面对齐;(c)接收公差设置信息及颜色设置信息,包括允许的最大正公差值、允许的最小负公差值及不同公差分段区间的颜色值;(d)计算对齐后点云中各点到三角网格曲面的最近距离,各最近距离称作原始最近距离;(e)根据各原始最近距离确定三角网格曲面上与点云中各点距离最近的三角形;(f)根据各原始最近距离所属公差分段区间得到各三角形的原始颜色值,将该各原始最近距离及各原始颜色值储存至相应三角形的数据结构;(g)根据各三角形的数据结构中的原始最近距离、原始颜色值及用户设置的向三角形周围扩展的层数对三角网格曲面进行颜色均衡处理,计算得到各三角形的均衡最近距离及均衡颜色值;及(h)分析颜色均衡后的三角网格曲面数据,生成三角网格曲面检测报告。
2. 如权利要求1所述的曲面检测方法,其特征在于,其中步骤(g)包括以下步骤 (gl)接收用户设置的对三角形进行颜色均衡时向三角形周围扩展的层数N, N为正整数;(g2)初始化三角网格曲面上所有三角形的标记队列和顶点队列,将标记队列中各三角 形数据结构中储存的该三角形在标记队列中的标记信息写入顶点队列中相应顶点的数据 结构;(g3)从标记队列中获取一个三角形的数据结构,记该三角形为三角形A ;(g4)根据该三角形A的数据结构中储存的该三角形A各顶点在顶点队列中的标记信息 从顶点队列中获取该三角形A各顶点的数据结构,根据各顶点的数据结构中储存的信息得 到该三角形A周围的N层三角形;(g5)判断该N层三角形中是否每个三角形的数据结构中都有原始最近距离值;(g6)若该N层三角形中每个三角形都有的数据结构中都有原始最近距离值,则计算该 N层三角形的所有原始最近距离值的平均值,称该平均值作为该三角形A的均衡最近距离 值,根据该均衡最近距离值所属公差分段区间得到该三角形A的均衡颜色值,将该均衡最 近距离值及均衡颜色值写入该三角形A的数据结构;(g7)判断曲面上是否还有三角形未计算均衡最近距离;及(g8)若曲面上还有三角形未计算均衡最近距离,则返回从三角形标记队列中获取三角 形的步骤。
3. 如权利要求2所述的曲面检测方法,其特征在于,若步骤(g5)判断该N层三角形中 有三角形的数据结构中无原始最近距离值,则执行以下步骤将该三角形A的原始最近距离值暂时借给数据结构中无原始最近距离值的三角形;及转入计算该N层三角形的平均最近距离的步骤。
4. 如权利要求2所述的曲面检测方法,其特征在于,其中步骤(g2)包括以下步骤 获取所有三角形的顶点队列和标记队列; 从标记队列中取出一个三角形的数据结构;根据该数据结构中储存的该三角形三个顶点的标记信息将该三角形在标记队列中的 标记信息写入顶点队列中相应顶点的数据结构;判断是否还有三角形在标记队列中的标记信息未写入顶点队列中相应顶点的数据结 构;及若还有三角形在标记队列中的标记信息未写入顶点队列中相应顶点的数据结构,则返 回从标记队列中取三角形的步骤。
5. 如权利要求2所述的曲面检测方法,其特征在于,所述顶点队列包括曲面上各三角 形每个顶点的数据结构,各顶点的数据结构中储存了该顶点在顶点队列中的标记和该顶点 的坐标信息;所述标记队列包括曲面上各三角形的数据结构,各三角形的数据结构中储存 了该三角形在标记队列中的标记信息,该三角形三个顶点在顶点队列中的标记,该三角形 的原始最近距离值和原始颜色值、均衡最近距离值和均衡颜色值,以及该三角形所在平面 的法向量。
6. 如权利要求1所述的曲面检测方法,其特征在于,其中步骤(h)包括以下步骤 获取三角形的标记队列及公差设置中允许的最大正公差值、允许的最小负公差值; 从标记队列取出一个三角形的数据结构,根据该数据结构中储存的该三角形各顶点的标记信息从顶点队列中获取该三角形各顶点的数据结构,从各顶点的数据结构中得到各顶 点的坐标值;根据该三角形的各顶点坐标值计算该三角形中心点的坐标值;根据该三角形的中心点的坐标值及允许的最大正公差值、允许的最小负公差值计算得 到该三角形的上、下公差三角形的顶点坐标值;根据该三角形中心点的坐标值、三角形所在平面的法向量及该三角形的均衡最近距离 值计算该三角形的量测点坐标值;连接该三角形的中心点与量测点,得到该三角形的量测趋势线;判断是否还有三角形未生成量测趋势线;及若所有三角形都已生成量测趋势线,则输出曲面的量测趋势线图,若还有三角形未生 成量测趋势线,则返回从标记队列取三角形数据结构的步骤。
7. 如权利要求1所述的曲面检测方法,其特征在于,其中步骤(h)包括以下步骤 输入各公差分段区间的取值范围; 获取各公差分段区间中均衡最近距离值的数量;计算各公差分段区间均衡最近距离值的数量占所有均衡最近距离数量的百分比;及 输出比例图。
8. —种曲面检测系统,运行于计算机,其特征在于,该曲面检测系统用于 从数据库接收曲面数据和点云数据;接收用户的公差设置和颜色设置信息,包括公差的分段区间及不同公差区间对应的颜 色值;根据接收的曲面数据与点云数据将点云与曲面对齐; 根据对齐后的曲面数据和点云数据计算点云中各点到曲面的最近距离; 确定各最近距离所对应的曲面上的各三角形,根据各最近距离所落入的公差区间以相 应颜色标示各最近距离所对应的曲面上的各三角形。
9.如权利要求8所述的曲面检测系统,其特征在于,该曲面检测系统还用于 根据用户设置的对曲面进行颜色均衡时曲面上三角形向外扩展的层数、曲面上各三角 形对应的最近距离及颜色值重新计算得到曲面上各三角形与点云的均衡最近距离,根据各 均衡最近距离所落入的公差区间得到各三角形的均衡颜色值,根据各三角形的均衡颜色值 重新以相应颜色标示曲面上的各三角形。
全文摘要
本发明提供一种曲面检测方法,该方法根据扫描物件得到的实际点云的点与物件的CAD模型的三角网格曲面的最近距离所属的不同公差分段区间用不同颜色标示CAD模型的三角网格曲面上的三角形,并对CAD模型的三角网格曲面加以适当的颜色均衡处理,分析颜色均衡后的三角曲面数据并生成直观的检测报告,提高了对复杂曲面进行检测的精度和速度。本发明还提供一种曲面检测系统。
文档编号G01B11/24GK101750030SQ20081030632
公开日2010年6月23日 申请日期2008年12月17日 优先权日2008年12月17日
发明者吴新元, 张旨光, 王敏, 黄华 申请人:鸿富锦精密工业(深圳)有限公司;鸿海精密工业股份有限公司