宋 芳 郝雙暉 郝明暉
1.上海工程技術(shù)大學(xué),上海,201620 2.哈爾濱工業(yè)大學(xué),哈爾濱,150001
目前對參數(shù)曲線/曲面插補(bǔ)算法的研究多是基于Taylor展開發(fā)展起來的[1]。參數(shù)曲線的曲率是不斷變化的,如何將加減速控制集成到曲線插補(bǔ)計(jì)算中,并實(shí)現(xiàn)加速度指令及位置對時(shí)間更高階指令的連續(xù),實(shí)現(xiàn)機(jī)床的高速、高精度加工,是數(shù)控技術(shù)研究者一直關(guān)注的重點(diǎn)和難點(diǎn)問題之一。
Yong等[2]提出了加速度控制的自適應(yīng)插補(bǔ)算法,但該算法的加速度分布存在突變或跳躍,會(huì)給機(jī)床帶來較大的沖擊和振動(dòng),所以需考慮加加速度及更高階指令在插補(bǔ)過程中的影響。Nam等[3]對上述算法進(jìn)行了改進(jìn),加入了對進(jìn)給加速度的實(shí)時(shí)監(jiān)控,引入加速度控制,可以在一定程度上減小速度的波動(dòng)。文獻(xiàn)[4-5]建立了加減速限制模塊,利用限制后的信息對曲線進(jìn)行插補(bǔ),但該算法只考慮了曲線的局部幾何特征,當(dāng)曲線曲率變化較快時(shí),機(jī)床還是有可能因?yàn)閬聿患罢{(diào)整進(jìn)給速度而出現(xiàn)過切(殘留)現(xiàn)象。文獻(xiàn)[6-7]將濾波技術(shù)引入到數(shù)控系統(tǒng)算法中,提出了基于濾波技術(shù)的NURBS曲線插補(bǔ)算法,實(shí)現(xiàn)了整個(gè)過程的加減速連續(xù),但該算法沒有考慮濾波處理后連接點(diǎn)及極值點(diǎn)的速度和位置會(huì)發(fā)生改變(這一改變將影響系統(tǒng)的加工精度),并且該算法也未實(shí)現(xiàn)位置對時(shí)間更高階指令的連續(xù)。
本文在以上研究的基礎(chǔ)上,提出基于移動(dòng)平均位置不變性的NURBS曲線插補(bǔ)算法。該算法通過對移動(dòng)平均的位置不變性進(jìn)行研究,推出位置不變性推論,并利用該推論得出對連接點(diǎn)和極值點(diǎn)的調(diào)整方法,使濾波前后的連接點(diǎn)及極值點(diǎn)的速度和位置不變,滿足了加工精度要求。并且該方法具有可擴(kuò)展性,可實(shí)現(xiàn)加速度或位移對時(shí)間更高階指令的連續(xù)。
移動(dòng)平均加減速控制算法的基本原理是,首先對直線加減速離散的速度進(jìn)行移動(dòng)平均處理,獲得移動(dòng)平均加減速控制算法的實(shí)際輸出速度,然后對實(shí)際速度進(jìn)行差分計(jì)算以獲得實(shí)際輸出加速度,最后利用梯形面積公式,求出實(shí)際輸出的位置。這種方法獲得的加速度曲線是連續(xù)變化的,可實(shí)現(xiàn)加減速階段速度的平滑過渡。通過對此算法進(jìn)行擴(kuò)展可實(shí)現(xiàn)指令解釋的高次可微分[8-9]。
位置不變性定理是指對直線加減速控制算法進(jìn)行移動(dòng)平均處理,處理前后的終點(diǎn)位置不變,該定理的證明參考文獻(xiàn)[10]。根據(jù)移動(dòng)平均算法及位置不變性原理推導(dǎo)出位置不變性推論。
推論 若以某插補(bǔ)點(diǎn)為中心,前后(n-1)/2(n為移動(dòng)平均步數(shù),且為奇數(shù))個(gè)點(diǎn)的速度均等于該插補(bǔ)點(diǎn)的速度,則對其進(jìn)行移動(dòng)平均處理后,該點(diǎn)仍為被插補(bǔ)點(diǎn),且該點(diǎn)速度與移動(dòng)平均前該點(diǎn)速度相等。
證明 假設(shè)某指定插補(bǔ)點(diǎn)的移動(dòng)平均前后速度曲線如圖1所示。
圖1 指定插補(bǔ)點(diǎn)的移動(dòng)平均前后速度曲線
則有
由上述證明可知,此推論成立。
或
2個(gè)G代碼之間的連接點(diǎn)和曲線的極值點(diǎn)(統(tǒng)稱為指定點(diǎn))是在實(shí)際插補(bǔ)過程中必須通過的點(diǎn),這在采用其他加減速控制算法時(shí)是易于實(shí)現(xiàn)的。但采用移動(dòng)平均加減速控制算法實(shí)現(xiàn)對被加工曲線的加減速控制,是對已規(guī)劃好的直線加減速控制算法的速度進(jìn)行移動(dòng)平均處理,處理后的插補(bǔ)點(diǎn)將不通過指定點(diǎn)(不包括曲線的起始點(diǎn)和終點(diǎn))。因此,利用位置不變性推論,對移動(dòng)平均前的指定點(diǎn)附近插補(bǔ)點(diǎn)的速度、位置進(jìn)行調(diào)整,可使移動(dòng)平均處理后的插補(bǔ)點(diǎn)通過指定點(diǎn),滿足實(shí)際加工的要求,而不影響系統(tǒng)插補(bǔ)精度,其處理步驟如下:
(1)在進(jìn)行預(yù)插補(bǔ)前,首先對曲線的幾何特性進(jìn)行分析,對影響進(jìn)給速度的極值點(diǎn)曲率進(jìn)行計(jì)算,并對進(jìn)給速度進(jìn)行分析。
(2)在對指定點(diǎn)附近插補(bǔ)點(diǎn)的進(jìn)給速度和位置進(jìn)行調(diào)整后,將曲線劃分為多個(gè)區(qū)間,對各區(qū)間的速度分布類型進(jìn)行研究,再確定各減速區(qū)間的減速點(diǎn)。
(3)最后利用直線加減速控制算法完成對NURBS曲線的一次預(yù)插補(bǔ),然后利用移動(dòng)平均對預(yù)插補(bǔ)結(jié)果進(jìn)行處理,可實(shí)現(xiàn)加速度指令或更高階指令的高次平滑及對NURBS曲線的高精度插補(bǔ)。
2.1.1 臨界曲率計(jì)算
首先利用臨界曲率[11]將曲率函數(shù)進(jìn)行區(qū)間劃分,然后對大于臨界曲率的區(qū)間采用等間距節(jié)點(diǎn)矢量掃描方法,求取該區(qū)間的曲率極值點(diǎn)及其參數(shù)。具體實(shí)現(xiàn)步驟如下:
(2)曲率區(qū)間劃分。所提出的基于臨界曲率劃分求取極值點(diǎn)曲率的方法,對區(qū)間邊界參數(shù)的求解精度沒有嚴(yán)格要求,即在進(jìn)行曲率區(qū)間劃分時(shí),參數(shù)變化間距可以適當(dāng)放大。
(3)求曲率區(qū)間的曲率極值點(diǎn)。由于對極值點(diǎn)曲率的求解精度有嚴(yán)格要求,因此采用等間距參數(shù)掃描方法求解時(shí),為求得精確的極值點(diǎn)曲率,需要設(shè)置較小的參數(shù)變化間距。
2.1.2 進(jìn)給速度分析
進(jìn)給速度受弦高誤差、向心加速度和加速過程中切向加速度限制,需滿足以下條件:
(1)滿足插補(bǔ)精度的最大進(jìn)給速度為
式中,ui為曲線的節(jié)點(diǎn);ρ(ui)為節(jié)點(diǎn)ui的曲率。
(2)向心加速度許用的最大進(jìn)給速度為
式中,km為當(dāng)前曲率區(qū)間的曲率極大值。
(3)切向加速度許用的最大進(jìn)給速度為
式中,aτm為最大切向加速度。
綜上所述,進(jìn)給速度除滿足以上條件外,還需滿足系統(tǒng)給定最大進(jìn)給速度vf的限制,故各插補(bǔ)點(diǎn)的最大進(jìn)給速度為
2.1.3 指定點(diǎn)附近插補(bǔ)點(diǎn)的速度和位置調(diào)整
(1)沿加工方向的插補(bǔ)點(diǎn)處理。以連接點(diǎn)P為出發(fā)點(diǎn),用vf進(jìn)行預(yù)測,然后對最初的n2個(gè)點(diǎn)分別進(jìn)行速度求解,所獲得的最小速度為vP2min。
為使實(shí)際插補(bǔ)經(jīng)過連接點(diǎn)P,故對連接點(diǎn)附近的插補(bǔ)點(diǎn)進(jìn)行速度和位置調(diào)整,如圖2所示。
一般來講,極值點(diǎn)處的進(jìn)給速度vPmin為半移動(dòng)平均步數(shù)n2范圍內(nèi)插補(bǔ)點(diǎn)的最低速度,因此對這些插補(bǔ)點(diǎn)進(jìn)行速度、位置的調(diào)整如圖3所示。
當(dāng)進(jìn)行多次移動(dòng)平均處理實(shí)現(xiàn)指令解釋高次可微分時(shí),預(yù)測步數(shù)n2為各階半移動(dòng)平均步數(shù)之和。
利用各連接點(diǎn)或極值點(diǎn)附近勻速開始點(diǎn)的位置SPn2,將曲線劃分為多段,采用等間距參數(shù)掃描方法可分別計(jì)算出各段的弧長,此時(shí)NURBS曲線被劃分為Lseg1、Lseg2、Lseg3等多段,且各段的速度分布如圖4所示。至此即可初步獲取各區(qū)間的速度、位置及各區(qū)間終點(diǎn)的參數(shù)信息。
圖3 極值點(diǎn)附近插補(bǔ)點(diǎn)的速度和位置調(diào)整示意圖
圖4 調(diào)整后的速度分布圖
當(dāng)vP1≤vP2時(shí)
當(dāng)vP1>vP2時(shí)
…
2.1.4 直線加減速控制的NURBS曲線預(yù)插補(bǔ)
通過以上處理,即可獲得預(yù)插補(bǔ)處理過程中需要的各區(qū)間信息。下面首先利用這些信息確定速度分布類型,然后根據(jù)速度的分布類型,利用直線加減速控制算法確定減速距離,判斷減速點(diǎn),最后從減速點(diǎn)開始對速度分布進(jìn)行進(jìn)一步的精確計(jì)算,從而實(shí)現(xiàn)基于直線加減速的NURBS曲線預(yù)插補(bǔ)處理。
除勻速區(qū)域外,其他區(qū)域的起始速度和終點(diǎn)速度不一定相同,也就是說加速過程和減速過程不對稱。速度的分布類型主要由各區(qū)間的弧長決定,下面將利用各臨界狀態(tài)弧長與各區(qū)間實(shí)際弧長之間的關(guān)系確定速度分布類型。
臨界狀態(tài)弧長是指以起始速度vs加速到終止速度ve所需的位移Sref1,即Sref1=SOAFG,以及能夠達(dá)到指令進(jìn)給速度所需要的最小位移Sref2,即Sref2=SOBEG+SBCDE,如圖5所示。
圖5 臨界狀態(tài)速度曲線圖
圖5中,假設(shè)起始速度vs小于終止速度ve,即vs<ve≤vf,amax為系統(tǒng)允許的最大加速度,則臨界位移Sref1和Sref2的計(jì)算公式如下:
當(dāng)ve≤vs≤vf時(shí),速度曲線分布類型與vs<ve≤vf情況的確定方式類似,本文不再贅述。
下面將通過各段弧長Lsegi與臨界位移Sref1和Sref2的關(guān)系確定速度曲線的分布狀態(tài)。
(1)Lsegi>Sref2的情況。此時(shí),速度可以達(dá)到系統(tǒng)的指令進(jìn)給速度vf,因此速度曲線具有加速區(qū)、勻速區(qū)和減速區(qū),具體情況如圖6所示。其中,Lsegi=SOBEG+SBHKE+SHIJK。利用直線加減速控制算法的處理方式,很容易確定減速點(diǎn)及加速階段的步數(shù)Na、勻速階段的步數(shù)Ne及減速階段的步數(shù)Nd,這里不再贅述。
圖6 達(dá)到指令進(jìn)給速度v f時(shí)的速度曲線分布圖
(2)Sref1≤Lsegi≤Sref2的情況。此種情況不能達(dá)到系統(tǒng)的指令進(jìn)給速度vf,因此速度曲線僅具有加速區(qū)和減速區(qū),具體情況如圖7所示,其中,Lsegi=SOBNG+SBLMN。
圖7 未達(dá)到指令進(jìn)給速度v f時(shí)的速度曲線分布圖
設(shè)能夠達(dá)到的最大進(jìn)給速度為v'f,則有
下面同樣利用直線加減速控制算法的處理方式,很容易確定減速點(diǎn)及加速階段的步數(shù)Na和減速階段的步數(shù)Nd,這里不再對其進(jìn)行贅述。
(3)Lsegi<Sref1的情況。此種情況經(jīng)過式(13)~式(15)的調(diào)整,已使Lsegi=Sref1,因此可按照情況2進(jìn)行處理。
以上完成對速度分布類型的研究,再利用直線加減速計(jì)算公式可獲得各離散點(diǎn)的插補(bǔ)速度和位置,即完成對NURBS曲線的預(yù)插補(bǔ)。
通過以上研究實(shí)現(xiàn)了基于直線加減速控制的NURBS曲線預(yù)插補(bǔ)處理,但所獲得的指令解釋不具有高次可微分性,故需對經(jīng)過直線加減速處理后獲得的速度進(jìn)行移動(dòng)平均處理。
假設(shè)移動(dòng)平均步數(shù)為N,前N-1個(gè)移動(dòng)平均處理前的速度組成的數(shù)組為p[N-1],將當(dāng)前插補(bǔ)點(diǎn)移動(dòng)平均處理前的速度vL(ui)代入到下式:
即可求得當(dāng)前插補(bǔ)點(diǎn)移動(dòng)平均處理后的速度vJ(ui)。
為實(shí)現(xiàn)指令解釋的高次可微分性,利用多次移動(dòng)平均進(jìn)行處理,在式(19)的基礎(chǔ)上對速度重復(fù)上述移動(dòng)平均處理過程。則當(dāng)前插補(bǔ)點(diǎn)移動(dòng)平均后的加速度為
式中,vJ(ui-1)為上一插補(bǔ)點(diǎn)移動(dòng)平均后的速度,m/s。
由于NURBS曲線在每一點(diǎn)處的弧長計(jì)算是非常復(fù)雜且耗時(shí)的,不適于在實(shí)時(shí)插補(bǔ)中使用,故采用將弧長近似為相鄰插補(bǔ)點(diǎn)間直線段距離累加的方式來獲取曲線起點(diǎn)至當(dāng)前插補(bǔ)點(diǎn)之間的距離,其計(jì)算公式為
式中,ΔSJ(ui)為前一插補(bǔ)點(diǎn)與當(dāng)前插補(bǔ)點(diǎn)之間的直線距離,m;LJ(ui-1)為曲線起點(diǎn)至前一插補(bǔ)點(diǎn)的距離,m;LJ(ui)為曲線起點(diǎn)至當(dāng)前插補(bǔ)點(diǎn)的距離,m。
通過上述處理,即可實(shí)現(xiàn)基于移動(dòng)平均的NURBS曲線實(shí)時(shí)插補(bǔ),同時(shí)也完成了NURBS曲線指令解釋的高次可微分。
下面將以一條三軸加工的NURBS曲線路徑為例,對所提出的NURBS曲線插補(bǔ)算法進(jìn)行驗(yàn)證,該曲線路徑如圖8所示。
圖8 NURBS曲線插補(bǔ)實(shí)例
曲線參數(shù)如下:控制點(diǎn)為(26.7,100.0,0),(35.1,126.3,14.0), (35.1,133.3,13.3),(40.0,133.3,13.3), (60.0,120.0,13.3),(53.3,100.0,10.0), (53.3,86.7,0), (80.0,53.3,10.0),(80.0,56.7,0)mm;節(jié)點(diǎn)矢量 U=(0,0,0,0,0.3,0.4,0.6,0.7,0.8,1.0,1.0,1.0,1.0);權(quán)值W=(1.0,4.0,0.5,1.0,3.0,0.8,2.0,6.0,4.0)。
取機(jī)床許用的最大加速度amax=5m/s2,T=60μs,vf=0.2m/s,δ=1μm,一次及二次移動(dòng)平均步數(shù)n=n'=65。
對極值點(diǎn)附近插補(bǔ)點(diǎn)的位置、速度進(jìn)行調(diào)整后,即可獲得直線加減速預(yù)處理的速度、加速度曲線和加加速度曲線,如圖9所示。
圖9 調(diào)整后的直線加減速預(yù)插補(bǔ)控制曲線圖
圖9a中,標(biāo)記的Ⅰ~Ⅳ表示調(diào)整后的4個(gè)勻速區(qū)間,除此之外,其他各區(qū)域速度根據(jù)曲率變化自適應(yīng)調(diào)整。但由圖9所獲得的直線加減速控制曲線中,加速度曲線不連續(xù),速度變化時(shí)將會(huì)產(chǎn)生沖擊和振動(dòng)。
下面基于直線加減速預(yù)插補(bǔ)處理結(jié)果對離散后的速度進(jìn)行二次移動(dòng)平均處理,實(shí)現(xiàn)對NURBS曲線指令解釋的高次可微分。該條NURBS曲線的速度、加速度、加加速度、位移的4次微分及位移的5次微分仿真結(jié)果如圖10所示。
由圖10可知,二次移動(dòng)平均處理能實(shí)現(xiàn)速度曲線平滑以及加速度、加加速度曲線的連續(xù)。更重要的是,可實(shí)現(xiàn)對NURBS曲線指令解釋的4次微分處理。
圖10 二次移動(dòng)平均處理實(shí)時(shí)插補(bǔ)曲線圖
移動(dòng)平均前后的速度及極值點(diǎn)附近速度放大圖,分別如圖11、圖12所示。
圖11 移動(dòng)平均前后速度比較圖
由圖12可知,對極值點(diǎn)附近插補(bǔ)點(diǎn)的速度和位置調(diào)整處理后,移動(dòng)平均前后的極值點(diǎn)速度沒有改變,將不會(huì)影響系統(tǒng)的插補(bǔ)精度。
圖12 極值點(diǎn)附近速度放大圖
本文提出了移動(dòng)平均位置不變性推論,利用該推論對移動(dòng)平均指定點(diǎn)附近插補(bǔ)點(diǎn)的速度、位置進(jìn)行調(diào)整,使移動(dòng)平均處理后的插補(bǔ)點(diǎn)通過指定點(diǎn),將進(jìn)給速度加減速控制集成到曲線插補(bǔ)中,能實(shí)現(xiàn)加速度及更高階指令的連續(xù)。實(shí)例證明了所提出算法的可行性和有效性。
[1]Yeh SS,Tu M F.A Novel Approach to the Design of NURBS Interpolator for Advanced Motion Systems[C]//Proceedings of the 2005 IEEE International Conference on Mechatronics.Taipei,2006:388-393.
[2]Yong T,Narayanaswami R.A Parametric Interpolator with Confined Chord Errors,Acceleration and Deceleration for NCMachining[J].Computer- Aided Design,2003,35(13):1249-1259.
[3]Nam SH,Yang M Y.A Study on a Generalized Parametric Interpolator with Real-time Jerk-limited Acceleration[J].Computer - Aided Design,2004,36(1):27-36.
[4]Lin M T,Tsai M S,Yau H T.Development of Realtime Look-ahead Algorithm for NURBS Interpolator with Consideration of Servo Dynamics[C]//Proceedings of the 46th IEEE Conference on Decision and Control.New Orleans,LA,USA,2007:1862-1867.
[5]Shi X G,Xu B G,Xie W,et al.Design and Implementation of S-shape Acceleration/Deceleration Algorithm Based on Rounding Error Compensation Tactic[C]//Proceedings of the 7th World Congress on Intelligent Control and Automation.Chongqing,2008:7912-7916.
[6]張曉輝,于東,胡毅,等.基于濾波技術(shù)的NURBS曲線插補(bǔ)算法研究[J].中國機(jī)械工程,2009,20(14):1695-1699.
Zhang Xiaohui,Yu Dong,Hu Yi,et al.Research on NURBS Interplation Algorithm Based on Filtering[J].China Mechanical Engineering,2009,20(14):1695-1699.
[7]董伯麟,王治森,韓江.高速高精度加工中NURBS曲線混合插補(bǔ)算法[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2008,39(6):174-178.
Dong Bolin,Wang Zhisen,Han Jiang.NURBS Curve Hybrid Interpolator in High Speed and High Accuracy Machining[J].Transactions of the Chinese Society for Agricultural Machinery,2008,39(6):174-178.
[8]Song F,Hao SH,Hao M H,et al.Research on Acceleration and Deceleration Control Algorithm of NC Instruction Interpretations with High-order Smooth[C]//International Conference on Intelligent Robotics and Applications.Wuhan,2008:548-557.
[9]郝雙暉,宋芳,郝明暉,等.移動(dòng)平均加減速控制算法的研究[J].東北大學(xué)學(xué)報(bào)(自然科學(xué)版),2008,29(增1):222-225.
Hao Shuanghui,Song Fang,Hao Minghui,et al.Research on Acceleration-deceleration Control Algorithm Based on Moving Average Method[J].Journal of Northeastern University(Natural Science),2008,29(S1):222-225.
[10]于東,胡韶華,蓋榮麗,等.基于濾波技術(shù)的數(shù)控系統(tǒng)加減速研究[J].中國機(jī)械工程,2008,19(7):804-807.
Yu Dong,Hu Shaohua,Gai Rongli,et al.Research on Acceleration and Deceleration for CNCMachine Tools Based on Filtering[J].China Mechanical Engineering,2008,19(7):804-807.
[11]劉可照,彭芳瑜,吳昊,等.基于機(jī)床動(dòng)力學(xué)特性的NURBS曲線直接插補(bǔ)[J].機(jī)床與液壓,2004(11):26-31.
Liu Kezhao,Peng Fangyu,Wu Hao,et al.An Interpolator for NURBS Curve Machining Based on Dynamical Characteristic of Machine[J].Machine Tool& Hydraulics,2004(11):26-31.