一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种最小外接圆的快速计算方法及系统

2022-06-30 01:23:46 来源:中国专利 TAG:


1.本发明涉及精密测量领域,尤其涉及一种圆度误差评估的最小外接圆的快速计算方法。


背景技术:

2.具有旋转对称的轴孔类零件是现在机电设备的重要构成部件,此类零件的质量对整个机电设备的装配及整个系统的可靠运行至关重要。圆度误差是分析评定轴孔类零件的轴截面形状精度的重要几何要素,直接关系着轴孔类零件的质量,在工程实践中有重要意义。
3.最小外接圆误差对于旋转对称的轴类零件的轴截面圆度误差和圆柱度误差评定至关重要,同时也是主轴跳动评估的重要手段。对于最小外接圆误差的研究主要集中在寻找鲁棒、且高效的算法来满足现代工业中精密测量产生的高精度、大数据点集的快速评估需求。最小外接圆误差的关键是快速的找到待评估点集的最小外接圆。现有的外接圆计算方法都无法快速的计算大数据点集的外接圆。
4.针对以上问题,本发明从圆度误差评定的几何特性,提出了基于包络向量的有序评估点集合的包络点的快速计算方法,结合包络点压缩技术将用于计算最小外接圆的关键点精简到一个常数范围内,基于该有限的关键点可以在极短的时间求取最小外接圆,进而可以快速的实现轴类工件的圆度误差的最小外接圆及误差评估。该方法可以实现圆度测量时大数据点集的最小外接圆及误差的快速评估,可用于圆度仪的最小外接圆误差评估。


技术实现要素:

5.本发明要解决的技术问题在于针对现有技术中无法高效处理大数据点集最小外接圆及误差的缺陷,提供一种圆度误差评估的最小外接圆的快速计算方法。
6.本发明解决其技术问题所采用的技术方案是:
7.提供一种最小外接圆的快速计算方法,包括以下步骤:
8.s1、计算有序评估点集的初始包络点,具体由有序评估点集的任意一点为起点向该点两侧沿圆周方向依搜索长度m分别构建m个顺时针向量和m个逆时针向量,寻找所构建的m个顺时针向量中最左向量和m个逆时针向量的最右向量,如果所述最左向量与最右向量的夹角小于pi,则该点为初始包络点,且所述最左向量和最右向量的端点分别为左初始包络点和右初始包络点;
9.s2、搜寻有序评估点集的其余包络点,具体以右初始包络点为起点向该点顺时针依搜索长度m构建m个顺时针向量,所构建的m个顺时针向量中最左的向量为左包络向量,所述左包络向量对应的端点为新的包络点,再以新的包络点继续沿顺时针搜寻,直到新的包络点为左初始包络点,包络点搜寻结束,形成包络点集合;或者以左初始包络点为起点向该点逆时针依搜索长度m构建m个逆时针向量,所构建的m个逆时针向量中最右的向量为右包络向量,所述右包络向量对应的端点为新的包络点,再以新的包络点继续沿逆时针搜寻,直
到新的包络点为右初始包络点,包络点搜寻结束,形成包络点集合;
10.s3、包络点压缩,具体计算包络点集合的最小二乘圆,剔除落在包络点集合最小二乘圆内的包络点,形成关键包络点集合,如果关键包络点集合中点的个数大于包络门限q,则重复步骤s3;
11.s4,求最小外接圆,具体利用穷举法和随机增量法求关键包络点集合的最小外接圆,作为有序评估点集的最小外接圆。
12.接上述技术方案,所述有序评估点集为沿圆周方向顺时针或逆时针排序的圆度测量采样点的集合。
13.接上述技术方案,搜索长度m的计算方法如下
14.m=ceil(nk) m
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
15.其中,ceil为向上求整函数,n为有序评估点集中点的个数,k为收敛指数且0.2≤k≤0.8,m为补偿常数且10≤m≤100。
16.接上述技术方案,m个顺时针向量中最左向量判断方式为:
17.v
el
×vil
≤0,i=1,2,

,m
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
18.其中,
×
表示向量积,v
el
为最左向量,v
il
为m个顺时针向量中的任意向量。
19.接上述技术方案,m个逆时针向量中最右向量判断方式为:
20.v
ir
×ver
≤0,i=1,2,

