APP下载

NURBS 自适应实时插补算法的研究*

2014-04-27王文莉黄祖广胡天亮张承瑞

制造技术与机床 2014年6期
关键词:法向曲率加速度

王文莉 黄祖广② 胡天亮 张承瑞

(①山东大学机械工程学院,山东 济南250061;②国家机床质量监督检验中心,北京100102)

在数控系统中,如何控制刀具或工件的运动直接影响到加工的精度和效率,是机床数字控制的核心问题。传统的数控系统一般都具有基本的直线和圆弧插补功能,对于非直线或圆弧组成的轨迹,需要先用小段的直线或圆弧来拟合,然后再对小线段进行加工[1]。为得到更为准确的逼近效果,会产生大量的微小直线或圆弧,造成加工代码庞大,程序传输、存储不便,加工速度不连续,加工效率低等问题[2-3]。因此,研究NURBS 曲线插补技术对实现高速高精度加工,提高数控加工水平有着重要的意义。

关于曲线插补算法的研究主要有:等参数插补算法[4],这种算法计算简单,但会造成剧烈的速度波动,降低加工质量;恒速进给插补算法[4-5],该算法采用较小的步长,加工效率低;基于泰勒公式的插补算法[6],这种算法在曲线曲率较大、加工速度高的地方容易出现速度波动;而文献[7]所提出的算法,虽然降低了速度的波动性,却没有考虑到加工中的加速度问题,且直接对NURBS 的定义式求导,增加了许多重复计算。

本文针对上述问题,基于牛顿迭代法对NURBS实时插补算法进行了研究,并考虑了弓高误差、加速度对进给速度的约束,实现了插补速度自适应于加工路径,提高了算法效率,降低了速度波动。

1 NURBS 数学理论

NURBS 是非均匀有理B 样条(non - uniform rational B-splines)的缩写。一条k次NURBS 曲线的分段有理多项式矢函数可以表示为[8-9]:

式中:di(i=0,1,…,n)为控制顶点;ωi为对应于每个控制顶点di的权因子;k为NURBS 曲线的阶数;Ni,k(u)为由节点矢量U=[u0,u1,…,un+k+1]决定的k次规范B 样条基函数,其计算公式为:

可见,在G 代码中定义一条NURBS 曲线,只需给出控制顶点、权因子和节点矢量即可,大大减小了代码量。

2 NURBS 曲线插补算法

NURBS 曲线插补算法的本质是在每个数据采样周期内,数控系统根据下一步插补速度V计算参数u的过程。考虑到算法的实时性,本研究将NURBS 的分段有理多项式改写为矩阵的形式,并用牛顿迭代法实时计算下一插补点。

2.1 插补预处理

曲线的高速高精度插补对算法的实时性、快速性有较高的要求,在计算每一步插补点时,若用式(2)定义的递推公式,计算量大且有很多相同重复的计算。参照文献[10],三阶NURBS 改写为矩阵形式,令

式中:ui,ui+1(i=3,4,…,n)为节点矢量U中的节点,u∈[ui,ui+1]。把式(3)代入式(1),NURBS 曲线可写为矩阵表达式:

M是4 ×4 矩阵,其矩阵元素完全由节点矢量决定。将式(4)进一步整理,得到其多项式的表达形式:

式(5)中的系数K仅与控制点、节点矢量和权因子相关,可在插补前提前计算出。通过上述转化,避免了每步插补的重复迭代,方便求导运算,提高了算法的效率和实时性。

2.2 基于牛顿迭代法的连续插补点计算

数控系统根据速度V实时计算出下一插补周期刀具要达到的位置的这一过程,可以抽象为以下数学模型:已知当前插补点的参数为ti,求参数ti+1(ti+1>ti),使‖C(ti+1)-C(ti)‖ =Li=ViT。构造函数F(t),令F(t)=‖C(t)-C(ti)‖ -ViT。当F(t)=0时,所求的t即为下一插补点参数。其中:

用牛顿迭代公式对下一插补点参数进行求解:

式中:下标k+1 代表第k+1 次迭代结果。前一步插补点的参数差可表示为Δi=ti-ti-1,为方便计算,取迭代初值为ti+Δi,当≤ε(ε 为迭代误差)或达到最大迭代次数N时,停止计算,tk+1即为下一插补点参数值ti+1。再将ti+1带入式(5),即可计算出下一插补点C(ti+1)。

3 插补速度控制

3.1 弓高误差约束

NURBS 曲线插补的实质是用小直线段逼近曲线,这种逼近必然会造成弓高误差(图1)。为了保证加工精度必须要控制加工速度,将误差控制在合理范围内。由于步长较小,在计算弓高误差δi时,可以将曲线弧近似用圆弧代替。

