基于STEP-NC的NURBS实时直接插补技术研究*

2014-07-18 11:56房立金王国勋
组合机床与自动化加工技术 2014年6期
关键词:泰勒修正波动

李 丽,房立金,王国勋

(1.沈阳城市建设学院 交通与机械工程系,沈阳 110167; 2.东北大学 机械工程与自动化学院,沈阳 110819; 3.沈阳理工大学 机械工程学院,沈阳 110159)

基于STEP-NC的NURBS实时直接插补技术研究*

李 丽1,2,房立金2,王国勋3

(1.沈阳城市建设学院 交通与机械工程系,沈阳 110167; 2.东北大学 机械工程与自动化学院,沈阳 110819; 3.沈阳理工大学 机械工程学院,沈阳 110159)

为了解决STEP-NC数控系统中NURBS曲线实时直接插补过程中所存在的进给速度波动问题,在对插补原理及进给速度波动进行深入分析的基础上,提出了一种自适应修正插补算法。首先利用二阶泰勒展开式求取插补点坐标的初值,再对初值利用所构造的修正公式进行修正,修正次数根据插补周期和插补精度要求进行自适应调整,在满足插补实时性的要求下,尽可能提高插补精度。仿真结果表明,文章方法有效减小了插补进给速度波动问题,提高了插补计算的精度。

STEP-NC;NURBS;直接插补;速度波动

0 引言

传统数控系统大多只支持直线插补和圆弧插补,当进行复杂曲线曲面插补时,把曲线用很多段直线段或圆弧段代替,然后再进行直线或圆弧插补计算。这种方法存在加工表面质量不高、程序文件庞大、不利于高速加工以及不利于CAD/CAM/CNC系统集成与实现智能化等缺点[1-2]。NURBS(Non-Uniform Rational B-Splines,非均匀有理B样条)直接插补是指数控系统能够直接接受用NURBS表示的曲线曲面信息,直接进行NURBS曲线插补计算,而不需要将曲线离散,从而克服了传统数控系统的缺点。STEP-NC标准中使用NURBS技术描述复杂参数曲线曲面信息,因此,STEP-NC数控系统必须支持NURBS直接插补技术,同时也有利于克服传统插补方法的不足。

本文根据插补原理对NURBS插补方法进行了介绍,在此基础上提出了自适应误差修正插补方法,有效地减小了因计算误差而导致的进给速度波动问题,提高了插补精度。

1 STEP-NC中NURBS曲线的描述

一条k次NURBS曲线定义为

(1)

式中,Pi是控制点,由Pi构成的多边形称为控制多边形,Ni,k(u)是定义在非周期(并且非均匀)节点矢量

(包含n+1个节点)上的k次B样条基函数,ωi是权因子。通常取a=0,b=1,并且对所有的i,ωi>0。

STEP-NC中NURBS曲线的定义是由实体b_spline_curve_with_knots和实体rational_b_spline_curve通过ANDOR关系来定义的,而这两个实体都是实体b_spline_curve的子类,各实体的定义参见文献[3]。从定义可以看出以上实体的定义包含了NURBS曲线的次数(degree)、节点矢量(knots)、控制点(control_points_list)、权值(weight_data)、节点重复度(knot_multiplicities)等参数,因此,以上三个实体可以完整的表示一条NURBS曲线。

2 NURBS直接插补算法研究

NURBS插补常用方法有一阶泰勒展开法[4-5]、二阶泰勒展开法[6-7]、泰勒展开误差修正法[8]、预测修正迭代法[9-10]等。这些方法统称泰勒展开法,常用的二阶泰勒插补公式为

(2)

Ts为插补周期,V(ui)为给定进给速度,C(u)为NURBS曲线。

图1 插补原理图

2.1 进给速度波动问题

数控加工中,进给速度定义为沿曲线加工路径方向上的刀具运动的速度,可由弧长对时间的导数求得。设曲线为C(u),对应的弧长为S(u),则插补点C(u)处的进给速度为:

(3)

分析可知,下一插补点应以逼近插补段弦长为目标,按照插补原理,理想的插补计算公式应为

(4)

式中Ve为给定进给速度。

由此可知,如何准确的计算出下一个插补点参数值ui+1是数控插补的关键问题。

(5)

因此,实际进给速度变为

(6)

图2 实时插补速度波动

插补进给速度波动是指实时插补过程中实际进给速度与程序给定的进给速度之间的差异。设ΔVi为实际插补进给速度波动,定义为:

ΔVi=Ve-Vi

(7)

将式(6)带入式(7)得

(8)

设进给速度波动率为δi,定义为

(9)