,m
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
21.其中,
×
表示向量积,v
er
为最右向量,v
ir
为m个逆时针向量中的任意向量。
22.接上述技术方案,步骤3中包络门限q的取值为6≤q≤n/2,其中n为有序评估点集中点的个数。
23.接上述技术方案,步骤s4中利用穷举法求关键包络点集合的最小外接圆具体包括:计算由关键包络点集合中任意两点或三点构成的所有外接圆,其中半径最小的外接圆即为关键包络点集合的最小外接圆。
24.接上述技术方案,步骤s4中利用随机增量法求关键包络点集合的最小外接圆的步骤具体为:
25.s41、随机取关键包络点集合中的两点构建初始最小外接圆d;
26.s42、从剩余的关键包络点中随机取一个点p,如果p点在最小外接圆d外,则构建以p为边界点的包含初始最小外接圆d中所有点的最小外接圆d’;
27.s43、重复s42,直到所有的关键包络点都被处理,最后的最小外接圆即为关键包络点集合的最小外接圆。
28.本发明还提供一种最小外接圆的快速计算系统,包括:
29.初始包络点计算模块,用于计算有序评估点集的初始包络点,具体由有序评估点集的任意一点为起点向该点两侧沿圆周方向依搜索长度m分别构建m个顺时针向量和m个逆时针向量,寻找所构建的m个顺时针向量中最左向量和m个逆时针向量的最右向量,如果所述最左向量与最右向量的夹角小于pi,则该点为初始包络点,且所述最左向量和最右向量的端点分别为左初始包络点和右初始包络点;
30.包络点集合搜寻模块,用于搜寻有序评估点集的其余包络点,具体以右初始包络点为起点向该点顺时针依搜索长度m构建m个顺时针向量,所构建的m个顺时针向量中最左的向量为左包络向量,所述左包络向量对应的端点为新的包络点,再以新的包络点继续沿
顺时针搜寻,直到新的包络点为左初始包络点,包络点搜寻结束,形成包络点集合;或者以左初始包络点为起点向该点逆时针依搜索长度m构建m个逆时针向量,所构建的m个逆时针向量中最右的向量为右包络向量,所述右包络向量对应的端点为新的包络点,再以新的包络点继续沿逆时针搜寻,直到新的包络点为右初始包络点,包络点搜寻结束,形成包络点集合;
31.包络点压缩模块,具体用于计算包络点集合的最小二乘圆,剔除落在包络点集合最小二乘圆内的包络点,形成关键包络点集合,如果关键包络点集合中点的个数大于包络门限q,则重复进行;
32.最小外接圆计算模块,具体利用穷举法和随机增量法求关键包络点集合的最小外接圆,作为有序评估点集的最小外接圆。
33.本发明还提供一种计算机可读存储介质,其内存储有可被处理器执行的计算机程序,该计算机程序执行上述技术方案的最小外接圆的快速计算方法。
34.本发明产生的有益效果是:本发明提供的一种最小外接圆的快速计算方法,利用包络向量快速求取有序点集的包络点,再结合包络点压缩技术将用于计算最小外接圆的关键点精简到一个常数范围内,基于该有限的关键点可以在极短的时间求取最小外接圆,提高圆度测量时大样本点集最小外接圆误差评定效率。本发明的方法,实现了工件的圆度误差的最小外接圆误差的快速评估,可以在大样本有序点集的最小外接圆误差评估,具有很好的实用价值。
附图说明
35.下面将结合附图及实施例对本发明作进一步说明,附图中:
36.图1是本发明的最小外接圆的快速计算方法流程;
37.图2是本发明的初始包络点搜寻及包络点搜寻示意图;
38.图3是本发明的样本点集大小与其外包络点个数及最小外接圆误差计算耗时关系。
具体实施方式
39.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
40.对于一个给定的圆度测量的有序点集(沿圆周顺时针或者逆时针依次测量获得的点集),由点集中任意两点或三点确定一个圆,如果点集中其它点都位于该圆上或内部,则该圆定义为有序点集的外接圆,所有外接圆中半径最小的圆为有序点集的最小外接圆。最小外接圆半径与有序点集中的点到最小外接圆圆心的最近距离的差为有序点集的最小外接圆误差。从算法实现的角度来说,参与运算的点越少,算法的效率就越高。
41.如图1所示,提供一种最小外接圆的快速计算方法,包括以下步骤:
42.s1、计算有序评估点集的初始包络点,具体由有序评估点集的任意一点为起点向该点两侧沿圆周方向依搜索长度m分别构建m个顺时针向量和m个逆时针向量,如图2所示,寻找所构建的m个顺时针向量中最左向量v
el
和m个逆时针向量的最右向量v
er
,如果所述最
左向量与最右向量的夹角小于pi,则该点为初始包络点pe,且所述最左向量和最右向量的端点分别为左初始包络点p
el
和右初始包络点p
er

