代子陽(yáng),謝明紅
(華僑大學(xué)機(jī)電及自動(dòng)化學(xué)院,福建廈門(mén)361021)
在對(duì)大型復(fù)雜的零件 (如發(fā)動(dòng)機(jī)葉輪和葉片,大型箱體及高精度的復(fù)雜模具等)進(jìn)行加工時(shí),三軸數(shù)控機(jī)床越來(lái)越不能滿足要求,取而代之是五軸數(shù)控機(jī)床。在加工復(fù)雜曲面時(shí),有很多方面的因素(如機(jī)床精度、刀具與工件的彈性變形和熱變形等)都會(huì)對(duì)五軸機(jī)床的加工精度產(chǎn)生影響,從而造成與實(shí)際曲面的不一致性,以至于產(chǎn)生很大的誤差。文中所述的非線性誤差是由于實(shí)際走刀軌跡與理論走刀軌跡的不一致性造成的。理論走刀軌跡要求刀具與工件表面相對(duì)運(yùn)動(dòng)是非線性的;然而由于目前的數(shù)控插補(bǔ)系統(tǒng)一般只能進(jìn)行線性插補(bǔ),由于旋轉(zhuǎn)軸的加入使得刀具與工件表面的實(shí)際相對(duì)運(yùn)動(dòng)為非線性;造成實(shí)際走刀軌跡與理論走刀軌跡之間發(fā)生了偏差,稱為非線性誤差[1]。它是五軸加工所特有的。所以,在進(jìn)行五軸加工時(shí)如何控制非線性運(yùn)動(dòng)誤差是目前研究的一個(gè)熱點(diǎn)問(wèn)題。
在前置處理中,由CAD/CAM生成的刀位軌跡時(shí),是通過(guò)微小直線段來(lái)逼近工件模型的輪廓來(lái)實(shí)現(xiàn)。因此在加工過(guò)程中,只有實(shí)際運(yùn)動(dòng)為直線運(yùn)動(dòng)的刀位點(diǎn)才能符合實(shí)際編程精度。在五軸數(shù)控加工中,由于兩個(gè)旋轉(zhuǎn)軸的加入,造成了數(shù)控加工的非線性,導(dǎo)致了機(jī)床各軸的合成運(yùn)動(dòng)不再是直線而是一條條空間曲線。使得實(shí)際刀位運(yùn)動(dòng)嚴(yán)重偏離理論軌跡,造成誤差嚴(yán)重影響加工精度和效率。所以,要進(jìn)行誤差計(jì)算,對(duì)超差部分作必要的修改,使誤差控制在允許的范圍內(nèi)。
在生成刀位文件時(shí),把自由曲面按一定的精度來(lái)劃分成微小的直線段,并假設(shè)只有刀具運(yùn)動(dòng)而工件不動(dòng)原則來(lái)生成刀位軌跡。由于曲面曲率不斷變化,必然引起刀軸矢量的不斷變化。因此,只有在三軸加工時(shí),才能獲得理想的直線段。五軸聯(lián)動(dòng)時(shí),由于旋轉(zhuǎn)軸的加入,同時(shí)加上五軸數(shù)控系統(tǒng)是一個(gè)非連續(xù)軌跡控制系統(tǒng),相鄰兩個(gè)刀位點(diǎn)之間軌跡不再是直線而是空間曲線[2]。由于非線性誤差是在相鄰的刀位點(diǎn)之間產(chǎn)生的,所以研究非線性誤差不應(yīng)該在整個(gè)刀位軌跡上,而應(yīng)該分段進(jìn)行。圖1為相鄰兩個(gè)刀位點(diǎn)間,理想軌跡與實(shí)際插補(bǔ)軌跡的仿真圖。
圖1 為相鄰刀位點(diǎn)間,理想軌跡與實(shí)際插補(bǔ)軌跡的仿真圖
圖2顯示了非線性誤差產(chǎn)生的原因。由于在進(jìn)行五軸雙轉(zhuǎn)臺(tái)加工時(shí),3個(gè)平動(dòng)軸的運(yùn)動(dòng)過(guò)程容易想象,兩個(gè)旋轉(zhuǎn)軸的運(yùn)動(dòng)不易想象,也不易用視圖顯示。按照工件不動(dòng)刀具運(yùn)動(dòng)的原則,可把它想象成刀具相對(duì)于工作臺(tái)的擺動(dòng)。圖2中顯示了兩個(gè)刀位點(diǎn)C1、C2之間實(shí)際軌跡曲線與理論曲線形成的過(guò)程。在理想的情況下,要求刀具的旋轉(zhuǎn)中心軌跡應(yīng)按經(jīng)過(guò)OiO'mOj的曲線運(yùn)動(dòng)。但是,由于目前的數(shù)控系統(tǒng)一般只能按照?qǐng)D中經(jīng)過(guò)OiOmOj的直線軌跡進(jìn)行插補(bǔ)運(yùn)動(dòng),從而造成了實(shí)際軌跡曲線rs(圖中虛線軌跡)與理論軌跡rl(圖中實(shí)線軌跡)之間的偏差。根據(jù)微分幾何,嚴(yán)格的非線性誤差的計(jì)算可由公式 (1)精確地描述:
在實(shí)際中為了準(zhǔn)確計(jì)算非線性誤差,需要對(duì)rl和rs進(jìn)行離散。經(jīng)過(guò)離散化之后的非線性誤差的計(jì)算為:
圖2 非線性誤差模型
嚴(yán)格非線性誤差的計(jì)算不僅要知道待加工工件表面的幾何信息和刀具信息,而且對(duì)曲面包絡(luò)面的求解也很困難。然而對(duì)五軸后置處理時(shí)的刀位文件中上述信息并不存在,因此只能根據(jù)非線性的理論進(jìn)行分析,并簡(jiǎn)化模型[3]。
下面以A-C雙轉(zhuǎn)臺(tái)五軸數(shù)控機(jī)床為例,來(lái)預(yù)測(cè)最大非線性誤差的位置。假設(shè)兩個(gè)刀位點(diǎn)數(shù)據(jù) (p1,r1)和 (p2,r2),以及刀觸點(diǎn)分別為T(mén)1、T2投影到xOy平面如圖3所示。由于數(shù)控插補(bǔ)系統(tǒng)是按線性進(jìn)行插補(bǔ)的,所以過(guò)刀位點(diǎn) (p1,r1)和 (p2,r2)的直線方程為:
同樣的角度變化如公式 (4)所示:
由公式 (3)、(4)可得刀觸點(diǎn)的軌跡方程,如公式 (5)所示:
將y分別對(duì)x求一次導(dǎo)數(shù)和二次導(dǎo)數(shù)可得:
令其一次導(dǎo)數(shù)為零,可以預(yù)測(cè)出最大非線性誤差的位置。
由公式 (8)得,最大非線性誤差產(chǎn)生的位置為兩個(gè)刀位點(diǎn)的中點(diǎn)附近。其中公式中的R為刀具半徑。
圖3 xOy平面上刀位點(diǎn)和刀觸點(diǎn)的投影
前幾節(jié)已經(jīng)預(yù)測(cè)出兩個(gè)刀位點(diǎn)插補(bǔ)軌跡間非線性誤差產(chǎn)生的最大位置。但是如果采用圖2的模型來(lái)求解非線性誤差,就需要知道模型輪廓的表面信息以及刀具的信息等。但是由于CAD/CAM軟件生成的刀位文件中已經(jīng)不包括這些信息,因此,文中采用機(jī)床運(yùn)動(dòng)學(xué)正反解的方法來(lái)求出非線性誤差的大小。按照理想的情況,兩個(gè)刀位點(diǎn)p1、p2的軌跡應(yīng)該是一條直線pl,可是由于五軸數(shù)控插補(bǔ)系統(tǒng)只能進(jìn)行線性插補(bǔ),從而造成了兩個(gè)刀位點(diǎn)p1、p2的插補(bǔ)軌跡為一條空間曲線ps如圖4所示。
首先根據(jù)機(jī)床運(yùn)動(dòng)學(xué)的正解,求出在工件坐標(biāo)系下的對(duì)應(yīng)刀位數(shù)據(jù)點(diǎn)p1、p2轉(zhuǎn)換到機(jī)床坐標(biāo)系下,得到各個(gè)運(yùn)動(dòng)軸分量分別為 (x1,y1,z1,A1,C1)和 (x2,y2,z2,A2,C2)。然后根據(jù)數(shù)控系統(tǒng)的插補(bǔ)特性,獲得任意時(shí)刻機(jī)床各運(yùn)動(dòng)軸的運(yùn)動(dòng)分量。最后,再利用機(jī)床運(yùn)動(dòng)學(xué)的反解法,把機(jī)床坐標(biāo)系下任意時(shí)刻機(jī)床各軸的運(yùn)動(dòng)量轉(zhuǎn)換成對(duì)應(yīng)工件坐標(biāo)系下各時(shí)刻刀具刀位點(diǎn)的坐標(biāo)。最后求得各個(gè)刀位點(diǎn)與理想直線pl的距離h,如果距離h超過(guò)了允許誤差,就要在這兩個(gè)刀位點(diǎn)產(chǎn)生最大的誤差位置插入新的刀位點(diǎn),來(lái)達(dá)到減小誤差的目的。
圖4 兩個(gè)刀位點(diǎn)p1、p2的插補(bǔ)軌跡
求非線性誤差的步驟如下:
(1)首先求出在工件坐標(biāo)系下的對(duì)應(yīng)刀位數(shù)據(jù)點(diǎn)p1、p2對(duì)應(yīng)機(jī)床坐標(biāo)系下各個(gè)運(yùn)動(dòng)軸分量分別為(x1,y1,z1,A1,C1)和 (x2,y2,z2,A2,C2)。由于數(shù)控系統(tǒng)的線性插補(bǔ)功能,計(jì)算出任意時(shí)刻的各個(gè)運(yùn)動(dòng)軸坐標(biāo)。插補(bǔ)軌跡方程為:
(2)利用機(jī)床運(yùn)動(dòng)學(xué)的反解法求出 (xt,yt,zt,At,Ct)對(duì)應(yīng)的工件坐標(biāo)系下刀位點(diǎn)的坐標(biāo)ps(t)。
(3)在圖5中,假設(shè)理想插補(bǔ)軌跡pl的單位方向矢量為n,則實(shí)際插補(bǔ)軌跡ps任意時(shí)刻的刀位點(diǎn)坐標(biāo)ps(t)到單位方向矢量n的距離為h(t),則
對(duì)公式 (11)進(jìn)行求導(dǎo),得到當(dāng)t=ts時(shí),h(t)有最大值為hmax:
目前對(duì)于非線性誤差超差的情況,主要使用刀觸點(diǎn)偏執(zhí)法、線性化法和自適應(yīng)線性化處理方法,來(lái)達(dá)到減小非線性化誤差的目的,使其達(dá)到允許的誤差范圍的要求。
(1)刀觸點(diǎn)偏執(zhí)法。該方法是為了消除工件加工過(guò)程中的過(guò)切和欠切現(xiàn)象,將刀具沿著刀觸點(diǎn)的法線方向偏執(zhí)一定的距離,改變誤差的分布,但是該方法無(wú)法偏執(zhí)過(guò)后的誤差在允許的范圍內(nèi),無(wú)法達(dá)到精確控制的目的[4]。
(2)線性化法。是將所有插補(bǔ)段線性分割,加密走刀步數(shù),減小因走刀步長(zhǎng)過(guò)大引起的非線性運(yùn)動(dòng)誤差,但是這種方法的缺點(diǎn)是,隨著零件設(shè)計(jì)的曲面的復(fù)雜化,數(shù)控程序的數(shù)量會(huì)不斷加大,因此在密化加工程序時(shí),會(huì)加大加工程序的數(shù)量,影響數(shù)控加工的插補(bǔ)和譯碼能力,降低了數(shù)控加工的效率和加工能力[5]。
(3)自適應(yīng)線性化法。該方法的思想是,首先計(jì)算出各個(gè)程序段的線性誤差,只對(duì)超過(guò)許用誤差的程序段進(jìn)行線性分割再折半分割來(lái)減小刀位點(diǎn)位置和刀軸矢量的變化,該方法不僅可以減小非線性誤差保證其不超過(guò)允許誤差,并且消除了非必要的刀位密化,較線性化法可以提高機(jī)床的加工效率和插補(bǔ)譯碼的能力,最大限度地發(fā)揮了機(jī)床加工的能力[6]。
如前所述,在五軸加工時(shí)由于兩個(gè)旋轉(zhuǎn)軸的引入,使得在實(shí)際加工過(guò)程中刀具與工件的接觸位置很難預(yù)測(cè)。再加上刀位數(shù)據(jù)中只有刀觸點(diǎn)位置與刀軸矢量的描述,缺少刀具的實(shí)際形狀和工件表面信息。因此,在五軸加工時(shí)很難預(yù)測(cè)出最大非線性誤差出現(xiàn)在相鄰刀位點(diǎn)的什么位置。但是,根據(jù)前面對(duì)最大非線性誤差位置的預(yù)測(cè)和仿真驗(yàn)證,在實(shí)際中往往取兩個(gè)刀位點(diǎn)中點(diǎn)位置作為新刀位點(diǎn)的插入位置。假設(shè)相鄰兩個(gè)刀位數(shù)據(jù)為 (pj,rj)、(pj+1,rj+1),首先計(jì)算出這兩個(gè)相鄰刀位點(diǎn)的誤差,如果超差就插入新的刀位點(diǎn) (pw,rw),然后再分別求出 (pj,rj)、 (pw,rw)和 (pw,rw)、(pj+1,rj+1)的誤差,如果超差,就繼續(xù)插入新刀位點(diǎn),直到誤差在允許范圍內(nèi)為止。
根據(jù)上述思想畫(huà)出如圖5所示的非線性誤差控制程序流程圖。
圖5 非線性誤差控制程序流程圖
通過(guò)對(duì)橄欖球面的加工,驗(yàn)證上述減小非線性誤差的正確與否。首先取出通過(guò)PRO/E生成的刀位文件中的10個(gè)采樣點(diǎn),對(duì)其進(jìn)行誤差計(jì)算。其誤差分布圖如圖6所示。未經(jīng)誤差補(bǔ)償?shù)姆蔷€性誤差結(jié)果偏大,其平均值大概在0.015 mm左右。
采取文中提出的減小非線性誤差的算法,即在超差的相鄰兩個(gè)刀位點(diǎn)中間插入新的刀位點(diǎn),來(lái)減小非線性誤差。取最大非線性誤差不超過(guò)0.9 μm。在對(duì)進(jìn)行刀位數(shù)據(jù)補(bǔ)償后,進(jìn)行計(jì)算與仿真。其仿真結(jié)果如圖8所示。從圖中可以看到非線性誤差有效的控制在0.9 μm之內(nèi)。在沒(méi)有進(jìn)行非線性誤差補(bǔ)償前,只有10個(gè)刀位點(diǎn);在非線性誤差補(bǔ)償后,刀位點(diǎn)個(gè)數(shù)增加到52個(gè)。從圖7中可以看出,非線性誤差補(bǔ)償后明顯達(dá)到了減小非線性誤差的目的。
圖6 非線性誤差補(bǔ)償前
圖7 非線性誤差補(bǔ)償前后對(duì)比
通過(guò)上述仿真結(jié)果,說(shuō)明了該方法的有效性,達(dá)到了減小非線性誤差的目的。圖8顯示了對(duì)相鄰兩個(gè)刀位數(shù)據(jù)進(jìn)行補(bǔ)償前后的仿真圖。補(bǔ)償后的到位軌跡更加接近理想曲線。
圖8 非線性誤差補(bǔ)償前后的刀位軌跡
非線性誤差是五軸加工過(guò)程中不可避免的,也是其特有的。文中在基于雙轉(zhuǎn)臺(tái)五軸數(shù)控加工的基礎(chǔ)上,介紹了一種在兩個(gè)相鄰刀位點(diǎn)中間插入新的刀位點(diǎn),并通過(guò)了MATLAB的仿真驗(yàn)證了該方法可以有效地減小非線性誤差。彌補(bǔ)了CAM軟件輸出刀位文件對(duì)非線性誤差沒(méi)有考慮的缺陷[1]。
[1]吳大中.五軸聯(lián)動(dòng)數(shù)控加工非線性誤差控制及后置處理[D].上海:上海交通大學(xué),2007.
[2]范冬青,張洪.曲面數(shù)控加工中的非線性誤差[J].機(jī)械設(shè)計(jì)與制造,2004,(4):35 -37.
[3]何永紅,齊樂(lè)華.趙寶林雙轉(zhuǎn)臺(tái)五軸數(shù)控機(jī)床后置處理算法研究[J].數(shù)控技術(shù),2006(1):9-11.
[4]劉宏.復(fù)雜曲面多軸數(shù)控加工非線性誤差理論分析及控制[J].組合機(jī)床與自動(dòng)化加工技術(shù),2003(12):66-68.
[5]TAKEUCHI Y,IDEMURA T.5-Axis Control Machining and Grinding Based on Solid Model[J].Annals of CIRP,1991,40(1):455-458.
[6]任秉銀,唐余勇.數(shù)控加工中的幾何建模理論及其應(yīng)用[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2000:93.