楊 萍 楊明泰 張陽陽
蘭州理工大學(xué),蘭州,730050
高速數(shù)控加工中NURBS曲線擬合及插補(bǔ)技術(shù)的研究
楊萍楊明泰張陽陽
蘭州理工大學(xué),蘭州,730050
通過分析現(xiàn)代數(shù)控系統(tǒng)中自由曲面插補(bǔ)算法的特點(diǎn),提出了基于最小二乘法的NURBS曲線擬合算法和基于弧長參數(shù)補(bǔ)償?shù)腘URBS插補(bǔ)技術(shù)。采用最小二乘法擬合NURBS曲線,能獲得光滑的刀具加工路徑,并且在一定范圍內(nèi)能復(fù)原曲線的設(shè)計輪廓。參數(shù)補(bǔ)償?shù)腘URBS插補(bǔ)方法,以泰勒展開法得到的插補(bǔ)參數(shù)作為臨時插補(bǔ)點(diǎn),利用該插補(bǔ)法能顯著減小速度波動,可將速度控制在理想的范圍內(nèi),可進(jìn)一步提高加工精度并減小數(shù)控機(jī)床的振動。仿真實驗表明:該算法簡明高效、易于實現(xiàn),能夠滿足現(xiàn)代數(shù)控系統(tǒng)的要求。
CNC;NURBS曲線;最小二乘法;參數(shù)補(bǔ)償
隨著制造業(yè)的快速發(fā)展,超高速、高精度、高柔性的加工技術(shù)已成為現(xiàn)代數(shù)控加工領(lǐng)域新的研究方向。傳統(tǒng)的計算機(jī)數(shù)控(computer numerical control,CNC)系統(tǒng)在加工自由曲面時,主要采用直線或圓弧插補(bǔ)方式,由CAM系統(tǒng)進(jìn)行離線編程,再將參數(shù)曲線離散成許多直線段或圓弧段構(gòu)成的程序傳輸?shù)紺NC系統(tǒng)完成插補(bǔ),采用這種插補(bǔ)方式勢必會降低零件的加工精度和表面質(zhì)量,也限制了數(shù)控系統(tǒng)的加工效率[1-2]。另外,用小線段擬合刀具的軌跡本身就會導(dǎo)致加工表面不光滑且插補(bǔ)誤差難以控制,在加工過程中刀具頻繁的加減速使得機(jī)床的穩(wěn)定性大大降低,進(jìn)而加劇了刀具的磨損?,F(xiàn)代數(shù)控加工中可以將自由曲面的參數(shù)直接傳輸?shù)紺NC系統(tǒng)中,不再分割成若干小線段或圓弧段,從而使CAD/CAM/CNC之間保持完整的參數(shù)信息流。當(dāng)前NURBS直接插補(bǔ)算法已成為高速、高精度加工的研究熱點(diǎn)[3]。
國內(nèi)外學(xué)者對NURBS曲面插補(bǔ)技術(shù)作了許多研究,例如:Nam等[4]提出了實時控制加加速度,使加速度控制在約束范圍內(nèi)的插補(bǔ)算法。Shiuh等[5]提出了自動調(diào)節(jié)進(jìn)給速度的限定弓高誤差的NURBS插補(bǔ)算法。Shpitalni等[6]和Yang等[7]提出用泰勒展開式一階與二階近似的方式獲取NURBS插補(bǔ)數(shù)據(jù),從而進(jìn)一步減小速度的波動。Park等[8]提出了一種分階段的方式來處理NURBS插補(bǔ)算法。周紅梅等[9]提出了自適應(yīng)選擇節(jié)點(diǎn)數(shù)量的NURBS擬合算法,該算法是通過曲率的信息來確定節(jié)點(diǎn)數(shù)的,最后通過de Boor迭代法來獲取控制點(diǎn)。本文在前人的研究基礎(chǔ)之上提出了基于最小二乘的NURBS樣條擬合算法,使得擬合后的曲線具有較高的精度指標(biāo),進(jìn)而,針對更高精度的需求,提出了基于弧長參數(shù)補(bǔ)償?shù)腘URBS插補(bǔ)技術(shù)。
一條k次NURBS曲線可以表示為一分段有理多項式矢函數(shù):
(1)
式中,u為NURBS曲線的自變量;Di為控制頂點(diǎn)(i=0,1,2,…,n),Di順序連接成控制多邊形;ωi為權(quán)因子,分別與控制頂點(diǎn)相對應(yīng),ωn>0,其余ωi≥0,且權(quán)因子不同時為零(由此可保留凸包性質(zhì)和防止分母為零);Ni,k(u)是定義在非周期節(jié)點(diǎn)矢量U上的k次B樣條基函數(shù),U=(u0,u1,…,un+k+1)。
一條NURBS曲線由控制點(diǎn)、節(jié)點(diǎn)矢量、權(quán)因子和基函數(shù)的次數(shù)4個參數(shù)來決定。
(2)
(3)
(4)
應(yīng)用標(biāo)準(zhǔn)的線性最小二乘擬合技術(shù),欲使目標(biāo)函數(shù)f最小,應(yīng)令f關(guān)于n-1個未知控制點(diǎn)Dl(l=1,2,…,n-1)的偏導(dǎo)數(shù)都等于零。它的第l個偏導(dǎo)為
(5)
即
(6)
于是
(7)
式(7)是一個控制點(diǎn)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)是正定的,可以用高斯消元法來求解控制點(diǎn)。在規(guī)定精度范圍內(nèi)的曲線逼近,控制點(diǎn)的個數(shù)選取決定著曲線的最優(yōu)程度,一般用k+1個控制點(diǎn)(這里是最少的)作為迭代的開始,用式(3)、式(8)和式(10)對數(shù)據(jù)點(diǎn)進(jìn)行擬合得到一條逼近曲線,每次擬合之后可以根據(jù)最大模偏差公式檢查曲線偏差是否小于逼近誤差E,直至滿足設(shè)定的逼近誤差E。當(dāng)?shù)段稽c(diǎn)數(shù)與控制點(diǎn)數(shù)相等時,逼近誤差E=0。最大模偏差公式為
(11)
本文對離散刀位點(diǎn)進(jìn)行最小二乘擬合,對數(shù)據(jù)點(diǎn)進(jìn)行了仿真實驗。圖1結(jié)果表明,使用最小二乘法的NURBS曲線擬合方法原理簡明,易于實現(xiàn),并且具有很高的擬合精度,與其他擬合方法相較有明顯的優(yōu)勢。
圖1 NURBS曲線的最小二乘擬合
3.1預(yù)處理及誤差分析
(12)
i=0,1,2,…,n-3
u∈[ui,ui+1]
令
(13)
在插補(bǔ)過程中,要想得到較高插補(bǔ)精度,必須滿足插補(bǔ)速度平穩(wěn)、速度波動小的要求,即插補(bǔ)時的合成實際速度要與給定的進(jìn)給速度相一致,本文將進(jìn)給速度與輪廓誤差作為插補(bǔ)好壞的評價標(biāo)準(zhǔn)。在NURBS曲線插補(bǔ)過程中,通常利用插補(bǔ)點(diǎn)的曲率來計算參數(shù)ui處的輪廓誤差Ei。
圖2是用一段圓弧近似地表示在區(qū)間u∈[ui,ui+1]內(nèi)的NURBS曲線,ρi為曲率半徑,且ρi=1/Ki,插補(bǔ)周期為T,并令Li=‖C(ui+1)-C(ui)‖,進(jìn)給速度為v(ui),通過幾何關(guān)系可以求出輪廓誤差:
(14)
其中該點(diǎn)的曲率半徑計算如下:
(15)
圖2 誤差求解幾何關(guān)系
假設(shè)加工過程中要求最高輪廓誤差為δ,則在要求誤差下的進(jìn)給速度為
(16)
如果Ei滿足Ei≤δ,插補(bǔ)計算過程將繼續(xù)進(jìn)行下一個點(diǎn)的插補(bǔ)計算;如果Ei滿足Ei>δ,插補(bǔ)過程將會調(diào)整插補(bǔ)進(jìn)給速度v(ui),返回當(dāng)前插補(bǔ)點(diǎn),按調(diào)整后的進(jìn)給速度重新進(jìn)行下一個點(diǎn)的插補(bǔ)計算。在NURBS曲線插補(bǔ)過程中,可以通過調(diào)整進(jìn)給速度來調(diào)節(jié)規(guī)定范圍內(nèi)的加工精度。
3.2實時插補(bǔ)算法
傳統(tǒng)的NURBS插補(bǔ)技術(shù)常用的是泰勒展開法,這種方法難以滿足以弧長為參數(shù)的插補(bǔ),并且NURBS插補(bǔ)過程中計算復(fù)雜,速度不能平滑過渡,為了能夠滿足插補(bǔ)過程中計算量小的要求,并實現(xiàn)高精度的快速實時插補(bǔ),筆者提出了基于弧長參數(shù)補(bǔ)償?shù)腘URBS插補(bǔ)技術(shù)。其方法是以泰勒展開法得到的插補(bǔ)參數(shù)作為臨時插補(bǔ)點(diǎn),對臨時插補(bǔ)點(diǎn)進(jìn)行參數(shù)補(bǔ)償,以確保原曲線弧長為插補(bǔ)參數(shù)。假設(shè)空間參數(shù)曲線為C(u)=x(u)i+y(u)j+z(u)k,u是曲線參數(shù)。則插補(bǔ)進(jìn)給速度v(ui),可以表達(dá)為
(17)
可以進(jìn)一步推導(dǎo)求得:
(18)
變量u在u=ui處的一階泰勒展開式為
(19)
式中,Ts為插補(bǔ)周期;R(u)為誤差余量。
則有
(20)
式(20)是通過一階泰勒展開方法得到的下一個插補(bǔ)點(diǎn)的求解式。若ti在所在領(lǐng)域內(nèi)二階導(dǎo)數(shù)是連續(xù)的,此時可以求其二階導(dǎo)數(shù):
(21)
變量u在u=ui處的二階泰勒展開式為
(22)
則有
(23)
式(21)是通過二階泰勒展開方法得到的下一個插補(bǔ)點(diǎn)的求解式。
從得到的一階、二階泰勒展開式可以看出泰勒展開法的本質(zhì)也是弧長與參數(shù)的關(guān)系,但是泰勒展開式中省略了誤差余量,導(dǎo)致了弧長與參數(shù)的關(guān)系式表達(dá)不完全精確。可以用基于弧長參數(shù)補(bǔ)償?shù)腘URBS插補(bǔ)技術(shù)來完善這個問題,具體操作步驟是根據(jù)插補(bǔ)點(diǎn)的位置坐標(biāo)、一階導(dǎo)數(shù)、二階導(dǎo)數(shù)三者之間的關(guān)系,在插補(bǔ)的前一個點(diǎn)和臨時插補(bǔ)點(diǎn)之間建立弧長與參數(shù)的三次多項式或更高次多項式,使得插補(bǔ)以弧長為基準(zhǔn)。
NURBS曲線參數(shù)u與弧長S的三次多項式可表達(dá)為:u=a+bS+cS2+dS3,進(jìn)行參數(shù)插補(bǔ)的前提是計算臨時參數(shù)值,以一階泰勒插補(bǔ)為起點(diǎn):
(24)
(25)
式(25)可簡寫為
δ=φ·φ
由此可得系數(shù)矩陣φ有唯一解φ=φ-1·δ。
假設(shè)插補(bǔ)進(jìn)給速度為v(ui),插補(bǔ)周期內(nèi)的位移Si=v(ui)Ts,則參數(shù)ui+1計算式為
(26)
結(jié)合式(25)就可求解出a、b、c、d4個系數(shù)。弧長與參數(shù)的五次多項式也可以用同樣的方法求解。
為了驗證本文所提出算法的有效性和正確性,采用MATLAB對空間NURBS曲線進(jìn)行仿真計算。由于進(jìn)給速度波動率是評價插補(bǔ)性能的關(guān)鍵因素之一,因此主要對插補(bǔ)過程中的進(jìn)給速度波動進(jìn)行仿真計算??臻gNURBS曲線的參數(shù)如下:空間曲線的次數(shù)為3,控制點(diǎn)為(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),節(jié)點(diǎn)矢量(0,0,0,0,1/7,2/7,3/7,4.1/7,5/7,5/7,1,1,1,1)(mm),權(quán)重(1,1,1,1,1,1,1,1),進(jìn)給速度vs=63 mm/s,不考慮加減速,插補(bǔ)周期Ts=1.8 ms,空間NURBS曲線如圖3所示。
圖3 空間NURBS曲線
插補(bǔ)方法采用一階、二階泰勒展開法,以及三次、五次多項式的參數(shù)補(bǔ)償插補(bǔ)法。速度波動計算公式為
圖4 一階泰勒方法速度波動圖
圖5 二階泰勒方法速度波動圖
圖6 三次多項式補(bǔ)償速度波動曲線
圖7 五次多項式補(bǔ)償速度波動曲線
(27)
通過分析對比仿真結(jié)果(圖4~圖7)可以得出以下結(jié)論:①參數(shù)補(bǔ)償插補(bǔ)方法與泰勒插補(bǔ)方法相比較,參數(shù)補(bǔ)償插補(bǔ)方法能顯著減小速度波動,能使速度控制在理想的范圍內(nèi),可進(jìn)一步提高加工精度和減小數(shù)控機(jī)床的振動。②根據(jù)仿真數(shù)據(jù)可以分析得出參數(shù)的補(bǔ)償有可能是負(fù)值或者是正值,在曲率比較大的地方為了減小速度的波動可以提高速度。
[1]梁宏濱,王永章,李霞.自動調(diào)節(jié)進(jìn)給速度的NURBS插補(bǔ)算法的研究與實現(xiàn)[J].計算機(jī)集成制造系統(tǒng),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]劉宇,趙波,戴麗,等.基于傳動系統(tǒng)動力學(xué)的NURBS曲線插補(bǔ)算法[J].機(jī)械工程學(xué)報,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]周紅梅,王燕銘,劉志剛,等.基于最少控制點(diǎn)的非均勻有理B樣條曲線擬合[J].西安交通大學(xué)學(xué)報,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曲線高速高精度加工的插補(bǔ)控制[J].計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報,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年生。蘭州理工大學(xué)機(jī)電工程學(xué)院教授。研究方向為CAD/CAM一體化、虛擬設(shè)計、工業(yè)機(jī)器人。已發(fā)表論文60余篇。楊明泰,男,1986年生。蘭州理工大學(xué)機(jī)電工程學(xué)院碩士研究生。張陽陽,男,1988年生。蘭州理工大學(xué)機(jī)電工程學(xué)院碩士研究生。