空心涡轮叶片陶瓷型芯检测截面线点云外轮廓过滤方法

文档序号:31710858发布日期:2022-10-04 18:48阅读:65来源:国知局

1.本发明属于航空发动机技术领域,具体涉及一种陶瓷型芯检测截面线点云外轮廓过滤方法。


背景技术:

2.空心涡轮叶片对航空发动机的性能与寿命有重要的影响,由于其空心结构的复杂性,通常采用熔模精密铸造工艺制造,其中需要制造与空心结构对应的陶瓷型芯作为浇注模具的一部分,在浇注完成后再去除型芯形成叶片的空心结构。在这一过程中,陶瓷型芯的尺寸精度对最终的叶片内腔和壁厚精度有着重要的影响。因此,需要在陶瓷型芯制造完成后,对它的外观进行三维扫描检测,并于叶片的外轮廓进行匹配,判断该型芯能否将壁厚误差控制在合理范围之内。
3.叶片的外轮廓通常由叶盆、叶背、前缘、尾缘四部分组成,是一条光滑的样条曲线。而空心涡轮叶片的内腔结构非常复杂,有大量的流道帮助叶片进行快速冷却,这造成了陶瓷型芯的三维结构有许多凹槽和孔,三维扫描得到的结果并不是外轮廓形状的简单收缩。因此,需要通过对扫描得到的截面线进行过滤,将凹槽、孔等特征的测量点去除,仅保留陶瓷型芯的叶盆、叶背、前缘、尾缘的外轮廓点作为与叶片外轮廓配准的依据,才能够得到合理的匹配结果。当前的点云过滤方法以手工筛选为主,效率低,难以进行批量化处理,应用范围收到较大限制。
4.该问题可以描述成一个给定点云求解凹包外轮廓的问题,常用的方法是滚球法。但是,滚球法的参数对最终形成的轮廓质量有较大的影响,而轮廓的质量评估方法尚不明确。


技术实现要素:

5.为了克服现有技术的不足,本发明提供了一种空心涡轮叶片陶瓷型芯检测截面线点云外轮廓过滤方法,该方法基于滚球法计算给定截面线点云的外轮廓,并通过参数迭代法搜索最优的滚球半径。然后,通过点云的旋转迭代求解点云的最小包络长方形,以此为基础确定点云在长轴上的极大值和极小值点,并据此判断前缘和尾缘的范围。本发明基于几何和迭代算法,解决了实际生产中涡轮叶片陶瓷型芯三维检测数据处理效率低的问题,实现了点云外轮廓点筛选的自动化,其实现方法简单,计算效率高,可拓展性强,具有很好的适用性。
6.本发明解决其技术问题所采用的技术方案包括如下步骤:
7.步骤1:获取陶瓷型芯截面的点云数据坐标数据,提取其x、y坐标数据组成初始点集p0;
8.步骤2:设定初始参数值,包括α、s、θ;1/α表示滚球法中球的半径,s表示所述过滤方法中α迭代时的变化步长,θ表示所述过滤方法形成的多边形的第一长边和第二长边的比值上限;
9.步骤3:建立循环,从α的初始值开始,每次α增加固定步长s;具体步骤如下:
10.步骤3-1:以1/α为滚球法的半径长,用滚球法计算点云的外轮廓,得到p0的一个子集p

={p1′
,

,pn′
},其中p
′n={xn,yn},n=1,2,

,n表示第n个点的坐标,前后两个点相连组成外轮廓多边形的一个边;
11.步骤3-2:计算每个边的边长,第n条边的边长按如下公式计算:
[0012][0013]
步骤3-3:将边长集合按照从大到小的顺序排序,得到前两个边长记为l
max1
和l
max2
,若:
[0014][0015]
则结束循环,以当前得到的外轮廓点集p

为最终过滤后的点集;否则,重复步骤3直到满足式(2)继续循环;
[0016]
步骤4:得到最终外轮廓点集p

中全部点在x和y轴上的最大值x
max
、y
max
和最小值x
min
、y
min
,形成包络长方形a1b1c1d1,其中a1={x
max
,y
max
},b1={x
max
,y
min
},c1={x
min
,y
max
},d1={x
min
,y
min
};将最终外轮廓点集p

旋转不同的角度,找到面积最小的包络长方形abcd;每次旋转的角度通过如下方法计算:
[0017]
步骤4-1:用如下公式计算第n条边的斜率:
[0018][0019]
然后,计算第n条边与x轴正方向的夹角:
[0020]
βn=arctan(kn)(4)
[0021]
步骤4-2:依次计算每条边与x轴正方向的夹角β={β1,

,βn},对β从小到大排序;
[0022]
步骤4-3:选取最终外轮廓点集p

