APP下载

数控加工直线段轨迹NURBS拟合*

2012-05-28周会成吴继春

组合机床与自动化加工技术 2012年6期
关键词:曲线拟合样条分段

汤 明,周会成,吴继春

(华中科技大学机械科学与工程学院,武汉 430074)

0 引言

数控加工模具等自由曲面工件时,刀位点轨迹通常由CAM软件生成。大多数CAM软件提供的是连续直线段刀位点轨迹。直线段轨迹不仅数据量巨大,段间的不连续更会造成加工时进给速度的不连续,从而导致加工效率和加工质量的降低[1]。为了减小加工过程中机床的振动和运动冲击,实现高速高精数控加工,目前高端数控系统大都支持使用样条曲线对模具等复杂零件轮廓描述和加工。由于使用连续性更好的参数曲线直接进行插补,加工质量和效率得到了极大地提高[2-3]。目前直接输出样条曲线刀位点轨迹的CAM软件相对很少,因此可以将CAM软件生成的传统连续直线段刀位点轨迹转化为样条曲线刀位点轨迹,从而在数控模具加工中使用参数曲线插补,提高加工质量和效率。文献[4]基于遗传算法提出了针对大量测量数据点的曲线逼近方法,但只能满足一般精度的曲线逼近问题。文献[5]提出了一种自适应选择节点插值曲线方法,通过曲率信息选取主特征点来插值初始曲线。但插值曲线会产生较多的控制点。文献[6]提出选取初始点以及应用主特征点调整节点矢量的B样条逼近方法处理连续数据点,拟合过程使用最小二乘法,产生的控制点较少,但该方法对大量连续点不能有效处理。本文给出一种以最小二乘拟合为基础的分段Nurbs曲线拟合算法,通过刀位点轨迹的几何信息对大量连续刀位点分段处理,将传统直线段刀位点轨迹转换为Nurbs样条刀位点轨迹。

1 Nurbs曲线拟合算法

Nurbs曲线的表达方式由(1)式给出[7]:

p为样条阶数,(n+1)为控制点个数,Pi为控制点,wi为其权重,Ni,p(u)为基函数,计算公式为:

1.1 Nurbs曲线最小二乘拟合

最小二乘方法是常用于Nurbs曲线拟合数据点的手段,在实际拟合数据点时通常在(1)式中取wi=1,i=0,…,n,将 Nurbs曲线转换为 B-spline曲线[7],其表达式如下:

为了保证样条曲线首末两点与原始数据点重合,令C(t0)=P0=Q0,C(tm)=Pn=Qm。剩余数据点的最小二乘问题由下式表示:

(5)可直观的由下面的矩阵形式表示:

根据最小二乘方法,可得到Pi的线性方程:

通过求解(7)式求得控制点Pi,i=1,…,n-1,即可确定对m+1个原始数据点拟合而得的一条样条曲线。拟合点与原始数据点之间的误差由(8)式计算

1.2 最优控制点搜索方法

由(4)至(7)式可知,选定控制点个数(n+1),就能使用最小二乘方法计算出相应的控制点Pi,i=1,…,n+1,因此n的取值决定了最终拟合曲线对原始数据点的拟合效果。本文提出了一种控制点数搜索机制,以选择最优的控制点数。

图1为最优控制点数搜索机制的流程图。该搜索机制设置了搜索参数ninit,nmax,emax,用来确定最优值的搜索区域及终止搜索过程的条件。ninit,nmax分别为n搜索区域的最小值和最大值,emax是拟合过程的允许误差。max{ek}为拟合误差,其值是原始数据点与拟合曲线对应点间偏差的最大值,由(8)式计算的各个点处的偏差值。在搜索过程中,n初始化为ninit,每次用不同控制点数的样条曲线利用最小二乘方法拟合原始数据点,当拟合误差max{ek}小于允许误差emax时,记录相应的n值为最优控制点数,否则改变n值继续搜索过程。当n>nmax且拟合误差仍大于允许误差时,搜索过程失败。这表明当前数据点很难用预设搜索参数拟合为Nurbs样条曲线,此时需要修改搜索参数,重新开始搜索过程。

