朱 昊 劉京南 楊安康 汪木蘭
1.東南大學(xué),南京,210096
2.南京工程學(xué)院先進(jìn)數(shù)控技術(shù)江蘇省重點實驗室,南京,211167
非均勻有理 B樣條(non-uniform rational B-spline,NURBS)是國際標(biāo)準(zhǔn)化組織在產(chǎn)品模型數(shù)據(jù)交換標(biāo)準(zhǔn)(standard for exchange of product model data,STEP)中規(guī)定描述自由曲線曲面的唯一數(shù)學(xué)模型。是否具有NURBS曲線插補(bǔ)功能是目前衡量一個數(shù)控系統(tǒng)技術(shù)水平的重要指標(biāo)之一。近年來,關(guān)于NURBS插補(bǔ)的一個熱點問題是如何將進(jìn)給速度的控制融合到插補(bǔ)計算之中[1]。傳統(tǒng)的速度控制方法有很多種,基于速度時間曲線的描述,常見模型類型包括直線型、指數(shù)型以及S型[2]。直線型速度控制方法簡單、計算量小。相對于直線型控制方法,指數(shù)型速度控制方法具有平滑性好、運動精度較高的優(yōu)點。但上述兩種方法都存在加速度不連續(xù)、機(jī)床受沖擊、加工質(zhì)量不高的缺點。潘海鴻等[3]討論了S型速度控制策略,這種控制策略實現(xiàn)了加速度的平滑過渡,但存在加加速度不連續(xù)的問題。趙國勇等[4]用分段三次多項式描述速度變化,設(shè)計了速度控制策略,該算法實現(xiàn)了加加速度時間曲線的連續(xù)性,但加加速度變化較緩慢,使得速度上升到最大值所需要的時間較長,影響了插補(bǔ)的快速性。
本文在考慮加加速度連續(xù)性、平滑性及其最大值限制的基礎(chǔ)上,提出一種基于分?jǐn)?shù)次冪多項式描述的速度控制策略,使得加加速度能快速增大至最大值,且過渡連續(xù)、平滑。
NURBS曲線直接插補(bǔ)是指將整條NURBS細(xì)分為若干插補(bǔ)周期,在每個插補(bǔ)周期內(nèi)控制刀具在三個坐標(biāo)上運動,從而直接逼近NURBS曲線。目前一般按照時間進(jìn)行分割,在確定不同位置刀具速度的基礎(chǔ)上,首先根據(jù)加工路徑曲率變化確定各插補(bǔ)點的速率vi,然后按照步進(jìn)時間不變的原則求取插補(bǔ)步長ΔS。對于以參數(shù)ui表示的NURBS曲線P(u),可以根據(jù)步長ΔS確定下一點的參數(shù)值ui+1。通過ui+1可最終求取此點的坐標(biāo)X、Y、Z 及其偏移量 ΔX、ΔY、ΔZ。在上述過程中,由于NURBS曲線的反函數(shù)難以計算,對于參數(shù)ui+1的求取一般采用Taylor展開近似算法來獲取步長和參數(shù)的關(guān)系。對于NURBS曲線P(u),通過Taylor展開可以遞推得到下一個參數(shù)的近似值。常用的二階Taylor展開式如下[5]:
式中,T 為插補(bǔ)周期;v 為進(jìn)給速度;X'、X″、Y'、Y″分別為X(u)和Y(u)的一階、二階導(dǎo)數(shù)。
根據(jù)式(1)通過De Boor遞推公式即可根據(jù)參數(shù)ui+1最終求取此點的坐標(biāo)X、Y、Z。
當(dāng)加工路徑曲率發(fā)生變化時,機(jī)床插補(bǔ)的速度必須發(fā)生變化,否則將會帶來過大的輪廓誤差。文獻(xiàn)[3]中討論的速度控制模型將加速或減速過程分為三段,因此完整的加速 -勻速 -減速過程被分為七段。這是目前應(yīng)用最為廣泛的速度控制策略,其中加加速段模型為
式中,jmax為最大加加速度;vs為初始速度;t為時間。
文獻(xiàn)[4]提出的速度模型能實現(xiàn)加加速度的連續(xù),其中加加速段模型為
其中,系數(shù)k由機(jī)床自身特性決定。
由式(2)可以看出,加加速度為恒定值jmax,當(dāng)速度模型由加加速過渡到勻加速時,加加速度將發(fā)生階躍跳變,這種階躍跳變將導(dǎo)致機(jī)床受到柔性沖擊而影響加工精度。式(3)中加加速度呈線性變化,其變化率由系數(shù)k決定。系數(shù)k的取值取決于機(jī)床本身結(jié)構(gòu),對于不同結(jié)構(gòu)的機(jī)床,系數(shù)k也不同。目前對系數(shù)k的特性及變化規(guī)律進(jìn)行深入討論的文獻(xiàn)很少,還沒有統(tǒng)一的結(jié)論。為使得加加速度更快地達(dá)到j(luò)max且保持連續(xù),本文提出基于分?jǐn)?shù)冪多項式的速度控制策略,其中加加速度階段模型如下:
式中,js為初始加加速度;as為初始加速度。
傳統(tǒng)的七段法將加速過程分為三段:加加速過程、勻加速過程、減加速過程。在這3個過程中,加加速度分別為jmax、0、-jmax。減速過程與加速過程類似。本算法在七段法基礎(chǔ)上,將加速和減速過程均進(jìn)一步細(xì)分為七段。加速階段的具體動力學(xué)模型如下:
減速部分與之類似。這里按照一般情況,設(shè)加加速度和加速度的初始值均為0,速度初始值為vs。
曲率半徑描述了曲線的彎曲程度。對于一條NURBS曲線P(u),在ui處的曲率半徑Ri為
式中,P'(u)、P″(u)為 P(u)的一階、二階導(dǎo)數(shù)。
由NURBS曲線齊次坐標(biāo)表示法可得
式中,Pi為 NURBS曲線控制點;Ni,k(u)為 B 樣條基函數(shù)。
因此,可得
同理,可求得二階導(dǎo)數(shù)P″(u),并將其代入式(8)即可求出該點處曲率半徑。
設(shè)相鄰兩個點ui和ui+1之間的弓高誤差為ε,ui點處加工半徑為ri,則根據(jù)弓高誤差的定義可得
由Li=viT可得
為保證加工精度,在弓高誤差的約束下,在ui處的速度vc應(yīng)該滿足如下關(guān)系:
在插補(bǔ)過程中,除加加速度不連續(xù)會對機(jī)床產(chǎn)生柔性沖擊外,加加速度絕對值過大也同樣會對機(jī)床產(chǎn)生影響。文獻(xiàn)[6]討論了加加速度與進(jìn)給速度的關(guān)系,并推導(dǎo)了相應(yīng)公式。對于NURBS曲線P(u),加加速度j、加速度a以及速度v之間的關(guān)系如圖1所示。
圖1 單步插補(bǔ)中加加速度、加速度和速度的關(guān)系
由加加速度定義可得
因此
當(dāng)實際加工路徑曲率以及長度發(fā)生變化時,第2節(jié)所述動力學(xué)模型將有所變化。當(dāng)曲率變化相對劇烈,加工路徑相對較短時,上述模型中可能沒有勻加速階段、勻速階段以及勻減速階段,甚至速度不能達(dá)到機(jī)床允許的最大速度vmax。前瞻算法的主要功能在于判斷加速、減速階段時間以及求取插補(bǔ)過程的減速點,并理論減速位移Sd相比較,從而確定上述模型的具體結(jié)構(gòu)并修正實際進(jìn)給速度。
當(dāng)加工路徑曲率l發(fā)生變化時,加工速度隨之變化,當(dāng)加工路徑為直線時,l=0,加工速度最大。因此可以根據(jù)加工路徑的曲率求得加工路徑中的速度極大區(qū)域。具體判斷法則如下:
對于NURBS曲線P(u),設(shè)其參數(shù)ui處的曲率為li,則根據(jù)式(8)的倒數(shù)可以求得曲線上各點曲率值的集合{l0,l1,…,ln}。
(1)當(dāng)其中某一個元素li的值為0時,則此元素li所對應(yīng)點同時為加速過程的結(jié)束點和減速過程的起始點。
(2)當(dāng)其中連續(xù)多個元素 li-t,li-t+1,…,li的值為0時,則此組中最左邊一個元素li-t所對應(yīng)點為加速過程的結(jié)束點,此組中最右邊一個元素li所對應(yīng)點為減速過程的起始點。
(3)設(shè)Δli=li-li-1為相鄰兩個點的曲率之差,則對于連續(xù) 3 個點 P(ui-1)、P(ui)、P(ui+1),存在 Δli、Δli+1。當(dāng)Δli< 0且Δli+1> 0時,P(ui)同時為加速階段結(jié)束點和減速過程的起始點。
(4)當(dāng)Δli>0且Δli+1<0時,P(ui)同時為減速過程的結(jié)束點和加速過程的起始點。
設(shè)插補(bǔ)運動位移為S,則有
現(xiàn)將式(18)代入式(8)可以求出理論減速位移Sd。文獻(xiàn)[7]給出了一種基于Sinpson求積法的NURBS總弧長St的計算公式。文獻(xiàn)[8]給出了一種計算已走過弧長Sa的計算公式。則ΔS(ΔS=St-Sa)表示該段曲線實際剩余位移。根據(jù)上述參數(shù),可得減速點判斷法則如下。
對于NURBS曲線P(u),令各點處剩余位移為{St,ΔS1,…,ΔSi,…,ΔSn-1,0},則有:① 其中若存在某個元素ΔSi滿足ΔSi=Sd,則P(ui)為實際減速點;②其中若存在連續(xù)兩個元素 ΔSi,ΔSi+1滿足ΔSi>Sd且ΔSi+1<Sd,則P(ui)為實際減速點。
由式(5)~式(7)可得在加速-勻速-減速階段分?jǐn)?shù)冪多項式速度控制策略(此處稱為F算法)的加加速度時間曲線、加速度時間曲線和速度時間曲線。為驗證其合理性,現(xiàn)與文獻(xiàn)[3]中的七段法速度控制策略(此處稱為S算法)和文獻(xiàn)[4]中的三次多項式速度控制策略(此處稱為T算法)作對比??紤]到比較條件的一致性,這里取 k=1,jmax=1mm/s3,amax=2mm/s2,vmax=8mm/s,vs=0。對比結(jié)果如圖2所示。
從圖2中可以看出,S算法加速度和速度變化較快,但加加速度出現(xiàn)了階躍跳變。T算法和F算法實現(xiàn)了加加速度的連續(xù),但F算法加速度和速度變化更加快速??梢姳疚奶岢龅腇算法可以在保證加加速度連續(xù)的條件下使得速度更快達(dá)到最大值。
為驗證上述算法的正確性,本文在MATLAB中分別對二維和三維NURBS曲線進(jìn)行了仿真,對加加速度連續(xù)的T算法和F算法進(jìn)行了對比。二維NURBS插補(bǔ)路徑如圖3a所示,其控制點為(4,4,0)、(0,2,0)、(0,8,0)、(4,4,0)、(8,0,0)、(8,6,0)、(4,4,0)。權(quán)重向量為 w=(1,0.5,0.9,1,0.9,0.5,1)。節(jié)點向量為 U=(0,0,0,1/4,1/2,1/2,3/4,1,1,1)。三維 NURBS 插補(bǔ)路徑如圖3b 所示,其控制點為(3,1,0)、(2,3,2)、(4,2,1)、(5,4,3)、(6,2,1)、(8,3,2)、(7,1,0)。權(quán)重向量為 w=(1,0.5,0.9,1,0.9,0.5,1)。節(jié)點向量為 U=(0,0,0,1/5,2/5,3/5,4/5,1,1,1)。
圖2 F算法、T算法、S算法速度控制策略比較
圖3 二維和三維NURBS曲線插補(bǔ)路徑
加工參數(shù)如下:插補(bǔ)周期T=1ms,最大進(jìn)給速度 vmax=100mm/s,最 大 加 速 度 amax=250mm/s2,最大弓高誤差 ε=1μm。二維 NURBS曲線初始進(jìn)給速度vs=70mm/s,插補(bǔ)速度時間曲線如圖4a所示。三維NURBS曲線初始進(jìn)給速度vs=0,插補(bǔ)速度時間曲線如圖4b所示。從圖4a和圖4b中可以看出,F(xiàn)算法中進(jìn)給速度可以更快地到達(dá)速度最大值。在實際加速位移較短,進(jìn)給速度無法達(dá)到vmax時(如二維NURBS曲線的控制點(4,4,0)與(0,2,0)之間和三維 NURBS 曲線的控制點(2,3,2)與(4,2,1)之間),F(xiàn) 算法中進(jìn)給速度可以達(dá)到相對較高的值。
圖4 二維和三維NURBS曲線F算法、T算法速度響應(yīng)
本文在分析現(xiàn)有算法的基礎(chǔ)上有針對性地提出了基于分?jǐn)?shù)次冪多項式的速度規(guī)劃方法,分析了基于加加速度控制約束的約束條件,根據(jù)曲率的變化討論了加減速階段及減速點的計算方法并給出了判斷法則。分析結(jié)果表明,本算法可以在保證加加速度連續(xù)的前提下有效提高加工速度,滿足了NURBS曲線高速高精度的插補(bǔ)要求,將本算法應(yīng)用于實際計算機(jī)數(shù)控系統(tǒng)有切實的實用價值和可行性。考慮到篇幅限制,本文并未討論如何將上述算法嵌入到真正數(shù)控機(jī)床中予以實現(xiàn)。
[1]Kong T,Narayanawami R A.Parametric Interpolator with Confined Chord Errors,Acceleration and Deceleration for Machining[J].Computer- aided Design,2003,35(13):1249-1259.
[2]胡建華,廖文和,周儒榮.CNC系統(tǒng)中幾種升降速控制曲線的研究和比較[J].南京航空航天大學(xué)學(xué)報,1999,31(6):706-711.Hu Jianhua,Liao Wenhe,Zhou Rurong.Research and Comparison for Several Curves of Acceleration and Deceleration in CNC Systems[J].Journal of Nanjing University of Aeronautics & Astronautics,1999,31(6):706-711.
[3]潘海鴻,楊微,陳琳,等.全程S曲線加減速控制的自適應(yīng)分段NURBS曲線插補(bǔ)算法[J].中國機(jī)械工程,2010,21(2):190-195.Pan Haihong,Yang Wei,Chen Lin,et al.Adaptive Piecewise NURBS Curve Interpolator Algorithm for Entireness Process S-curve ACC/DEC Control[J].China Mechanical Engineering,2010,21(2):190-195.
[4]趙國勇,徐志祥,趙福令.高速高精度數(shù)控加工中NURBS曲線插補(bǔ)的研究[J].中國機(jī)械工程,2006,17(3):291-294.Zhao Guoyong,Xu Zhixiang,Zhao Fuling.Study on NURBS Curve Interpolator in the High Speed and High Accuracy CNC Machining[J].China Mechanical Engineering,2006,17(3):291-294.
[5]Yang D C H,Kong T.Parametric Interpolator Versus Linear Interpolator for Precision Surface Machining[J].Computer-aided Design,1994,26(3):225-234.
[6]Lai J Y,Lin K Y,Tseng S J,et al.On the Development of a Parametric Interpolator with Confined Chord Error,F(xiàn)ederate,Acceleration and Jerk[J].Advanced Manufacture Technology,2008,37:104-121.
[7]Le W T,Sung I M P,Huang J J.Fast Real-time NURBS Interpolation for CNC Machine Tools[J].Machine Tools & Manufacture,2007,47:1030-1541.
[8]Altintas Y.Metal Cutting Mechanics,Machine Tool Vibrations,and CNC Design[M].Cambridge:Cambridge University Press,2000.