δi是下一个插补点参数ui+1的计算偏差造成的,通常使用最大进给速度波动率δmax来衡量插补算法的性能。因此,研究NURBS实时插补技术首先要解决的问题是如何最大限度的减小进给速度波动率。

2.2 基于自适应修正法的速度波动率的控制方法

根据前面的分析可知,对于NURBS曲线C(u),给定插补弦长VeTs和当前插补点参数ui,则下一插补点的参数ui+1需满足

(10)

将ui+1看做变量,记为χ,构造函数F(χ),则式(10)改写成如下形式:

(11)

因此,求解下一插补点参数的任务转化为:对于函数F(χ),求变量χ=χ*,满足方程:

F(χ*)=0

(12)

(13)

其中

(14)

(15)

为了克服迭代修正法的缺点,本文在迭代法的基础上提出了自适应修正法,即修正迭代次数根据精度要求和插补周期自适应变化,修正时综合考虑插补周期和精度要求,在保证插补周期的前提下尽量提高修正精度,使插补进给速度波动最小。式(15)实际为1次修正公式,一般情况下只需修正一次即可满足精度要求,当一次修正不能满足要求时,反复利用式(15),直到满足精度要求为止。对于绝大部分情况下进行2次修正已经能达到很高的精度了,因此本方法最多进行2次修正即可满足精度要求。

因此,经此方法修正后的参数值能更好的抑制实时进给速度波动,而且还避免了迭代算法存在的收敛性和实时性问题。虽然式(15)会增加一部分计算量,但是根据文献[11]给出的NURBS快速求值求导算法可知,求值求导算法可转化成简单的四则运算,因此本算法也能满足插补实时性要求。

3 仿真验证

为了说明本文方法的正确性和有效性,采用MATLAB中对算法进行仿真计算。由于进给速度波动率是衡量插补算法好坏的重要指标,因此本节主要对插补算法的进给速度波动率进行仿真,为了说明本文算法的优越性,仿真时将与常用的泰勒展开法插补算法进行对比分析。

仿真所用计算机参数为:主频2.2GHz,内存2GB;仿真软件为MATLAB R2011a。插补进给速度为50mm/s,插补周期为2ms。NRUBS曲线的参数分别如下:

NURBS曲线的次数为2,控制点坐标维数为2,控制点个数为11个,曲线数据如下:控制点:{(8,13),(5.29,8),(0,8),(4.311,5.511),(2.1436,0),(8,3.3812),(13.8564,0),(11.689,5.511),(16,8),(10.71,8),(8,13)};节点矢量:[0 0 0 0.1110 0.2220 0.3330 0.4440 0.5550 0.6660 0.7770 0.8880 1 1 1];权值向量:[1 1 1 1 1 1 1 1 1 1 1]。NURBS曲线图形如图3所示。

图3 NURBS曲线图

不同方法进给速度控制结果如表1所示,仿真结果如图4所示,其中4a为一阶泰勒展开插补算法的进给速度波动率曲线图,图4b为二阶泰勒展开插补算法进给速度波动率曲线图,图4c和图4d分别为本文算法1次和2次修正后的进给速度波动率曲线图。

从仿真结果可看出,一阶泰勒展开法的进给速度波动率最大,本文方法的2次修正法的进给速度波动率最小。一阶泰勒展开法的计算量最小,插补时间最短,本文方法的2次修正法的计算量最大,插补时间最长。本文方法的1次修正法插补时间是一阶泰勒法的5倍,是二阶泰勒方法的2.5倍,而进给速度控制精度却提高了几百倍(比一阶泰勒法提高了943倍,比二阶泰勒展开法提高了311倍)。本文方法的2次修正法插补时间是一阶泰勒法的7.9倍,是二阶泰勒方法的3.9倍,而进给速度控制精度却至少提高了几百万倍(比一阶泰勒法提高了8000万倍,比二阶泰勒展开法提高了2670万倍)。

本文方法2次修正法进给速度波动率至少达到10-6数量级,因此对于大多数情况只需修正2次即可达到所需精度。而对于某些情况下,只需修正一次即可达到较高的精度。

由表1可看出,尽管本文方法所用的插补时间较泰勒展开法长,但是也在插补周期内,1次修正法和2次修正法大约各占插补周期的5.38%和8.41%,满足插补的实时性要求。

表1 不同方法进给速度控制结果统计表(%)

(a)一阶泰勒法插补算法速度波动率

(b)二阶泰勒法插补算法速度波动率

(c)本文算法1次修正算法速度波动率

(d)本文算法2次修正算法速度波动率图4 不同方法进给速度控制效果比较

通过以上对仿真结果的分析可得出以下结论:本文提出插补方法可根据进给速度控制精度要求和插补时间动态调整修正次数,在保证插补周期的情况下,尽可能减小进给速度波动率,提高进给速度控制精度。

