基于云数据处理的航空叶片精锻模具逆向设计智能化分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于云数据处理的航空叶片精锻模具逆向设计智能化分析高志华;李彦奎
【摘要】基于VC出色的数据处理能力(VC程序可以与大多数的数据处理软件、图形处理软件进行交互调用,如MATLAB、OpenGL等),以UG作为点云处理平台,运用自定义算法和UG二次开发程序首次实现对航空叶片精锻模具不同位置的点云数据进行分块化处理,该方法提高了点云数据处理的质量和后续曲面建模精度.%The paper was based on the excellent data processing capability of VC (VC program can be used with most of the data processing softwares,graphics processing softwares to call interactively,such as MATLAB OpenGL and so on)and self-defined algorithms and the UG secondary development program were used to drive UG to realize segmentation processing of point cloud data of different positions of the airfoil precision forging die firstly on UG platform,which improves the quality of point cloud data processing and the accuracy of subsequent surface modeling.
【期刊名称】《制造技术与机床》
【年(卷),期】2018(000)005
【总页数】5页(P41-45)
【关键词】航空叶片精锻模具;逆向设计思维;点云数据;分块化处理
【作者】高志华;李彦奎
【作者单位】河南工业职业技术学院机械工程学院,河南南阳473009;江南大学机
械工程学院,江苏无锡214122
【正文语种】中文
【中图分类】TP391.41;V232.4
随着社会需求的多样化,新产品开发速度已成为提高企业竞争力的关键因素。
传统的正向设计产品开发周期长,很难满足客户需求多样化的快速响应;而逆向设计思维在新产品快速创新设计开发中发挥了很大作用,成为很多企业吸收高新技术再创新,提高市场竞争力的制胜法宝[1]。
航空叶片作为航空发动机的关键部件,被喻为发动机的“心脏”,80%的航空叶
片是通过精密锻造技术获得的。
航空叶片的种类繁多,形状复杂,叶片型面多为复杂的空间自由曲面,叶身一般带有一定的扭角且要求表面精度较高[2]。
为获得合
格的航空叶片,高精度航空叶片精锻模具设计变的十分重要。
但航空叶片精锻模具设计技术一直被少数欧美国家所垄断。
为提高我国航空叶片精锻模具设计技术,逆向设计思维为其提供了一种思路[3]。
航空叶片精锻模具型腔曲面点云数据的预处理是获得高精度叶片精锻模具型腔曲面的前提。
目前,我国依赖逆向软件(如Geomagic、Imageware等)对叶片模具点
云数据进行处理。
由于航空叶片精度要求较高,且叶片不同位置的精度要求相差很大[4],如叶身轮廓度误差在0.02 mm以内,而叶根轮廓度误差在0.2 mm以内,所以对叶片精锻模具型腔曲面不同位置的点云数据的去噪、精简和数据保留的要求不同,运用逆向软件对点云数据进行统一处理会造成点数据的冗余或丢失,导致点云数据处理的质量下降,限制了后续一次曲面建模的质量[5]。
文章以UG为点云数据处理平台,C++作为开发语言,通过使用自定义数据处理
算法和UG二次开发程序驱动UG,在UG中实现了对点云数据的分块化处理,提高了点云数据处理的灵活性,为提高后续曲线曲面的关联性建模和模型的修正提供了基础。
由于点云数据处、曲线曲面建模及模型的检测与修正都集成在UG中,提高了航空叶片精锻模具逆向设计的智能化,缩短了产品开发周期。
1 数据点的获取
逆向工程第一步是数据点的获取,数据点的质量直接影响了后续曲面和实体建模的质量,若获取的数据点误差较大,会导致最终获得模型与原有模型误差很大。
因此数据点获取是整个逆向设计的基础和关键[6]。
根据对被测物体扫描排列形式的不同,点云数据一般分为4种[7]:
扫描线点云:获得的点云数据基本位于同一个等截面线上,该点云数据可认为是基
本有序,如图1a所示。
阵列式点云:获得的点云数据呈行呈列,属于有序的点云数据,如图1b所示。
三角网格点云:点云数据为网格状相连,属于有序的点云数据,如图1c所示。
散乱点云:获得的点云数据为无次序、无组织的完全散乱状态,如图1d所示。
文章以B207(公司自命名)叶片模具背弧为例。
为获得较为完整的高精度点云数据,我们提出了三种方案:
方案一:采用接触式扫描法。
由于要求获得的点云数目众多,该方案效率极低,并且对操作者的经验提出了更高的要求。
方案二:采用带有CAD模型的激光扫描方法获取点云数据。
首先在已有的叶片模具模型上沿X和Y方向等间距截取型腔曲面的截面线,将其导入三坐标测量仪,
沿所得的截面线进行扫描。
方案实施后,发现三坐标测量仪对导入的截面线的编程要花费大量的时间,并且在叶根转接处获取的点云数据不完整,影响了后续的曲线、曲面建模。
方案三:直接将原有的叶片精锻模具CAD模型导入三坐标测量仪中,使用Nextec WIZblade激光扫描设备自身获取曲面u、v曲线的功能,设定u、v方向的间距,把叶片模具型腔曲面离散成u、v曲线,Nextec WIZblade激光扫描设
备将沿离散u、v曲线进行扫描。
经工程实际验证,该方案的可行性最好。
图2为叶片模具背弧点云数据。
2 点云数据的预处理
在采集实体数据点的过程中,由于测量设备本身的误差、被测物体反射面相关的误差和外部环境所造成的误差等,导致了大量离散点的存在。
为了获得高质量的曲面,对获得的点云数据进行处理是必不可少的。
点云数据处理一般包括:噪音点的去除、点云数据的拼合、平滑和精简等[8],如图3所示。
2.1 点云数据异常点去除
异常点的处理主要是对误差粗大点和噪音点的处理。
针对扫描线式点云,去除误差点的方法一般包括:直观检查法、曲线检查法和弦高误差法[9]:
直观检查法:用肉眼在图形窗口中直接将误差较大的点剔除掉,这种方法适用于点云数据的初步检查。
曲线检查法:使用点云通过最小二乘法拟合成一条曲线,然后分别计算各数据点到曲线的距离,根据给定的允许误差,判断该点是否为误差点。
弦高差方法:连接被检查点的前后两点,计算被检查点到连接线的弦高差,根据给定的允许误差,判断该点是否为误差点。
程序如下:
for (i=0;i<截面数;i++)
{sprintf(filename,"数据文件地址",i);
fp=fopen(filename,"r");//依次打开数据文件
if(fp!=NULL)
{while(!feof(fp))//读取数据文件
{fscanf(fp,"%lf %lf %lf", &point[0], &point[1], &point[2]);
UF_CURVE_create_point(point, &t_pnt);
}
for (j=0; j<点的数目;j++)
{ ……;//弦高差法或曲线检查法去除异常点;}
}
else
uc1601("Cannot open the file!", 1);
fclose(fp);
}
2.2 点云数据的平滑滤波
滤波算法不仅能对点云数据进行滤波、平滑,而且在一定程度上也能实现噪音点的去除。
对于扫描线式点云,常用的平滑滤波算法包括:高斯滤波、中值滤波和平均滤波3种[10]。
高斯滤波:在选定的域内,点云数据的权重呈高斯分布,它的平均效果相对较小,因此在滤波时能较好地保持原始点云数据。
该算法一般用于点云数据模型较为平滑、曲率较小的区域,如叶片模具的叶身区域。
中值滤波:采样数据点的值为采样点各数据的中值,这种滤波算法去除数据毛刺效果很好。
一般用于曲率变化大、容易产生噪音点且精度要求不是非常高的区域,如叶片模具的叶根部。
平均滤波:采样数据点的值为采样点各数据的统计平均值,滤波角平均。
3种算法
滤波效果如图4所示。
在使用上述算法时,为保证点云的质量和后续建模的精度,根据各算法的特点,结合工程实际要求,灵活的选择滤波算法,避免点云数据的冗杂或丢失。
根据图像点云去噪思想,对叶片模具型腔曲面的点云数据进行二次处理。
首先选择一个合适的视角,使异常点在视平面上较为明显,然后把点云投影到该平面,获得投影图像,再利用图像滤波算法去除异常点,最后得出投影点所对应的三维点云。
若该点云一次处理效果不理想,则可以变换视角再次进行处理,通过几次视角变换可以很好的实现对点云数据的去噪和平滑滤波。
文章利用高斯滤波和中值滤波算法分别对叶片模具叶身和叶根处进行二次滤波、平滑处理。
程序如下:
/*高斯滤波算法*/
int main( int argc, char * argv )
{ Mat image;
image = imread( argv[1]);
if( argc != 2 || !image.data )
{ printf("无图片\n");
return-1;
}
namedWindow( "平滑处理----输入" );
namedWindow( "平滑处理----输出" );
imshow( "平滑处理----输入", image );
Mat out;
……;//OpenGL高斯滤波算法
imshow( "平滑处理---输出", out );
waitKey( 0 );
}
/*中值滤波算法*/
int main( int argc, char * argv )
{ Mat image;
image = imread( argv[1]);
if( argc != 2 || !image.data )
{ printf("无图片\n");
return-1;
}
namedWindow("平滑处理---输入");
namedWindow( "平滑处理---输出" );
imshow( "平滑处理---输入", image );
Mat out;
……;//OpenGL中值滤波算法
imshow( "平滑处理---输出", out );
waitKey( 0 );
}
2.3 点云数据的精简
随着技术的发展,激光扫描数据捕捉速度和精度越来越高,短时间就能获得巨大的数据量,但并不是获取的所有点云数据对后续曲面建模都是有用的,冗余的点云数据如果参与后续建模,会使计算机运行的速度减慢,并且点越多,对于后续建模的特征部位越难寻找,产生误判,影响建模精度。
衡量点云数据精简的成功度,不是保留原始点数据越多越好,也不是精简后的点云数据越少越好,而是能够用最少的点云数据尽可能多地表示原始的模型信息,提高后
续的建模精度和效率[11]。
因此在保留被测物体几何尺寸特征的情况下,根据被测
物体特征轮廓精度要求,对被测物体获得的点云数据进行精简。
由于叶片模具不同区域精度要求不同,因此要对叶片模具不同部位进行分别处理,以便提高计算机运行速度和逆向建模的效率和精度。
针对扫描线式点云数据精简方法有:等间距缩减、等量缩减、倍率缩减、弦偏差等方法[12]。
常用的是弦偏差精简法。
该方法是通过设定角度误差限Δ∂和弦高误差
限Δh,综合考虑这两种误差实现对点云数据的处理,如图5所示。
Δ∂是根据逆向
精度来选取,取值越小,精度越高;Δh是根据相邻数据点间距离的正态分布的μ
值来确定的。
设简化前点的数量为N0,预期简化点数量为N1,则按下式计算μ:
数据精简流程如图6所示。
经过点云数据去噪、光顺滤波和精简,得到处理前后
的局部点云数据如图7所示。
3 点云数据处理菜单在UG中的创建
利用UG/Open API MenuScript实现点云数据处理菜单的创建。
具体步骤如下:
Step1:在Project文件夹下建立Application和Startup两个文件夹,在这两个文件夹中存放如图8所示的文件。
Step2:在菜单脚本文件(.men)中编写菜单文件信息。
Step3:在UG安装目录X:\安装文件夹\UGII\menus\custom_dirs.dat文件中添加路径。
经以上步聚,在UG环境下新增的菜单如图9所示。
4 一次曲面建模质量的对比
对使用两种不同方法处理的点云数据进行建模,取一次建模实体的相同截面进行误差检测,其误差如图10所示。
通过其误差对比分析,得出:使用自定义算法对航空叶片精锻模具型腔曲面点云数据分块处理的精度较高。
5 结语
(1)以VS2010为语言开发平台,通过运用自定义算法和VS2010与OpenGL自身函数库,用程序实现了对航空叶片精锻模具点云数据进行分块化处理,通过工程实例验证了该方法的灵活性、适应性好,一次建模质量高。
(2)以UG作为叶片模具点云处理平台,实现了点
云数据处理和曲线曲面建模在UG中的集成,提高了后续各要素间关联性建模和对一次曲面修正的智能化,缩短了产品开发周期。
参考文献
[1]Colin Bradley.The application of reverse engineering in rapid product development[J].Sensor Review,1998,18(2):115-120.
[2]王浩,王立文,王涛,等.航空发动机损伤叶片再制造修复方法与实现[J].航空学报,2016,37(3):1036-1048.
[3]Yun Zhang, ZhiTong Chen,Tao Ning.Reverse modeling strategy of aero-engine blade based on design intent[J].The Intern-ational Journal of Advanced Manufacturing Technology,2015,81(9-12):1781-1796.
[4]宋玉旺,胡毕富,席平.航空发动机叶片CAD技术综述[J].航空制造技
术,2009(17):52-56.
[5]刘韶光,武鹏,刘学杰,等.逆向设计技术在涡轮叶片建模中的应用研究[J].航空制
造术,2015(12):85-87.
[6]Tamás Váradyc,Ralph R Martina,Jordan Coxb.Reverse engineering of geometric models-an introduction[J]. Computer-Aided
Design,1997,29(4):255-268.
[7]戴静兰.海量点云预处理算法研究[D].杭州:浙江大学,2006.
[8]Ming Chih Huang,Ching Chih Tai.The pre-processing of data points for curve fitting in reverse engineering[J].International Journal of Advanced Manufacturing Technology,2000,16(9):635-642.
[9]Peter van Oosteroma,Oscar Martinez-Rubib,Milena Ivanovab,et
al.Massive point cloud data management: Design, implement-ation and execution of a point cloud benchmark [J]. Computers and
Graphics,2015,49:92-125.
[10]李原,张开富,余剑峰.计算机辅助几何设计技术及应用[M].北京:机械工业出版社,2009.
[11]K H Lee, H Woo, T Suk.Data reduction methods for reverse engineering[J].International Journal of Advanced Manufacturing Technology,2001,17(10): 735-743.
[12]周绿,林亨,周约先,等.曲面重构中测量点云精简方法的研究[J].中国制造业信化,2004,33(5):102-104.。