的中心点[xc,yc]为旋转原点,依次将最终外轮廓点集p

旋转βn,旋转后的坐标按下式计算:
[0023][0024]
找到其中面积最小的包络长方形,并将该包络长方形以及其中的点集进一步旋转到长方形长边与x轴平行且叶盆朝上的位置,得到最终点集p
final
作为最终的解;
[0025]
步骤5:根据旋转到最小包络长方形时的点集坐标,得到最小包络长方形在x和y轴上的最大值x

max
、y

max
和最小值x

min
、y

min
;找到x

max
和x

min
分别在最小包络长方形点集中对应坐标的点p
max
、p
min
∈p
final
分别作为尾缘和前缘的中点,如果x

max
或x

min
对应多个不同y坐标的点,若有奇数个y坐标的点,则选择多个y坐标的中值,若有偶数个y坐标的点,则取中间两个y坐标中的任意一个,作为前缘或尾缘的中点的纵坐标;
[0026]
步骤6:设定前缘、尾缘点的半径范围r1、r2;以p
min
为圆心r1为半径,所形成的圆范围内的点定义为前缘点集;p
max
为圆心r2为半径,所形成的圆范围内的点定义为尾缘点集。
[0027]
进一步地,所述步骤2中设定初始参数值,α=0,s=0.01,θ∈[1,2]。
[0028]
本发明的有益效果如下:
[0029]
本发明能够根据给定的空心涡轮叶片陶瓷型芯截面线点云,快速筛选出该陶瓷型芯的外轮廓点集。首先,通过参数寻优算法尽可能准确地将属于外轮廓的点包含进来,同时
将不属于外轮廓的点剔除出去。其次,基于最小包络长方形方法确定叶片的前缘和尾缘区域。该方法实现流程简单,所需设置的参数少,计算复杂度低,筛选的准确率高,部署难度低,能够适用于不同型号的陶瓷型芯,因此更加适用于实际生产现场。
附图说明
[0030]
图1是本发明涡轮叶片陶瓷型芯检测截面线点云示意图。
[0031]
图2是本发明实施例滚圆法求得的外轮廓多边形和对应点集。
[0032]
图3是本发明实施例最小包络长方形示意图。
[0033]
图4是本发明实施例前缘尾缘区域示意图。
具体实施方式
[0034]
下面结合附图和实施例对本发明进一步说明。
[0035]
一种空心涡轮叶片陶瓷型芯检测截面线点云外轮廓过滤方法,包括如下步骤:
[0036]
步骤1:获取陶瓷型芯截面的点云数据坐标数据,提取其x、y坐标数据组成初始点集p0;
[0037]
步骤2:设定初始参数值,包括α、s、θ;1/α表示滚球法中球的半径,s表示所述过滤方法中α迭代时的变化步长,θ表示所述过滤方法形成的多边形的第一长边和第二长边的比值上限;
[0038]
步骤3:建立循环,从α的初始值开始,每次α增加固定步长s;由于当α很小时,滚球法求得的结果趋向于凸包,满足叶背、前缘、尾缘部分的形状,但无法满足叶盆的凹陷形状。因此,本发明提出边长判断法,从α的小取值开始逐渐增大,当边长分布变均匀时结束,具体步骤如下:
[0039]
步骤3-1:以1/α为滚球法的半径长,用滚球法计算点云的外轮廓,得到p0的一个子集p

={p1′
,

,pn′
},其中p
′n={xn,yn},n=1,2,

,n表示第n个点的坐标,前后两个点相连组成外轮廓多边形的一个边;
[0040]
步骤3-2:计算每个边的边长,第n条边的边长按如下公式计算:
[0041][0042]
步骤3-3:将边长集合按照从大到小的顺序排序,得到前两个边长记为l
max1
和l
max2
,若:
[0043][0044]
则结束循环,以当前得到的外轮廓点集p

为最终过滤后的点集;因为,理想的陶瓷型芯外轮廓中边长的分布应当比较均匀,若存在一条边明显长于其余的边很多,则表示当前的α过小。否则,重复步骤3直到满足式(2)继续循环;
[0045]
步骤4:得到最终外轮廓点集p

中全部点在x和y轴上的最大值x
max
、y
max
和最小值x
min
、y
min
,形成包络长方形a1b1c1d1,其中a1={x
max
,y
max
},b1={x
max
,y
min
},c1={x
min
,y
max
},d1={x
min
,y
min
};将最终外轮廓点集p

