李培新 馬 躍 于 東 王志成, 韓 旭
1.中國科學(xué)院研究生院,北京,100049 2.中國科學(xué)院沈陽計(jì)算技術(shù)研究所高檔數(shù)控國家工程研究中心,沈陽,110171 3.沈陽高精數(shù)控技術(shù)有限公司,沈陽,110171
輪廓誤差的計(jì)算是高檔數(shù)控系統(tǒng)的一個重要研究課題。目前離線計(jì)算輪廓誤差的方法很多[1-4],雖然這些方法的計(jì)算精度很高,但是由于其計(jì)算復(fù)雜、計(jì)算時間較長,很難應(yīng)用到實(shí)時計(jì)算輪廓誤差的任務(wù)中。實(shí)時計(jì)算輪廓誤差方法在工程上可以指導(dǎo)控制參數(shù)的選取,并為實(shí)時輪廓誤差控制方法(如交叉耦合控制方法)提供支持[5-7]。目前,許多研究實(shí)時估算輪廓誤差的方法中,輪廓誤差的估算與跟隨誤差直接相關(guān)[8-11]。然而,這些輪廓誤差估算方法對跟隨誤差的依賴性很大,估算的精度有待進(jìn)一步提高,如Yeh等[8]提出的實(shí)時輪廓誤差估算方法,對跟隨誤差有比較苛刻的要求。從數(shù)學(xué)上分析,計(jì)算輪廓誤差最直接和有效的方法是計(jì)算反饋點(diǎn)到指令曲線的最短距離。這種方法計(jì)算的輪廓誤差計(jì)算精度高,然而對于任意加工曲線,這種方法計(jì)算時間長,計(jì)算復(fù)雜,適合離線計(jì)算。為了達(dá)到實(shí)時估算輪廓誤差的要求,需要將其作相應(yīng)的簡化。本文對上述離線計(jì)算方法進(jìn)行修改,提出一種輪廓誤差實(shí)時估算方法,該方法具有計(jì)算量小和精度高的優(yōu)點(diǎn),能夠滿足多種工程需要。
圖1給出了線性軌跡命令下的輪廓誤差計(jì)算方法,圖中,P為實(shí)際位置點(diǎn),R為指令位置點(diǎn),ε為輪廓誤差,e為跟隨誤差。
圖1 線性軌跡命令下輪廓誤差計(jì)算
由圖1可知,ε為點(diǎn)P到指令軌跡(直線)的距離。設(shè)點(diǎn)P的坐標(biāo)為(x′,y′),指令軌跡方程為
則
圖2給出了曲線軌跡命令下的輪廓誤差計(jì)算方法。由圖2可知,ε為點(diǎn)P到指令軌跡(曲線)的最近距離。如果知道了指令的軌跡方程,則點(diǎn)P到曲線的距離便可以計(jì)算出。求點(diǎn)到曲線的距離,工程上有許多方法,如最優(yōu)化理論。此方法要求首先求出指令曲線的方程,然后根據(jù)最優(yōu)化理論將點(diǎn)P到曲線的最短距離求出,即得到點(diǎn)P到指令軌跡的輪廓誤差。
圖2 曲線軌跡命令下的輪廓誤差計(jì)算
在重構(gòu)數(shù)控系統(tǒng)加工輪廓曲線的方法中,分段樣條插值法能很好地反映原曲線的形狀,所以可以將分段差值得到的曲線作為原輪廓曲線。本文分別采用分段線性樣條插值和三次樣條插值離線重構(gòu)的方法加工輪廓曲線。實(shí)際上,線性插值可以反映原曲線的整體特性,經(jīng)過三次樣條插值后,曲線變得連續(xù)、平滑,然后分別求出線性插值后的輪廓誤差曲線和三次樣條插值后的輪廓誤差曲線作為輪廓誤差曲線的基準(zhǔn)。求解的過程采用最優(yōu)化原理,將問題轉(zhuǎn)化為非線性約束規(guī)劃問題來求解。
1.2.1 線性插值輪廓誤差計(jì)算
線性樣條插值是最簡單的樣條插值。數(shù)據(jù)點(diǎn)使用直線進(jìn)行連接,結(jié)果樣條是一個多邊形。從代數(shù)的角度來看,每個分段函數(shù)si都是一個如下的線性函數(shù):
樣條的每個數(shù)據(jù)點(diǎn)都必須連續(xù),即
這樣,輪廓誤差的計(jì)算可如圖3所示。
圖3 線性插值輪廓誤差計(jì)算
圖3中,P為實(shí)際反饋點(diǎn)位置,輪廓誤差ε即為點(diǎn)P到指令點(diǎn)Ri與Ri+1之間軌跡的最短距離。令點(diǎn)Ri+1的坐標(biāo)為(xi+1,yi+1),點(diǎn)Ri的坐標(biāo)為(xi,yi),則點(diǎn)Ri、Ri+1之間的軌跡方程如式(3)所示。其中Ri為離點(diǎn)P最近的指令點(diǎn),輪廓誤差ε的計(jì)算表達(dá)式如式(2)所示。
1.2.2 三次樣條插值輪廓誤差計(jì)算
對于給定的數(shù)據(jù)點(diǎn)(xi,yi),y i=f(xi),i=0,1,…,n。用n段三次多項(xiàng)式在數(shù)據(jù)點(diǎn)之間構(gòu)建一個三次樣條。如果
表示對函數(shù)f進(jìn)行插值的樣條函數(shù),則仍需要以下條件:
設(shè)s¨(x0)=s¨(xn)=0,這樣總共有4n個已知條件,從而可確定n段多項(xiàng)式,輪廓誤差的計(jì)算可由圖4得出。點(diǎn)Ri與Ri+1之間的曲線軌跡方程為
圖4 三次樣條插值輪廓誤差計(jì)算
輪廓誤差ε即是點(diǎn)P到si(x)的最短距離,將求解過程轉(zhuǎn)化為非線性約束規(guī)劃問題如下:
由上文分析可知,對于輪廓誤差的計(jì)算,特別是三次樣條插值輪廓誤差的計(jì)算,計(jì)算復(fù)雜且計(jì)算量大,很難應(yīng)用到實(shí)時系統(tǒng)中。為此,本文提出了一種修正的輪廓誤差估算方法,并給出了該算法的實(shí)時性分析。
圖5給出了實(shí)時輪廓誤差的估算方法。圖5中,點(diǎn)Ri為離點(diǎn)P最近的指令位置點(diǎn),Ri-1、Ri+1分別是點(diǎn)Ri的直接前驅(qū)點(diǎn)和直接后繼點(diǎn)。實(shí)際上,由于直接計(jì)算ε計(jì)算量大,不能實(shí)現(xiàn)實(shí)時計(jì)算的要求,所以需要一種簡便且估算準(zhǔn)確的方法來代替ε的計(jì)算。本文用?ε來代替ε作為輪廓誤差的估計(jì)。?ε的計(jì)算方法如下:
圖5 實(shí)時輪廓誤差估算
將Ri-1、Ri+1的連線作為曲線在點(diǎn)Ri處的切線向量τ。設(shè)點(diǎn) Ri-1的坐標(biāo)為(xi-1,yi-1),點(diǎn)Ri+1的坐標(biāo)為(xi+1,y i+1),點(diǎn) Ri的坐標(biāo)為(xi,y i),則過點(diǎn)Ri-1、Ri+1的直線的斜率k為
用k來代替指令曲線在點(diǎn)R i處的切向量τ,那么過點(diǎn)Ri的切線方程為
化為直線的一般方程為
則點(diǎn) P(x′,y′)到直線(式(10))的距離?ε為
將?ε作為ε的代替。注意:用此方法計(jì)算斜率k時,當(dāng)k為無窮大時,即 xi+1-xi-1=0時,
在該算法中,尋找離點(diǎn)P最近的指令位置點(diǎn)Ri的具體方法是:以當(dāng)前的指令位置點(diǎn)Rj向前找,計(jì)算|PRi|2(1≤i≤j),即點(diǎn)P、Ri之間距離的平方,避免開根號的運(yùn)算量,當(dāng)發(fā)現(xiàn)當(dāng)前|PRi-1|2比|PRi|2大時停止搜索,點(diǎn)Ri即是離點(diǎn)P最近的指令點(diǎn)。實(shí)際上,由于點(diǎn)P與其跟隨點(diǎn)R距離不會很遠(yuǎn)(輪廓誤差控制的方法也在減小跟隨誤差,使點(diǎn)P逼近點(diǎn)R),所以只需要向前搜索很小一個常數(shù)點(diǎn)的位置即可以找到Ri,在下文的實(shí)驗(yàn)中平均只需前找十幾個點(diǎn)位置即可以找到Ri。
由上述方法分析可知,當(dāng)指令軌跡為線性時,?ε即是ε。因?yàn)?,過點(diǎn)Ri-1、Ri+1的直線的斜率k即為線性軌跡的斜率,過點(diǎn)Ri線率為k的方程即是式(1),?ε的計(jì)算可采用式(2)。當(dāng)指令軌跡為不規(guī)則曲線時,?ε或大于、或小于ε。在下文的實(shí)驗(yàn)中將給出?ε與ε之間誤差的對比分析。
實(shí)際上,在輪廓曲線重構(gòu)的方法中樣條插值法具有很高的精度,本文提出的輪廓誤差實(shí)時估算方法,將曲線在各點(diǎn)的切線用前后兩點(diǎn)的連線代替,見式(9),即如果共有n+1個指令點(diǎn),按這種方法參考式(5)與式(6)可得出4n個已知條件(已有條件2n+2個、內(nèi)部條件2n-2 個,令這樣就可重構(gòu)出軌跡指令的輪廓曲線,并且重構(gòu)的曲線也能很好地反映曲線的原形狀。而本文提出的方法正是以此重構(gòu)輪廓曲線方法為理論基礎(chǔ)加以修改得出輪廓誤差的估算,這樣從理論上可以保證其算法的正確性。
由上述的闡述可以發(fā)現(xiàn),此方法所需的主要運(yùn)算時間有求根運(yùn)算1次、絕對值運(yùn)算1次、除法運(yùn)算1次,完全可以滿足實(shí)時運(yùn)算的要求,在下文的實(shí)驗(yàn)中給出了其運(yùn)算時間。相對于插值法的算法時間復(fù)雜度O(n2)和大量的運(yùn)算(式(5)、式(6)、式(8)),本文提出的實(shí)時估算方法計(jì)算簡單,運(yùn)算量小。
兩個軸的實(shí)時輪廓誤差估算實(shí)驗(yàn)裝置采用的伺服和電機(jī)均由沈陽高精數(shù)控技術(shù)有限公司提供,伺服型號為 GJS-015ADA,電機(jī)型號為GJM096ADB22。CNC和伺服電機(jī)通過運(yùn)動控制總線相連,CNC的插補(bǔ)命令通過運(yùn)動控制總線發(fā)給指定的伺服,伺服的反饋響應(yīng)也通過運(yùn)動控制總線傳給CNC。為了實(shí)時地估算輪廓誤差,需要實(shí)時地從總線上獲取當(dāng)前位置信息(包括指令位置和實(shí)際反饋位置),然后依據(jù)上文給出的方法估算輪廓誤差。由于實(shí)驗(yàn)只涉及到兩個軸,所以實(shí)驗(yàn)中只是向X軸和Y軸發(fā)送插補(bǔ)數(shù)據(jù),并采集相應(yīng)的反饋數(shù)據(jù),沒有用到其他軸,如Z軸。
線性樣條插值輪廓誤差的計(jì)算和三次樣條插值輪廓誤差的計(jì)算不考慮樣條插值的時間,即假設(shè)輪廓曲線已經(jīng)給出,僅計(jì)算輪廓誤差運(yùn)算的時間,表1給出了其運(yùn)算時間對比。
表1 運(yùn)算時間對比 s
實(shí)驗(yàn)中,插補(bǔ)器每隔0.25ms發(fā)送一個插補(bǔ)位置點(diǎn),總共發(fā)送n個插補(bǔ)點(diǎn)。因而平均每個反饋點(diǎn)輪廓誤差計(jì)算所需的時間等于總時間除以插補(bǔ)點(diǎn)數(shù)。如表1所示,在這0.25ms的周期內(nèi)實(shí)時估算的方法完全可以完成輪廓誤差的計(jì)算,每個點(diǎn)的平均計(jì)算時間只需要0.02ms,由此可以證明提出的實(shí)時估算輪廓誤差方法滿足實(shí)時計(jì)算的要求。
在采樣點(diǎn)密集的情況下,線性插值可以反映輪廓曲線的整體特性,三次樣條插值可以連續(xù)平滑地重構(gòu)出輪廓曲線。本實(shí)驗(yàn)中每隔0.25ms采一個樣點(diǎn),由于采樣點(diǎn)較密集所以本文將εrt(實(shí)時估算輪廓誤差)分別和εliner(線性插值重構(gòu)輪廓誤差)與εspline(三次樣條插值重構(gòu)輪廓誤差)作比較,以求給出準(zhǔn)確的對比。圖6所示為雙軸實(shí)驗(yàn)加工的輪廓曲線,圖7給出了實(shí)時估算的輪廓誤差曲線圖,圖8所示為實(shí)時估算的輪廓誤差εrt分別與基準(zhǔn)輪廓誤差εliner和εspline作差比較的誤差曲線。
圖6 實(shí)驗(yàn)加工曲線
圖7 實(shí)時輪廓誤差曲線
圖 8 εrt與 εliner、εspline作差比較
為了較明顯地給出對照 ,將 εrt與 εliner、εspline在數(shù)學(xué)分析上作比較,如表2所示。
表 2 εrt與 εliner、εspline的差值 nm
由表2可以發(fā)現(xiàn),實(shí)時估算的輪廓誤差εrt和基準(zhǔn)輪廓誤差εliner、εspline之間的平均差值為納米級別,說明該估算方法在提高實(shí)時性的同時,犧牲的精度很小,完全可以滿足實(shí)際工程的應(yīng)用需要。
本文分析了離線計(jì)算輪廓誤差的方法,在此基礎(chǔ)上提出了實(shí)時估算輪廓誤差的新方法,通過實(shí)驗(yàn)證明該方法實(shí)時性好,估算精度高。該方法簡單明了,可以應(yīng)用到數(shù)控系統(tǒng)上實(shí)時估算輪廓誤差。在工程上可以指導(dǎo)控制參數(shù)的選取,并為實(shí)時輪廓誤差控制方法,如交叉耦合控制方法,提供誤差控制支持。
[1] 郭慧,林大鈞.基于微粒群算法的復(fù)雜曲面輪廓度誤差計(jì)算[J].東華大學(xué)學(xué)報(自然科學(xué)版),2008,34(3):274-277.
[2] 侯宇,張競,崔晨陽.復(fù)雜線輪廓度誤差坐標(biāo)測量的數(shù)據(jù)處理方法[J].計(jì)量學(xué)報,2002,23(1):13-16.
[3] 廖平.基于粒子群算法和分割逼近法的復(fù)雜曲面輪廓度誤差計(jì)算[J].中國機(jī)械工程,2010,21(2):201-205.
[4] Yu Yuan,Lu Jun,Wang Xiaochun.Modeling and Analysis of the Best Match in Free-form Surface Measuring[J].Mechanical Science and Technology,2001,20(3):19-20.
[5] Koren Y.Cross-coupled Biaxial Computer for Manufacturing Systems[J].Trans.ASME,J.Dyn.Syst.Meas.Control,1980,102(4):265-272.
[6] Koren Y,Lo C C.Variable Gain Cross Coupling Controller for Contouring[J].CIRP Proc.Manufacturing Systems,1991,40:371-374.
[7] Ramesh R,Mannan M A,Poo A N.Tracking and Contour Error Control in CNC Servo Systems[J].Int.J.Mach.Tools Manuf.,2005,45:301-326.
[8] Yeh S S,Hsu P L.Estimation of the Contouring Error Vector for the Cross-coupled Control Design[J].IEEE/ASME Trans.on Mechatronics,2002,7(1):44-51.
[9] Cheng M Y,Lee C C.Motion Controller Design for Contour-following Tasks Based on Real-time Contour Error Estimation[J].IEEE Transactions on Industrial Electronics,2007,54(3):1686-1695.
[10] Chen S L,Wu K C.Contouring Control of Smooth Paths for Multiaxis Motion Systems Based on E-quivalent Errors[J].IEEE Trans.Control Syst.Technol.,2007,15(16):1151-1158.
[11] 周凱.數(shù)控原理、系統(tǒng)及應(yīng)用[M].1版.北京:機(jī)械工業(yè)出版社,2007.