張 力,楊東升,王允森,李海英
(1.中國科學(xué)院 沈陽計算技術(shù)研究所,沈陽 110168;2.中國科學(xué)院大學(xué),北京 100049)
目前,參數(shù)曲線(曲面)廣泛應(yīng)用于航空、模具等制造領(lǐng)域中,復(fù)雜曲線(曲面)的加工技術(shù)一直是研究的重點(diǎn)。NURBS 曲線插補(bǔ)也成為數(shù)控插補(bǔ)中一項重要技術(shù),對于高速高精數(shù)控加工更是如此。在高速加工時,如果刀具的進(jìn)給方向發(fā)生突變而進(jìn)給速度沒有及時降低,就會引起過切,所以在加工中又引入了前瞻技術(shù),預(yù)先獲得待加工零件輪廓進(jìn)給方向的突變點(diǎn)及通過該突變點(diǎn)最佳進(jìn)給速度等控制信息,使得當(dāng)插補(bǔ)到這些突變點(diǎn)之前能及時修調(diào)進(jìn)給速度,避免出現(xiàn)過切。目前,國內(nèi)外對于前瞻技術(shù)進(jìn)行了大量研究。Du等[1]提出了一種自適應(yīng)的前瞻插補(bǔ)算法,在對速度進(jìn)行自適應(yīng)控制的同時進(jìn)行前瞻控制,找出速度變化超過允許范圍的敏感點(diǎn),提前進(jìn)行加減速規(guī)劃。但是這種方法沒有對加加速度進(jìn)行控制。曹宇男等[2]設(shè)計了一種基于S 型加減速的前瞻控制算法,算法中設(shè)定了最大前瞻段數(shù),并根據(jù)實際插補(bǔ)軌跡的幾何特性實現(xiàn)了加減速的控制。但是在對復(fù)雜曲線進(jìn)行加減速控制時,其前瞻距離的確定有一定的困難。彭芳瑜等[3]利用二次遺傳算法對NURBS 曲線進(jìn)行預(yù)處理,找到曲線上的曲率極大值點(diǎn)集,并建立機(jī)床動力學(xué)性能和曲線幾何性能的混合約束條件,生成曲線插補(bǔ)的前瞻控制信息,實時優(yōu)化進(jìn)給速度。但對最優(yōu)速度求解過于復(fù)雜且并不是全局最優(yōu)解。Lin 等[4]提出了動態(tài)NURBS插補(bǔ)的前瞻算法,對加速度和加加速度受限的S 型加減速進(jìn)行討論,但是七段S 型曲線較為復(fù)雜,也不能保證加速度平滑。
本文在以上研究基礎(chǔ)上,提出了一種三次多項式加減速型NURBS 曲線前瞻算法。該算法實現(xiàn)了加速度平滑,改善了加加速度突變次數(shù)過多問題。首先對加工曲線進(jìn)行預(yù)處理,找到加工中的速度敏感點(diǎn)并對曲線分段,然后采用基于回溯的方法修正速度,保證系統(tǒng)能夠減速到速度敏感點(diǎn),然后對分段進(jìn)行速度前瞻并保證加速度平滑過渡。最后對提出的算法進(jìn)行仿真驗證其可行性。
NURBS 曲線是基于分段有理B 樣條多項式基函數(shù)定義的。一條k次的NURBS 曲線定義為:
其中,u為NURBS 曲線的自變量,Ci(i=0,1…n)為控制頂點(diǎn),共有n+1 個,wi(i=0,1…n)為控制頂點(diǎn)的權(quán)因子,其中首末權(quán)因子w0,wn>0,其余wi≥0,Ni,k(u)是k次非均勻有理B 樣條基函數(shù),由節(jié)點(diǎn)矢量U=(ui,ui+1…ui+k)確定。
速度敏感點(diǎn)應(yīng)位于曲線的曲率極大值點(diǎn)處并且該插補(bǔ)點(diǎn)的曲率值大于設(shè)定閾值kthr,則該點(diǎn)為速度敏感點(diǎn)[5]。
其中Amax,F(xiàn)為系統(tǒng)允許最大加速度和最大進(jìn)給速度。
考慮以弓高誤差對速度進(jìn)行限制。用圓弧近似的方法來求出弓高誤差與進(jìn)給速度以及曲率之間的關(guān)系,如圖1 所示,其中ρi為曲率半徑,弓高誤差為δ,設(shè)V(ui)為實際進(jìn)給速度。
圖1 高曲率點(diǎn)處的弓高誤差
通過幾何關(guān)系可以求出:
根據(jù)公式(3),若假設(shè)加工所要求的最大弓高誤差為δmax,則該誤差約束下的速度Ve(ui)為:
若設(shè)定加工時的編程速度為F,則實際的插補(bǔ)速度為:
在預(yù)處理模塊中,將曲線按速度敏感點(diǎn)把NURBS曲線劃分為n段曲線,每一段的長度可以用下列公式得出:
公式(6)中,m為每一段的標(biāo)號,Nm為第m段曲線中插補(bǔ)點(diǎn)的個數(shù)。在預(yù)插補(bǔ)中求得分段開始和結(jié)束點(diǎn)處的最優(yōu)速度、每段的最大速度Vmax以及每段的長度Lms eg存儲在緩存中。
對于三次多項式加減速,假設(shè)v(t)為速度曲線,a(t)為加速度曲線,j(t)為加加速度曲線,vs、ve分別為起點(diǎn)和終點(diǎn)速度,如圖2 所示。此時速度曲線v(t)的表達(dá)式可寫為[6]:
其中t為速度曲線v(t)的時間參數(shù),tm為進(jìn)給速度從vs變化到ve所需要的加減速時間。邊界條件為:
圖2 三次多項式加減速模型
將公式(8)代入公式(7)速度曲線v(t)中可計算出四個系數(shù)為:
加速度曲線a(t)是以tm/2 為對稱軸的二次曲線,因而其極值出現(xiàn)在tm/2 時??傻霉剑?]:
可計算出進(jìn)給速度從vs變化到ve所需的最短距離為:
前瞻距離分為加工前瞻距離和預(yù)前瞻距離,加工前瞻距離為以當(dāng)前點(diǎn)的速度能夠減速到0 的距離,即預(yù)前瞻距離是消除后續(xù)的速度敏感點(diǎn)對前面速度變化的影響,即所以前瞻距離為[8]:
圖3 轉(zhuǎn)接點(diǎn)速度修正
根據(jù)速度突變點(diǎn),將NURBS 曲線劃分為曲線段,對已前瞻過的分段進(jìn)行回溯修正,保證以當(dāng)前點(diǎn)速度能夠減速到其后的任意速度敏感點(diǎn)。對已前瞻的距離中需進(jìn)行轉(zhuǎn)接速度修正的j條軌跡段如圖3 所示,P為當(dāng)前插補(bǔ)點(diǎn),Qj為前瞻的終點(diǎn)。其中vjmax為速度敏感點(diǎn)j處所允許的最大轉(zhuǎn)接速度,sj-1j為軌跡段Qj-1Qj的長度,vjj-1為Qj處速度反向加速到Qj-1時獲得的進(jìn)給速度。具體過程如下[9]:
步驟1:對前瞻路徑中的轉(zhuǎn)接點(diǎn)進(jìn)行速度修正,即以轉(zhuǎn)接點(diǎn)處修正后的速度為起始速度反向加速到速度敏感點(diǎn)Qj-1處時所能獲得的最大速度vjj-1為:
步驟2:判斷vjj-1與Qj-1處所允許的最大速度vjmax之間的大小,則修正后的速度為:
步驟3:判斷j的大小。若過程還沒到初始點(diǎn),則j=j-1,轉(zhuǎn)到步驟1 繼續(xù)進(jìn)行,若到初始點(diǎn)則結(jié)束回溯過程。
流程圖如圖4。
圖4 速度修正流程圖
加速階段可以達(dá)不到段末處速度,但是減速階段必須保證能夠減速到速度敏感點(diǎn)。當(dāng)加工剩余長度小于理論減速距離時則進(jìn)入減速階段。而本段減速區(qū)長度的計算和減速過程又由預(yù)處理中得到的該段起點(diǎn)、終點(diǎn)處的速度和段長決定。為簡化計算,將減速點(diǎn)的求解轉(zhuǎn)化對段內(nèi)最大速度的求解[10]。從而得到減速所需的最短路徑。設(shè)軌跡段為Q1Q2,長度為l12,v1c、v2c分別為速度敏感點(diǎn)Q1、Q2處修正后的最優(yōu)速度。以下分六種情況進(jìn)行討論。
(1)速度、加速度曲線如圖5a 所示,Q1Q2之間為加速階段。判別條件為①v1c<v2c,②v2c≥v12。v12為加速到點(diǎn)Q2處所能達(dá)到的最大理論速度:
進(jìn)給速度曲線v(t)的表達(dá)式為:
(2)速度、加速度曲線如圖5b 所示,Q1Q2之間存在加速和減速過程。判別條件為①v1c<v2c,②v2c<v12,③vm<Vmax。v12的值為公式(15),vm為段內(nèi)所能達(dá)到的最大理論速度,Vmax為預(yù)處理中記錄的本段最大速度。
則t1點(diǎn)處即為減速點(diǎn),則理論減速距離為:
(3)速度、加速度曲線如圖5c 所示,Q1Q2之間還存在勻速過程。判別條件為①v1c<v2c,②vm≥Vmax。vm的值為公式(17)。則t2處即為減速點(diǎn),最大速度達(dá)到預(yù)處理中記錄的最大速度值。則理論減速距離為:
用v1dec2表示Q1減速到Q2處所能獲得的最小速度公式為:
經(jīng)過轉(zhuǎn)接速度的修正,進(jìn)給速度v2c<v1dec2這種情況不存在。
(4)速度、加速度曲線如圖5d 所示,本段為減速段。判別條件為①v1c>v2c,②v2c=v1dec2,③λ ≥0 。本段為減速階段,進(jìn)給速度曲線為:
(5)速度曲線如圖5e 所示,判別條件為①v1c>v2c,②v2c>v1dec2或者λ<0 ,③vm<Vmax。vm的值為公式(17)。t1點(diǎn)為減速點(diǎn),計算公式和情況(2)中公式類似。
(6)速度曲線如圖5f 所示,判別條件為①v1c>v2c,②v2c>v1dec2或者λ<0 ,③vm≥Vmax。t2點(diǎn)為減速點(diǎn),計算公式和情況(3)中公式類似。
圖5 速度和加速度曲線
為了驗證算法的可行性,選擇二維的NURBS 曲線進(jìn)行仿真,如圖6 所示,曲線參數(shù)如表1。仿真時編程速度為F=200mm/s,插補(bǔ)周期為T=2ms,最大加速度為A=0.0005m/s2,最大加加速度J=0.00004m/s3,最大弦高誤差為Emax=0.0004mm。
圖6 NURBS 曲線
表1 NURBS 曲線參數(shù)列表
本文算法誤差曲線如圖7 所示,算法滿足加工的精度要求,即所有插補(bǔ)點(diǎn)的弓高誤差都控制在Emax以內(nèi),算法具有可行性。
圖7 本文算法的弓高誤差
對比本文算法在加速度和加加速度方面的優(yōu)點(diǎn),選取S 型加減速前瞻算法進(jìn)行對比。本文提出的算法在插補(bǔ)過程中,進(jìn)給速度限制在編程速度F內(nèi),加速度和加加速度也都限制在最大加速度A和最大加加速度J的范圍內(nèi),如圖8a 所示,本文算法和S 型加減速前瞻算法都能夠保證在速度敏感點(diǎn)前提前減速,敏感點(diǎn)處速度優(yōu)化良好,能實現(xiàn)速度平滑變化。圖8 b~e 中的加速度曲線和加加速度曲線可以看出本文算法的優(yōu)點(diǎn),仿真的曲線包含減速段、勻速段和加速段,圖8b 顯示本文算法在減速段和加速段的加速度曲線能實現(xiàn)平滑變化,而圖8c中S 型加減速前瞻算法只能保證加速度曲線連續(xù)變化。加速度代表了機(jī)床的受力情況,加速度的平滑變化保證了機(jī)床的受力均勻變化。圖8d 顯示本文算法的加加速度局部連續(xù)變化,而圖8e 中S 型加減速前瞻算法突變次數(shù)較多,具體的在一個加減速階段內(nèi),S 型加減速前瞻算法的加加速度突變次數(shù)比本文算法多兩次。而加加速度代表的是機(jī)床受力的變化頻率,突變次數(shù)較多必然給機(jī)床帶來更大沖擊,引起更大的誤差。
實驗結(jié)果驗證了本文算法的正確性和有效性,可以保證加工時的速度平滑變化,減少加加速度突變,減小了機(jī)床振動,符合柔性加工的要求。證速
圖8 仿真結(jié)果對比圖
在研究了各種前瞻算法的基礎(chǔ)上,提出了一種針對NURBS 曲線的基于三次多項式型加減速前瞻控制算法,算法能夠提前預(yù)測速度敏感點(diǎn),并依據(jù)速度敏感點(diǎn)類型來計算轉(zhuǎn)接點(diǎn)處的最優(yōu)速度。前瞻步驟可以分為前瞻路徑的確定,速度敏感點(diǎn)處的速度回溯以及對回溯完的路徑進(jìn)行速度前瞻控制。所提出的前瞻算法能保度連續(xù)、加速度在加減速過程中連續(xù)變化并且減少了加加速度在一個加減速過程中的突變次數(shù),避免突變給機(jī)床造成的振動。
[1]Du Daoshan,Liu Yadong,Yan Cunliang,et al.An Accurate Adaptive Parametirc Curve Interpolator for NURBS Curve Interpolation. [J]. Int Adv Manuf Technol,2007,32:999 -1008.
[2]曹宇男,王田苗,陳友東,等. 插補(bǔ)前S 加減速在CNC 前瞻中的應(yīng)用[J]. 北京航空航天大學(xué)學(xué)報,2007,33(5):595 -995.
[3]彭芳瑜,何瑩,李斌.NURBS 曲線高速插補(bǔ)中的前瞻控制[J]. 計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報,2006,18(5):625 -629.
[4]Ming Tzong Lin,Meng Shiun Tsai,Hong Tzong Yau,et al. Development of a dynamics-based NURBS interpolator with real-time look-ahead algorithm[J]. International Journal of Machine Tools & Manufacture ,2007,47 :2246 -2262.
[5]Meng-Shiun Tsai,Hao Wei Nien,Hong-Tzong Yau. Development of an integrated look-ahead dynamics-based NURBS interpolator for high precision machinery.[J]. Computer-Aided Design,2008 ,40:554 -566.
[6]冷洪濱,鄔義杰,潘曉弘. 三次多項式型微段高速自適應(yīng)前瞻插補(bǔ)方法[J]. 機(jī)械工程學(xué)報,2009,45(6):73 -79.
[7]冷洪濱,鄔義杰,潘曉弘.三次多項式型微段高速加工速度規(guī)劃算法研究[J]. 計算機(jī)集成制造系統(tǒng),2008,14(2):336 -340.
[8]王海濤,趙東標(biāo),高素美. 參數(shù)曲線的自適應(yīng)實時前瞻插補(bǔ)算法[J] . 計算機(jī)集成制造系統(tǒng),2010 (16):386 -389.
[9]徐志明,馮正進(jìn),汪永生,等. 連續(xù)微小路徑段的高速自適應(yīng)前瞻插補(bǔ)算法[J]. 制造技術(shù)與機(jī)床,2003(12):20 -23.
[10]Lin Wang,Jianfu Cao. A look-ahead and adaptive speed control algorithm for high-speed CNC equipment[J]. Int J Adv Manuf Technol ,2012,63:705 -717.