李英祺 ,王桂榮
(中國計(jì)量大學(xué) 機(jī)電工程學(xué)院,杭州 310018)
參數(shù)曲線插補(bǔ)是實(shí)現(xiàn)高速高精度數(shù)控加工的重要方法,解決了傳統(tǒng)加工方法在復(fù)雜零件加工方面的缺陷[1]。在所有參數(shù)曲線模型中,NURBS曲線可提供通用數(shù)學(xué)表達(dá)式且具有良好的性質(zhì)而被廣泛應(yīng)用[2]。
在NURBS曲線中高曲率區(qū)域與平滑區(qū)域頻繁變化,進(jìn)給速度的規(guī)劃決定了速度加速或減速的位置。文獻(xiàn)[3]在速度自適應(yīng)控制中將曲線中點(diǎn)和弦長中點(diǎn)之間距離近似弓高誤差,但在曲線拐點(diǎn)處誤差較大。文獻(xiàn)[4]提出根據(jù)弓高誤差限制可自適應(yīng)調(diào)整進(jìn)給速度,但忽略了機(jī)床自身的加減速性能。上述文獻(xiàn)實(shí)現(xiàn)了對(duì)進(jìn)給速度進(jìn)行自動(dòng)調(diào)節(jié)但忽略在NURBS曲線插補(bǔ)全程中的加減速處理。文獻(xiàn)[5-7]利用S曲線加減速控制方法對(duì)NURBS曲線進(jìn)行全程插補(bǔ)處理,保證了加速度的平穩(wěn)變化,但加加速度的變化是跳躍式的,這種跳躍會(huì)引起機(jī)床運(yùn)動(dòng)時(shí)的震顫,不能滿足一些細(xì)小的、對(duì)零件加工過于嚴(yán)謹(jǐn)?shù)囊?。針?duì)S曲線加減速控制方法存在的問題,文獻(xiàn)[8-10]提出多項(xiàng)式加減速方法運(yùn)用于NURBS曲線插補(bǔ)中,可保證系統(tǒng)有較高的柔性,但構(gòu)造的多項(xiàng)式加減速曲線S(t)、V(t)、A(t)、J(t)等計(jì)算公式分段多且計(jì)算復(fù)雜,用于實(shí)際插補(bǔ)中會(huì)使得插補(bǔ)周期變長影響加工效率。
基于對(duì)上述文獻(xiàn)的研究,本文提出一種新的多項(xiàng)式5段加減速的NURBS曲線插補(bǔ)控制方法,對(duì)NURBS曲線全過程進(jìn)行速度規(guī)劃的自適應(yīng)分段插補(bǔ)。滿足對(duì)進(jìn)給速度、加速度、加加速度的控制要求,滿足機(jī)床各種限制約束,通過仿真實(shí)驗(yàn)驗(yàn)證了所提方法的優(yōu)越性。
一條p次NURBS曲線的表達(dá)式[2]如下:
(1)
由cox-de Boor遞推公式可以求出p次Ni,p(u):
(2)
在NURBS曲線插補(bǔ)前,必須先已知弧長才可以加減速速度規(guī)劃。從點(diǎn)C(u1)到點(diǎn)C(u2)的曲線長度L可表示為:
(3)
由式(1)、式(2)可求出各節(jié)點(diǎn)區(qū)間上的參數(shù)坐標(biāo)(x(u),y(u)),因一般難得到計(jì)算NURBS曲線弧長被積函數(shù)的原函數(shù),故利用數(shù)值積分求曲線長度。辛普森自適應(yīng)積分方法[11]可根據(jù)被積函數(shù)在積分區(qū)間上的變化快慢自適應(yīng)細(xì)分區(qū)間,所以利用該方法求取曲線長度。通過在Matlab中設(shè)計(jì)遞歸程序來實(shí)現(xiàn)辛普森自適應(yīng)方法。
在實(shí)際運(yùn)動(dòng)過程中,通過微小直線段來代替NURBS曲線段,插補(bǔ)參數(shù)點(diǎn)仍然在NURBS曲線上,并沒有產(chǎn)生徑向誤差但是引入弓高誤差。弓高誤差δ與進(jìn)給步長ΔL、曲率半徑ρ有關(guān),為滿足加工精度要求必須把弓高誤差限制在一定范圍內(nèi)。因此在最大弓高誤差δmax限制下的進(jìn)給步長為:
(4)
在速度較大、曲線曲率較大時(shí),軌跡向心加速度過大會(huì)導(dǎo)致軌跡精度降低,且對(duì)機(jī)床系統(tǒng)產(chǎn)生較大的沖擊,最大向心加速度必須限制在合理的范圍內(nèi)。因此在最大向心加速度限制下的進(jìn)給步長為:
(5)
在一個(gè)插補(bǔ)周期內(nèi),結(jié)合給定速度求得進(jìn)給步長值為ΔL3=viΔT,由此可得在周期內(nèi)的速度v=min{ΔL1/ΔT,ΔL2/ΔT,ΔL3/ΔT}。
如圖1所示為NURBS插補(bǔ)曲線軌跡。經(jīng)過自適應(yīng)速度控制后得到NURBS曲線的各項(xiàng)數(shù)據(jù),找出對(duì)應(yīng)分段點(diǎn),分段后進(jìn)行分段預(yù)處理。具體步驟如下:
步驟1:參數(shù)ui從0開始計(jì)算得到當(dāng)前插補(bǔ)點(diǎn)C(ui)坐標(biāo),根據(jù)2.1節(jié)中得出滿足曲線精度要的進(jìn)給速度v(ui),利用2階Taylor展開式來計(jì)算下個(gè)周期參數(shù)值ui+1,即
也有不針對(duì)具體人的、目的不明確的簽文:比如說把一塊錫蘭島的藍(lán)寶石扔進(jìn)幼發(fā)拉底河,在塔頂放飛一只鳥,每一百年在沙粒無數(shù)的海灘上取走(或加上)一粒沙等等。有時(shí)候,這類簽的后果十分可怕。
(6)
步驟2:根據(jù)2.1節(jié)中最大弓高誤差和最大向心加速度的約束,找出曲線曲率極大值點(diǎn)位置并在此處作為分段點(diǎn),如圖2a為Ku1、Ku2、Ku3、Ku4為各曲率極大值點(diǎn),圖2b為自適應(yīng)速度控制插后的進(jìn)給速度圖;
步驟3:如圖1所示:在曲率極大值Ku1、Ku2、Ku3、Ku4處作為分段點(diǎn),確定各分段點(diǎn)處的參數(shù)ui值,將曲線分成Lu0u1、Lu1u2、Lu2u3、Lu3u4、Lu4u0這5段利用1.2節(jié)的方法求出各分段曲線的長度Li。計(jì)算出各段的最大速度值為vmax、起始速度值為vs、終點(diǎn)速度值為ve,在各分段曲線進(jìn)行多項(xiàng)式加減速規(guī)劃。如表1所示為各分段點(diǎn)及其各分段長度。
(a) 自適應(yīng)速度控制后的曲線曲率 (b)自適應(yīng)速度控制后的進(jìn)給速度圖2 自適應(yīng)速度控制曲線
分段點(diǎn)分段長度(mm)u0=0Lu0u1=198.1820u1=0.0788Lu1u2=236.3023u2=0.3288Lu2u3=398.4870u3=0.6764Lu3u4=234.5425u4=0.9186Lu4u0=200.3478
多項(xiàng)式5段加減速控制方法可實(shí)現(xiàn)全過程中加加速度的連續(xù)變化,有效解決機(jī)床的沖擊和振動(dòng)問題。圖3為構(gòu)造的多項(xiàng)式5段加減速全過程,加加速度可設(shè)計(jì)為三角形的變化規(guī)律,整個(gè)過程可以分為以下5個(gè)階段:加加速段(T1和T2)、減加速段(T3和T4)、勻速段T5、加減速段(T6和T7)、減減速段(T8和T9)。其中T1=T2=T3=T4,T6=T7=T8=T9,vc為進(jìn)給速度,起始速度vs,終點(diǎn)速度ve,τi=t-ti-1表示各個(gè)階段的起始點(diǎn)作為起點(diǎn)的時(shí)間,Ti為各階段持續(xù)運(yùn)行時(shí)間,k為三角形斜率。
圖3 多項(xiàng)式5段的過程曲線圖
(7)
(8)
(9)
(10)
其中,
上述為多項(xiàng)式5段加減速控制方法的基本公式,由式(7)~式(10)可知,只要確定了T1、T5、T6就可以構(gòu)造出多項(xiàng)式5段加減速控制曲線,求得各時(shí)刻所對(duì)應(yīng)的J(t)、A(t)、V(t)、S(t)等就可以判斷處加減速階段。
在實(shí)際運(yùn)用中,多項(xiàng)式5段運(yùn)行過程中并不是總包含完整的5個(gè)過程,必須根據(jù)起始速度vs、終點(diǎn)速度ve、進(jìn)給速度vc、待插補(bǔ)曲線長度S來確定實(shí)際運(yùn)行情況。當(dāng)待插補(bǔ)曲線足夠長,實(shí)際速度可以到達(dá)vc值;而長度較短時(shí),實(shí)際速度到達(dá)小于vc的某一值。
(1)實(shí)際速度可達(dá)到進(jìn)給速度的情況
(11)
由式(11)可求出時(shí)間T1,如式(12)所示:
(12)
同理,時(shí)間T6如式(13)所示:
(13)
將T1和T6代入式(10)中分別求出La、Ld,可得:
(14)
因此,勻速運(yùn)行時(shí)間為式(15):
(15)
即求出T1、T5、T6后,可構(gòu)造出完整的V(t)、A(t)、J(t)曲線圖。
(2)實(shí)際速度不可達(dá)到進(jìn)給速度的情況
當(dāng)S≤La+Ld,表示曲線長度太短則需重新進(jìn)行速度規(guī)劃。此時(shí)未達(dá)到給定進(jìn)給速度vc,不存在勻速段,則T5=0。根據(jù)式(16)通過Matlab編程求出最大速度vmax。
(16)
當(dāng)S=La(vs 得出各階段運(yùn)行時(shí)間后,就可以由式(7)~式(10)構(gòu)造出完整的加加速度、加速度、速度曲線。各段NURBS曲線按照重新規(guī)劃好的多項(xiàng)式加減速方案完成插補(bǔ)過程。 以一段待加工NURBS曲線為例,驗(yàn)證所提方法的有效性和正確性,利用多項(xiàng)式5段加減速和S曲線5段加減速這兩種方法進(jìn)行對(duì)比。圖1為待插補(bǔ)的NURBS曲線,參數(shù)值設(shè)定如下:曲線次數(shù)為p=3,節(jié)點(diǎn)矢量為U=[0 0 0 0 0.25 0.5 0.75 1 1 1 1],權(quán)因子為W=[1 2 2 1 2 2 1],控制定點(diǎn)為d=[(0 0);(-200 -200);(-200 200); (0 0); (200 200);(0 0)]。 在Matlab中進(jìn)行仿真,參數(shù)值設(shè)定如下:插補(bǔ)周期為Ts=0.001s,vs=0mm/s ,ve=0mm/s,vc=1000mm/s,最大加加速度為Jmax=80000mm/s3,最大加速度為Amax=8000mm/s2,機(jī)床所允許的最大向心加速度為amax=6000mm/s2,最大弓高誤差為5×10-4mm,斜率k=1.2×106mm/s4。 在相同插補(bǔ)周期內(nèi),對(duì)S曲線5段加減速分段規(guī)劃和多項(xiàng)式5段加減速分段規(guī)劃這2種方法進(jìn)行插補(bǔ)加工。如圖4a為自適應(yīng)速度控制后的弓高誤差圖,誤差值在5×10-4mm內(nèi);圖4b是運(yùn)用兩種方法后獲得的弓高誤差曲線比較圖,S曲線5段加減速方法規(guī)劃后得到的弓高誤差與多項(xiàng)式5段加減速規(guī)劃后得到的弓高誤差曲線基本重合,表明這兩種方法的加工精度明顯優(yōu)于自適應(yīng)速度控制插補(bǔ)方法。 (a) 自適應(yīng)速度控制后的弓高誤差 (b) 兩種方法的弓高誤差比較圖圖4 弓高誤差 如圖2所示為自適應(yīng)速度控制方法下的進(jìn)給速度圖,除了在曲率極大值附近速度會(huì)降低外在其他位置的速度都能達(dá)到1000mm/s,整段曲線平均速度為739.55mm/s。如圖5所示,由于各分段曲線受曲線弧長、Jmax、Amax等約束后,S曲線5段規(guī)劃后的速度和多項(xiàng)式5段規(guī)劃后的速度都所降低,S曲線5段插補(bǔ)整段曲線平均速度為615.88mm/s,多項(xiàng)式5段插補(bǔ)整段曲線平均速度為535.84mm/s。但多項(xiàng)式加減速規(guī)劃后的速度更平滑過渡,在最大速度附近的速度變化更柔和。 如圖6所示為S曲線5段與多項(xiàng)式5段控制方法的加速度曲線,S曲線5段控制方法的加速度控制在±8000mm/s2之內(nèi),而多項(xiàng)式5段規(guī)劃后的加減速控制在±5400mm/s2,上述兩種方法都滿足了機(jī)床加速度的要求。但S曲線5段加減速規(guī)劃后的加速度變化比較尖銳,多項(xiàng)式5段加減速規(guī)劃后的加速度較為平緩。 圖5 S曲線5段與多項(xiàng)式5段規(guī)劃后的速度曲線 圖6 S曲線5段與多項(xiàng)式5段規(guī)劃后的加速度曲線 如圖7所示為S曲線5段與多項(xiàng)式5段規(guī)劃后的加加速度曲線,所得到加加速度都限制在Jmax內(nèi)。S曲線5段規(guī)劃后的加加速度曲線存在多次跳躍式的變化,引起機(jī)床的震顫;而多項(xiàng)式5段規(guī)劃后的加速度和加加速度為連續(xù)變化,速度和加速度曲線更為平緩柔和,使機(jī)床有更好的柔性。表2所示為兩種加減速方法的結(jié)果比較。 圖7 S曲線5段與多項(xiàng)式5段規(guī)劃后的加加速度曲線 方法插補(bǔ)時(shí)間(s)最大加速度(mm/s2)最大加加速度(mm/s3)柔性S曲線5段加減速算法2.010800080000一般多項(xiàng)式5段加減速算法2.321540080000好 表2從以下幾個(gè)方面進(jìn)行了對(duì)比:插補(bǔ)時(shí)間、所達(dá)到的最大加速度、最大加加速度、系統(tǒng)柔性等??梢钥闯鯯曲線運(yùn)行時(shí)間短,柔性一般;而多項(xiàng)式5段運(yùn)行時(shí)間長,但具有良好的柔性。不難發(fā)現(xiàn)系統(tǒng)柔性提高則運(yùn)行時(shí)間增加,圖1所示的NURBS曲線長度為1267.8616mm,但多項(xiàng)式5段的加工時(shí)間只比S-5段多花0.311s。在高速高精度加工中,要求數(shù)控機(jī)床沖擊振動(dòng)小、柔性好。結(jié)果表明,多項(xiàng)式5段加減速控制方法優(yōu)于S曲線5段控制方法,前者更滿足于復(fù)雜高精度的NURBS曲線加工要求。 提出基于多項(xiàng)式5段加減速的NURBS插補(bǔ)控制方法,首先根據(jù)自適應(yīng)速度控制方法對(duì)曲線進(jìn)行分段,并對(duì)分段后NURBS曲線弧長、初始(終點(diǎn))速度要求來進(jìn)行分析確定加減速類型,從而對(duì)NURBS曲線全程進(jìn)行規(guī)劃。在設(shè)定的各種約束前提下,保證了加速度、加加速度連續(xù)變化,速度平滑性好。與S曲線5段加減速的NURBS插補(bǔ)控制方法相比,提高了機(jī)床系統(tǒng)柔性降低了加減速過程中的沖擊,仿真驗(yàn)證所提方法的有效性。 [參考文獻(xiàn)] [1] Qiang L, Liu H, Yuan S. High Accurate Interpolation of NURBS Tool Path for CNC Machine Tools[J]. Chinese Journal of Mechanical Engineering, 2016, 29(5):911-920. [2] Piegl L, Tiller W. The NURBS book[M]. 2nd . New York:Springer-Verlag Inc.,1997. [3] 趙玉剛,李偉,郭峰,等. 基于Cox-de Boor遞推的任意次NURBS曲線插補(bǔ)算法的研究與仿真[J]. 組合機(jī)床與自動(dòng)化加工技術(shù),2012(6):45-48. [4] 梁宏斌, 王永章, 李霞. 自動(dòng)調(diào)節(jié)進(jìn)給速度的NURBS插補(bǔ)算法的研究與實(shí)現(xiàn)[J]. 計(jì)算機(jī)集成制造系統(tǒng), 2006, 12(3):428-433. [5] 潘海鴻, 楊微, 陳琳,等. 全程S曲線加減速控制的自適應(yīng)分段NURBS曲線插補(bǔ)算法[J]. 中國機(jī)械工程, 2010,21(2):190-195. [6] 周勝德, 梁宏斌, 喬宇. 基于NURBS曲線插補(bǔ)的五段S曲線加減速控制方法研究[J]. 組合機(jī)床與自動(dòng)化加工技術(shù), 2011(4):37-41. [7] 岳磊, 趙國勇, 劉晨希,等. 基于S曲線加減速的NURBS插補(bǔ)控制方法研究[J]. 組合機(jī)床與自動(dòng)化加工技術(shù), 2015(5):43-46. [8] 于金剛, 林滸, 張曉輝,等. 一種新型的Jerk連續(xù)加減速控制方法研究[J]. 組合機(jī)床與自動(dòng)化加工技術(shù), 2009(8):61-64. [9] 徐川, 王永章, 劉源. 多項(xiàng)式加減速控制方法研究[J]. 組合機(jī)床與自動(dòng)化加工技術(shù), 2009(9):42-44. [10] 張振華. 數(shù)控系統(tǒng)加減速算法及定位技術(shù)研究[D]. 大連:大連理工大學(xué), 2007. [11] 顏慶津. 數(shù)值分析[M]. 4版. 北京:北京航空航天大學(xué)出版社, 2012.4 NURBS曲線仿真分析與結(jié)果
5 結(jié)束語