逆向工程中自由曲面快速优化方法研究
2018-06-21邢悦李丽娟
邢悦,李丽娟
(长春理工大学 光电工程学院,长春 130022)
随着航空航天、汽车、船舶等制造业的发展,产品的改进设计是缩短新产品开发周期的重要手段之一[1]。首先将实物模型转化为CAD模型,在此基础上再进行产品加工或产品升级设计。这种从实物模型获取产品数学信息进而反向开发出同类产品的技术叫做“逆向工程”又称反向工程[2]。逆向工程流程如图1所示,具体流程为:(1)复杂异型曲面外形数据数字化;(2)点云数据处理;(3)曲面重构。
图1 逆向工程流程
用于逆向工程的产品的多数外形复杂,表面是由多个自由曲面拼接组合而成,所以快速、精准、高效地重构出理想的自由曲面是逆向工程的核心[3]。使用CATIA V5软件DSE模块重构的曲面精度光顺度均需要调整,需要结合freestyle模块中控制点等命令对曲面进行优化。但CATIA V5版本中控制点命令不能定向定量调整曲面,使曲面优化工作变得繁琐。本文提出的快速曲面优化方法是把自由曲面偏差分析结合到曲面优化工作中,基于偏差检测结果做到有针对性的曲面优化,可以大大提高曲面优化成功率,最终实现快速曲面重构的目的。
1 自由曲面重构
1.1 曲面重构
自由曲面面型复杂,边界不规则,所以重构工作一直是逆向工程中的一大难点。自由曲面拟合包括曲面逼近法和曲面插值法两种[4]。曲面逼近法是通过拟合出一个曲面使曲面接近数据点云,其精确性不高。曲面插值法拟合出的曲面严格经过数据点云,虽然拟合曲面精度高但曲面光顺度差,当数据量大时,计算工作量也明显增加。在曲面精度要求不是很高且需要兼顾表面光顺度的模型中,常采用曲面逼近法。
目前自由曲面分为Bezier三角域曲面模型和NURBS四边域曲面模型两种。Bezier三角域曲面模型有实用性良好和构造灵活的优点。NURBS(非均匀有理B样条)曲面模型[5]是以四边域为参数的曲面。NURBS曲面拟合适用于点云数据有规则且曲面变化较小的曲面。但NURBS曲面的优势在于可以与CAD/CAM系统数据通用,被广泛应用于飞机表面、汽车外形曲面的重建领域。
传统异形曲面重构过程中,初始拟合曲面存在偏差较大部分。通常需要局部优化调整,即使用控制点命令调整曲面,使曲面与数据点的偏差在允许偏差范围内。使用CATIA软件中的控制点命令对自由曲面进行调整时,控制点命令窗口只能选择控制点调整的方向。控制点移动的距离靠操作人员人机交互完成,优化成功率得不到保证。针对曲面优化部分操作复杂、效率低的问题,提出了快速曲面优化方法。快速曲面重构方法流程图如图2所示。根据点云对曲面进行拟合,在曲面调整前加入曲面偏差检测工作,基于偏差检测的结果对曲面进行定向定量调整。实验证明,此方法可以实现快速曲面重构,大大提高了曲面优化的效率。
图2 曲面重构流程图
自由曲面偏差检测多涉及到物体表面间距离计算问题。NURBS曲面模型在自由曲面定义形状方面有强大功能优势[6],1991年NURBS曲面被国际标准组织定义为自由曲线及自由曲面的唯一数学表示方法,定义如下:
式中,S(u,v)表示NURBS曲面上任意一点的坐标;Pi,j表示控制点阵的坐标;Ni,u(u)表示在u向的k次B样条基函数;Nj,v(v)表示在v向的t次B样条基函数。通过在u和v方向上定义n和m个控制点可以确定NURBS曲面表达式。控制点的坐标可以预先给定或者根据曲面上的已知点反求得到;ωi,j表示对应控制点的权因子,权因子必须大于0,且权因子数值大小表示曲面与控制点的相关联程度。有以下递推公式:
式中,ui表示节点i=0,1,...,n。另约定u和v方向上的端节点重复度为k+1和t+1,使NURBS曲面端节点具备角点性。NURBS曲面模型具备局部控制的特点,所以移动单个控制点不会造成全局变化。控制点与曲面的关系示意图,如图3所示。
图3 控制点与曲面关系
1.2 分裂法偏差检测
曲面偏差检测的目的是找到距离最近的一对配对点,获得其两点间的距离。一点为实物测量获得的数据点,另一点为拟合曲面上与其配对的一点。此问题可以转化为曲面间最小偏差距离计算问题,即计算两曲面间任意两点的距离,比较出最近两点距离,默认偏差距离最小的两点为配对点。NURBS曲面是四边域曲面模型,所以可以采用分裂算法[7],利用包围体代替的概念计算曲面间距离,提出以包围体代替包围盒的方法,提高了分裂算法的速度。研究的曲面为凸包曲面,当控制点的权因子大于0时,NURBS曲面具备良好的凸包性,即曲面的所有数据点位于控制点网格所构成的多面体中。此时可以采用控制点网格多面体作为包围体模型。
NURBS曲面分裂算法思路:(1)将NURBS一分为四个子曲面,每张子曲面标记min-max;(2)将包围体间距一一进行比对,再根据包围体间距大小,筛选出距离小的自曲面进行二次分裂;(3)当分裂到达一定次数时,包围体无限接近曲面,用包围体间距代替自曲面间距。用控制点代替曲面点进行点点距离比较;(4)得到一对距离最近的配对点,并输出结果。
1.3 NURBS曲面分裂原理
NURBS曲面分裂是曲线分裂的推广,需要对曲面u向和v向分别进行分裂。即分别插入节点,再计算控制点,将NURBS曲面分为四个NURBS子曲面,计算出的新控制点将被分配到四个NURBS子曲面上。以k次B样条曲线为例,节点插入算法如下:
设样条曲线的控制点如下:
节点矢量:
在[qi,qi+1]节点间插入一个新节点q*
则新节点矢量如下:
根据新节点矢量求新的控制点如下:
式中,r表示插入的节点重复度,若节点序列不存在q节点,则r=0;若q节点在节点序列中出现n次,则r=n。
NURBS曲线新控制点如下:
插入节点后权因子如下:
根据算法可以得到,当插入一个新节点,节点矢量将增加一个新区间;同时,增加一个新控制顶点,还要计算新控制顶点的权因子。同一节点处,节点重复k次,曲线在相应节点处分裂。
1.4 包围体间距离计算
采用递归算法,NURBS曲面分裂后,筛选包围体时,由于NURBS曲面具有角点性,即角点存在于曲面上,用两曲面间角点距离作为曲面间距离d*的上界值。如果包围体间距大于上界值,则淘汰。反之,把d*值赋给上界值。递归调用,直到分裂一定的次数。
包围体之间距离的计算可以采用GJK算法[8],其思路为两个凸多面体间距的差仍构成一个凸多面体,记作M。所以,可以把包围体间距最小值计算转化为求解原点到凸多面体M的最短距离计算。求解原点到凸多面体的距离,GKJ算法会生成一个序列K,K是递减的,直至不再生成新的最短距离为止。多次分裂后的曲面控制点已经非常逼近NURBS曲面,所以最短距离即曲面偏差距离。
2 软件验证
基于偏差检测结果的快速曲面优化方法需要曲面优化命令具备定向定量的调整功能,但CATIA软件中曲面优化命令不具备定量调整的功能,故需要对命令进行二次开发。
具体思路为:首先获取实物外形数据点,用曲面逼近法进行曲面拟合得到一个NURBS曲面。然后计算曲面与数据点偏差距离,获取曲面控制点。最后基于偏差结果对曲面控制点进行调整,使拟合曲面符合精度及光顺度要求。最后用对比新旧两种方法构造的曲面精度,说明新方法在构建曲面的效率与精度上均有提高。
实验使用非接触式光学测量系统基于三角测距原理获得飞机表面的数字化信息,将测量点云数据导入CATIA软件中,先对其进行数据点划分,分割后得点云如图4所示。再逐一进行曲面重构,最后把五个自曲面进行拼接封装成一个完成的曲面,模型的曲面重构完成。
图4 点云数据分割
以中间部分曲面重构为例,说明快速曲面优化方法在曲面重构过程中的应用。使用CATIA软件中Deviation Analysis工具对拟合曲面进行精度分析,拟合曲面与点云偏差结果:最大正偏差为1.4mm,最大负偏差为(-0.2mm),正偏差明显偏大,不符合重构曲面允许最大偏差值±1mm以内,需要进行曲面优化调整。
2.1 二次开发
CATIA V5软件中的控制点命令不具备定量调整的功能,需要对其进行二次开发。
CAA全称为组件应用架构,是客户对达索产品进行扩展的一个开发平台。用户可以通过组件对CATIA V5进行扩展,实现一些个性化功能。CATIA CAA-RADE是目前CAD/CAM开发环境中应用最广、功能最强的一个[10]。
CATIA几何建模CGM(CATIA Geometric Modeler)是CATIA提供的开发包,CGM提供了各种对象,允许开发人员开发自己的几何应用程序。CGM对曲面的描述主要是采用NURBS方法。
2.2 开发实例
新控制命令在需要在原命令基础上添加移动距离参数,使控制点调整的距离量化,结合偏差分析的结果,设置相应参数,具体操作流程为:
(1)曲面优化前对曲面与点云进行偏差检测,得到各局部曲面具体偏移量和方向;
(2)选取要优化的NURBS曲面,曲面上会显示出全部控制点;
(3)对话框点列表钟会显示出曲面所有控制点坐标及相应编号;
(4)根据曲面变形部位,在曲面上找到对应控制点编号;
(5)在对话框中输入参数(距离和方向);
(6)点击预览,激活曲面,得到由新一组控制点所构成的曲面;
(7)对优化后曲面进行偏差分析,若不满足要求,只需调整控制点偏移量,重新调整。
图5 新控制点命令操作界面
新命令的操作示意图如图5所示。点击新控制点命令,共获得36个控制点坐标。以其中一控制点调整为例,说明曲面优化过程。根据偏差分析结果选取编号为6的控制点,对话框中会显示该控制点的坐标为(402.093,426.881,16.014)偏差方向为(-209.78,786.41,-580.99),偏差分析结果显示偏差距离为1.4mm。激活响应,生成调整后的曲面。这里特殊说明:拟合曲面的精确度和光顺度是两个相违背的技术指标。拟合曲面的精确度高,光顺度就差,反之亦然。一个理想的拟合曲面是需要在偏差范围内尽量兼顾光顺度。所以调整距离不能为1.4mm。并且调整后要进行曲面光顺。
以相同的方法对拟合曲面上4个偏差较大的控制点进行调整。调整前后控制点坐标变化如表1所示。
表1 控制点调整结果示意图(mm)
2.3 精度分析
拟合曲面经调整后,对优化曲面进行精度分析,如图6精度分析结果显示:拟合曲面与点云数据最大正偏差值为(1mm),最大负偏差值为(-0.007mm)。偏差值均在允许范围内。
图6 优化后曲面偏差检测
检查曲面光顺度需用到等照度映射曲线又称斑马纹曲线。如图7所示,图中条纹均匀无不规则斑马线,曲面光顺度达标。以相同的方法对其他部分进行曲面重构、拼接、封装,得到完整的曲面模型,飞机部件表面重构工作完成。
图7 曲面光顺度检测
2.4 新旧方法对比
使用新命令对曲面进行优化,由于调整参数可控,不仅调整时间大大缩减,优化后的曲面精度也有明显提高。运用Geomagic软件对重构模型与理论模型进行3D偏差分析,偏差分析结果如表2所示。使用快速曲面优化方法的偏差最大距离、平均距离、标准偏差均明显减小。
表2 两种优化方法优化后曲面精度对比(mm)
3 结论
本文提供了一种以曲面偏差检测结果为指导的定向定量快速曲面优化的方法。与传统曲面重构方法相比,新方法具有调整参数可控的优势,减少人机交互建模时产生的误差。结合CAA开发平台,对CATIA控制点命令进行二次开发。使用新控制点命令,对飞机部件表面重构建模,验证快速曲面优化方法重构曲面质量高、效率快。显著提高了CATIA软件在逆向工程中的实用性。
[1]张丹丹,韩燮,韩慧妍.逆向工程中复杂实物曲面重建的仿真研究[J].计算机仿真,2017,34(3):340-343.
[2]姜海英,姜继春,青格勒,等.基于逆向工程的汽车轮胎挡泥罩温控形变检测技术研究[J].长春理工大学学报:自然科学版,2017,40(3):43-47.
[3]刘玉松,李丽娟,王志海,等.基于catia的汽车手柄逆向设计及优化[J].长春理工大学学报:自然科学版,2012,35(1):56-58+62.
[4]李泽.基于重采样的NURBS曲面重构研究[D].南昌:南昌大学,2016.
[5]霍庆立,谢劲松,李根,等.逆向工程中曲面重构技术的介绍[J].新型工业化,2015,5(6):47-52.
[6]范宜艳.基于NURBS的自由曲面重构技术研究及开发[D].天津:天津大学,2004.
[7]赵伟,牛兰平,李文辉.一种新的NURBS曲面间最短距离计算的分裂算法[J].微计算机信息,2009,25(30):7-9.
[8]唐磊.凸包围多面体生成算法及应用[D].北京:清华大学,2015.