图1 最优控制点搜索流程图

2 直线段刀位点轨迹处理

现在许多高档数控系统已经具备支持Nurbs曲线的参数曲线插补功能,和传统的直线段插补相比,Nurbs曲线插补能显著提高加工效率和工件的表面质量[8,9]。但是目前绝大多数 CAM 软件生成的刀位点轨迹均为连续直线段形式,无法直接由数控系统进行Nurbs曲线插补加工,连续直线段刀位点轨迹的种种缺陷制约了数控系统高速高精加工能力。本文提出一种将直线段刀位点轨迹处理为Nurbs曲线刀位点轨迹的方法,后者可直接用于数控系统Nurbs曲线插补加工,以提高加工效率及加工质量。图2给出了直线段刀位点轨迹处理流程图。该处理方法主要分为两阶段,分段阶段对连续直线段刀位点轨迹中的刀位点数据作分段处理,处理为独立的刀位点单元以便后续的拟合工作;拟合阶段对分段阶段获得的独立单元使用前文提出的Nurbs曲线拟合方法,将直线段刀位点轨迹转换为Nurbs样条刀位点轨迹,然后将得到的Nurbs曲线刀位点轨迹输出为Nurbs样条G代码供数控系统加工使用。

图2 直线段G代码处理流程图

图3 数据点轨迹连续性指标定义

在拟合阶段中,对分段阶段中生成的每一个分段应用上文所述的Nurbs曲线拟合方法。拟合过程成功则计算可得每个分段对应的Nurbs样条曲线刀位点轨迹,并输出对应的Nurbs样条G代码,否则输出原始直线段刀位点轨迹对应的直线段G代码,以保证刀位点轨迹连续。Nurbs样条G代码格式如图4所示。XYZ 为控制点;W 为权重;u0,u1,…,up+1,kup+2,…,kun+p+1为节点向量。

图4 Nurbs样条G代码格式

分段Nurbs拟合方法步骤总结如下:

(1)读取原始G代码中连续直线段刀位点坐标;

(2)设置分段指标阈值 lathr,θthr,ρthr;

(3)计算当前刀位点处的轨迹连续性指标lai,θi,ρi,储存刀位点 Qi;

(4)如果|la|<lathr,结束分段进入步骤(h);

(5)如果θ>θthr,结束分段进入步骤(h);

(6)如果ρ<ρthr,结束分段进入步骤(h);

(7)增加i值,回到步骤(c);

(8)使用最优控制点搜索方法拟合Qk;

(9)拟合成功输出Nurbs样条G代码;

(10)拟合失败输出原始直线段G代码;

3 仿真测试

以下用算例检验本文提出的方法。对均分为200段小直线段的圆弧曲线使用上文提出的Nurbs曲线拟合方法进行计算,圆弧半径r=10mm,离散后的圆弧图形如图5所示。拟合结果如表1所示。

图5 离散圆弧曲线

表1 圆弧用例实验结果

考虑到传统数控机床的精度,允许误差一般设置为0.001mm~0.01mm,表1所示算例的允许误差设为0.005mm。获得对任意刀位点都有很好拟合效果的分段指标阈值很困难,因此采用重复试验并比较拟合效果的方式得出仿真对象的合适阈值。表1结果中lathr=0.2,θthr=5°,ρthr=5。从实验结果可以看到,原始200段直线段经过处理后仅为6段样条曲线,大大减少了数据量。为了评价拟合成的Nurbs曲线精度,把样条曲线插补为1000个数据点,计算每个插补点处圆半径误差,结果如图6所示。从图中可以看到,样条曲线的圆半径误差都在设置的允许误差范围内,表明拟合成的样条曲线能满足预设精度要求。

图6 圆弧用例插补点误差曲线

为了检验本文方法对实际数控加工刀位点轨迹的处理效果,下面以实际加工工件刀位点作为处理对象,应用上文提出的连续直线段刀位点轨迹处理方法。待加工工件为图7所示的波浪面工件,该工件表面为复杂构造曲面。应用CAM软件生成用于加工的直线段刀位点G代码,刀位点轨迹总共有217377个刀位点,刀位点如图8所示,为绘图方便,取其中1000点绘图。