43.可以根据最左向量与最右向量的向量集与向量的模及夹角的关系来计算二者之间夹角的大小,由于求夹角需要计算反正弦或反余弦,计算量比较大。实际应用时可以通过夹角的正弦值或余弦值结合正余弦函数的单调性来判断夹角是否小于pi,可以提高计算效率。
44.s2、搜寻有序评估点集的其余包络点,具体以右初始包络点为起点向该点顺时针依搜索长度m构建m个顺时针向量,所构建的m个顺时针向量中最左的向量为左包络向量,所述左包络向量对应的端点为新的包络点,再以新的包络点继续沿顺时针搜寻,直到新的包络点为左初始包络点,包络点搜寻结束,形成包络点集合;或者以左初始包络点为起点向该点逆时针依搜索长度m构建m个逆时针向量,所构建的m个逆时针向量中最右的向量为右包络向量,所述右包络向量对应的端点为新的包络点,再以新的包络点继续沿逆时针搜寻,直到新的包络点为右初始包络点,包络点搜寻结束,形成包络点集合。
45.s3、包络点压缩,具体计算包络点集合的最小二乘圆,剔除落在包络点集合最小二乘圆内的包络点,形成关键包络点集合,如果关键包络点集合中点的个数大于包络门限q,则重复步骤s3。
46.点集的最小二乘圆是根据点集结合最小二乘法计算的一个参考圆,点集中的点到该圆距离的误差的平方和最小。
47.s4、求最小外接圆,具体利用穷举法和随机增量法求关键包络点集合的最小外接圆,作为有序评估点集的最小外接圆。
48.进一步地,有序评估点集为沿圆周方向顺时针或逆时针排序的圆度测量采样点的集合。利用三坐标测量机,特别是圆度仪等轮廓测量设备进行圆度测量,基本上都是按照圆周方法顺时针或者逆时针测量,因此生成的测量点集本身就为有序点集。
49.进一步地,搜索长度m的计算方法如下
50.m=ceil(nk) m
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
51.其中,ceil为向上求整函数,n为有序评估点集中点的个数,k为收敛指数且0.2≤k≤0.8,m为补偿常数且10≤m≤100。由于进行圆度测量的有序点集合都为类圆点集,基于每个包络点只需搜索顺序方向的若干点,必然会有包络向量,因此可以在线性时间内完成有序点集的包络点的求取。实际应用中,对于精度高的工件产生的测量点集合,k可以选的小一些,表面精度低的工件产生的测量点集合,k可以适当选的大一些。对于个数比较少的点集,通过m进行补偿,保证在搜索长度m内不会错误判断包络向量。
52.进一步地,m个顺时针向量中最左向量判断方式为:
53.v
el
×vil
≤0,i=1,2,

,m
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
54.其中,
×
表示向量积,v
el
为最左向量,v
il
为m个顺时针向量中的任意向量。
55.进一步地,m个逆时针向量中最右向量判断方式为:
56.v
ir
×ver
≤0,i=1,2,

