0 前言
五軸加工在三軸加工基礎(chǔ)上增加了兩個(gè)旋轉(zhuǎn)軸,從而使加工方式更加靈活,材料去除率更高,加工時(shí)間更短,可以處理更為復(fù)雜的工件[1-2]。但是旋轉(zhuǎn)軸的運(yùn)動(dòng)也使刀具姿態(tài)控制更為復(fù)雜,從而引入許多五軸加工所特有的問(wèn)題[3-4]。奇異點(diǎn)問(wèn)題就是其中重要的一個(gè)。當(dāng)?shù)毒咄ㄟ^(guò)奇異點(diǎn)附近區(qū)域(本文稱奇異區(qū)域)時(shí),旋轉(zhuǎn)軸會(huì)產(chǎn)生不連續(xù)并且急速的轉(zhuǎn)動(dòng),這大大增加了非線性誤差,同時(shí)極易破壞工件,甚至損傷機(jī)床部件[5-6]。因此,對(duì)奇異區(qū)域內(nèi)的刀具路徑進(jìn)行優(yōu)化處理,對(duì)于提高加工精度和加工效率至關(guān)重要。
AFFOUARD 等[6]提出通過(guò)多項(xiàng)式插補(bǔ)修改刀具路徑來(lái)避開(kāi)奇異位置,但是插補(bǔ)算法復(fù)雜,計(jì)算上代價(jià)較大。MUNLIN 等[7-8]通過(guò)選擇奇異點(diǎn)附近旋轉(zhuǎn)軸運(yùn)動(dòng)的最短路徑來(lái)減小誤差,但該方法在選擇轉(zhuǎn)角取值時(shí),考慮的是相鄰點(diǎn)轉(zhuǎn)角變化量的相對(duì)值最小,而相鄰點(diǎn)之間轉(zhuǎn)角變化量的絕對(duì)值可能較大,出現(xiàn)這樣的情況時(shí)誤差仍然較大。SORBY[9]提出的方法是在奇異點(diǎn)附近插入刀位點(diǎn),同時(shí)修改C軸轉(zhuǎn)角,避免加工通過(guò)奇異點(diǎn)時(shí)誤差過(guò)大,但由于之前沒(méi)有對(duì)奇異區(qū)域的范圍進(jìn)行檢測(cè),因此當(dāng)?shù)毒叽┻^(guò)奇異區(qū)域卻不經(jīng)過(guò)奇異點(diǎn)時(shí),加工精度不夠理想。王丹等[10]給出的通用的五軸加工非線性誤差控制算法也可以運(yùn)用到奇異區(qū)域的處理上,但由于單純采用線性插值,使奇異區(qū)域內(nèi)的加工速度大大降低,而且插值過(guò)密容易導(dǎo)致機(jī)床頻繁地做加減速運(yùn)動(dòng),易引起刀具顫振。
針對(duì)以上問(wèn)題,本文在前人研究的基礎(chǔ)上,以AC 雙轉(zhuǎn)臺(tái)五軸機(jī)床為例,給出一種將優(yōu)化C 軸轉(zhuǎn)角(簡(jiǎn)稱C 角)、修改刀軸方向、遞歸線性插值三者結(jié)合的刀具路徑優(yōu)化算法,從而在提高奇異區(qū)域內(nèi)加工精度的同時(shí),保證速度盡量快、加工更平穩(wěn)。
1 五軸機(jī)床的運(yùn)動(dòng)學(xué)方程
1.1 AC 雙轉(zhuǎn)臺(tái)五軸機(jī)床正向反向運(yùn)動(dòng)學(xué)變換本文以AC 雙轉(zhuǎn)臺(tái)五軸機(jī)床作為研究對(duì)象(圖1)。首先根據(jù)其機(jī)床結(jié)構(gòu)和運(yùn)動(dòng)鏈建立機(jī)床正向運(yùn)動(dòng)學(xué)方程。設(shè)工件坐標(biāo)系坐標(biāo)原點(diǎn)為Ow,工件坐標(biāo)系下的刀具位置矢量為pw=(xw yw zw)T,刀具方向矢量為uw=(i j k) T;機(jī)床坐標(biāo)系原點(diǎn)為Om,機(jī)床線性軸運(yùn)動(dòng)矢量為pm=(xm ym zm)T,機(jī)床旋轉(zhuǎn)軸為A 和C,對(duì)應(yīng)的機(jī)床轉(zhuǎn)角分別為α 和γ。
根據(jù)圖1 所示的運(yùn)動(dòng)鏈,AC 雙轉(zhuǎn)臺(tái)五軸機(jī)床的正向運(yùn)動(dòng)學(xué)方程如下.
由式(3)計(jì)算出的原始C 角在(–π, π]之間。由表1 可知,如果相鄰點(diǎn)之間i 或j 的方向發(fā)生變化,C角可能會(huì)發(fā)生劇烈變化。例如第n 點(diǎn)刀軸方向?yàn)?(0.100 0, –0.100 0, 0.989 9),第n+1 點(diǎn)的刀軸方向?yàn)?(–0.100 0, –0.100 0, 0.989 9),直接依據(jù)式(3)計(jì)算出來(lái)的C角分別為3/ 4π 和−3/ 4π ,相距3/ 2π 。由式 (4)~(7)可知,線性軸的取值與旋轉(zhuǎn)軸有關(guān),C 角變化劇烈會(huì)導(dǎo)致線性軸變化劇烈,從而產(chǎn)生較大的誤差。因此需要對(duì)原始的C 角進(jìn)行修正。由于正弦函數(shù)和余弦函數(shù)都以2π 為周期,因此利用這一特性在反解三角函數(shù)的過(guò)程中修改C 角的取值
式中 n 1 γ + ′ ——修改后的第n+1 點(diǎn)的C 角取值n 1 γ + ——修改前的第n+1 點(diǎn)的C 角取值n γ ——修改前的第n 點(diǎn)的C 角取值經(jīng)過(guò)這樣處理后,加工路徑上Δγ ( n 1 n γ γ + − )都不超過(guò)π ,過(guò)大轉(zhuǎn)角得到初步控制。對(duì)于AC 雙轉(zhuǎn)臺(tái)五軸機(jī)床來(lái)說(shuō),C 軸對(duì)線性軸的影響大,A 軸較小[11]。因此只需要對(duì)C 角進(jìn)行優(yōu)化即可。
2 奇異區(qū)域內(nèi)的優(yōu)化方法
2.1 奇異點(diǎn)和奇異區(qū)域
由圖1 可知,當(dāng)α=0 時(shí),刀軸與轉(zhuǎn)臺(tái)臺(tái)面垂直, C 角取任何值刀軸方向都不會(huì)改變,造成自由度丟失。根據(jù)式(2)~(3)也可以看到,α=0 時(shí),刀具方向矢量為 (0,0,1),此時(shí)γ = arctan(0 / 0) ,無(wú)解,在Matlab 中規(guī)定為0。對(duì)于AC 雙轉(zhuǎn)臺(tái)機(jī)床,刀軸方向?yàn)?span>(0,0,1) 的點(diǎn)就是奇異點(diǎn)。盡管在反運(yùn)動(dòng)學(xué)變換過(guò)程中修正了C 角的取值,但是如果刀具經(jīng)過(guò)奇異點(diǎn)附近即奇異區(qū)域時(shí),Δγ 仍然很大,甚至可能達(dá)到π 。刀具進(jìn)入奇異區(qū)域后,越接近奇異點(diǎn),C 角變化越劇烈,由此產(chǎn)生的非線性誤差越顯著,對(duì)工件和刀具可能造成的損害也越大。需指出的是,刀具經(jīng)過(guò)奇異區(qū)域并不一定會(huì)經(jīng)過(guò)奇異點(diǎn),而經(jīng)過(guò)奇異點(diǎn)就一定是經(jīng)過(guò)了奇異區(qū)域。
對(duì)于奇異區(qū)域的范圍,可以采用基于機(jī)床雅可比矩陣條件數(shù)的方法來(lái)界定:首先根據(jù)機(jī)床的運(yùn)動(dòng)學(xué)方程和相鄰點(diǎn)各軸運(yùn)動(dòng)變化量建立五軸機(jī)床雅可比矩陣,然后求解雅可比矩陣的條件數(shù),如果條件數(shù)超過(guò)給定值,則可以判定當(dāng)前加工區(qū)間處于奇異區(qū)域內(nèi)[12]。
2.2 奇異點(diǎn)及其附近的C 角處理
造成奇異區(qū)域內(nèi)非線性誤差過(guò)大的原因一般有兩個(gè):一是因?yàn)槠娈慄c(diǎn)處i 和j 均為0,造成C角值不能確定;二是因?yàn)槠娈慄c(diǎn)前后兩點(diǎn)的i 或j可能會(huì)發(fā)生變號(hào)造成的。下面分別就這兩種情況給出處理方法。
2.2.1 第一種情況
對(duì)于第一種情況,由于當(dāng)?shù)毒咴谄娈慄c(diǎn)位置時(shí),刀軸與轉(zhuǎn)臺(tái)臺(tái)面垂直,C 角無(wú)論取何值都不會(huì)影響該點(diǎn)的刀軸方向,因此可以指定這一點(diǎn)的C 角值。設(shè)指定后的C 角值為γ ′ ,奇異點(diǎn)前后兩點(diǎn)的C角值分別為1 γ 和2 γ 。設(shè)定的C 角值要使1 γ ,γ ′ , 2 γ波動(dòng)最小,需要三者方差最小。奇異點(diǎn)處C 角設(shè)定方法如下
這樣,奇異點(diǎn)左右兩個(gè)區(qū)間的Δγ 都不超過(guò)π/2,過(guò)大的Δγ 有效降低。表2 給出一處奇異點(diǎn)附近的刀位數(shù)據(jù)。表3 是對(duì)應(yīng)的機(jī)床各軸運(yùn)動(dòng)坐標(biāo)數(shù)據(jù)。
刀具從第1 點(diǎn)走到第3 點(diǎn),C 角一共變化了π ,但由于第2 點(diǎn)和第1 點(diǎn)之間的Δγ = π ,所以導(dǎo)致這兩點(diǎn)之間的路徑呈現(xiàn)為一個(gè)很大的弧。按照上述方法對(duì)奇異點(diǎn)處C 角進(jìn)行設(shè)定。之后根據(jù)設(shè)定的角度修改x,y,z 軸的取值。
表4 給出奇異點(diǎn)處C 角設(shè)定后的機(jī)床各軸運(yùn)動(dòng)坐標(biāo)。
可知,盡管處理后z 軸方向比原先增加了0.3mm 左右的誤差,但是卻使x 軸方向的誤差減小了大約40 mm,y 軸方向的誤差減小了大約20 mm。整體誤差大大降低。
2.2.2 第二種情況
第二種情況是奇異點(diǎn)附近可能會(huì)存在軸對(duì)稱的點(diǎn),即位置坐標(biāo)和方向矢量都關(guān)于三維空間某一坐標(biāo)軸對(duì)稱。對(duì)AC 機(jī)床來(lái)說(shuō),對(duì)稱的兩點(diǎn)z 軸坐標(biāo)總是相同的,因此只需要研究Oxy 平面上投影的情況。若方向矢量的投影關(guān)于y 軸對(duì)稱,則i 絕對(duì)值相同,符號(hào)相反;若方向矢量的投影關(guān)于x 軸對(duì)稱的兩點(diǎn),則j 絕對(duì)值相同,符號(hào)相反。這樣,相鄰兩點(diǎn)的C 角就可能相差超過(guò)π/2 。圖3 所示為一種奇異點(diǎn)附近的對(duì)稱情況。
以C 角從第一象限轉(zhuǎn)到第二象限為例說(shuō)明。當(dāng)i ≥ 0且j>0 時(shí),C 角在第一象限,設(shè)此時(shí)γ =θ 。若i 不變,j 變號(hào),C角轉(zhuǎn)到第二象限,此時(shí)的γ = π −θ 。C角的變化量Δγ = π −θ −θ = π − 2θ 。當(dāng)| i |≥| j |時(shí),π/4 ≤θ < π/2 , 0 < Δγ ≤ π/2 ; 當(dāng)| i |<| j | 時(shí), 0 <θ < π/4,π/2 < Δγ ≤ π。因此,當(dāng)C角從第一象限轉(zhuǎn)到第二象限時(shí), 若| i |<| j | , 令| i′ |=| j′ |= (| i | + | j |) / 2,就可以保證旋轉(zhuǎn)不超過(guò)π/2 ,其中i′ 和j′ 分別表示修改后刀軸方向矢量在工件坐標(biāo)系的x 軸和y 軸方向的分量。
同理可得出其他象限的情況,如表5 所示.
需要說(shuō)明的是,如果兩點(diǎn)不是軸對(duì)稱,而是中心對(duì)稱,則上述方法無(wú)法將Δγ 控制到π/2以內(nèi),這時(shí)只能通過(guò)插值法進(jìn)行處理。
盡管傾斜刀具可以調(diào)整C 角,從而降低非線性誤差,但同時(shí)也會(huì)帶來(lái)過(guò)切和欠切誤差。下面通過(guò)比較二者的誤差大小來(lái)證明傾斜刀軸的有效性。以平底刀為例。設(shè)刀具直徑為d,刀具傾斜角為δ ,由此產(chǎn)生的過(guò)切和欠切誤差為h。
易知
h = d sinδ (9)
設(shè)原來(lái)的刀軸方向矢量為a ,修改后的刀軸方向矢量為b ,則sinδ = (| a × b |) /(| a |i| b |) 。由于| a |=| b |=1,所以sinδ =| a × b |。
令| k |= 0.995 0 時(shí)刀具進(jìn)入奇異區(qū)域,可知0 ≤| i |≤ 0.099 9,0 ≤| j |≤ 0.099 9 。下面分析刀具從第一象限進(jìn)入第二象限的情況,其他情況同理。當(dāng)前一點(diǎn)刀軸矢量為(0, 0.099 9, 0.995 0),后一點(diǎn)刀軸矢量為(0, –0.099 9, 0.995 0)時(shí),Δγ = π,變化量最大。根據(jù)上面方法對(duì)前后兩點(diǎn)分別進(jìn)行修改。前一點(diǎn)為(0.05, 0.05, 0.997 5),后一點(diǎn)為(0.05, –0.05, 0.997 5)。sinα = 0.070 5。若平底刀直徑取6 mm,則過(guò)切和欠切誤差h=0.423 mm。也就是說(shuō),對(duì)于直徑6 mm 的平底刀,修改刀軸方向引入的最大過(guò)切和欠切誤差為0.423 mm,而過(guò)大的C 角由π 降到π/2 ,由此降低的非線性誤差遠(yuǎn)大于新引入的過(guò)切和欠切誤差。因此在奇異點(diǎn)附近傾斜刀軸是有效的。表6 給出一處奇異點(diǎn)附近的刀位數(shù)據(jù)。表7 是對(duì)應(yīng)的機(jī)床各軸運(yùn)動(dòng)坐標(biāo)。
由表4 可見(jiàn),由于j 符號(hào)發(fā)生變化,且| i |<| j |,第2 點(diǎn)和第3 點(diǎn)間的C 角變化超過(guò)π/2 。同時(shí)看到第1 點(diǎn)與第2 點(diǎn)以及而第3 點(diǎn)與第4 點(diǎn)間的變化很小,因此可以考慮修改第2 點(diǎn)和第3 點(diǎn)處的刀軸方向,適當(dāng)增加其他兩個(gè)區(qū)間的C 角變化量,來(lái)降低奇異點(diǎn)附近的過(guò)大C 軸轉(zhuǎn)動(dòng)8 為修改后的刀位數(shù)據(jù)。表9 為對(duì)應(yīng)的機(jī)床各軸運(yùn)動(dòng)坐標(biāo)。
圖5 是傾斜刀軸前后的路徑對(duì)比圖。4 個(gè)點(diǎn)的C 角方差由修改前的2.484 5 降到1.854 4,波動(dòng)變小。最大非線性誤差由16.680 8 mm 降到8.810 4mm,平均誤差也由6.075 5 mm 降到4.903 3 mm。使用直徑6 mm 的平底刀,傾斜刀軸所引入的過(guò)切和欠切誤差僅為0.106 8 mm。由此可見(jiàn),整體誤差大大降低。
2.3 遞歸插點(diǎn)
經(jīng)過(guò)以上處理后,大部分Δγ 都降到π/2以下(除非存在中心對(duì)稱的刀位點(diǎn))。如果還需要進(jìn)一步提高加工精度,則通過(guò)插點(diǎn)對(duì)加工路徑進(jìn)行線性化。
設(shè)相鄰兩個(gè)刀位點(diǎn)為( w, w ) p′ u′ 和( w, w ) p′′ u′′ 。設(shè)實(shí)際加工路徑的中點(diǎn)與編程直線的中點(diǎn)之間的距離為r 。最大允許誤差為ω 。若r >ω ,在相鄰刀位點(diǎn)中點(diǎn)處插入新的刀位點(diǎn)( pw,uw ),然后檢查( w, w ) p′ u′ 與 ( pw,uw )之間、( pw,uw )與( w, w ) p′′ u′′ 之間的非線性誤差是否超過(guò)ω 。如此遞歸進(jìn)行,直到r ≤ω 。
插入新刀位點(diǎn)時(shí)將刀具的位姿同旋轉(zhuǎn)軸的轉(zhuǎn)角結(jié)合起來(lái)考慮,具體方法如下:設(shè)(α0 ,γ 0 ) 和 (α1,γ 1)分別為刀位點(diǎn)( w, w ) p′ u′ 與( w, w ) p′′ u′′ 所對(duì)應(yīng)的旋轉(zhuǎn)軸轉(zhuǎn)角坐標(biāo)。首先,計(jì)算(α0 ,γ 0 )和(α1,γ 1)的中值對(duì)應(yīng)的方向矢量w u ,然后求w ′p 與wp′′的中值pw,最后將pw與uw組成新刀位點(diǎn)( pw,uw )。若直接令w ( w w ) / 2 p = p′ + p′′ ,再用式(2)和式(3)求解中點(diǎn)處的α 、γ ,則不能有效降低誤差,原因是奇異區(qū)域內(nèi)分量i 和j 接近0,造成C 角值偏差很大。
2.4 整體優(yōu)化流程
綜上所述,奇異區(qū)域的優(yōu)化處理流程如圖6 和圖7 所示。
3 加工試驗(yàn)
下面通過(guò)仿真試驗(yàn)和實(shí)際加工對(duì)上文給出的算法進(jìn)行驗(yàn)證。選擇直徑6 mm 的球頭刀進(jìn)行加工。加工曲面S(u,v)的參數(shù)方程如式(10)所示
式中,u, v 為曲面方程的參數(shù)。表10、11 給出初始刀位點(diǎn)和初始機(jī)床各軸運(yùn)動(dòng)坐標(biāo)。可以看到奇異點(diǎn)附近的兩種情況所導(dǎo)致的C 軸過(guò)大偏轉(zhuǎn)。
圖8 所示是所給加工曲面的Matlab 仿真效果圖。經(jīng)過(guò)對(duì)C 角初步優(yōu)化后,過(guò)大的環(huán)形軌跡得到初步控制,再通過(guò)二次優(yōu)化和插值處理,得到的路徑與理想路徑基本接近。
實(shí)際加工的路徑對(duì)比如圖9 所示。圖9a 實(shí)線圈出的是奇異區(qū)域內(nèi)的過(guò)大環(huán)狀軌跡,其中靠下面的兩個(gè)是第一種情況,靠上面的兩個(gè)是第二種情況。可以看到,處理后加工路徑更加平滑,加工精度大大提高,實(shí)際的加工情況與理論分析結(jié)果一致。需要說(shuō)明的是,由于過(guò)大環(huán)形軌跡會(huì)對(duì)刀具造成損害,因此未對(duì)圖8b 所示的情況進(jìn)行實(shí)際加工。采用直接插點(diǎn)法,需插入737 個(gè)點(diǎn)才能將最大非線性誤差降到0.099 8 mm。而采用綜合方法處理時(shí),新插入點(diǎn)304 個(gè),最大非線性誤差0.098 4 mm,速度是直接插點(diǎn)法的二倍。
4 結(jié)論
(1) 本文在對(duì)奇異區(qū)域內(nèi)五軸加工過(guò)程的處理上,根據(jù)相鄰點(diǎn)C 角變化量大小,依次進(jìn)行C 角的初次優(yōu)化、C 角的二次優(yōu)化、加工路徑線性化處理。盡管這個(gè)過(guò)程會(huì)引入新的過(guò)切和欠切誤差,并且為了降低某一個(gè)區(qū)間的過(guò)大誤差而增加了其他區(qū)間的誤差,但是整體的誤差得到了有效控制,同時(shí)增加的誤差也在允許范圍內(nèi)。
(2) 這種處理方式既保證了奇異區(qū)域內(nèi)的加工精度,有效地保護(hù)了工件和機(jī)床部件,又盡可能地減少了插點(diǎn)的數(shù)量,使奇異區(qū)域內(nèi)的加工速度盡量提高。
如果您有機(jī)床行業(yè)、企業(yè)相關(guān)新聞稿件發(fā)表,或進(jìn)行資訊合作,歡迎聯(lián)系本網(wǎng)編輯部, 郵箱:skjcsc@vip.sina.com