沙智華,馮琳琳,馬付建,宋秀瑩,王紫光,張生芳
(1.大連交通大學(xué),大連 116028;2.徐州徐工礦業(yè)機械有限公司,徐州 221000)
復(fù)雜曲面多軸聯(lián)動數(shù)控加工中,由于機床旋轉(zhuǎn)軸運動的影響,相鄰刀位點的刀具軌跡并非理想插補直線段,而是連接該直線段的一條空間曲線,兩者之間的差值稱為非線性誤差。非線性誤差的存在會嚴重影響曲面的加工精度,因此國內(nèi)外學(xué)者針對非線性誤差的分析及補償開展了很多研究。目前針對非線性誤差的研究大多針對四軸、五軸聯(lián)動數(shù)控機床,補償原理通常為對刀位點數(shù)據(jù)進行密化,主要方法有步長控制法、誤差離散化及中值插補法等。Banks等[1]提出了面向非線性、時變問題的完全非線性誤差方程,并利用輔助誤差方程對離散化誤差進行了逐點估計。楊旭靜等[2]分析了線性插補旋轉(zhuǎn)軸引起的在與走刀方向垂直的平面內(nèi)的非線性誤差及其影響因素。代子陽等[3]提出了刀位中點線性加密法,該方法可以預(yù)測最大誤差的產(chǎn)生位置,實現(xiàn)對五軸數(shù)控加工中非線性誤差的有效控制。高東強等[4]分析了四軸聯(lián)動數(shù)控機床的運動特點,并獲得最大非線性誤差計算公式,確定了影響誤差的主要因素,提出通過步長控制減小非線性誤差。陳健金等[5]分析了非線性誤差的產(chǎn)生原理,進而建立了能控制非線性誤差的誤差與旋轉(zhuǎn)軸角度間運算關(guān)系。Qazani等[6]為獲得最小非線性誤差速率,通過圖像處理試驗驗證了Tustin和非線性誤差方程的求解結(jié)果。王妮娜等[7]建立了自主研發(fā)的五軸聯(lián)動機床非線性誤差模型,并通過中值插補法進行誤差控制。張陽等[8]分析了非線性誤差的起因并驗證了一種基于時間分割法的插補算法。李杰等[9]通過誤差建模系統(tǒng)性地分析了五軸數(shù)控機床空間定位精度改善方法。王玉濤等[10]通過對刀具姿態(tài)進行插補優(yōu)化算法,有效提高了零件表面質(zhì)量。
目前針對復(fù)雜曲面六軸數(shù)控加工非線性誤差方面的研究非常有限,限制了相關(guān)復(fù)雜曲面加工精度的提升。本文以圓盤刀六軸五聯(lián)動數(shù)控加工蜂窩芯復(fù)雜曲面為例,分析了非線性誤差的產(chǎn)生機理及其影響因素,提出拋物線函數(shù)法進一步完善誤差模型,利用自適應(yīng)線性化法對非線性誤差進行高效判斷和補償。
圖1是圓盤刀六軸五聯(lián)動數(shù)控加工時XOZ平面上相鄰刀位點之間的刀具軌跡示意圖。其中,P0、P1為刀具軌跡上的相鄰刀位點坐標(biāo),U0、U1為對應(yīng)刀軸矢量,直線Q(t)為刀位點從P0運動到P1的理想線性插補軌跡。當(dāng)數(shù)控系統(tǒng)進行線性插補計算時,實際刀具軌跡會與理想插補軌跡產(chǎn)生偏差,生成如L(t)所示空間曲線,兩者之間的最大偏移量即為近似的最大非線性誤差值,用Emax表示。
圖1 非線性誤差產(chǎn)生機理Fig.1 Generation mechanism of nonlinear error
設(shè)圖1中相鄰刀位點的坐標(biāo)數(shù)據(jù)為P0(x0,y0,z0,i0,j0,k0)和P1(x1,y1,z1,i1,j1,k1),且機床各控制軸的運動分量分別為(X0,Y0,Z0,A0,C0)和(X1,Y1,Z1,A1,C1),則線性插補時刀具從P0到P1擺動過程的插補軌跡方程為式(2)(t為時間參數(shù))。
設(shè)相鄰刀位點P0和P1構(gòu)成的方向矢量為α,實際擺動路徑L(t)上任意點到線性插補路徑Q(t)的距離為H(t),通過矢量法表示H(t)為
以圓盤刀六軸五聯(lián)動數(shù)控加工蜂窩芯復(fù)雜曲面的刀具路徑規(guī)劃如圖2所示。借助Matlab,基于式(2)得到的其中一條實際刀具軌跡與理想線性插補軌跡之間的偏差如圖3所示。
圖2 蜂窩芯復(fù)雜曲面數(shù)控加工刀具路徑Fig.2 Tool path for CNC machining of complex surface of honeycomb core
圖3 刀具軌跡仿真Fig.3 Tool path simulation
從上述刀位文件中選取10個連續(xù)刀位點,可求取出9個采樣段的非線性誤差分布曲線,如圖4所示??梢钥闯?,非線性誤差的最大值出現(xiàn)在t=0.5處。
圖4 非線性誤差分布Fig.4 Nonlinear error distribution
基于圖4中非線性誤差分布曲線,根據(jù)中點及端點數(shù)據(jù)求取拋物線方程和正弦方程,3條曲線數(shù)據(jù)對比如圖5所示。經(jīng)過計算可知,正弦函數(shù)曲線和拋物線曲線與非線性誤差分布曲線的數(shù)據(jù)擬合度分別為0.9492和0.9994。由于拋物線曲線可實現(xiàn)非線性誤差的準(zhǔn)確直觀表達,且易于實現(xiàn),有助于提高分析效率,因此,可以應(yīng)用拋物線曲線表示非線性誤差分布。
圖5 曲線擬合度對比Fig.5 Comparison of curve fitting
通過拋物線曲線表示非線性誤差變化規(guī)律的具體表達式為
式中,i為插補次數(shù)(i= 0,1,2,3,…,n);ni為函數(shù)中點最大值,即不同i下的非線性誤差的最大值;m為標(biāo)準(zhǔn)拋物線函數(shù)方程的x軸偏移量,位置隨插補次數(shù)的變化而變化。
根據(jù)插補公式中t值變化范圍為0~1,選擇在未插補狀態(tài)下(i= 0,m= 0.5)逼近非線性誤差,可得
端 點 處Q(0)=Q(1)= 0,中點處Q(0.5)=n0,幅值n0即采樣段內(nèi)非線性誤差最大值。若n0>Emax,則需要在采樣程序段中點進行一次插補,此時i=1,t值的變化范圍變?yōu)?~0.5,最大非線性誤差值為幅值Q(0.25)=n1。若n1
通過分析非線性誤差模型,得到兩種主要影響因素: (1)刀具半徑和轉(zhuǎn)角變化量; (2)機床結(jié)構(gòu)參數(shù),即擺動中心點到刀具底部中心點的有效擺動距離。
六軸五聯(lián)動數(shù)控加工葉片曲面通過C擺頭逆時針旋轉(zhuǎn)90°后旋轉(zhuǎn)A擺頭實現(xiàn)曲面加工。圖6為在XOZ平面內(nèi)分析A擺頭的轉(zhuǎn)動規(guī)律,P0、P1、P2為刀具底部中心點,h0、h1、h2為刀觸點,θ0、θ1、θ2為對應(yīng)的轉(zhuǎn)角,R為圓盤刀刀具半徑。將當(dāng)前刀位分解為平行于XOZ平面和YOZ平面的兩個分量,可求兩個坐標(biāo)平面內(nèi)由刀軸轉(zhuǎn)動產(chǎn)生的合成非線性誤差。
圖6 A軸旋轉(zhuǎn)下的非線性誤差Fig.6 Nonlinear error under A-axis rotation
對于A軸旋轉(zhuǎn)下的非線性誤差計算,假設(shè)刀位點坐標(biāo)為P0(xp0,zp0)、P1(xp1,zp1)和P2(xp2,zp2),刀觸點坐標(biāo)為h0(xh0,zh0)、h1(xh1,zh1)和h2(xh2,zh2),根據(jù)圖示三角函數(shù)關(guān)系可得刀位點、刀觸點及轉(zhuǎn)角的變換方程,即
對刀觸點函數(shù)進行二次求導(dǎo)得
可知,θ1的正負決定了Zh1″的正負。在Zh1″= 0時,求取極值點條件為
極值點為θ1=(θ2+θ0)/2,即在插補段中點處取得最大非線性誤差值,則EAmax的表達式為
同理,可求得YOZ平面內(nèi)C軸旋轉(zhuǎn)的非線性誤差|ECmax|,A擺頭與C擺頭的旋轉(zhuǎn)軸線正交,合成非線性誤差為
對式(10)進行仿真,得到圖7所示結(jié)果,圓盤刀刀具半徑和轉(zhuǎn)角變化量都與非線性誤差有關(guān),非線性誤差隨刀具半徑和轉(zhuǎn)角變化量的增加而增加。
圖7 最大非線性誤差仿真結(jié)果Fig.7 Maximum nonlinear error simulation results
非線性誤差不僅與六軸五聯(lián)動數(shù)控機床運動坐標(biāo)變換矩陣密切相關(guān),還與機床擺動中心點在工件坐標(biāo)系中的位置矢量有關(guān)。不同數(shù)控機床的擺動中心點到圓盤刀刀具中心點的距離不同,即有效擺動長度不同。下面通過建立有效擺動長度的誤差模型來分析非線性誤差。
假設(shè)已知刀位點坐標(biāo)Pm1和Pm2及對應(yīng)數(shù)控代碼Qm1和Qm2如下:
Pm1(xm1,ym1,zm1,im1,jm1,km1);
Pm2(xm2,ym2,zm2,im2,jm2,km2);
Qm1(Xm1,Ym1,Zm1,Am1,Cm1);
Qm2(Xm2,Ym2,Zm2,Am2,Cm2)。
取t= 0.5時的新代碼Qmt反求得新刀位點Pmt,通過后置處理算法得刀位點與有效擺動長度Lm的關(guān)系式,即:
任意選取相鄰刀位數(shù)據(jù)及對應(yīng)數(shù)控代碼數(shù)據(jù)如下:
Pm(133.3881,0,8.1205,–0.0585,0,0.9983);
Pm2(36.2549,0,8.2580,–0.0375,0,0.9993);
Qm1(X33.3881–0.0526·Lm,Y0,Z8.1205+0.9986·Lm,A–3.3528,C90);
Qm2(X36.2549–0.0338·Lm,Y0,Z8.2580+0.9994·Lm,A–2.1501,C90)。
根據(jù)上述運動分量值可以求出t=0.5時的機床各軸運動分量及新刀位點坐標(biāo),代入非線性誤差模型中得到插補段內(nèi)的最大非線性誤差Emax與機床有效擺動長度Lm的關(guān)系式,即:
根據(jù)式(12)所示變換方程進行仿真,得到最大非線性誤差值與有效擺動長度Lm的關(guān)系曲線如圖8(a)所示,根據(jù)正弦函數(shù)法得到同一采樣段在不同Lm值下的非線性誤差分布曲線如圖8(b)所示??梢钥闯觯谕徊逖a程序段內(nèi),最大非線性誤差值Emax與機床結(jié)構(gòu)參數(shù)Lm近似呈線性關(guān)系,并隨著機床結(jié)構(gòu)參數(shù)Lm的增加而增加,所以合理選擇機床結(jié)構(gòu)參數(shù)也可以減小非線性誤差。
圖8 非線性誤差值與有效擺動長度的關(guān)系Fig.8 Relationship between nonlinear error and effective swing length
從改變非線性誤差的分布和控制采樣程序段內(nèi)刀軸矢量的角度變化兩方面考慮,主要有切觸點法向偏置法、線性化法和自適應(yīng)線性化法3種非線性誤差的控制方法。蜂窩芯復(fù)雜曲面結(jié)構(gòu)件尺寸大、加工步驟多、刀位數(shù)據(jù)量大,對所有程序段進行線性插補分割會大大增加計算難度,影響機床的插補能力,因此選用自適應(yīng)線性化法對復(fù)雜曲面結(jié)構(gòu)件進行非線性誤差控制。
在六軸五聯(lián)動加工葉片曲面往復(fù)銑削刀位源文件中隨機選取25個刀位點的刀具路徑,利用Matlab對24個程序段進行非線性誤差分析,誤差分布如圖9所示,插補前采樣程序段的非線性誤差大部分在6μm以上,誤差均值高達17.15μm。本試驗最大非線性誤差允許范圍為5μm,需要對每個采樣段進行插補得到新的刀位點分布,重新進行非線性誤差校驗。
圖9 插補前最大非線性誤差分布Fig.9 Maximum nonlinear error distribution before interpolation
圖10(a)為選取局部程序段在插補前后的非線性誤差分布對比,在超差程序段內(nèi)進行了刀位密化。如圖10(b)所示,插補后,超差程序段的最大非線性誤差值分布均在5μm以下,整體誤差均值降低到2.27μm,接近86.76%;誤差標(biāo)準(zhǔn)差從1.348μm變?yōu)?.209μm,降低近84.5%,符合非線性誤差控制要求,對比仿真結(jié)果,非線性誤差控制策略有效。
圖10 插補前后非線性誤差的分布趨勢Fig.10 Distribution trend of nonlinear error before and after interpolation
針對六軸五聯(lián)動數(shù)控加工中線性插補運動和旋轉(zhuǎn)軸的非線性運動產(chǎn)生的非線性誤差問題,建立了理論非線性誤差模型,并提出拋物線函數(shù)法完善了模型。通過理論和仿真驗證出最大非線性誤差的產(chǎn)生位置、分布趨勢及影響因素,利用自適應(yīng)線性化法控制非線性誤差,并以六軸五聯(lián)動數(shù)控加工蜂窩芯復(fù)雜曲面為例進行非線性誤差補償,仿真結(jié)果顯示采樣段的誤差標(biāo)準(zhǔn)差降低近84.5%。