,m
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
57.其中,
×
表示向量积,v
er
为最右向量,v
ir
为m个逆时针向量中的任意向量。
58.进一步地,步骤3中包络门限q的取值为6≤q≤n/2,其中n为有序评估点集中点的个数。具体应用时,可以根据对测量的工件的表面形貌进行初步判断,对于精密的工件,包
络门限q可以选大一下;一般情况下,包络门限设置在100以内即可。
59.进一步地,步骤s4中利用穷举法求关键包络点集合的最小外接圆具体包括:计算由关键包络点集合中任意两点或三点构成的所有外接圆,其中半径最小的外接圆即为关键包络点集合的最小外接圆。
60.进一步地,步骤s4中利用随机增量法求关键包络点集合的最小外接圆的步骤具体为:
61.s41、随机取关键包络点集合中的两点构建初始最小外接圆d;
62.s42、从剩余的关键包络点中随机取一个点p,如果p点在最小外接圆d外,则构建以p为边界点的包含初始最小外接圆d中所有点的最小外接圆d’;
63.s43、重复s42,直到所有的关键包络点都被处理,最后的最小外接圆即为关键包络点集合的最小外接圆。
64.压缩后的关键外包络点集pk对于最小外接圆的贡献基本上对等的,可以认为一个随机的点集,随机增量算法描述如下:
65.输入:关键外包络点集pk,决定最小外接圆的关键点集r
66.输出:最小外接圆的圆心及半径
67.function c=welzl_ria_mec(pk,r,n)
68.if n==2||length(r)》=3
69.if n==2
70.r=[r;pk(1);pk(2)];
[0071]
end
[0072]
cp=circleby2or3points(r);
[0073]
end
[0074]
从pk中随机取一个点tp作为随机增量
[0075]
c=welzl_ria_mec(pk,r,n-1);
[0076]
if tp inside c
[0077]
return;
[0078]
end
[0079]
r=[r;tp];
[0080]
c=welzl_ria_mec(pk,r,n-1);
[0081]
end
[0082]
对外包络点集压缩后得到的关键外包络点集pk,其个数可以限制在一个常数范围,此时采用随机增量算法来求取pk的最小外接圆,其时间消耗基本是一个常数,相对于有序点集合的外包络点求取可以忽略。
[0083]
利用在一个标准圆的半径上叠加随机误差的方法,设置n从0.1w(1000)点到50w(500 000)点,步进为1000点,产生500个用于仿真的有序点集。利用本专利的方法对该500个有序点集分别进行了外包络点搜寻、最小外接圆及误差计算,其中仿真的有序点集的外包络点个数及最小外接圆误差计算耗时与有序点集大小n的关系如图3所示。从图3上可以看出,有序点集的外包络点个数约为有序点集大小的2%,计算点集的外包络点可以有效减少参与点集最小外接圆计算的点集个数,提高效率。外包点压缩时取包络门限为q=100,即
将关键外包络点pk的点集个数缩减到100个以内,仿真点集的最小外接圆误差计算耗时与点集数n之间呈线性关系,50万点的大样本点集也能在0.4s以内获得计算结果。
[0084]
本发明实施例的最小外接圆的快速计算系统,包括:
[0085]
初始包络点计算模块,用于计算有序评估点集的初始包络点,具体由有序评估点集的任意一点为起点向该点两侧沿圆周方向依搜索长度m分别构建m个顺时针向量和m个逆时针向量,寻找所构建的m个顺时针向量中最左向量和m个逆时针向量的最右向量,如果所述最左向量与最右向量的夹角小于pi,则该点为初始包络点,且所述最左向量和最右向量的端点分别为左初始包络点和右初始包络点;
[0086]
包络点集合搜寻模块,用于搜寻有序评估点集的其余包络点,具体以右初始包络点为起点向该点顺时针依搜索长度m构建m个顺时针向量,所构建的m个顺时针向量中最左的向量为左包络向量,所述左包络向量对应的端点为新的包络点,再以新的包络点继续沿顺时针搜寻,直到新的包络点为左初始包络点,包络点搜寻结束,形成包络点集合;或者以左初始包络点为起点向该点逆时针依搜索长度m构建m个逆时针向量,所构建的m个逆时针向量中最右的向量为右包络向量,所述右包络向量对应的端点为新的包络点,再以新的包络点继续沿逆时针搜寻,直到新的包络点为右初始包络点,包络点搜寻结束,形成包络点集合;
[0087]
包络点压缩模块,具体用于计算包络点集合的最小二乘圆,剔除落在包络点集合最小二乘圆内的包络点,形成关键包络点集合,如果关键包络点集合中点的个数大于包络门限q,则重复进行;
[0088]
最小外接圆计算模块,具体利用穷举法和随机增量法求关键包络点集合的最小外接圆,作为有序评估点集的最小外接圆。
[0089]
该系统主要用于实现上述方法实施例的最小外接圆的快速计算方法,其余功能在此不赘述。
[0090]
本技术还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质在被处理器执行时实现方法实施例的最小外接圆的快速计算方法。
[0091]
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献