图7 波浪面工件

图8 波浪面直线段刀位点轨迹

以该工件的刀位点为处理对象,使用文中的方法处理,处理该工件的允许误差设置为0.005mm,指标阈值 lathr=0.1,θthr=8°,ρthr=5。实验结果如表2所示,从表2可以看出处理后的样条仅为20184段,与原始数据的217377段相比,数据量减少到9.3%。为了评价处理后的拟合曲线精度,计算样条曲线与原始刀位点在各点处的偏差距离作为误差评价指标。所得拟合曲线的误差曲线如图9所示,为简便起见,取其中5000段绘图。图10给出对应的误差分布直方图。从图9中可看出,拟合曲线的误差都在0.005mm以下,满足设定的精度要求。从图10可见,大多数误差处于0.003mm以下,比设定值小。

表2 波浪面用例实验结果

图9 拟合曲线误差图

图10 误差分布直方图

以上算例表明处理后的刀位点轨迹数据量极大减少,轨迹精度在预设误差范围内。算例验证了本文直线段刀位点轨迹处理方法的有效性。该处理方法能将大量的直线段用曲线拟合手段处理为数量很少的Nurbs样条刀位点轨迹,同时保证Nurbs样条轨迹精度在给定的允许误差范围内,所得的Nurbs样条G代码用于数控加工能提高加工质量和加工效率。

4 结束语

数控加工模具等复杂曲面工件时的加工质量和加工效率受到了传统G01指令直线段刀位点轨迹的限制,本文提出的直线段刀位点轨迹处理方法能将直线段刀位点轨迹转换为Nurbs样条刀位点轨迹,并输出对应的Nurbs样条G代码用于数控加工。从而极大减少代码量,提高加工效率和质量。为达到目的,本文使用Nurbs曲线最小二乘拟合方法以及最优控制点搜索方法将大量直线段处理为数量较少的样条曲线,同时曲线的拟合误差在给定的范围内,从而保证样条刀位点轨迹的加工精度。通过算例检验了本文方法,结果显示了该方法的有效性。

[1]YANG,D C H,KONG T.Parametric interpolator versus linear interpolator for precision surface machining[J].Computer Aided Design,1994,26(3):225 -234.

[2]Yeh SS,Sun JT.(2007)A Scheme for Interpolating NURBS Curves on NC Machines[J].Computer Aided Design Appl 4(1-4):31-40.

[3]Yau HT,Kuo MJ(2001)NURBS machining and feed rate adjustment for high-speed cutting of complex sculptured surfaces[J].Int J Prod Res 39(1):21 - 41.

[4]夏萍,李郝林.测量数据的B样条曲线逼近算法[J].精密制造与自动化,2005,163(3):8 -9.

[5]周红梅,王燕铭.基于最少控制点的非均匀有理B样条曲线拟合[J].西安交通大学学报,2008,42(1):73-77.

[6]Hyungjun Park,Joo-Haeng Lee.B-spline curve fitting based on adaptive curve refinement using dominant points.Computer-Aided Design[J].2007,39(6):439 -451.

[7]Piegl L,Tiller W(1997)The NURBS Book[M],2nd edn.Springer,New York.

[8]Yau HT,Chen JS(1997)Reverse engineering of complex geometry using rational Bspline[J].Int J Adv Manuf Technol 13:548-555.

[9]叶佩青,赵慎良.微小直线段的连续插补控制算法研究[J].中国机械工程,2004,15(15):1354 -1356.

猜你喜欢

曲线拟合样条分段
不同阶曲线拟合扰动场对下平流层重力波气候特征影响研究*
基于MATLAB 和1stOpt 的非线性曲线拟合比较
对流-扩散方程数值解的四次B样条方法
生活中的分段计费
浅谈Lingo 软件求解非线性曲线拟合
分段计算时间
分段函数“面面观”
三次参数样条在机床高速高精加工中的应用
曲线拟合的方法
三次样条和二次删除相辅助的WASD神经网络与日本人口预测