旋转不同的角度,找到面积最小的包络长方形abcd;每次旋转的角度通过如下方法计算:
[0046]
步骤4-1:用如下公式计算第n条边的斜率:
[0047][0048]
然后,计算第n条边与x轴正方向的夹角:
[0049]
βn=arctan(kn)(4)
[0050]
步骤4-2:依次计算每条边与x轴正方向的夹角β={β1,

,βn},对β从小到大排序;
[0051]
步骤4-3:选取最终外轮廓点集p

的中心点[xc,yc]为旋转原点,依次将最终外轮廓点集p

旋转βn,旋转后的坐标按下式计算:
[0052][0053]
找到其中面积最小的包络长方形,并将该包络长方形以及其中的点集进一步旋转到长方形长边与x轴平行且叶盆朝上的位置,得到最终点集p
final
作为最终的解;
[0054]
步骤5:根据旋转到最小包络长方形时的点集坐标,得到最小包络长方形在x和y轴上的最大值x

max
、y

max
和最小值x

min
、y

min
;找到x

max
和x

min
分别在最小包络长方形点集中对应坐标的点p
max
、p
min
∈p
final
分别作为尾缘和前缘的中点,如果x

max
或x

min
对应多个不同y坐标的点,若有奇数个y坐标的点,则选择多个y坐标的中值,若有偶数个y坐标的点,则取中间两个y坐标中的任意一个,作为前缘或尾缘的中点的纵坐标;
[0055]
步骤6:设定前缘、尾缘点的半径范围r1、r2;以p
min
为圆心r1为半径,所形成的圆范围内的点定义为前缘点集;p
max
为圆心r2为半径,所形成的圆范围内的点定义为尾缘点集。
[0056]
一般以α=0为初始值,s的值可设定在0.01左右能够达到比较好的求解效率和搜索颗粒度,θ一般取[1,2]范围内的值。
[0057]
具体实施例:
[0058]
本实施例是在windows11系统中运行的python3.9开发环境中进行程序开发,程序运行于一台笔记本电脑,cpu为intelcorei7-1165g7。
[0059]
如图1所示,本实施例的具体流程如下:
[0060]
步骤一:将截面线点云坐标数据转存为txt格式,并通过readline()函数将数据逐行读入程序,提取其x、y坐标数据组成初始点集p0,如图1所示;
[0061]
步骤二:设定初始参数值,取α=0,s=0.01,θ=1.5;
[0062]
步骤三:建立循环,从α=0开始,每次α增加固定步长s。每次循环进行如下子步骤的计算:
[0063]
1)以1/α为滚球法的半径长,调用python中的alphashape工具包,将α值输入函数,用滚球法计算点云的外轮廓,得到p0的一个子集p

={p1′
,

,pn′
},其中pn′
={xn,yn},包含点的顺序,前后两个点相连组成外轮廓多边形的一个边;
[0064]
2)通过循环遍历每个所获得的多边形的边,计算每个边的边长,第n条边的边长按如下公式计算:
[0065][0066]
3)调用numpy工具包中的sort()函数,将边长集合按照从大到小的顺序排序,得到前两个边长记为l
max1
和l
max2
,若,
[0067][0068]
则结束循环,以当前得到的外轮廓点集p

为最终过滤后的点集。否则,继续循环。最终结果如图2所示;
[0069]
步骤四:基于当前得到的最终轮廓点集p

,搜索最小包络长方形:
[0070]
1)计算形成的多边形每个边与x轴正方向的夹角β={β1,

,βn};
[0071]
2)遍历每个角度,得到所有点在每次旋转后的x和y轴上的最大值x
max
、y
max
和最小值x
min
、y
min
,形成包络长方形a1b1c1d1,其中a={x
max
,y
max
},b={x
max
,y
min
},c={x
min
,y
max
},d={x
min
,y
min
},找到面积最小的包络长方形abcd,并将该包络长方形及其中点集进一步旋转到长方形长边与x轴平行且叶盆朝上的位置,得到最终点集p
final
作为最终的解,如图3所示;
[0072]
步骤五:根据旋转到最小包络长方形时的点集坐标,得到x

max
、y

max
和最小值x

min
、y

min
。找到x

max
和x

min
对应坐标的点p
max
、p
min
∈p
final
分别作为尾缘和前缘的中点作为前缘和尾缘的中点;
[0073]
步骤六:设定前缘、尾缘点的半径范围r1=r2=2,以上述p
min
和p
max
为圆心,r1和r2为半径,将在所形成的圆范围内的点定义为前缘点集和尾缘点集,如图4所示。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1