黃秀文,高偉強,胡澤華,章晶,莊朱協(xié)
(廣東工業(yè)大學(xué)機電工程學(xué)院,廣東廣州510006)
隨著數(shù)控技術(shù)的日益成熟,五軸數(shù)控機床因其強大的加工能力和較高的加工精度得到越來越廣泛的應(yīng)用。在五軸加工中,當CAM 編程理論刀具與實際加工刀具尺寸不相符,或使用加工刀具出現(xiàn)磨損使刀具半徑發(fā)生變化,這時刀具補償就顯得尤其重要。與三軸聯(lián)動中的2D刀具半徑補償相比,五軸數(shù)控加工刀補是在3D 空間進行的,由于每步加工刀路的刀軸矢量都有可能發(fā)生變化,刀具半徑的補償方向也隨時變化。而目前ISO6983 中定義的NC指令格式?jīng)]有關(guān)于五軸刀具半徑補償方向的描述,機床NC控制器無法從NC程序中獲得刀補方向的信息,即傳統(tǒng)的平面刀補相關(guān)的指令,如:G17/G18/G19、G41/G42/G40等在五軸加工中已失效[1]。插補程序段中提供的數(shù)據(jù)信息僅僅是刀具中心點坐標和刀具軸的方位角,刀具半徑補償實際上不可能進行,因為控制器不知道該往哪個方向進行補償,而這個方向?qū)τ诘毒甙霃窖a償非常重要[2]。在國外一些高檔五軸數(shù)控系統(tǒng)中自定義了接受刀補矢量方向的NC指令格式,例如FANUC15-MA (FANUC,1994)[3]、CINCINNIATI MILACRON ACRAMATIC 950 (CINCINNIATI,1990)[4]等,F(xiàn)ANUC控制器采用了I_J_K_碼表示,而CINCINNIATI 則是采用P_O_R_碼表示[5]。
但是目前商品化的CAM系統(tǒng)不支持這類帶有3D刀補矢量的NC代碼格式,要使用這類系統(tǒng)中的3D刀補功能,只能花驚人的代價購附帶的專用編程系統(tǒng)或后處理器。研發(fā)五軸數(shù)控系統(tǒng)的3D刀補功能,首先要研究3D刀補矢量的計算和處理方法,解決帶有刀補矢量的五軸數(shù)控編程問題。五軸加工主要針對復(fù)雜形面,必須借助CAM軟件生成NC代碼。目前CAM軟件不支持帶有3D刀補矢量的NC代碼輸出,但一些CAM軟件生成的五軸刀位數(shù)據(jù)源文件(Cutter Location Source file,簡稱CLSF)可提供詳細的幾何信息,通過對刀位數(shù)據(jù)文件的分析、處理,可計算出各刀位點的刀具半徑3D 補償矢量,為實現(xiàn)五軸空間刀補提供必要的計算信息。
針對具有A/C軸的雙回轉(zhuǎn)工作臺五軸聯(lián)動機床的運動結(jié)構(gòu)模型,以UG NX6.0 對葉片進行建模、加工生成的刀位數(shù)據(jù)文件(CLSF文件)為例,研究了通過設(shè)計開發(fā)專用后處理器來輸出帶有3D刀補矢量的NC代碼的方法。
Contacting Point)C 不發(fā)生變化。為此,在刀軸方向不變的前提下,使半徑變化后的刀具中心只能沿切觸點法向n 移動,以補償由于刀具半徑變化帶來的誤差。因此,切觸點法向n可作為刀補矢量。
圖1 五軸機床加工原理圖
圖2 五軸3D刀補幾何模型
在數(shù)控系統(tǒng)中進行實時刀補時,如果可以從NC代碼中獲得原刀尖點Q、刀軸矢量 (Tool-Axis Vector)L、刀補矢量n,就可以通過矢量運算和坐標變換求出補償后的刀位點數(shù)據(jù)Q'和各進給軸坐標,由運動控制器實現(xiàn)補償后的五軸聯(lián)動插補運算。由此可知,求解刀補矢量n 成為解決五軸3D刀補的關(guān)鍵問題。
對于非刀補的五軸NC代碼,控制器可以從NC代碼中獲得刀尖點Q的坐標和兩個轉(zhuǎn)角坐標,根據(jù)五軸機床的結(jié)構(gòu)及運動模型,通過幾何運算可求出刀軸矢量L(lx,ly,lz)。
CAM軟件生成的刀位數(shù)據(jù)文件可以獲得刀尖點(點Q)坐標和刀軸矢量L。由矢量關(guān)系:
其中:r為理論刀具半徑;
O為球刀中心點矢量。可求出球刀中心點O的坐標。由于點O 在切觸點的法向量通過的直線上,如果能夠獲得刀具與被加工表面的切觸點C的坐標,就可以由公式(2)求出刀補矢量n。
由式(1)、(2)可知,要計算刀補矢量n,除了刀尖點坐標和刀軸矢量外,還需提供刀具切觸點C的坐標。
在UG NX6.0的CAM模塊中創(chuàng)建五軸加工操作時,如果勾選了“非切削移動”對話框的“輸出切觸點數(shù)據(jù)”選項,其生成的CLSF文件將帶有各個刀位的切觸點坐標。下面是一段UG輸出的刀位數(shù)據(jù):FEDRAT/MMPM,600.0000 ////FEDRAT 語句:用于定義刀軌進給速度及其單位;////
五軸空間刀補幾何模型如圖1、2所示。在數(shù)控3D刀補中,當?shù)毒甙霃桨l(fā)生變化(D刀-Δ)時,必須保證刀具與被加工表面的刀位切觸點 (Cutting
“GOTO”語句的格式歸納如下:GOTO /X_,Y_,Z_,I_,J_,K_$$II_,JJ_,KK_其中:X_,Y_,Z_為刀尖點Q 在工件坐標系中的坐標;I_,J_,K_為單位刀軸矢量的三項分量;II_,JJ_,KK_為切觸點C 在工件坐標系下的坐標,用“$$”符號來劃分。
提取其中的刀尖點、切觸點坐標和刀軸矢量,由式(1)、(2)可計算出刀補矢量。通過專用后處理器對CLSF文件處理,最終輸出帶有3D刀補矢量信息的五軸NC代碼。
由刀位數(shù)據(jù)和切觸點坐標計算出刀補矢量后,需根據(jù)五軸機床的結(jié)構(gòu)和運動模型,運用坐標變換的處理方法,將刀位數(shù)據(jù)轉(zhuǎn)換成特定機床的NC代碼。這一過程就是數(shù)控后處理。
以具有A/C軸雙回轉(zhuǎn)臺五軸機床為例,參考FANUC 帶刀補的NC指令格式,定義帶有刀具補償矢量的NC代碼格式為:
G01 Xx_ Yy_ Zz_ Aa_ Cc_ Ii_ Jj_ Kk_
其中:Ii_ Jj_ Kk_為刀具單位補償矢量的三項分量。
如圖3所示為A/C軸雙回轉(zhuǎn)臺五軸立式機床模型。其中A/C軸轉(zhuǎn)臺搭載在X-Y 工作臺上,工作臺運動結(jié)構(gòu)配置采用“Y—X—A—C—工件”的串行運動鏈形式;刀具沿Z軸方向運動。A軸擺動角度范圍:±110°,C軸轉(zhuǎn)臺運動范圍:±2 100 000°。圖4為五軸雙回轉(zhuǎn)工作臺示意圖,其中OmXmYmZ為工件坐標系:指的是編程坐標系;OrXrYrZ為名義坐標系:機床A、C軸回轉(zhuǎn)中心線交點為原點建立的機床運動坐標系;OcXcYcZc為刀具參考坐標系:刀具旋轉(zhuǎn)擺動參考坐標系;L 指的是刀軸矢量。
圖3 五軸雙轉(zhuǎn)臺數(shù)控機床
圖4 五軸雙回轉(zhuǎn)工作臺示意圖
刀位數(shù)據(jù)轉(zhuǎn)換成A/C軸雙轉(zhuǎn)臺五軸機床的NC代碼,需要進行坐標變換等數(shù)學(xué)處理。設(shè)切觸點C的坐標為(xC,yC,zC),根據(jù)刀具的刀位文件輸出的信息,包含有刀尖點Q坐標為(xQ,yQ,zQ),刀軸單位矢量L=(lx,ly,lz)。
2.2.1 NC回轉(zhuǎn)坐標A/C軸的計算
計算機床的運動坐標值(相對于OrXrYrZ 名義坐標系)X、Y、Z 及相應(yīng)的回轉(zhuǎn)角度A、C[6]。由于刀具相對于工件在空間作旋轉(zhuǎn)擺動,刀尖點坐標時刻在變化,需先通過CLSF 中的刀軸矢量來計算出A、C角,然后再確定刀具擺動后的刀尖點坐標。
A、C 轉(zhuǎn)角的計算有如下兩種情況:
第一種情況:工作臺相對刀具轉(zhuǎn)動,工作臺繞X、Z軸旋轉(zhuǎn),同樣遵守右手法則,即四指所指方向為正方向,即逆時針方向為正方向。首先將刀軸的起點移到工件坐標系的原點,將刀軸矢量繞Z軸順時針轉(zhuǎn)到(-Y) (+Z)平面上,再將刀軸矢量繞X軸順時針旋轉(zhuǎn)到與Z軸坐標方向一致[7],則刀具相對于工件旋轉(zhuǎn)方向與以上剛好相反。為此,首先刀軸矢量L 相對于工件繞X軸逆時針轉(zhuǎn)動A角,然后使刀軸矢量L 相對于工件繞Z軸逆時針轉(zhuǎn)動C角。A、C角的計算公式定義如下:
當lx=0時,令[7]:
第二種情況:刀軸矢量也可以繞Z軸順時針轉(zhuǎn)到(+Y) (+Z)平面上,再將刀軸矢量繞X軸逆時針旋轉(zhuǎn)到與Z軸坐標方向一致,則刀具相對于工件旋轉(zhuǎn)方向與以上剛好相反。則計算公式與公式(3)類似,簡寫為A'=-A;C'=C+180°,其中A、C 均為公式(3)計算的結(jié)果。
由于考慮到加工的效益,避免轉(zhuǎn)臺的空跑現(xiàn)象,在刀路合理(不發(fā)生干涉)的條件下,小角度的轉(zhuǎn)動可以更快地進入加工狀態(tài)。
圖5 A、C角度判定示意圖
(1)A角的正負變換,可以減少C角度的大范圍、大角度的旋轉(zhuǎn),加工時,由于是小角度的轉(zhuǎn)角,A角度由負到正或者由正到負,是通過零度角來判定。圖5為A、C角度判定示意圖。其中Ln(lnx,lny,lnz),L(n+1)(l(n+1)x,l(n+1)y,l(n+1)z)分別表示第n條、第n+1條GOTO 語句的刀軸矢量。
(2)計算C角
如果:(1)lnxl(n+1)y-lnyl(n+1)x≥0,則屬逆時針方向,旋轉(zhuǎn)為正,那么Cn+1=Cn+C_corner;
(2)lnxl(n+1)y-lnyl(n+1)x<0,則屬順時針方向,旋轉(zhuǎn)為負,那么Cn+1=Cn-C_corner;
2.2.2 機床運動坐標X、Y、Z的計算
求刀尖點Q(xQ,yQ,zQ)經(jīng)工作臺轉(zhuǎn)動后在名義坐標系OrXrYrZ 中的位置 (即機床運動坐標值X,Y,Z),需要注意的是,在進行坐標變換的時候,要按照先動軸后定軸的順序[8]。
將工件坐標系OmXmYmZ 平移到名義坐標系OrXrYrZ,變換矩陣為T1;工作臺(工件)繞C軸順時針轉(zhuǎn)動C角,變換矩陣為T2;工作臺(工件)繞A軸順時針轉(zhuǎn)動A角,變換矩陣為T3:
其中| OmOr|=d,即編程坐標系與名義坐標系在Z軸方向的偏置值;
則[X Y Z 1]=[xQyQzQ1]T1T2T3,將 式(7)代入整理可得:
基于上述計算方法,以VC++6.0為編程平臺開發(fā)了一個生成帶刀補矢量的五軸數(shù)控專用后置處理軟件。程序的部分流程如圖6所示。程序啟動,通過用戶輸入刀具半徑尺寸和偏置值d 等數(shù)據(jù),打開CLSF文件,提取CLSF文件中的刀尖點坐標、切觸點坐標和刀軸矢量等信息進行信息加工,最終生成帶有3D刀補矢量的NC代碼。后置處理的軟件界面如圖7所示。
圖6 程序的流程圖
圖7 后置處理的軟件界面
圖8 NC代碼生成
圖9是Vericut7.0 上模擬加工的葉片,仿真加工過程沒有發(fā)生干涉、碰刀和過切、欠切等現(xiàn)象,符合加工要求。
圖10為加了刀補后重新生成的NC代碼對比圖,圖11為3D刀具補償示意圖。由圖11可知,兩把刀具在切觸點處唯一點處與曲面相切,且加工結(jié)果并沒有發(fā)生過切、欠切、碰刀現(xiàn)象,滿足模擬實驗加工要求。
圖9 加工葉片仿真
圖10 3D刀補后NC代碼對比圖
圖11 3D刀具補償示意圖
要開發(fā)具有3D刀補功能的五軸數(shù)控系統(tǒng),首先需研究五軸3D刀補的計算和處理方法,解決帶刀補矢量的五軸NC代碼的編程問題。作者針對A/C軸雙轉(zhuǎn)臺五軸機床結(jié)構(gòu)模型,研究五軸3D刀補矢量的計算方法,分析了五軸數(shù)控后置處理過程相關(guān)算法,并開發(fā)了一個專用后處理器,實現(xiàn)了帶刀補矢量的五軸NC代碼輸出轉(zhuǎn)換。在此基礎(chǔ)上,以葉片零件五軸加工為例,在Vericut7.0 上進行NC代碼模擬加工驗證,并對生成的3D刀補矢量進行圖形模擬分析,仿真及分析結(jié)果均滿足加工精度要求。所研究的五軸3D刀補及其后處理算法,對開發(fā)具有3D刀具補償功能的五軸聯(lián)動數(shù)控系統(tǒng),實現(xiàn)五軸聯(lián)動加工的空間刀具補償具有一定的參考價值。
【1】陳良驥.復(fù)雜曲面數(shù)控加工相關(guān)技術(shù)[M].北京:知識產(chǎn)權(quán)出版社,2008:176-177.
【2】李粉霞,楊潔明.基于五軸聯(lián)動數(shù)控系統(tǒng)刀具半徑補償?shù)难芯縖J].機床與液壓,2010,38(3):60-63.
【3】FANUC.Programming Manual for FANUC Series 15-MA[M].1994.
【4】Cincinnati Milacron.Programming Manual for Cincinnati Milacron Acramatic 950PC/MC Rel 2.0 Computer Numerical Control[M].1990.
【5】陳良驥,王永章.五軸聯(lián)動數(shù)控加工中的刀具補償方法[J].制造技術(shù)與機床,2006(2):22-25.
【6】何永紅,齊樂華,趙寶林.雙轉(zhuǎn)臺五軸數(shù)控機床后置處理算法研究[J].制造技術(shù)與機床,2006(1):9-12.
【7】劉雄偉.數(shù)控加工理論與編程技術(shù)[M].北京:機械工業(yè)出版社,2001:139-140.
【8】張香玲.五坐標數(shù)控系統(tǒng)刀具長度補償算法的研究與實現(xiàn)[D].沈陽:中國科學(xué)院沈陽計算技術(shù)研究所,2008.