孫樹杰,于 東,林 滸,郎言書,3,李備備,3
1(煙臺(tái)大學(xué) 機(jī)電汽車工程學(xué)院,山東 煙臺(tái) 264005)2(中國(guó)科學(xué)院 沈陽(yáng)計(jì)算技術(shù)研究所,沈陽(yáng) 110168)3(中國(guó)科學(xué)院大學(xué),北京 100049)
在CAD(Computer Aided Design)系統(tǒng)中,模具型腔、汽車發(fā)動(dòng)機(jī)和航空結(jié)構(gòu)件廣泛采用自由曲線、曲面進(jìn)行結(jié)構(gòu)描述[1],自由曲面的高速、高精和高質(zhì)量加工卻一直是研究的難點(diǎn).數(shù)控加工過程中,CAM(Computer Aided Manufacturing)系統(tǒng)將自由曲面離散成小線段,生成對(duì)應(yīng)的刀具路徑.由于連續(xù)小線段之間存在拐角,因此,當(dāng)數(shù)控系統(tǒng)對(duì)小線段進(jìn)行直接加工時(shí),勢(shì)必引起加速度的頻繁波動(dòng),降低加工速度,加工過程中刀具的劇烈抖動(dòng)會(huì)在加工件的表面留下多余的刀痕.同時(shí),小線段的拐角會(huì)在工件表面留下折痕,影響加工結(jié)果的表面光潔度[2,3].因此,需要對(duì)小線段表示的加工路徑進(jìn)行平滑處理.
基于遺傳算法[4]或蟻群算法[5],對(duì)輔助刀具路徑進(jìn)行優(yōu)化排序,可以減少加工過程中的空行程,但具有最短空行程的刀具路徑并不能帶來最短的加工時(shí)間,同時(shí),無法有效提高加工質(zhì)量.通過擬合自由曲線、曲面產(chǎn)生的小線段,可以產(chǎn)生平滑的刀具路徑.常用的擬合方法包括Akiama樣條擬合[6,7]、Cubic樣條擬合[8]、NURBS曲線擬合[9-11],這些方法已經(jīng)應(yīng)用于西門子[12]、發(fā)那科[13]等公司生產(chǎn)的高檔數(shù)控機(jī)床上,但相關(guān)技術(shù)未見公開討論.其中,Akiama樣條在擬合過程中可以準(zhǔn)確經(jīng)過刀具路徑上的指令點(diǎn),插補(bǔ)點(diǎn)計(jì)算效率高,在刀具路徑上的指令點(diǎn)均勻排列時(shí),產(chǎn)生的刀具路徑平滑性好,擬合過程具備局部可調(diào)性.然而,擬合過程中無法通過控制點(diǎn)的權(quán)值進(jìn)行曲線調(diào)節(jié),產(chǎn)生的刀具路徑在連接點(diǎn)處僅具有G1連續(xù)[6].Cubic樣條擬合過程計(jì)算量小,但是擬合過程中不具備局部可調(diào)性,一個(gè)數(shù)據(jù)點(diǎn)的修改,會(huì)影響整條曲線的形狀,與此同時(shí),當(dāng)待擬合區(qū)域刀具路徑接近直線或曲率較大時(shí),難以獲得理想的擬合結(jié)果[8].NURBS是數(shù)據(jù)交換國(guó)際標(biāo)準(zhǔn)規(guī)定的用于工業(yè)產(chǎn)品幾何定義的唯一一種自由曲線、曲面[14],廣泛應(yīng)用于數(shù)控加工領(lǐng)域.采用NURBS曲線擬合技術(shù)可以產(chǎn)生連續(xù)性較高的刀具路徑,擬合過程中一個(gè)數(shù)據(jù)點(diǎn)的修改不會(huì)影響到整條曲線,擬合過程具備局部可調(diào)性[15];采用三階NURBS曲線進(jìn)行路徑平滑,刀具路徑即可做到G2連續(xù),獲得較高的平滑性[10,11].上述小線段擬合方法均假設(shè)刀具路徑上的指令點(diǎn)位于CAM系統(tǒng)期望的刀具路徑曲線上,并直接對(duì)指令點(diǎn)進(jìn)行擬合,擬合區(qū)域包含的刀具路徑范圍較小,且擬合結(jié)果不夠平滑.而實(shí)際應(yīng)用中,CAM系統(tǒng)生成的指令點(diǎn)卻是位于期望曲線的內(nèi)外公差范圍之內(nèi),因此,在擬合刀具路徑之前,對(duì)刀具路徑上的指令點(diǎn)進(jìn)行修正,可以有效提高擬合區(qū)中所包含的小線段長(zhǎng)度,并提高擬合結(jié)果的平滑性.
根據(jù)小線段的長(zhǎng)度和小線段間的夾角,可以將刀具路徑劃分為擬合區(qū)域和非擬合區(qū)域[16].如圖1 所示,刀具路徑上存在三個(gè)連續(xù)指令點(diǎn)Pi-1,Pi和Pi+1,θi為Pi-1Pi與PiPi+1之間的夾角.R為經(jīng)過Pi-1,Pi和Pi+1三個(gè)指點(diǎn)的圓弧的半徑,O為該圓弧的圓心.線段Pi-1Pi的長(zhǎng)度為li-1,線段PiPi+1的長(zhǎng)度為li,圓O上的弦線Pi-1Pi對(duì)應(yīng)的弦高為δi-1,弦線PiPi+1對(duì)應(yīng)的弦高為δi,δi-1與δi表示加工過程中的誤差,其表達(dá)式如下所示:
δi-1=R(1-cosφi-1)
(1)
δi=R[1-cos(π-θi-φi-1)]
(2)
u為系統(tǒng)允許的最大加工輪廓誤差,如果δi-1與δi的值小于u,則指令點(diǎn)Pi-1,Pi和Pi+1為連續(xù)刀具路徑的一部分.
CAD/CAM系統(tǒng)根據(jù)系統(tǒng)允許的最大加工誤差,將自由曲面、曲線離散成由小線段表示的數(shù)控程序.在這個(gè)過程中,
圖1 雙弦高法Fig.1 Bi-chord method
L=2ucosα/(1-sinα)
(3)
圓O存在半徑分別為R+u和R的同心圓O′和O″.刀具路徑Pi-1Pi、PiPi+1與圓O′分別相交于點(diǎn)Q2i和Q2i+1,則Q2i和Q2i+1為指令點(diǎn)Pi糾正后產(chǎn)生的新指令點(diǎn).
圖2 圓弧糾正方法Fig.2 Circle correction method
令l=min(LPi-1Pi,LPiPi+1),如果不等式L≤l成立,點(diǎn)Q2i的坐標(biāo)表示如下:
(4)
如果L>l,點(diǎn)Q2i的坐標(biāo)表示如下:
(5)
其中:
R=l/tanα
l2表示點(diǎn)Pi-1與點(diǎn)Q2i之間的線段長(zhǎng)度.
在圖2中,點(diǎn)Q2i與點(diǎn)Q2i+1關(guān)于OPi對(duì)稱,因此,根據(jù)對(duì)稱原則,可以得到點(diǎn)Q2i+1的坐標(biāo),表達(dá)式如下所示:
(6)
與數(shù)控程序中給出的指令點(diǎn)相比較,經(jīng)過圓弧糾正后,刀具路徑上非連續(xù)區(qū)域的指令點(diǎn)更加接近目標(biāo)自由曲曲面、曲線.
圓弧糾正方法假設(shè)相鄰指令點(diǎn)的曲率相同,為了進(jìn)一步對(duì)連續(xù)區(qū)域的指令點(diǎn)進(jìn)行糾正,采用三次樣條方法對(duì)刀具路徑進(jìn)行擬合,根據(jù)擬合結(jié)果,計(jì)算修正指令點(diǎn)的坐標(biāo),具體步驟如下:
(1)連續(xù)區(qū)域分段
圖3 方向段分段圖Fig.3 Division of fitting regions
假設(shè)Mi、Mi+1、Mi+2和Mi+3為連續(xù)刀具路徑上的任意三個(gè)連續(xù)指令點(diǎn),M1為連續(xù)刀具路徑的第一個(gè)指令點(diǎn),則連續(xù)刀具路徑段分段過程的步驟如下:
1)令i=1,
4)如果i 5)結(jié)束分段過程. (2)指令點(diǎn)擬合(采用三次樣條方法) 圖4 三次樣條糾正Fig.4 Cubic spline correction method 如圖4所示,Mi(i=1…n)為一個(gè)方向段內(nèi)的指令點(diǎn),C(t)為擬合產(chǎn)生的曲線,其表達(dá)式如下: C(u)=Au3+Bu2+Cu+du∈[0,1] (7) 因此,確定系數(shù)A、B、C和D后,即可確定曲線C(u),系數(shù)A、B、C和D的計(jì)算步驟如下: 1)根據(jù)M1、M2、M3和M4計(jì)算M1點(diǎn)處的切向量C(0)′. A:采用向心參數(shù)化方法對(duì)點(diǎn)M1、M2、M3和M4進(jìn)行參數(shù)化,即: (8) 其中,ui為指令點(diǎn)Pi處的參數(shù)值,li-1和lj-1分別為線段lPi-1Pi和lPj-1Pj的長(zhǎng)度 B:假設(shè)過點(diǎn)M1、M2、M3和M4的三次樣條曲線為C1(u),表達(dá)式如下所示: C1(u)=A1u3+B1u2+C1u+d1 (9) 其中,A1、B1、C1和d1的值如下所示: C:則M1點(diǎn)處的切向量表的值為:C(0)′=C1 2)與1)類似,可以求出點(diǎn)Mn處的切向量C(1)′. 3)系數(shù)A、B、C和D的表達(dá)式如下: (10) (3)計(jì)算修正后的指令點(diǎn)(采用迭代方法,并判斷糾正結(jié)果是否符合加工誤差的要求). A 采用向心參數(shù)化方法計(jì)算方向段內(nèi)指令點(diǎn)的參數(shù),其中Mmid處的參數(shù)為umid. (11) 其中, P=[P1…P(n-1)]T 為了保證加工精度,需要計(jì)算指令點(diǎn)與擬合曲線之間的誤差[18].如圖5所示,Qk是刀具路徑上的指令點(diǎn),C(uk)是該點(diǎn)在擬合曲線C(u)上的對(duì)應(yīng)點(diǎn). (12) 圖5 擬合誤差Fig.5 Fitting error 其中,κ是點(diǎn)C(uk)的曲率值,DT和DC表示點(diǎn)Qk在點(diǎn)C(uk)的法平面和切線上的投影,κ、T、N和C的值表示如下: C=(D-DTT)/DC 為了驗(yàn)證算法性能,對(duì)圖6所示的刀具路徑進(jìn)行處理,在本文中將不經(jīng)過指令點(diǎn)糾正直接進(jìn)行擬合處理的算法稱之為傳統(tǒng)算法. 圖6 刀具路徑Fig.6 Tool path 圖7 擬合區(qū)域局部放大圖Fig.7 Enlarged view of Part A and Part B 圖6中所示刀具路徑所含指令點(diǎn)較多,為了簡(jiǎn)便期間,對(duì)圖6中方框所示的刀具路徑Part A和 Part B進(jìn)行分析,結(jié)果如圖7所示. 在圖7中,星號(hào)表示刀具路徑上的指令點(diǎn),圓圈表示在雙弦高誤差條件下該部分刀具路徑為擬合區(qū)域的一部分.從圖7可知,Part A部分含有14個(gè)指令點(diǎn),但只有六個(gè)指令點(diǎn)符合擬合區(qū)域的條件,且這六個(gè)指令點(diǎn)分成了兩個(gè)不相接的部分.Part B部分含有13個(gè)指令點(diǎn),并且完全符合擬合區(qū)域的要求. 圖8 Part A 部分的指令點(diǎn)Fig.8 Command points of Part A 采用論文中提出的指令點(diǎn)修正方法對(duì)Part A和Part B部分的刀具路徑進(jìn)行修正.Part A部分的修正結(jié)果如圖8所示. 圖9 Part B 部分的指令點(diǎn)Fig.9 Command points of Part B 圖8(a)為修正前的指令點(diǎn),圖8(b)為修正后的指令點(diǎn).Part B部分的修正結(jié)果如圖9所示,圖9(a)為修正前的指令點(diǎn),圖9(b)為修正后的指令點(diǎn).可以看出修正后的指令點(diǎn)對(duì)應(yīng)的刀具路徑上,指令點(diǎn)分布更加均勻,刀具路徑間的夾角,變化更加平順.Part A部分的指令點(diǎn)經(jīng)過修正后,指令點(diǎn)之間的位置關(guān)系符合雙弦高法的要求,該部分的刀具路徑成為擬合區(qū)域的一部分. 圖10 修正后的指令點(diǎn)Fig.10 Corrected command points 對(duì)Part A和Part B部分修正后的刀具路徑進(jìn)行擬合處理,Part A部分處理后的刀具路徑如圖10(a)所示.可以看出采用傳統(tǒng)算法,Part A部分的刀具路徑只能采用小線段方法進(jìn)行表示,其結(jié)果如圖 8(a)所示,但是采用本文方法,可以將該部分刀具路徑擬合成為一個(gè)連續(xù)、平滑的NURBS曲線,其結(jié)果如圖10(a)所示. Part B部分處理后的刀具路徑如圖10(b)所示.其中實(shí)線表示原始刀具路徑,點(diǎn)橫線表示未經(jīng)指令點(diǎn)糾正后擬合產(chǎn)生的刀具路徑,加號(hào)表示擬合產(chǎn)生的NURBS曲線的控制點(diǎn);虛線表示經(jīng)指令點(diǎn)糾正后擬合產(chǎn)生的刀具路徑,圓圈表示擬合產(chǎn)生的NURBS曲線的控制點(diǎn).在X∈[90,105]的區(qū)間內(nèi),與傳統(tǒng)算法相比,本文算法產(chǎn)生的刀具路徑更加平滑. 由于數(shù)控程序中的指令點(diǎn)并不是準(zhǔn)確的分布在目標(biāo)曲線上,因此,需要在公差范圍內(nèi)對(duì)程序中的指令點(diǎn)進(jìn)行糾正.本文通過采用圓弧糾正方法和三次樣條糾正方法, 1) 有效的擴(kuò)大了刀具路徑上擬合區(qū)域包含的路徑長(zhǎng)度; 2) 使擬合區(qū)域指令點(diǎn)分布的更加均勻.仿真分析表明,經(jīng)過指令點(diǎn)糾正后,刀具路徑可以在更大范圍內(nèi)被平滑處理. 對(duì)產(chǎn)生的新刀具路徑進(jìn)行平滑處理,仿真分析表明,本文提出的方法擬合產(chǎn)生的NURBS曲線更加平滑.2.4 NURBS曲線擬合
3 仿真分析
4 結(jié) 論