3 NURBS曲线插补方法
3.1 NURBS曲线定义及表示方法
NURBS是Non-Uniform Rational B-Spline的缩写,称为非均匀有理B样条。NURBS曲线不仅能够精确的统一表示标准解析曲线和自由曲线,如圆锥曲线、Bézier曲线等,而且它的形状控制能力也十分强大、灵活。1991年国际标准化组织将NURBS方法规定为STEP(Standard for the Exchange of Product Model Data工业产品模型数据交换标准)标准中定义工业产品几何形状的唯一数学方法。 NURBS曲线是用分段有理B样条多项式定义的,一条k 次NURBS 曲线可表示为一分段有理多项式矢函数,其形式如下:
(3)
其中,
Vi?——控制点坐标;
Wi——权重参数;
n——加法总和的上标,由0到n共(n+1)个控制点;
k——NURBS曲线的级数,其阶数为(k-1)阶;
Ni,k(u)——基底函数;
Ri,k(u)——有理式基底函数。
而基底函数满足下列数学式:
(4)
其中ui为节点,由节点所形成的 向量称为节点向量:
(5)
NURBS曲线在使用上的特性分别描述如下:
(1)NURBS曲线的级数k、节点参数m以及控制点参数n之间必须满足
m=n+k (6)
其中,节点向量长度为(m+1)。
(2)将NURBS表示为 。假如 ,则Ri,k(u)=0。因此,NURBS曲线中任一权重参数或控制点的变化仅会影响曲线k个节点区间。
根据B 样条曲线的几何特性可知:k 次B 样条曲线的r 阶导矢是k - r 次B 样条曲线。所以求B 样条曲线上某点处的导矢也就是求新的k - r 次B 样条曲线上的点。要计算NURBS 曲线上某点处的导矢,可以将NURBS 曲线定义式的分子分母部分分别看成是B样条曲线,分别计算它们相应的点值和导矢值后再求解即可。
M阶导矢的计算:
(7)
为有理式基底函数的m阶微分,其一次微分为:
(8)
而B 样条基函数是由下式迭代可得
(9)
NURBS 曲线的参数连续性由定义域内的重复节点决定,在定义域内,节点具有最高重复度为r 的k 次B 样条基函数是k - r 次可微的,也就是Ck - r 。这导致所定义的k 次B 样条曲线也是Ck - r 。NURBS 曲线可微性的完整表述为: k 次NURBS 曲线在其定义域内的非零节点区间内部或在每一曲线段内部是无限次可微的;在定义域内重复度为r 的节点处则是k - r 次可微的。由此可知,NURBS 曲线在参数连续性的基础上解决了线性插补中的段与段的连接问题。在通常采用的NURBS 插补中,多采用三次NURBS 曲线,以实现在一阶节点重复度下能实现曲线的二阶连续性C2 连续。
3.2 NURBS曲线的实时插补算法
从本质上看,用伺服电机作驱动装置的数控设备,其数控系统是一个离散的数据采样系统。工作时,在每个数据采样周期内,数控系统根据设定的进给速度V ( t) 实时插补出下一周期刀具要到达的位置,并由此控制伺服系统的运动。在加工NURBS 曲线这种参数曲线时,由于曲线上点的位置与参数值是一一对应的,所以插补过程也就是连续递推计算参数ui 的过程。
根据微分几何可知曲线弧长对时间的微分为:
(10)
所以,
(11)
注意式中的曲线速度V′(t) 不是进给速度V (t) ,因为实际进给速度是走过的微小直线段与时间的比值,而曲线速度是微小曲线弧段与时间的比值。因为插补周期非常小, 每个周期内刀具走过的距离也就非常小,可以近似认为其与该弧段弧长相等,所以可近似认为V′(t) 等于设定的进给速V (t) 。
根据微分几何可知:
(12)
所以,
(13)
将上式展开成泰勒级数:
+高阶项 (14)
式中ti+1-ti=T是插补周期,当被插补曲线的曲率不是很小、插补周期也很短时,上式只取一次项就足够精确了。即
(15)
此为泰勒一次展开之近似插值法, 描述正规化参数uk+1、uk与进给率 及 之间的关系式。在实际计算时,上式中V (t) 是设定的进给速度,T 是已知采样周期,当前点处的切矢 可由德布尔算法求出,故下一点对应的参数ui +1 也可求出。
3.3 双NURBS曲线的插补格式
在数控机床上实现NURBS插补有两种途径:一种是在数控系统内部首先将CAM得到的线性刀具加工轨迹在一定容差范围内插值或拟合成NURBS插补刀具轨迹,然后CNC系统执行NURBS实时插补运算,GE-FANUC系统将这一种插补方式称为光顺插补;另一种是CAM系统进行数控编程时直接将CAD中由NURBS曲线定义的几何模型直接转化成含有NURBS插补代码的NC文件,数控系统能够识别这些代码并进行NURBS插补运算。显然,与第一种方法相比,第二种方法不存在刀轨转化时的拟合误差,精度也更高。
现行三坐标NURBS指令还没有统一的标准格式,比较典型的G代码格式如图1所示。程序段由G06.2作为NURBS插补开始的标志,数控装置读入其后的3组数据从而实现NURBS插补。然而,这种格式的代码所提供的信息量明显不足以进行五轴联动插补加工。这是因为三轴联动刀具轴向固定,不必考虑刀轴的方位问题,而五轴联动加工中必须实时确定每个插补周期刀具轴向方位,这就要求必须在NURBS插补代码中加入可以确定刀轴方位矢量的数据信息。在用CAM系统进行五轴数控编程阶段,根据所选取的刀具路径生成方法、初始给定的刀倾角和刀转角以及干涉检验修正后,可以分别计算出刀心点坐标和刀轴单位矢量。所提出的双NURBS曲线插补格式就是在现行使用的三坐标NURBS指令格式的基础上进行扩充,加入一个表示方位的NURBS样条曲线。加入这个方位样条后,加上原有的刀心点样条,插补格式中就有两个样条。图2所示的是五轴双NURBS样条曲线插补指令格式,该格式以NURBSON作为插补开始的标识而NURBS OFF标志插补结束。方位样条的控制点坐标用关键字TX_TY_TZ_表达,对应权值和定义样条的节点矢量与刀心点样条相同。
图4 现行三轴NURBS插补格式
图5 五轴双NURBS插补格式
4 结论
五轴联动数控加工技术作为机械加工领域的关键技术,其研发和应用得到了科研院所,高校和企业的极大关注,复杂形状零件的加工正是由于五轴联动数控加工中心的应用得到了突破的可能。作为五轴联动数控加工技术中的关键技术之一,双NURBS插补技术是发展高速、高精度五轴联动 CNC的关键技术,而且NURBS格式规范的几何数据描述也为CAD/ CAM 和CNC的集成提供了可能