潘海鴻 楊 微 陳 琳 譚華卿 孫紅濤
廣西大學,南寧,530004
為克服傳統(tǒng)方式加工時復雜曲線、曲面需離散為直線、圓弧的種種弊端[1],現代數控系統(tǒng)開始應用參數曲線插補。參數曲線插補可直接將曲線信息傳輸到CNC中,而不必將其分解成微小線段,因此使CAD/CAM和CNC之間的信息傳遞連續(xù)。目前常用的參數曲線插補是NURBS曲線插補[2-9]。
NURBS曲線插補算法很多,其中控制進給速度算法在現代插補中最為常用。Yang等[2]為改善對進給速度的控制,以二階泰勒展開式設計插補器,但沒有考慮誤差控制。為提高加工精度,Yeh等[3]提出限定弦高誤差的自適應插補算法,然而該算法沒有考慮機床加減速能力對進給速度的影響。為改善加減速控制,杜道山等[4]提出實時前瞻自適應插補算法,該算法能按照插補精度和機床加減速能力調整進給速度,但忽略了加減速突變對機床產生的沖擊。為減小加減速突變對機床產生的沖擊,趙巍等[5]、姬俊鋒等[6]在插補開始和結束階段采用S曲線加減速度控制方法,有效減小了機床啟動和停止時產生的沖擊。李思益等[7]提出采用分段三角函數曲線來實現對機床運動的平滑控制以避免加加速度階躍的產生。上述文獻都沒有考慮插補全過程中的加減速插補處理。李建剛等[8]采用直線加減速度控制方法對插補速度進行規(guī)劃,滿足機床加減速能力要求,但沒有考慮加減速突變引起的加加速度超出機床能力對加工精度的影響。Lin等[9]采用5段式S曲線加減速控制方法對插補全程進行加減速插補處理,雖達到加減速度控制要求,但僅適用于不需要勻加速段就能達到最大進給速度的情況。
針對上述問題,筆者基于7段式S曲線加減速控制策略[10],提出一種對NURBS曲線插補全過程進行加減速處理的自適應分段插補算法,以實現高速度、高精度要求下對插補精度、進給速度、加速度及加加速度的全面控制。
在零件加工過程中,進給速度是影響加工質量的關鍵因素,只有保證進給速度穩(wěn)定,才能保證加工零件表面質量。
為改善對進給速度的控制,參數曲線變量的計算式可通過二階泰勒展開變換近似得到[2](二維曲線):
式中,T為插補周期;v為插補進給速度。
進給速度
式中,vF為機床進給速度指令值;ER為限定弦高誤差;ρi為曲線曲率。
Yeh等[3]提出自適應插補算法,一方面盡量保持進給速度的穩(wěn)定,另一方面在弦高誤差超過規(guī)定精度范圍時自動調整進給速度,調整規(guī)則如式(2)。由式(2)可知,進給速度v(ui)隨限定弦高誤差E R和曲線曲率半徑ρi的變化自適應地調整。
自適應速度調整能得到滿足精度要求的速度,但在曲線曲率半徑很小的區(qū)域,速度改變可能超出機床的加減速能力,對機床產生沖擊。
為調整小曲率半徑區(qū)域曲線進給速度,在曲線曲率尖角處將曲線分段,采用S曲線加減速控制方法重新規(guī)劃進給速度。圖1所示為NURBS曲線插補軌跡。
圖1 NURBS曲線插補軌跡
要將曲線分段,需對經自適應算法得到的各項數據進行分析,找出分段點:分段后按照S曲線速度規(guī)劃要求對各曲線段進行預處理。具體步驟如下:
(1)以參數ui計算得當前插補點P(ui)坐標、曲率ki及曲率半徑ρi;將ρi代入式(2)計算得符合曲線軌跡精度要求的進給速度v(ui);將以上獲得的相關參數代入式(1)計算得到下一插補點參數ui+1。
(2)根據允許最大弦高誤差ER、插補周期T和進給速度v F,找出需要加減速處理的曲率極大值點位置。由式(2)可知,當以 vF=為自適應速度調整臨界條件時,由該條件可推導出速度開始發(fā)生較大變化處的曲率為
由步驟(1)得到整條曲線曲率k i,在ki≥krg范圍內找出各極大值點。如圖2所示,kA、kB、kC、kD 為符合式(3)要求的各曲率極大值。
圖2 NURBS曲線自適應插補算法曲率和進給速度
(3)在曲率極大值點處將曲線分段。如圖1所示,A、B、C、D分別對應圖2中各曲率極大值點,將曲線分為5段。計算出各段中速度最大值v max、初始速度v st、結束速度v end、各段軌跡長度 L seg和各曲率極值點對應參數u值。
S曲線加減速控制可實現加減速過程中加速度連續(xù)變化,有效減小沖擊和振蕩。圖3所示為S曲線加減速過程,整個過程由加加速、勻加速、減加速、勻速、加減速、勻減速及減減速7段組成[6]。
圖3 S曲線加減速過程[6]
其加加速與減加速的時間相同,加減速與減減速的時間相同(t1=t3,t5=t7),可得位移公式:
式中,si為起始點到各階段點位移,i=1,2,…,6;ti為圖3中7段加減速各階段持續(xù)時間,i=1,2,…,7,其中t1=t3、t5=t7;vi為各階段起始速度,i=1,2,…,6;amax為最大加速度;jmax為最大加加速度。
對2.1節(jié)步驟(3)得到的不同曲線段參數,如曲線段速度最大值vmax、初始速度vst和結束速度v end,進一步分析判斷其速度曲線類型是屬于加速,還是減速,或包含加速和減速,再采用S曲線加減速方法對其重新進行插補進給速度規(guī)劃,由此得到圖4所示的17種S曲線加減速類型。重新規(guī)劃插補進給速度的過程主要包括以下兩個步驟:
(1)根據各曲線段長度 L seg、起點速度 v st、終點速度v end、速度最大值v max判斷當前曲線段的加減速類型。下面以圖4b~圖4e類型為例說明加減速類型判斷過程。將曲線段起始速度v st、最大加速度a max及最大加加速度j max代入位移計算式(4)中,得到位移長度的表達式:
加速過程中無勻加速段,加速過程中的時間分別為
由式(7)計算得到t1、t2和t3,代入式(5)計算出S的理論值S1。比較L seg與S1大小,當L seg>S1時為圖4c類型;當 Lseg≤S1時為圖4b類型。
由式(8)計算得到t1、t2和t3,并代入式(5)計算出S的理論值S1,同時,將不包含勻加速段的臨界條件t1=t3=a max/j max及t2=0代入式(5),計算出不包含勻加速段的軌跡理論長度極值S2。比較L seg與S1、S2的大小,當L seg>S1時為圖4e類型;當S2<L seg≤S1時,為圖4d類型;當Lseg≤S2時為圖4b中類型。
同理,利用式(4)、式(6)、式(7)、式(8)可以得到包含勻加速段、勻速段及勻減速段中任意一段或多段情況下軌跡長度的極值,并與L seg比較可以判斷出各曲線段與圖4中對應的17種加減速類型。
圖4 不同曲線段參數條件下的17種S曲線加減速類型
(2)判斷出當前段加減速類型后,應用式(4)對時間t求一階和二階導數,分別得到速度及加速度方程,進而可求出加速、勻速及減速各部分時間。
以圖4j類型為例,根據式(4)計算各部分需要時間,經化簡得:
由式(9)得
將式(9)、式(11)代入式(10)得
求解式(12)可計算得到t1,將t1代入式(11)計算得到t5。同理,可推導出其他各種加減速類型的各部分運行時間 t1、t2、t3、t4、t5、t6和 t7,完成 S 曲線加減速規(guī)劃。各NURBS曲線段按照重新規(guī)劃好的S曲線加減速方案完成曲線插補。
以圖1所示3次NURBS曲線為例,曲線特征和各項插補參數分別為:控制頂點:d=[0 0-200-200-200 200 0 0 200-200 200 200 0 0];權重因子:ω=[1 2.5 2.5 1 2.5 2.5 1];節(jié)點矢量:U=[0 0 0 0 0.25 0.50 0.75 1 1 1 1];最大進給速度;插補周期T=1ms;允許最大弦高誤差ER=0.5μm;允許最大加速度a max=6m/s2;允許最大加加速度 j max=70m/s3。
使用MATLAB軟件,在相同的固定插補周期下,分別仿真單獨自適應插補算法、5段式S曲線加減速分段規(guī)劃及7段式S曲線加減速分段規(guī)劃3種算法的插補加工過程。各種方法插補全過程步數及相應插補時間如表1所示。
表1 3種插補方法總插補步數及相應插補時間
由圖5可見,3種插補算法在曲線曲率尖角A、B、C、D 處都達到E R=0.5μm精度要求。5段式S曲線加減速分段處理后的弦高誤差曲線與7段式S曲線加減速分段處理后的弦高誤差曲線幾乎重合,在局部地方,5段式S曲線加減速算法的精度略微高于7段式S曲線的加減速精度。而單獨自適應插補算法得到的弦高誤差雖保持在0.5μm以內,但在A、B、C、D之外區(qū)域都大于另外兩種算法獲得的弦高誤差,表明該方法的加工精度比S曲線加減速分段控制算法的精度低。
圖5 弦高誤差輪廓曲線
由圖6可見,單獨自適應插補算法獲得的進給速度在整段曲線50%區(qū)域內都達到1000mm/s,全程平均速度約為747mm/s。由于受分段后各曲線段長度、起始速度、結束速度、最大加速度和最大加加速度影響,5段式S曲線分段處理后達不到給定的最大速度值,最高速度為800mm/s,插補全程平均速度約為488mm/s;7段式S曲線分段處理后在曲線BC段能達到1000mm/s,插補全程平均速度為594mm/s,比5段式S曲線加減速處理后平均速度提高21.7%。對照圖5可知,在弦高誤差相近情況下,采用7段式S曲線分段處理后的加工效率更高。
從圖7可知單獨自適應算法中加速度達到±17m/s2。5段式S曲線加減速分段處理和7段式S曲線加減速分段處理后的加速度均控制在±6m/s2以內,比單獨自適應算法中加速度減小64%,從而滿足了機床的加減速要求。對照圖6中速度曲線可知,5段式S曲線加減速分段處理后的加速度曲線不包含勻加速段,而7段式S曲線加減速分段處理后的加速度曲線中包含勻加速段,可使進給速度在勻加速時間段內以最大加速度為變化率持續(xù)升高,因而前者速度只能達到800mm/s,而后者可達到1000mm/s。
圖6 進給速度曲線
圖7 加速度曲線
圖8a中自適應插補算法加加速度在2000m/s3至-16000m/s3范圍內波動,超出允許最大加加速度±70m/s3要求。圖8b、圖8c中5段式S曲線加減速分段處理和7段式S曲線加減速分段處理后的加加速度都控制在最大加加速度±70m/s3內。
圖8 加加速度曲線
由以上分析可知以插補精度、加速度及加加速度為限制條件時,雖然單獨自適應插補算法插補總步數較少,且插補總時間較短,但其最大加速度和加加速度超過限制條件。采用7段式S曲線加減速算法明顯比5段式S曲線加減速算法所需插補總步數要少,且時間要短,所需插補時間為5段式S曲線分段處理后插補時間的82.06%,對比可知插補效率更高。
為進一步驗證該算法在工程中的可行性,以圖9兩軸聯動平臺進行實驗。該平臺的DSP+FPGA數控系統(tǒng)硬件及軟件均為自行設計開發(fā)。
圖9 兩軸聯動平臺
采用C語言編譯方式,將全程S曲線加減速控制的自適應分段NURBS曲線插補算法集成到自行開發(fā)的控制系統(tǒng)中,并采用繪圖方式成功繪制出圖1所示形狀曲線,繪制結果如圖10所示。
圖10 實際繪制圖形
基于7段式S曲線全程加減速控制的自適應NURBS曲線分段插補算法,通過分析速度、加速度、加加速度及分段曲線長度之間的關系,自適應地調整加速、勻速及減速各變化階段的時間;另外,不需要單獨預測減速點位置,從而解決了減速點預測困難的問題;分析結果表明:該算法在滿足插補精度要求和固定插補周期情況下,可保證插補全過程中加速度連續(xù)、加加速度恒定,且在允許范圍內其插補精度比單獨自適應插補精度更高,插補速度比5段式S曲線加減速規(guī)劃方法更快。繪圖實例進一步證實該插補算法的正確性和在實際工程運用中的可行性。該算法已成功應用于自主開發(fā)的數控系統(tǒng)中。
[1] Shpitalni M,Koren Y,Lo C C.Real—time Curve Interpo-lators[J].Computer-aided Design,1994,26(11):832-838.
[2] Yang D C H,Kong T.Parametric Interpolator Versus Linear Interpolator for Precision Surface Machining[J].Computer-aided Design,1994,26(3):225-234.
[3] Yeh S,Hsu P.Adaptive Feedrate Interpolation for Parame-tric Curves with a Confined Chord Error[J].Computer-aided Design,2002,34(3):229-237.
[4] 杜道山,燕存良,李從心.一種實時前瞻的自適應NURBS插補算法[J].上海交通大學學報,2006,40(5):843-847.
[5] 趙巍,王太勇,萬淑敏.基于NURBS曲線的加減速控制方法研究[J].中國機械工程,2006,17(1):1-3.
[6] 姬俊鋒,周來水,張得禮.NURBS曲線插補過程中運動平滑處理[J].中國機械工程,2006,17(21):2225-2229.
[7] 李思益,羅為.NURBS曲線高速高精度插補及加減速控制方法研究[J].計算機集成制造系統(tǒng),2008,14(6):1142-1147.
[8] 李建剛,張婷華,李澤湘,等.一種完善的自適應NURBS曲線插補算法[J].中國機械工程,2008,19(9):1095-1098,1102.
[9] Lin M T,Tsai M S,Yau H T.Development of a Dynamics-based NURBS Interpolator with Real-time Look-ahead algorithm[J].International Journal of Machine Tools&Manufacture.2007,47:2246-2262.
[10] 潘海鴻,李小清,嚴思杰,等.步進掃描光刻機硅片臺連續(xù)掃描時間優(yōu)化算法[J].機械工程學報,2008,44(10):154-161.