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