4 结论

在分析传统插补方法缺点基础上,根据插补原理,对NURBS插补方法进行了研究。针对插补过程中的速度波动问题,采用自适应修正次数的修正方法来减小速度波动,从而较精确的解决了NURBS插补过程中实际进给速度与指令进给速度之间的误差问题,提高了插补精度。通过仿真分析可得出,本文方法在保证插补实时性的情况下,大幅提高了插补精度,减小了进给速度波动问题。

[1] Emami M M, Arezoo B. A look-ahead command generator with control over trajectory and chord error for NURBS curve with unknown arc length[J]. Computer-Aided Design, 2010, 42(7): 625-632.

[2]Lin M T, Tsai M S, Yau H T. Development of a dynamics-based NURBS interpolator with real-time look-ahead algorithm[J]. International Journal of Machine Tools and Manufacture, 2007, 47(15): 2246-2262.

[3] Industrial automation systems and integration — Product data representation and exchange — Part 238: Application protocol: Application interpreted model for computerized numerical controllers, ISO TC 184/SC4/WG3, 2006.

[4] Yau H T, Lin M T, Tsai M S. Real-time NURBS interpolation using FPGA for high speed motion control[J]. Computer-Aided Design, 2006, 38(10): 1123-1133.

[5] Jo Ko T, Sool Kim H, Ho Park S. Machineability in NURBS interpolator considering constant material removal rate[J]. International Journal of Machine Tools and Manufacture, 2005, 45(6): 665-671.

[6] 周世伟,张平,全炜,等. 基于轴加速限制的NURBS曲线实时自适应插补算法[J]. 组合机床与自动化加工技术,2012(9):16-20.

[7] Tikhon M, Ko T J, Lee S H, et al. NURBS interpolator for constant material removal rate in open NC machine tools[J]. International Journal of Machine Tools and Manufacture, 2004, 44(2): 237-245.

[8] Farouki R T, Tsai Y F. Exact Taylor series coefficients for variable-feedrate CNC curve interpolators[J]. Computer-Aided Design, 2001, 33(2): 155-165.

[9] 孙海洋. NURBS曲线刀具路径实时插补技术研究[D]. 长沙:国防科学技术大学,2008.

[10] Cheng M Y, Tsai M C, Kuo J C. Real-time NURBS command generators for CNC servo controllers[J]. International Journal of Machine Tools and Manufacture, 2002, 42(7): 801-813.

[11] 王国勋,舒启林,王军,等. NURBS直接插补技术中快速求值求导算法[J]. 东北大学学报(自然科学版),2012,33(7):1021-1024.

(编辑 赵蓉)

Research of NURBS Real-time Direct Interpolation Based on STEP-NC

LI li1,2,FANG Li-jin2,WANG Guo-xun3

(1.Department of Traffic & Mechanical Engineering , Shenyang Urban Construction University, Shenyang 110167, China; 2.School of Mechanical Engineering & Automation, Northeastern University, Shenyang 110819, China )

In order to solve the problems of feed speed fluctuation in the process of NURBS curve real-time direct interpolation in the STEP-NC CNC system, on the basis of in-depth analysis of the interpolation principle and feed speed fluctuations, a adaptive interpolation algorithm was proposed. First using second-order Taylor expansion to calculate the initial value of interpolation point coordinates, then use the constructed correction formula for correction for the initial value. The fixed number was corrected adaptively according to the needs of interpolation cycle and the interpolation precision, in meet the requirements of the real time interpolation, significantly improve the interpolation precision. The simulation results show that the method effectively reduces the interpolation feed speed fluctuation problem.

STEP-NC; NURBS; direct interpolation; speed fluctuation

1001-2265(2014)06-0062-04

10.13462/j.cnki.mmtamt.2014.06.017

2013-09-24;

2013-10-23

国家高技术研究发展计划(863计划)资助项目(SS2012AA041303)

李丽(1981—),女,山东省聊城市人,沈阳城市建设学院讲师,东北大学博士生,研究方向为先进制造技术,机器人技术等,(E-mail)wgxlili@126.com;通信作者:王国勋(1979—),男,山东省五莲县人,沈阳理工大学讲师,博士,研究方向为先进数控技术,(E-mail)wangguoxun@126.com。

TH166;TG65

A

猜你喜欢
泰勒修正波动
Some new thoughts of definitions of terms of sedimentary facies: Based on Miall's paper(1985)
修正这一天
泰勒展开式在函数中的应用
羊肉价回稳 后期不会大幅波动
11月汇市:波动率降低 缺乏方向
微风里优美地波动
2019年国内外油价或将波动加剧
软件修正
基于PID控制的二维弹道修正弹仿真
星闻语录