田軍鋒,范素娟,左憲禹
(河南大學(xué)a.計(jì)算機(jī)與信息工程學(xué)院;b.信息化管理辦公室,河南開(kāi)封 475004)
五軸加工刀具矢量壓縮平滑定向插補(bǔ)算法研究*
田軍鋒a,范素娟b,左憲禹a
(河南大學(xué)a.計(jì)算機(jī)與信息工程學(xué)院;b.信息化管理辦公室,河南開(kāi)封 475004)
為解決五軸加工中刀具矢量變化不均勻引起減速和加速的反復(fù)發(fā)生,帶來(lái)加工形狀變得粗糙和加工時(shí)間變長(zhǎng)的問(wèn)題,提出一種刀具矢量壓縮平滑定向插補(bǔ)算法。通過(guò)對(duì)指令程序進(jìn)行壓縮處理,可以去除刀位點(diǎn)和刀具矢量變化小的指令,對(duì)刀具矢量平滑處理,可以使得刀具矢量的變化與線性軸的變化一致,定向插補(bǔ)是對(duì)優(yōu)化后的指令刀位點(diǎn)數(shù)據(jù)和刀具方向進(jìn)行插補(bǔ)計(jì)算,以實(shí)現(xiàn)高速加工。通過(guò)仿真實(shí)驗(yàn)驗(yàn)證了該算法的有效性和可行性。
五軸加工;壓縮平滑;刀具矢量;定向插補(bǔ)
五軸聯(lián)動(dòng)數(shù)控加工是為了克服三軸加工的不足而發(fā)展起來(lái)的一項(xiàng)先進(jìn)制造技術(shù),在提高加工質(zhì)量、降低加工成本和減少加工時(shí)間等方面有著明顯的優(yōu)勢(shì)。通過(guò)增加兩個(gè)旋轉(zhuǎn)軸,使得加工的靈活性大大增強(qiáng),增加的旋轉(zhuǎn)軸可以使得刀具定位在空間任意方向,但是也帶來(lái)了運(yùn)動(dòng)過(guò)程中刀具矢量較難控制的問(wèn)題[1-3]。
五軸加工程序一般是由計(jì)算機(jī)輔助制造(Computer Aided Manufacturing,CAM)系統(tǒng)通常將計(jì)算機(jī)輔助設(shè)計(jì)(Computer Aided Design,CAD)系統(tǒng)設(shè)計(jì)生成的加工曲面用大量微小三角平面逼近,并在特定的容差范圍內(nèi)用一系列折線去覆蓋這些三角平面,從而生成大量指令點(diǎn)構(gòu)成的數(shù)控加工程序[4],同時(shí),刀具矢量被定義為三角平面的垂直方向,在三角平面邊界處的刀位點(diǎn)的刀具方向定義為相鄰三角平面垂直方向的平均值。刀具矢量可能會(huì)在刀端點(diǎn)(Tool Control Point)路徑長(zhǎng)度短的程序塊處發(fā)生較大變化,另一方面,刀具矢量的變化與線性軸的變化不成比例。如果數(shù)控機(jī)床直接加工這樣的程序指令,則機(jī)床轉(zhuǎn)動(dòng)軸會(huì)發(fā)生反復(fù)的減速和加速運(yùn)動(dòng),造成加工曲面質(zhì)量下降和加工時(shí)間延長(zhǎng),從而不利于高速和高表面質(zhì)量的加工[5-6]。對(duì)指令程序中刀位點(diǎn)數(shù)據(jù)和刀具矢量數(shù)據(jù)進(jìn)行處理是實(shí)現(xiàn)高速和高效加工的前提,對(duì)刀具矢量的變化要考慮機(jī)床的運(yùn)動(dòng)學(xué)特性,對(duì)刀具矢量的優(yōu)化方法的研究具有重要的理論和應(yīng)用價(jià)值。近年來(lái),眾多學(xué)者在五軸加工刀具矢量的控制和優(yōu)化上進(jìn)行了大量的研究。在參考文獻(xiàn)[7-10]提出了不同的方法來(lái)光順五軸旋轉(zhuǎn)軸的運(yùn)動(dòng)。文獻(xiàn)[7]和文獻(xiàn)[8]都是根據(jù)四元數(shù)對(duì)刀具矢量進(jìn)行光順。文獻(xiàn)[9]給出了C-space下滿足機(jī)床運(yùn)動(dòng)學(xué)條件的刀具矢量光順?biāo)惴āN墨I(xiàn)[10-11]提出了根據(jù)運(yùn)動(dòng)學(xué)性能優(yōu)化刀具矢量的方法。但以上方法都沒(méi)有對(duì)刀位數(shù)據(jù)和刀軸矢量同時(shí)進(jìn)行優(yōu)化和處理。
基于以上研究和分析,本文提出了一種刀具矢量壓縮平滑定向插補(bǔ)方法。該算法能夠?qū)ι傻闹噶畛绦蜻M(jìn)行壓縮和平滑處理,然后對(duì)優(yōu)化后的指令進(jìn)行定向插補(bǔ),從而達(dá)到提高加工表面質(zhì)量和縮短加工時(shí)間的目的。
壓縮平滑定向插補(bǔ)算法的基本思想是先對(duì)生成的指令數(shù)據(jù)進(jìn)行壓縮處理,把滿足容差限制的微小變化指令去除,簡(jiǎn)化指令程序容量,然后對(duì)壓縮生成的指令中的刀具矢量進(jìn)行平滑處理,使得旋轉(zhuǎn)軸和線性軸在相鄰指令間變化成比例,最后對(duì)平滑后的指令進(jìn)行定向插補(bǔ)來(lái)實(shí)現(xiàn)高速和高表面質(zhì)量加工,能夠使加工形狀圓滑從而縮短加工時(shí)間。
1.1 指令壓縮
程序指令包含刀位點(diǎn)數(shù)據(jù)p(x,y,z),刀軸矢量v(i,j,k)兩部分。對(duì)于每一個(gè)連續(xù)微小線段加工區(qū)域,刀位點(diǎn)數(shù)據(jù)和刀軸矢量變化量可能在系統(tǒng)容差范圍內(nèi),則根據(jù)下面的方法可以將這些指令刪除,減小指令代碼量。
指令壓縮需要滿足兩個(gè)條件:
條件一:后繼某刀觸點(diǎn)位置處的刀軸矢量與初始刀觸點(diǎn)位置Ps處的刀軸矢量所成角度α在旋轉(zhuǎn)角度容差θ范圍內(nèi)。
條件二:后繼某刀觸點(diǎn)位置到特定直線的距離d在線性軸距離容差D內(nèi),特定直線是指連接加工開(kāi)始刀觸位置點(diǎn)Ps和不滿足條件一對(duì)應(yīng)的刀觸位置點(diǎn)Pe。
首先根據(jù)刀軸矢量與初始刀軸矢量之間夾角大小進(jìn)行劃分,當(dāng)?shù)遁S矢量方向變化量α小于系統(tǒng)角度容差θ時(shí),將這些指令點(diǎn)作為下一步候選指令點(diǎn)進(jìn)一步處理,繼續(xù)處理下一個(gè)刀軸矢量;如果大于系統(tǒng)角度容差,則直接輸出這些指令點(diǎn)。接下來(lái)計(jì)算候選指令點(diǎn)到直線的距離d,該直線是由初始刀軸矢量點(diǎn)和刀軸矢量變化量大于角度容差的指令點(diǎn)連線。
如果d小于線性軸容差D,則該候選指令點(diǎn)可以刪除,繼續(xù)計(jì)算下一個(gè)候選指令點(diǎn)到前一直線的距離,進(jìn)行判斷。否則,更新直線的另一端點(diǎn)為該候選指令點(diǎn),并重新開(kāi)始計(jì)算該線段內(nèi)的候選指令點(diǎn)到該新的直線的距離。當(dāng)該直線內(nèi)的候選指令點(diǎn)處理完,則更新初始刀軸矢量為最新輸出的刀軸矢量,繼續(xù)進(jìn)行上述操作直到整個(gè)程序結(jié)束。這部分功能主要是對(duì)刀位點(diǎn)數(shù)據(jù)和刀軸矢量進(jìn)行去除,刪除掉刀具的微小晃動(dòng)指令。而源指令中的進(jìn)給速度等輔助指令仍舊保留。
對(duì)應(yīng)圖1所示,由編程指令點(diǎn)Pi-1、Pi、Pi+1和Pi+2構(gòu)成的一段加工路徑,對(duì)應(yīng)的刀軸矢量方向分別是Vi-1、Vi、Vi+1和Vi+2。
圖1 加工程序指令點(diǎn)和對(duì)應(yīng)刀軸矢量
圖2 加工程序指令點(diǎn)及旋轉(zhuǎn)角度容差苑圍
1.2 指令壓縮算法
對(duì)圖1所示,由編程指令點(diǎn)包括刀觸點(diǎn)數(shù)據(jù)和刀軸矢量數(shù)據(jù)構(gòu)成的微小線段加工區(qū)域,在每一個(gè)編程指令點(diǎn)都有一個(gè)指令點(diǎn)容差范圍D和旋轉(zhuǎn)角度容差范圍θ,如圖2所示。通過(guò)圖3所示的指令壓縮算法流程便能將符合條件一和條件二的微小晃動(dòng)指令去除。詳細(xì)步驟如下:
(1)首先是進(jìn)行初始化操作,初始化當(dāng)前下標(biāo)i值為1和初始刀軸矢量下標(biāo)s的值為1。并對(duì)旋轉(zhuǎn)軸容差θ和線性軸容差D進(jìn)行賦值。
(2)判斷第i個(gè)編程指令點(diǎn)是否能夠成功讀取。若讀取失敗,則整個(gè)算法結(jié)束。如果成功讀取,轉(zhuǎn)入步驟(3)。
(3)將當(dāng)前下標(biāo)i的值增加1,轉(zhuǎn)入步驟(4)。
(4)判斷當(dāng)前新的第i個(gè)編程指令點(diǎn)是否能夠成功讀取。若讀取失敗,說(shuō)明到了程序段結(jié)尾,需要對(duì)前面成功讀取的數(shù)據(jù)進(jìn)行處理,將i值減1,然后轉(zhuǎn)入步驟(6)。若讀取成功,計(jì)算當(dāng)前刀觸點(diǎn)處刀軸矢量與設(shè)定初始刀觸點(diǎn)處刀軸矢量間夾角α值,轉(zhuǎn)入步驟(5)。
(5)判斷α與旋轉(zhuǎn)角度容差θ大??;若α<θ,則表明當(dāng)前刀觸點(diǎn)的刀軸矢量與初始刀軸矢量間夾角小于系統(tǒng)容差θ,則轉(zhuǎn)入步驟(3)。若α≥θ,則表明當(dāng)前刀觸點(diǎn)的刀軸矢量與初始刀軸矢量間夾角超過(guò)了系統(tǒng)容差θ,轉(zhuǎn)入步驟(6)。
(6)將結(jié)束刀觸點(diǎn)刀軸矢量對(duì)應(yīng)下標(biāo)e更新為i,將候選待處理刀軸矢量下標(biāo)k賦初始值為s。轉(zhuǎn)入步驟(7)。
(7)將k值加1,在區(qū)間s與e之間對(duì)候選指令點(diǎn)做進(jìn)一步處理。
(8)判斷變量k與e的大小。若k≥e,轉(zhuǎn)入步驟(9);若k<e,計(jì)算刀觸點(diǎn)Pk到直線的距離d,求出d值。轉(zhuǎn)入步驟(10);
(9)更新初始刀軸矢量下標(biāo)s的值為e,當(dāng)前下標(biāo)i的值為s,同時(shí)輸出當(dāng)前下標(biāo)為s的指令點(diǎn)的數(shù)據(jù),包括Ps和Vs。轉(zhuǎn)入步驟(2)。
(10)判斷d與線性軸容差D的大小。若d<D,轉(zhuǎn)入步驟(7);若d≥D,說(shuō)明當(dāng)前指令點(diǎn)的刀觸點(diǎn)到直線的距離超過(guò)了線性軸容差D的限制,需要往前回溯重新對(duì)之前的候選指令點(diǎn)進(jìn)行判斷。更新候選指令點(diǎn)的結(jié)束下標(biāo)e為當(dāng)前候選指令點(diǎn)下標(biāo)k,當(dāng)前候選指令點(diǎn)下標(biāo)k值更新為初始刀軸矢量下標(biāo)s值,轉(zhuǎn)入步驟(7)。
1.3 刀具矢量平滑
刀具矢量平滑處理,轉(zhuǎn)動(dòng)軸位置指令校正抑制每個(gè)程序塊中相應(yīng)的旋轉(zhuǎn)軸速度的震蕩。首先要設(shè)定每次調(diào)整的最大程序段數(shù)N,算法先對(duì)指令中的刀位點(diǎn)線性軸變化量進(jìn)行計(jì)算,計(jì)算程序段中每一個(gè)刀位點(diǎn)到段首與斷尾直線距離之比,比值由公式(1)求出。
然后,根據(jù)每一個(gè)刀位點(diǎn)計(jì)算出的比值,利用公式(2)~(4)求出平滑后的刀具矢量。
圖3 指令壓縮算法流程
式中,(xs,ys,zs),(xe,ye,ze),(is,js,ks)和(ie,je,ke)分別表示第一段和最后一段對(duì)應(yīng)的刀位點(diǎn)數(shù)據(jù)和刀具矢量,(Ii,Ji,Ki)表示對(duì)第i個(gè)刀具矢量平滑后對(duì)應(yīng)的刀具矢量,i取值范圍是2~N-1。這部分主要功能是對(duì)刀具矢量進(jìn)行調(diào)整,使得刀具矢量變化與線性軸變化成比例,提高加工速度,縮短加工時(shí)間。
1.4 定向插補(bǔ)
本文以AC雙轉(zhuǎn)臺(tái)五軸機(jī)床作為研究對(duì)象,其中A和C分別表示繞機(jī)床X軸和Z軸旋轉(zhuǎn)的旋轉(zhuǎn)坐標(biāo)軸。將工件坐標(biāo)系下的刀位點(diǎn)數(shù)據(jù)(xi,yi,zi)和刀具矢量(Ii,Ji,Ki)轉(zhuǎn)換成雙轉(zhuǎn)臺(tái)機(jī)床坐標(biāo)系下的坐標(biāo)(Xi,Yi,Zi,Ai,Ci),工件坐標(biāo)系與機(jī)床坐標(biāo)系轉(zhuǎn)換關(guān)系如公式(5)~(9)所示。
其中:(tx,ty,tz)為A軸中心到工件坐標(biāo)系原點(diǎn)的長(zhǎng)度補(bǔ)償量。
定向插補(bǔ)包括機(jī)床坐標(biāo)系下刀位點(diǎn)插補(bǔ)和旋轉(zhuǎn)角度插補(bǔ),針對(duì)指令壓縮平滑后工件坐標(biāo)系下程序指令經(jīng)公式(5)~(9)轉(zhuǎn)換為機(jī)床坐標(biāo)系下坐標(biāo)進(jìn)行插補(bǔ),在每一個(gè)插補(bǔ)周期Δt計(jì)算插補(bǔ)刀位點(diǎn)坐標(biāo)和旋轉(zhuǎn)角度。刀位點(diǎn)在每一個(gè)插補(bǔ)周期的運(yùn)動(dòng)位移s由公式(10)求出
其中,Δt表示插補(bǔ)周期,F(xiàn)表示進(jìn)給速度。在相鄰指令間隔刀位點(diǎn)總的運(yùn)動(dòng)位移S由公式(11)求出
則新的刀位點(diǎn)插補(bǔ)位置由公式(12)~(14)求出
其中,j的取值范圍是0~n-1,n=S/s,(X0,Y0,Z0)=(Xi,Yi,Zi),(Xn,Yn,Zn)=(Xi+1,Yi+1,Zi+1)。
旋轉(zhuǎn)角插補(bǔ):為了使插補(bǔ)點(diǎn)的旋轉(zhuǎn)角和刀位點(diǎn)的變化成比例,首先計(jì)算每一個(gè)插補(bǔ)周期線性軸的變化比例K2,該值由公式(15)求出。
新的旋轉(zhuǎn)角插補(bǔ)位置由公式(16)~(17)求出
為驗(yàn)證本文算法的正確性,對(duì)表1中的刀位數(shù)據(jù)和刀具矢量進(jìn)行仿真實(shí)驗(yàn),圖4所示為表1中刀位點(diǎn)組成的編程軌跡。仿真實(shí)驗(yàn)中設(shè)定進(jìn)給速度為500mm/min,主軸轉(zhuǎn)速3000r/min,插補(bǔ)周期Δt=2ms,最大刀具矢量容差θ=0.001rad,最大線性軸容差D=0.01mm。
表1 原始刀位點(diǎn)數(shù)據(jù)和刀具矢量
圖4 待加工刀具軌跡
圖5 壓縮后刀位點(diǎn)和刀具矢量
圖6 平滑后刀具矢量
圖7 對(duì)應(yīng)的旋轉(zhuǎn)軸速度
根據(jù)指令壓縮方法對(duì)表1中的刀位點(diǎn)數(shù)據(jù)和刀具矢量數(shù)據(jù)進(jìn)行壓縮處理,得到壓縮后的刀位點(diǎn)和刀具矢量如圖5所示,從圖中可以看出滿足系統(tǒng)容差限制的刀位點(diǎn)和刀具矢量被去除,也即去除掉了刀具小的晃動(dòng)。對(duì)壓縮后的指令進(jìn)行刀具矢量平滑處理,平滑后的刀具矢量如圖6所示,從圖中可以看出,藍(lán)色虛箭頭是調(diào)整后的刀具矢量,調(diào)整后的刀具矢量變化更加平滑,與線性軸的運(yùn)動(dòng)也成比例變化。最后將壓縮平滑后的指令轉(zhuǎn)換成雙轉(zhuǎn)臺(tái)五軸機(jī)床坐標(biāo),對(duì)機(jī)床坐標(biāo)系下的刀位點(diǎn)數(shù)據(jù)和旋轉(zhuǎn)角數(shù)據(jù)進(jìn)行定向插補(bǔ),插補(bǔ)原理是使得線性軸與旋轉(zhuǎn)軸變化成比例,插補(bǔ)后的旋轉(zhuǎn)速度時(shí)間曲線如圖7所示,不進(jìn)行壓縮平滑處理的軌跡如曲線1所示,僅進(jìn)行壓縮平滑而不進(jìn)行定向插補(bǔ)軌跡曲線2所示,進(jìn)行壓縮平滑定向插補(bǔ)軌跡如曲線3所示。從圖7可以看出,算法不僅使得刀具矢量變化更加平滑,而且加工速度得到了提高,縮短了加工時(shí)間。
五軸加工可以顯著提高加工效率,由于旋轉(zhuǎn)軸的變化靈活可以定位在空間任意方向,刀具方向變化和刀位點(diǎn)變化不成比例引起機(jī)床反復(fù)加減速,使得加工表面粗糙和加工時(shí)間延長(zhǎng)。對(duì)此,本文提出了一種刀具矢量壓縮平滑定向插補(bǔ)算法。該算法先對(duì)由CAD/CAM生成的五軸數(shù)控加工程序進(jìn)行優(yōu)化,對(duì)于刀位點(diǎn)和刀方向變化小的指令去除,消除了刀具小的晃動(dòng)對(duì)加工造成的負(fù)面影響。同時(shí)對(duì)刀具矢量進(jìn)行平滑處理,獲得平滑的加工形狀。最后對(duì)優(yōu)化后的指令進(jìn)行定向插補(bǔ)。仿真實(shí)驗(yàn)表明,該算法可以使得刀具方向變化平滑,提高加工速度,獲得平滑加工面,并縮短加工時(shí)間。
[1]羅明,吳寶海,李山,等.自由曲面五軸加工刀軸矢量的運(yùn)動(dòng)學(xué)優(yōu)化方法[J].機(jī)械工程學(xué)報(bào),2009,45(9):158-163.
[2]LIU Gu-ran.Thid-order local contact and application in 5-axis machining of sculptured surfaces[J].Chinese Journal of Mechanical Engineering,2006,19(2):265-267.
[3]CHEN Li-ping,CHEN Yan,HU De-jin.Interference-free tool posture generation for 5-axis NC milling free-form surfaces[J].Chinese Journal of Mechanical Engineering,2004,17(3):381-384.[4]VICKERSGW,BRADLEY C.Curved surface machining through circular arc interpolation[J].Computer in Industry,1992,19(33):329-337.
[5]ERKORMAZ K,ALTINASY.High speed CNC system desigh part II:Modeling and identification of feed drives[J]. International Journal of Machine Tools and Manufacture,2001,41(8):1487-1509.
[6]葉佩青,趙慎良.微小線段的連續(xù)插補(bǔ)控制算法研究[J].中國(guó)機(jī)械工程,2004,15(15):1354-1356.
[7]HOM C,HWANG CH,HU CH.Five-axis tool orientation smoothing using quaternion interpolation algorithm[J].International Journal of Machine Tools and Manufacture,2003,43(12):1259-1267.
[8]張小明,朱利民,丁 漢,等.五軸加工刀具姿態(tài)球面NURBS曲線設(shè)計(jì)及優(yōu)化[J].機(jī)械工程學(xué)報(bào),2010,46(17):140-144.
[9]JUN CS,CHA K,LEE Y S.Optimizing tool orientations for 5-axis machining by configuration-space search method[J]. Computer Aided Design,2003,35(6):549-566.
[10]CASTAGNETTIC,DUCE,RAY P.The domain of admissible orientation concept:A new method for five-axis tool path optimization[J].Computer Aided Design,2008,40(9):938-950.
[11]A.Yuen,K.Zhang,Y.Altintas.Smooth trajectory generation for five-axis machine tools.International Journal of Machine Tools&Manufacture,2013,71:11-19.
Research on Compression Smooth Orientation Interpolation of Tool Posture Vector in Five-axis Machining
TIAN Jun-fenga,F(xiàn)AN Su-juanb,ZUO Xian-yua
(a.School of Computer and Information Engineering;b.Information Management Office,Henan University,Kaifeng Henan 475004,China)
To solve problems that the machined shape becomes rough and the machining time becomes long in five-axis machining posed by deceleration and acceleration are repeated due to uneven change of the tool posture vector.A compression smooth orientation interpolation of tool posture vector was developed.A program command to a block having small changes in a tool center point position and a tool posture vector was removed by compression process.Tool posture vector command was smoothed to attain a change of tool posture vector in proportion with that of the linear axis command.The orientation interpolation is performed on the optimal commands processed by compression smooth to achieve a high speed machining.A simulation test was performed to verify the effectiveness and feasibility of this algorithm.
five-axis machining;compression smooth;tool posture vector;orientation interpolation
TH165;TG659
A
1001-2265(2015)04-0104-04 DOI:10.13462/j.cnki.mmtamt.2015.04.027
2014-06-10;
2014-07-18
國(guó)家自然科學(xué)基金項(xiàng)目(61202098)
田軍鋒(1980—),男,河南葉縣人,河南大學(xué)講師,博士,研究方向?yàn)楦邫n數(shù)控技術(shù),(E-mail)tianjunfeng@henu.edu.cn。