1、 精密制造与自动化 2017年第2期 16 NURBS 插补算法在自由曲线插补中的研究与应用 梁盈富1 张宇鑫2 罗 枚1 祁 伟1(1.陕西工业职业技术学院 数控工程学院 陕西咸阳 712000;2.西安电子科技大学 电子工程学院 西安 710071)摘 要 针对数控机床加工中的高速、高精度、自动控制要求,在研究 NURBS 曲线特点的基础上,运用三阶NURBS 曲线实现对自由曲线的插补运算,通过改进的四阶阿当姆斯微分方程预估插补中的曲线参数,实现数据点密化。插补中实时监控轮廓误差,调整加工步长,满足插补过程的精度要求。在 Matlab 下的仿真实验表明该算法运算量小,精度高,可以满足插补中
2、实时性的要求。关键词 NURBS 曲线 轮廓误差 Matlab NURBS曲线插补技术是当前 CNC数控机床研究的一个热点课题,它不同于传统插补运算用微小直线段逼近待加工曲线的插补模式,而是直接对参数曲线进行插补,具有速度快、精度高、代码量小等特点。因此,研究NURBS 曲线的直接插补,对高速高精度的 CNC 系统开发具有重要的现实意义1,2。如何快速求取曲线上的插补参数并控制插补过程中的精度,是 NURBS 曲线插补研究的关键问题3,4。本文在分析已有 NURBS 曲线插补算法的基础上,运用改进的 4 阶阿当姆斯微分方程快速预估插补参数,进而求取插补点。在轮廓误差的约束下,实时监测并调整进给
3、步长,满足插补精度的要求。用仿真软件编程实现该算法,并对仿真结果进行了分析,仿真实验表明该算法在空间自由曲线插补过程中的有效性。1 NURBS1 NURBS 参数曲线插补原理参数曲线插补原理 在数控加工领域,由于 NURBS 曲线能够对复杂的自由曲线及曲面进行描述,对自由曲线可以提供统一而精确的数学表达式,因此,在 1991 年被国际标准化组织(ISO)确定为产品几何形状表达的唯一数学方法。按照其论述,NURBS 曲线插补适合将插补曲线的几何信息直接送至数控系统,对参数曲线进行插补5、6。NURBS 曲线插补的原理:p(u)为待插补的曲 陕西工业职业技术学院课题基于NURBS曲线的自适应插补算
4、法研究 编号:ZK16-09 线,设当前插补点为p(ui),下一插补点为p(ui+1),ui和ui+1 为插补点对应的参数,插补的任务就是根据当前插补点的参数ui计算下一插补点参数ui+1,从而得到下一插补点坐标p(ui+1),直至整条曲线插补结束。以上过程可以由插补预处理及实时插补两大过程完成。2 2 插补预处理插补预处理 一条k次 NURBS 曲线有下式表示 7:p(u)=vidiNi,k(u)ni=0viNi,k(u)ni=0 (1)式中,Ni,k(u)为k次B样条基函数,di称为控制点,vi为权因子,p(u)为参变量u对应的 NURBS 曲线上的点,Ni,k(u)由 De-Boor-C
5、ox 递推公式定义如下:Llal(Ni,0(u)=1,u ui,ui+10,u ui,ui+1 Ni,k(u)=u-uiui+1-uiNi,k-1(u)+ui+k+1-uui+k+1-ui+1Ni+1,k+1(u)规定:00=0 (2)依据 NURBS 曲线的有理分式表示形式,可以得到 NURBS 曲线的矩阵表达形式如下,即De-Boor-Cox 递推算法的显式表示:pi(u)=vjdjNj,3(u)ij=i-3viNj,3(u)ij=i-3 万方数据 梁盈富 等 NURBS 插补算法在自由曲线插补中的研究与应用 17 =l1 t t2 t3Mi i-3 di-3 i-2 di-2 i-1 d
6、i-1 i di 1 t t2 t3Mi i-3 i-2 i-1 i (3)式中0 t 1,且3 i n+1,并有t=u-uiui+1-ui,令i1=ui+1-ui,i2=ui+2-ui,i3=ui+3-ui可得 (4)(4)上式中曲线的控制点、权因子均为已知量,变量t与节点矢量有关,将上述式(4)进行整理,可得曲线pi(u)的表达式如下:pi(u)=A3u3+A2u2+A1u1+A0B3u3+B2u2+B1u1+B0 (5)其中系数A3、A2、A1、A0、B3、B2、B1、B0 均与变量u无关,在插补前可一次性求出,提高插补运算的实时性和插补效率。3 3 实时插补算法实时插补算法 实时插补分为参数密化和轨迹计算两大部分。目前常用的参数密化方法有一阶 Taylor 展开法、二阶 Taylor 展开法、非线性方程法、阿当姆斯微分方程法等8。以上算法均涉及繁琐的一阶、二阶导数的求导运算,为了满足实时插补的要求,本文采用改进后的 4 阶阿当姆斯微分方程法9。4 阶阿当姆斯微分方程隐式表达式如下:yn+1=yn+h24(9fn+1+19fn-5fn-1+fn-2)(6)令插补周期 T=h,节点