式中:Li为插补步长;V为插补速度;T为插补周期;曲率半径ρi是曲率的倒数,即ρi=1/ki。对参数曲线C(u)来说曲率k可通过式(9)求得:

在曲线实时插补中,当误差超出了所允许的最大误差δmax时,需要按最大误差来约束插补速度:

3.2 切向加速度约束

插补曲线时,如果插补速度只有弓高误差的约束,则在曲线曲率半径极小处很容易出现速度的跳变,影响加工效果。为减小机床振动,需要对插补速度有切向加速度的约束:

式中:V(ui-1)为前一插补点的插补速度;atmax为最大切向加速度。

3.3 法向加速度约束

高速加工时,在曲线曲率较大的区域有可能造成法向加速度偏大,超出机床的承受能力,因此还需要限制法向加速度来约束速度。根据法向加速度an=v2/ρ,可知在法向加速度约束条件下能达到的最大速度为:

同时满足上述约束条件的插补速度为:

式中:F为规定的进给速度,满足此条件的瞬时速度V可以同时满足最大误差、最大加速度等约束的要求,即为下一步插补的插补速度。图2 为本算法的流程图。

4 实验验证

对控制顶点为(33.5711,162.3358),(46.7231,125.1142),(83.7665,20.2769),(134.791,356.7960),(177.8616,28.3296),(225. 2277,122. 3978),(241.6865,155.0846),节点矢量为{0.0,0.0,0.0,0.0,0.1799,0.5066,0.8285,1,1,1,1},权因子均为1 的三次NURBS 曲线进行插补。其加工路径如图3 所示。

设定最大进给速度为6 m/min,加工中最大切向、法向加速度均为1000 mm/s2,起止点速度均为0,弓高误差δ 为0.0005 mm,迭代误差ε 为0.0001 mm,插补周期2 ms,在VS2008 的编程环境下进行试验仿真,并用MATLAB 对实验结果进行图像表达。进一步分析,可以得到加工曲线的曲率变化,如图4。

图5 展示了加工过程中进给速度的变化。比较图4 和图5,在曲线曲率较大的地方,由于弓高误差和加速度的约束,进给速度减小,插补速度能自适应于加工路径。图6 反映了加工过程中匀速部分进给速度的波动情况。从仿真结果看,本文提出的插补算法大大减小了速度波动,使速度曲线更为平滑。图7 显示在本算法的加工条件下,加工误差的变化。可见本文提出的算法能够很好地控制加工误差,满足高速高精度加工的要求。

5 结语

本文提出的NURBS 实时插补算法,使进给速度能够自适应于加工轨迹,减小了计算中的重复部分,简化了计算,确保了插补算法的实时性。通过实验证明了该算法能够满足加工中的精度要求和性能要求,插补进给速度波动小,速度曲线平滑连续。

[1]赵玉刚,宋现春. 数控技术[M].北京:机械工业出版社,2003.

[2]Wang J,Yau H. Real -time NURBS interpolator:application to short linear segments[J]. The International Journal of Advanced Manufacturing Technology,2009,41(11 -12):1169 -1185.

[3]Yau H,Wang J. Fast bezier interpolator with real - time lookahead function for high-accuracy machining[J]. International Journal of Machine Tools and Manufacture,2007,47(10):1518 -1529.

[4]刘建伟. 数控系统运动规划及B 样条插补的研究[D]. 兰州:兰州理工大学,2005.

[5]胡自化,张平. 三次B 样条曲线恒速进给实时插补算法的研究[J]. 制造技术与机床,2000(8):31 -33.

[6]边玉超,张莉彦,戴莺莺,等. CNC 系统中NURBS 曲线实时插补算法研究[J]. 机械制造与自动化,2003(6):36 -39.

[7]王允森,盖容丽,孙一兰,等.基于牛顿迭代法的NURBS 曲线插补算法[J].组合机床与自动化加工技术,2013(4):13 -17.

[8]施法中. 计算机辅助几何设计与非均匀有理B 样条[M]. 北京:高等教育出版社,2001.

[9]Les Piegl,Wayne Tiller. The NURBS book[Z]. Springer-Verlag Berlin and Heidelberg GmbH & Co.k,1995.

[10]陈绍平. 三次NURBS 曲线的插值与应用[J]. 机械科学与技术,2001(5):692 -693,633.

猜你喜欢

法向曲率加速度
一类双曲平均曲率流的对称与整体解
“鳖”不住了!从26元/斤飙至38元/斤,2022年甲鱼能否再跑出“加速度”?
带平均曲率算子的离散混合边值问题凸解的存在性
落石法向恢复系数的多因素联合影响研究
如何零成本实现硬表面细节?
面向复杂曲率变化的智能车路径跟踪控制
天际加速度
创新,动能转换的“加速度”
死亡加速度
编队卫星法向机动的切向耦合效应补偿方法