朱 昊 劉京南 楊安康 汪木蘭
1.東南大學(xué),南京,210096
2.南京工程學(xué)院先進(jìn)數(shù)控技術(shù)江蘇省重點(diǎn)實(shí)驗(yàn)室,南京,211167
非均勻有理 B樣條(non-uniform rational B-spline,NURBS)是國(guó)際標(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ǔ)功能是目前衡量一個(gè)數(shù)控系統(tǒng)技術(shù)水平的重要指標(biāo)之一。近年來(lái),關(guān)于NURBS插補(bǔ)的一個(gè)熱點(diǎn)問(wèn)題是如何將進(jìn)給速度的控制融合到插補(bǔ)計(jì)算之中[1]。傳統(tǒng)的速度控制方法有很多種,基于速度時(shí)間曲線的描述,常見(jiàn)模型類型包括直線型、指數(shù)型以及S型[2]。直線型速度控制方法簡(jiǎn)單、計(jì)算量小。相對(duì)于直線型控制方法,指數(shù)型速度控制方法具有平滑性好、運(yùn)動(dòng)精度較高的優(yōu)點(diǎn)。但上述兩種方法都存在加速度不連續(xù)、機(jī)床受沖擊、加工質(zhì)量不高的缺點(diǎn)。潘海鴻等[3]討論了S型速度控制策略,這種控制策略實(shí)現(xiàn)了加速度的平滑過(guò)渡,但存在加加速度不連續(xù)的問(wèn)題。趙國(guó)勇等[4]用分段三次多項(xiàng)式描述速度變化,設(shè)計(jì)了速度控制策略,該算法實(shí)現(xiàn)了加加速度時(shí)間曲線的連續(xù)性,但加加速度變化較緩慢,使得速度上升到最大值所需要的時(shí)間較長(zhǎng),影響了插補(bǔ)的快速性。
本文在考慮加加速度連續(xù)性、平滑性及其最大值限制的基礎(chǔ)上,提出一種基于分?jǐn)?shù)次冪多項(xiàng)式描述的速度控制策略,使得加加速度能快速增大至最大值,且過(guò)渡連續(xù)、平滑。
NURBS曲線直接插補(bǔ)是指將整條NURBS細(xì)分為若干插補(bǔ)周期,在每個(gè)插補(bǔ)周期內(nèi)控制刀具在三個(gè)坐標(biāo)上運(yùn)動(dòng),從而直接逼近NURBS曲線。目前一般按照時(shí)間進(jìn)行分割,在確定不同位置刀具速度的基礎(chǔ)上,首先根據(jù)加工路徑曲率變化確定各插補(bǔ)點(diǎn)的速率vi,然后按照步進(jìn)時(shí)間不變的原則求取插補(bǔ)步長(zhǎng)ΔS。對(duì)于以參數(shù)ui表示的NURBS曲線P(u),可以根據(jù)步長(zhǎng)ΔS確定下一點(diǎn)的參數(shù)值ui+1。通過(guò)ui+1可最終求取此點(diǎn)的坐標(biāo)X、Y、Z 及其偏移量 ΔX、ΔY、ΔZ。在上述過(guò)程中,由于NURBS曲線的反函數(shù)難以計(jì)算,對(duì)于參數(shù)ui+1的求取一般采用Taylor展開(kāi)近似算法來(lái)獲取步長(zhǎng)和參數(shù)的關(guān)系。對(duì)于NURBS曲線P(u),通過(guò)Taylor展開(kāi)可以遞推得到下一個(gè)參數(shù)的近似值。常用的二階Taylor展開(kāi)式如下[5]:
式中,T 為插補(bǔ)周期;v 為進(jìn)給速度;X'、X″、Y'、Y″分別為X(u)和Y(u)的一階、二階導(dǎo)數(shù)。
根據(jù)式(1)通過(guò)De Boor遞推公式即可根據(jù)參數(shù)ui+1最終求取此點(diǎn)的坐標(biāo)X、Y、Z。
當(dāng)加工路徑曲率發(fā)生變化時(shí),機(jī)床插補(bǔ)的速度必須發(fā)生變化,否則將會(huì)帶來(lái)過(guò)大的輪廓誤差。文獻(xiàn)[3]中討論的速度控制模型將加速或減速過(guò)程分為三段,因此完整的加速 -勻速 -減速過(guò)程被分為七段。這是目前應(yīng)用最為廣泛的速度控制策略,其中加加速段模型為
式中,jmax為最大加加速度;vs為初始速度;t為時(shí)間。
文獻(xiàn)[4]提出的速度模型能實(shí)現(xiàn)加加速度的連續(xù),其中加加速段模型為
其中,系數(shù)k由機(jī)床自身特性決定。
由式(2)可以看出,加加速度為恒定值jmax,當(dāng)速度模型由加加速過(guò)渡到勻加速時(shí),加加速度將發(fā)生階躍跳變,這種階躍跳變將導(dǎo)致機(jī)床受到柔性沖擊而影響加工精度。式(3)中加加速度呈線性變化,其變化率由系數(shù)k決定。系數(shù)k的取值取決于機(jī)床本身結(jié)構(gòu),對(duì)于不同結(jié)構(gòu)的機(jī)床,系數(shù)k也不同。目前對(duì)系數(shù)k的特性及變化規(guī)律進(jìn)行深入討論的文獻(xiàn)很少,還沒(méi)有統(tǒng)一的結(jié)論。為使得加加速度更快地達(dá)到j(luò)max且保持連續(xù),本文提出基于分?jǐn)?shù)冪多項(xiàng)式的速度控制策略,其中加加速度階段模型如下:
式中,js為初始加加速度;as為初始加速度。
傳統(tǒng)的七段法將加速過(guò)程分為三段:加加速過(guò)程、勻加速過(guò)程、減加速過(guò)程。在這3個(gè)過(guò)程中,加加速度分別為jmax、0、-jmax。減速過(guò)程與加速過(guò)程類似。本算法在七段法基礎(chǔ)上,將加速和減速過(guò)程均進(jìn)一步細(xì)分為七段。加速階段的具體動(dòng)力學(xué)模型如下:
減速部分與之類似。這里按照一般情況,設(shè)加加速度和加速度的初始值均為0,速度初始值為vs。
曲率半徑描述了曲線的彎曲程度。對(duì)于一條NURBS曲線P(u),在ui處的曲率半徑Ri為
式中,P'(u)、P″(u)為 P(u)的一階、二階導(dǎo)數(shù)。
由NURBS曲線齊次坐標(biāo)表示法可得
式中,Pi為 NURBS曲線控制點(diǎn);Ni,k(u)為 B 樣條基函數(shù)。
因此,可得
同理,可求得二階導(dǎo)數(shù)P″(u),并將其代入式(8)即可求出該點(diǎn)處曲率半徑。
設(shè)相鄰兩個(gè)點(diǎn)ui和ui+1之間的弓高誤差為ε,ui點(diǎn)處加工半徑為ri,則根據(jù)弓高誤差的定義可得
由Li=viT可得
為保證加工精度,在弓高誤差的約束下,在ui處的速度vc應(yīng)該滿足如下關(guān)系:
在插補(bǔ)過(guò)程中,除加加速度不連續(xù)會(huì)對(duì)機(jī)床產(chǎn)生柔性沖擊外,加加速度絕對(duì)值過(guò)大也同樣會(huì)對(duì)機(jī)床產(chǎn)生影響。文獻(xiàn)[6]討論了加加速度與進(jìn)給速度的關(guān)系,并推導(dǎo)了相應(yīng)公式。對(duì)于NURBS曲線P(u),加加速度j、加速度a以及速度v之間的關(guān)系如圖1所示。
圖1 單步插補(bǔ)中加加速度、加速度和速度的關(guān)系
由加加速度定義可得
因此
當(dāng)實(shí)際加工路徑曲率以及長(zhǎng)度發(fā)生變化時(shí),第2節(jié)所述動(dòng)力學(xué)模型將有所變化。當(dāng)曲率變化相對(duì)劇烈,加工路徑相對(duì)較短時(shí),上述模型中可能沒(méi)有勻加速階段、勻速階段以及勻減速階段,甚至速度不能達(dá)到機(jī)床允許的最大速度vmax。前瞻算法的主要功能在于判斷加速、減速階段時(shí)間以及求取插補(bǔ)過(guò)程的減速點(diǎn),并理論減速位移Sd相比較,從而確定上述模型的具體結(jié)構(gòu)并修正實(shí)際進(jìn)給速度。
當(dāng)加工路徑曲率l發(fā)生變化時(shí),加工速度隨之變化,當(dāng)加工路徑為直線時(shí),l=0,加工速度最大。因此可以根據(jù)加工路徑的曲率求得加工路徑中的速度極大區(qū)域。具體判斷法則如下:
對(duì)于NURBS曲線P(u),設(shè)其參數(shù)ui處的曲率為li,則根據(jù)式(8)的倒數(shù)可以求得曲線上各點(diǎn)曲率值的集合{l0,l1,…,ln}。
(1)當(dāng)其中某一個(gè)元素li的值為0時(shí),則此元素li所對(duì)應(yīng)點(diǎn)同時(shí)為加速過(guò)程的結(jié)束點(diǎn)和減速過(guò)程的起始點(diǎn)。
(2)當(dāng)其中連續(xù)多個(gè)元素 li-t,li-t+1,…,li的值為0時(shí),則此組中最左邊一個(gè)元素li-t所對(duì)應(yīng)點(diǎn)為加速過(guò)程的結(jié)束點(diǎn),此組中最右邊一個(gè)元素li所對(duì)應(yīng)點(diǎn)為減速過(guò)程的起始點(diǎn)。
(3)設(shè)Δli=li-li-1為相鄰兩個(gè)點(diǎn)的曲率之差,則對(duì)于連續(xù) 3 個(gè)點(diǎn) P(ui-1)、P(ui)、P(ui+1),存在 Δli、Δli+1。當(dāng)Δli< 0且Δli+1> 0時(shí),P(ui)同時(shí)為加速階段結(jié)束點(diǎn)和減速過(guò)程的起始點(diǎn)。
(4)當(dāng)Δli>0且Δli+1<0時(shí),P(ui)同時(shí)為減速過(guò)程的結(jié)束點(diǎn)和加速過(guò)程的起始點(diǎn)。
設(shè)插補(bǔ)運(yùn)動(dòng)位移為S,則有
現(xiàn)將式(18)代入式(8)可以求出理論減速位移Sd。文獻(xiàn)[7]給出了一種基于Sinpson求積法的NURBS總弧長(zhǎng)St的計(jì)算公式。文獻(xiàn)[8]給出了一種計(jì)算已走過(guò)弧長(zhǎng)Sa的計(jì)算公式。則ΔS(ΔS=St-Sa)表示該段曲線實(shí)際剩余位移。根據(jù)上述參數(shù),可得減速點(diǎn)判斷法則如下。
對(duì)于NURBS曲線P(u),令各點(diǎn)處剩余位移為{St,ΔS1,…,ΔSi,…,ΔSn-1,0},則有:① 其中若存在某個(gè)元素ΔSi滿足ΔSi=Sd,則P(ui)為實(shí)際減速點(diǎn);②其中若存在連續(xù)兩個(gè)元素 ΔSi,ΔSi+1滿足ΔSi>Sd且ΔSi+1<Sd,則P(ui)為實(shí)際減速點(diǎn)。
由式(5)~式(7)可得在加速-勻速-減速階段分?jǐn)?shù)冪多項(xiàng)式速度控制策略(此處稱為F算法)的加加速度時(shí)間曲線、加速度時(shí)間曲線和速度時(shí)間曲線。為驗(yàn)證其合理性,現(xiàn)與文獻(xiàn)[3]中的七段法速度控制策略(此處稱為S算法)和文獻(xiàn)[4]中的三次多項(xiàng)式速度控制策略(此處稱為T算法)作對(duì)比??紤]到比較條件的一致性,這里取 k=1,jmax=1mm/s3,amax=2mm/s2,vmax=8mm/s,vs=0。對(duì)比結(jié)果如圖2所示。
從圖2中可以看出,S算法加速度和速度變化較快,但加加速度出現(xiàn)了階躍跳變。T算法和F算法實(shí)現(xiàn)了加加速度的連續(xù),但F算法加速度和速度變化更加快速。可見(jiàn)本文提出的F算法可以在保證加加速度連續(xù)的條件下使得速度更快達(dá)到最大值。
為驗(yàn)證上述算法的正確性,本文在MATLAB中分別對(duì)二維和三維NURBS曲線進(jìn)行了仿真,對(duì)加加速度連續(xù)的T算法和F算法進(jìn)行了對(duì)比。二維NURBS插補(bǔ)路徑如圖3a所示,其控制點(diǎn)為(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é)點(diǎn)向量為 U=(0,0,0,1/4,1/2,1/2,3/4,1,1,1)。三維 NURBS 插補(bǔ)路徑如圖3b 所示,其控制點(diǎn)為(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é)點(diǎn)向量為 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ǔ)速度時(shí)間曲線如圖4a所示。三維NURBS曲線初始進(jìn)給速度vs=0,插補(bǔ)速度時(shí)間曲線如圖4b所示。從圖4a和圖4b中可以看出,F(xiàn)算法中進(jìn)給速度可以更快地到達(dá)速度最大值。在實(shí)際加速位移較短,進(jìn)給速度無(wú)法達(dá)到vmax時(shí)(如二維NURBS曲線的控制點(diǎn)(4,4,0)與(0,2,0)之間和三維 NURBS 曲線的控制點(diǎn)(2,3,2)與(4,2,1)之間),F(xiàn) 算法中進(jìn)給速度可以達(dá)到相對(duì)較高的值。
圖4 二維和三維NURBS曲線F算法、T算法速度響應(yīng)
本文在分析現(xiàn)有算法的基礎(chǔ)上有針對(duì)性地提出了基于分?jǐn)?shù)次冪多項(xiàng)式的速度規(guī)劃方法,分析了基于加加速度控制約束的約束條件,根據(jù)曲率的變化討論了加減速階段及減速點(diǎn)的計(jì)算方法并給出了判斷法則。分析結(jié)果表明,本算法可以在保證加加速度連續(xù)的前提下有效提高加工速度,滿足了NURBS曲線高速高精度的插補(bǔ)要求,將本算法應(yīng)用于實(shí)際計(jì)算機(jī)數(shù)控系統(tǒng)有切實(shí)的實(shí)用價(jià)值和可行性??紤]到篇幅限制,本文并未討論如何將上述算法嵌入到真正數(shù)控機(jī)床中予以實(shí)現(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é)報(bào),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].中國(guó)機(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]趙國(guó)勇,徐志祥,趙福令.高速高精度數(shù)控加工中NURBS曲線插補(bǔ)的研究[J].中國(guó)機(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.