时间:2024-07-28
杨 萍 杨明泰 张阳阳
兰州理工大学,兰州,730050
高速数控加工中NURBS曲线拟合及插补技术的研究
杨萍杨明泰张阳阳
兰州理工大学,兰州,730050
通过分析现代数控系统中自由曲面插补算法的特点,提出了基于最小二乘法的NURBS曲线拟合算法和基于弧长参数补偿的NURBS插补技术。采用最小二乘法拟合NURBS曲线,能获得光滑的刀具加工路径,并且在一定范围内能复原曲线的设计轮廓。参数补偿的NURBS插补方法,以泰勒展开法得到的插补参数作为临时插补点,利用该插补法能显著减小速度波动,可将速度控制在理想的范围内,可进一步提高加工精度并减小数控机床的振动。仿真实验表明:该算法简明高效、易于实现,能够满足现代数控系统的要求。
CNC;NURBS曲线;最小二乘法;参数补偿
随着制造业的快速发展,超高速、高精度、高柔性的加工技术已成为现代数控加工领域新的研究方向。传统的计算机数控(computer numerical control,CNC)系统在加工自由曲面时,主要采用直线或圆弧插补方式,由CAM系统进行离线编程,再将参数曲线离散成许多直线段或圆弧段构成的程序传输到CNC系统完成插补,采用这种插补方式势必会降低零件的加工精度和表面质量,也限制了数控系统的加工效率[1-2]。另外,用小线段拟合刀具的轨迹本身就会导致加工表面不光滑且插补误差难以控制,在加工过程中刀具频繁的加减速使得机床的稳定性大大降低,进而加剧了刀具的磨损。现代数控加工中可以将自由曲面的参数直接传输到CNC系统中,不再分割成若干小线段或圆弧段,从而使CAD/CAM/CNC之间保持完整的参数信息流。当前NURBS直接插补算法已成为高速、高精度加工的研究热点[3]。
国内外学者对NURBS曲面插补技术作了许多研究,例如:Nam等[4]提出了实时控制加加速度,使加速度控制在约束范围内的插补算法。Shiuh等[5]提出了自动调节进给速度的限定弓高误差的NURBS插补算法。Shpitalni等[6]和Yang等[7]提出用泰勒展开式一阶与二阶近似的方式获取NURBS插补数据,从而进一步减小速度的波动。Park等[8]提出了一种分阶段的方式来处理NURBS插补算法。周红梅等[9]提出了自适应选择节点数量的NURBS拟合算法,该算法是通过曲率的信息来确定节点数的,最后通过de Boor迭代法来获取控制点。本文在前人的研究基础之上提出了基于最小二乘的NURBS样条拟合算法,使得拟合后的曲线具有较高的精度指标,进而,针对更高精度的需求,提出了基于弧长参数补偿的NURBS插补技术。
一条k次NURBS曲线可以表示为一分段有理多项式矢函数:
(1)
式中,u为NURBS曲线的自变量;Di为控制顶点(i=0,1,2,…,n),Di顺序连接成控制多边形;ωi为权因子,分别与控制顶点相对应,ωn>0,其余ωi≥0,且权因子不同时为零(由此可保留凸包性质和防止分母为零);Ni,k(u)是定义在非周期节点矢量U上的k次B样条基函数,U=(u0,u1,…,un+k+1)。
一条NURBS曲线由控制点、节点矢量、权因子和基函数的次数4个参数来决定。
(2)
(3)
(4)
应用标准的线性最小二乘拟合技术,欲使目标函数f最小,应令f关于n-1个未知控制点Dl(l=1,2,…,n-1)的偏导数都等于零。它的第l个偏导为
(5)
即
(6)
于是
(7)
式(7)是一个控制点D1,D2,…,Dn-1为未知量的线性方程。让l=1,2,…,n-1,则得到含n-1个该未知量的n-1个方程的方程组,写成矩阵形式为
(NTN)D=R
(8)
其中,N是(m-1)×(n-1)矩阵:
(9)
R和D分别为
R=
D=[D1D2…Dn-1]T
(10)
式(8)中的矩阵(NTN)是正定的,可以用高斯消元法来求解控制点。在规定精度范围内的曲线逼近,控制点的个数选取决定着曲线的最优程度,一般用k+1个控制点(这里是最少的)作为迭代的开始,用式(3)、式(8)和式(10)对数据点进行拟合得到一条逼近曲线,每次拟合之后可以根据最大模偏差公式检查曲线偏差是否小于逼近误差E,直至满足设定的逼近误差E。当刀位点数与控制点数相等时,逼近误差E=0。最大模偏差公式为
(11)
本文对离散刀位点进行最小二乘拟合,对数据点进行了仿真实验。图1结果表明,使用最小二乘法的NURBS曲线拟合方法原理简明,易于实现,并且具有很高的拟合精度,与其他拟合方法相较有明显的优势。
图1 NURBS曲线的最小二乘拟合
3.1预处理及误差分析
(12)
i=0,1,2,…,n-3
u∈[ui,ui+1]
令
(13)
在插补过程中,要想得到较高插补精度,必须满足插补速度平稳、速度波动小的要求,即插补时的合成实际速度要与给定的进给速度相一致,本文将进给速度与轮廓误差作为插补好坏的评价标准。在NURBS曲线插补过程中,通常利用插补点的曲率来计算参数ui处的轮廓误差Ei。
图2是用一段圆弧近似地表示在区间u∈[ui,ui+1]内的NURBS曲线,ρi为曲率半径,且ρi=1/Ki,插补周期为T,并令Li=‖C(ui+1)-C(ui)‖,进给速度为v(ui),通过几何关系可以求出轮廓误差:
(14)
其中该点的曲率半径计算如下:
(15)
图2 误差求解几何关系
假设加工过程中要求最高轮廓误差为δ,则在要求误差下的进给速度为
(16)
如果Ei满足Ei≤δ,插补计算过程将继续进行下一个点的插补计算;如果Ei满足Ei>δ,插补过程将会调整插补进给速度v(ui),返回当前插补点,按调整后的进给速度重新进行下一个点的插补计算。在NURBS曲线插补过程中,可以通过调整进给速度来调节规定范围内的加工精度。
3.2实时插补算法
传统的NURBS插补技术常用的是泰勒展开法,这种方法难以满足以弧长为参数的插补,并且NURBS插补过程中计算复杂,速度不能平滑过渡,为了能够满足插补过程中计算量小的要求,并实现高精度的快速实时插补,笔者提出了基于弧长参数补偿的NURBS插补技术。其方法是以泰勒展开法得到的插补参数作为临时插补点,对临时插补点进行参数补偿,以确保原曲线弧长为插补参数。假设空间参数曲线为C(u)=x(u)i+y(u)j+z(u)k,u是曲线参数。则插补进给速度v(ui),可以表达为
(17)
可以进一步推导求得:
(18)
变量u在u=ui处的一阶泰勒展开式为
(19)
式中,Ts为插补周期;R(u)为误差余量。
则有
(20)
式(20)是通过一阶泰勒展开方法得到的下一个插补点的求解式。若ti在所在领域内二阶导数是连续的,此时可以求其二阶导数:
(21)
变量u在u=ui处的二阶泰勒展开式为
(22)
则有
(23)
式(21)是通过二阶泰勒展开方法得到的下一个插补点的求解式。
从得到的一阶、二阶泰勒展开式可以看出泰勒展开法的本质也是弧长与参数的关系,但是泰勒展开式中省略了误差余量,导致了弧长与参数的关系式表达不完全精确。可以用基于弧长参数补偿的NURBS插补技术来完善这个问题,具体操作步骤是根据插补点的位置坐标、一阶导数、二阶导数三者之间的关系,在插补的前一个点和临时插补点之间建立弧长与参数的三次多项式或更高次多项式,使得插补以弧长为基准。
NURBS曲线参数u与弧长S的三次多项式可表达为:u=a+bS+cS2+dS3,进行参数插补的前提是计算临时参数值,以一阶泰勒插补为起点:
(24)
(25)
式(25)可简写为
δ=φ·φ
由此可得系数矩阵φ有唯一解φ=φ-1·δ。
假设插补进给速度为v(ui),插补周期内的位移Si=v(ui)Ts,则参数ui+1计算式为
(26)
结合式(25)就可求解出a、b、c、d4个系数。弧长与参数的五次多项式也可以用同样的方法求解。
为了验证本文所提出算法的有效性和正确性,采用MATLAB对空间NURBS曲线进行仿真计算。由于进给速度波动率是评价插补性能的关键因素之一,因此主要对插补过程中的进给速度波动进行仿真计算。空间NURBS曲线的参数如下:空间曲线的次数为3,控制点为(0,0,0)、(3.5,12,2)、(12,22.5,6)、(17,18.5,8)、(19,9.75,9)、(25,12,10.25)、(30,21,12)、(38,11.75,14)、(45,0,11)(单位为mm),节点矢量(0,0,0,0,1/7,2/7,3/7,4.1/7,5/7,5/7,1,1,1,1)(mm),权重(1,1,1,1,1,1,1,1),进给速度vs=63 mm/s,不考虑加减速,插补周期Ts=1.8 ms,空间NURBS曲线如图3所示。
图3 空间NURBS曲线
插补方法采用一阶、二阶泰勒展开法,以及三次、五次多项式的参数补偿插补法。速度波动计算公式为
图4 一阶泰勒方法速度波动图
图5 二阶泰勒方法速度波动图
图6 三次多项式补偿速度波动曲线
图7 五次多项式补偿速度波动曲线
(27)
通过分析对比仿真结果(图4~图7)可以得出以下结论:①参数补偿插补方法与泰勒插补方法相比较,参数补偿插补方法能显著减小速度波动,能使速度控制在理想的范围内,可进一步提高加工精度和减小数控机床的振动。②根据仿真数据可以分析得出参数的补偿有可能是负值或者是正值,在曲率比较大的地方为了减小速度的波动可以提高速度。
[1]梁宏滨,王永章,李霞.自动调节进给速度的NURBS插补算法的研究与实现[J].计算机集成制造系统,2006,12(3):428-433.
Liang Hongbing,Wang Yongzhang,Li Xia.Research and Implementation of NURBS Interpolation Algorithm for Adaptive Feed Speed[J].Computer Integrated Manufacturing Systems,2006,12(3):428-433.
[2]Cheng M Y,Tsai M C,Kuo J C.Real-time NURBS Command Generators for CNC Servo Controllers[J].Machine Tools & Manufacture,2002,42(7):801-813.
[3]刘宇,赵波,戴丽,等.基于传动系统动力学的NURBS曲线插补算法[J].机械工程学报,2009,45(12):187-191.
Liu Yu,Zhao Bo, Dai Li.Feedrate System Dynamics Based Interpolator for NURBS Curve[J].Journal of Mechanical Engineering,2009,45(12):187-197.
[4]Nam S H,Yang M Y.A Study on a Generalized Parametric Interpolator with Real-time Jerk-limited Acceleration[J].Computer-Aided Design,2004,36(1):27-36.
[5]Shiuh S,Hsu P L.Adaptive-feedrate Interpolation for Parametric Curves with a Confined Chord Error[J].Computer-aided Design,2002,34(3):229-237.
[6]Shpitalni M,Koren Y,Lo C C.Real-time Curve Interpolators[J].Computer-Aided Design,1994,26(11):832-838.
[7]Yang D C H,Kong T.Parametric Interpolator Versus Linear Interpolator for Precision CNC Machining[J].Computer-Aided Design,1994,26(3):225-234.
[8]Park J,Nam S,Yang M.Development of a Real-time Traj-ectory Generator for NURBS Interpolation Based on the Two-stage Interpolation Method[J].The International Journal of Advanced Manufacturing Technology,2005,26(4):359-365.
[9]周红梅,王燕铭,刘志刚,等.基于最少控制点的非均匀有理B样条曲线拟合[J].西安交通大学学报,2008,42(1):73-77.
Zhou Hongmei,Wang Yanming,Liu Zhigang,et al.Non-Uniform Rational B-splines Curve Fitting Based on the Least Control Points[J].Journal of Xian Jiaotong University,2008,42(1):73-77.
[10]游有鹏,王珉,朱剑英.NURBS曲线高速高精度加工的插补控制[J].计算机辅助设计与图形学学报,2001,13(10):943-947.
You Youpeng,Wang Min,Zhu Jianying.An Interpolator for NURBS Curve Machining with High-speed and Accuracy[J].Journal of Computer-aided Design & Computer Graphics,2001,13(10):943-947.
(编辑卢湘帆)
Research on Technologies of NURBS Curve Fitting and Interpolation in High Speed NC Machining
Yang PingYang MingtaiZhang Yangyang
Lanzhou University of Technology,Lanzhou,730050
The algorithm of NURBS curve fitting was put forward based on least square method,and the NURBS interpolation technology based on arc length parameter compensation.By the analyses of characteristics of the free surface interpolation algorithm of modern CNC system,NURBS curve fitted with least square method could achieve a smooth tool path and reconstruct designed outline curves to some extents.The NURBS method of parameter compensation,which used interpolation parameters to be temporary interpolation points obtained by the Taylor expansion method,was applied to ensure that the speed rate fluctuations could be decreased effectively,and that the speed was controlled within the ideal range,and that the process precision was further improved,and that the vibration of machine was reduced.The simulation results show that the algorithm is simple and efficient,and easy to be implemented,which can satisfy the demands of modern CNC system.
CNC;NURBS curve;least square method;parameter compensation
2014-07-24
TH166;TP65< class="emphasis_italic">DOI
:10.3969/j.issn.1004-132X.2015.12.012
杨萍,女,1964年生。兰州理工大学机电工程学院教授。研究方向为CAD/CAM一体化、虚拟设计、工业机器人。已发表论文60余篇。杨明泰,男,1986年生。兰州理工大学机电工程学院硕士研究生。张阳阳,男,1988年生。兰州理工大学机电工程学院硕士研究生。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!