左遠(yuǎn)征,黃常標(biāo)+,張絮暉
(1.華僑大學(xué) 福建省特種能場(chǎng)制造重點(diǎn)實(shí)驗(yàn)室,福建 廈門 361021;2.華僑大學(xué) 廈門市數(shù)字化視覺測(cè)量重點(diǎn)實(shí)驗(yàn)室,福建 廈門 361021)
隨著航空航天、新能源、汽車制造等領(lǐng)域的發(fā)展,不斷出現(xiàn)的復(fù)雜曲面零部件對(duì)數(shù)控加工編程技術(shù)、數(shù)控裝備和數(shù)控系統(tǒng)的極限性能等提出了新的挑戰(zhàn),數(shù)控加工技術(shù)的優(yōu)劣直接決定了這些復(fù)雜曲面零部件的加工效率和加工精度[1]。隨著反求工程、快速成形和計(jì)算機(jī)輔助設(shè)計(jì)等技術(shù)的發(fā)展,由三角面片構(gòu)成的自由曲面被廣泛應(yīng)用于相關(guān)設(shè)計(jì)制造領(lǐng)域,與其相關(guān)的刀位計(jì)算、軌跡規(guī)劃研究也成為研究熱點(diǎn)[2-3]。在五軸數(shù)控加工中,通過優(yōu)化刀位來探索最大切削帶寬,同時(shí)還要考慮刀具與工件干涉等因素[4]。近年來,以寬行加工為目標(biāo)的刀位算法得到了較大的發(fā)展,主要包括傳統(tǒng)的單點(diǎn)切觸刀位算法和多點(diǎn)切觸刀位算法。
單點(diǎn)切觸刀位算法認(rèn)為刀具和工件曲面之間只存在一個(gè)切觸點(diǎn),刀位計(jì)算時(shí)僅用一個(gè)切觸點(diǎn)處的微分幾何信息。目前主要有曲率匹配法、基于刀具掃描面的方法、C空間法、相交檢測(cè)法以及結(jié)合進(jìn)給方向的刀位優(yōu)化方法等。其中:①曲率匹配法是基于刀具與工件曲面的曲率匹配獲得無局部過切的刀位,主要包括曲面主曲率[5]、垂直于進(jìn)給方向的法曲率[6]、進(jìn)給方向垂直和平行的兩個(gè)方向的法曲率[7]以及刀具有效曲率的匹配。此外,CHEN等[8]提出一種通過調(diào)整刀具有效曲率使其大于曲面各方向的最大曲率來確定刀位的方法。②基于刀具掃描面的方法,通過沿刀具軌跡生成刀具掃描表面,在整個(gè)表面上連續(xù)計(jì)算切削帶寬[9]。刀具包絡(luò)面的表示是生成刀具掃描面的基礎(chǔ),HU等[10]提出局部刀具定位方法的基本曲率方程,以逼近單個(gè)刀觸點(diǎn)處的刀具包絡(luò)面,可以在每個(gè)刀觸點(diǎn)處調(diào)整刀位,獲得最大的切削帶寬;MIN等[11]建立了刀具包絡(luò)面與工件近似圓弧面之間的二階或三階切觸來得出最佳刀具位姿。③C空間法將刀具姿態(tài)定義為C空間中的一點(diǎn),并將工件投射到C空間中,通過避免干涉尋找最佳的刀具位置,最終將最佳刀具定位在C空間可行區(qū)域邊界上[12]。MI等[13]通過僅識(shí)別無干涉區(qū)域的邊界來簡(jiǎn)化C空間法。④相交檢測(cè)法通過刀具切削刃與工件表面之間的相交檢測(cè)獲得無干涉的刀具位姿。為了便于計(jì)算相交,通常采用離散方式,如將刀具分成有限數(shù)量的圓[14]、將刀具和工件細(xì)分為多邊形[15]、基于加工點(diǎn)云[16]等進(jìn)行干涉和相交檢測(cè)。FAN等[17]將工件表面用兩個(gè)二次曲面近似,表面上方的曲面用于避免干涉,表面下方的曲面用于保守的計(jì)算切削帶寬。⑤結(jié)合進(jìn)給方向,CHIOU等[18]基于3D有效切削輪廓,針對(duì)不同的進(jìn)給方向提出一種加工勢(shì)場(chǎng)(Machining Potential Field, MPF)的切削帶寬模型,根據(jù)切削帶寬評(píng)估了進(jìn)給方向的合理性。FARD等[19]用刀觸點(diǎn)附近的環(huán)面近似代替工件局部幾何形狀,獲得最佳進(jìn)給方向和刀位的解析解;LU等[20]采用差分進(jìn)化算法同時(shí)優(yōu)化進(jìn)給方向和刀位。
單點(diǎn)切觸方法大多采用解析法,因計(jì)算效率較高而被廣泛采用。但為了使刀具與工件曲面在宏觀區(qū)域得到更好的匹配,以獲得更大的切削帶寬,國(guó)內(nèi)外學(xué)者提出了多點(diǎn)切觸刀位算法。目前,多點(diǎn)切觸刀位算法都默認(rèn)刀具和加工曲面存在兩個(gè)切觸點(diǎn),主要可以分為3類:
(1)傳統(tǒng)的刀位計(jì)算方法,包括多點(diǎn)切觸加工(Multi-Point Machining,MPM)算法[21,23]、Hermite算法[24]和圓弧相交法(Arc Intersect Method,AIM)算法[25]。MPM算法和Hermite算法通過規(guī)劃的第1個(gè)刀觸點(diǎn)求得滿足精度要求的第2個(gè)刀觸點(diǎn),兩個(gè)切觸點(diǎn)關(guān)于最小主曲率方向?qū)ΨQ,算法計(jì)算原理較為復(fù)雜,刀位計(jì)算效率不高;AIM算法在由刀觸點(diǎn)及其法矢、進(jìn)給方向三者確定的平面內(nèi),旋轉(zhuǎn)刀軸矢量找到滿足局部過切條件下的刀具最小后跟角,該算法第2個(gè)刀觸點(diǎn)受局部曲面形態(tài)的影響,當(dāng)?shù)?個(gè)切觸點(diǎn)離進(jìn)給方向較近時(shí),刀位處僅能獲得比較小的加工帶寬。
(2)通過環(huán)心圓曲線到加工曲面的誤差分布曲線來尋找最大切削帶寬。端點(diǎn)誤差控制算法(End Points Error Controlling, EPEC)[26-27]將加工曲面的(圓環(huán)刀具圓角r+允許加工誤差δ)等距曲面內(nèi)一點(diǎn)作為環(huán)心圓上一點(diǎn),動(dòng)態(tài)調(diào)整該曲面上在進(jìn)給方向另一側(cè)的另一個(gè)環(huán)心圓點(diǎn),以這兩點(diǎn)為旋轉(zhuǎn)軸旋轉(zhuǎn)環(huán)心圓計(jì)算最大帶寬的刀位。旋轉(zhuǎn)切觸法(Rotary Contact Method, RCM)[28]及改進(jìn)旋轉(zhuǎn)切觸法(Improved RCM, IRCM)[29,31]、中點(diǎn)誤差控制算法(Middle Point Error Control, MPEC)[32]及其改進(jìn)方法[33-34]則以加工曲面的(r+δ)等距曲面上給定環(huán)心圓曲線點(diǎn)及其法矢、進(jìn)給方向建立坐標(biāo)系,以不同旋轉(zhuǎn)軸分別旋轉(zhuǎn)環(huán)心圓,以環(huán)心圓曲線到被加工曲面的誤差分布為標(biāo)準(zhǔn)來計(jì)算刀位。該方法基于環(huán)心圓計(jì)算誤差分布,可以在一定程度上簡(jiǎn)化計(jì)算,但在環(huán)心圓尺寸較大而加工曲面上包含較小結(jié)構(gòu)時(shí),則有可能產(chǎn)生干涉;以(r+δ)等距曲面上環(huán)心圓曲線點(diǎn)為旋轉(zhuǎn)中心,在一定程度上限制了刀具與加工曲面的相對(duì)位置,從而導(dǎo)致切削帶寬也受到一定限制;同時(shí)由于旋轉(zhuǎn)中心遠(yuǎn)離刀心點(diǎn),也導(dǎo)致優(yōu)化后的刀心與驅(qū)動(dòng)線的相對(duì)位置變化較大,不利于獲得更為平滑的軌跡。
(3)利用三角網(wǎng)格曲面的刀位計(jì)算方法。TSAINIS等[35]提出的凸包控制點(diǎn)(Point-In-Convex-Hull-Control,PICHC)算法通過幾何變換使得刀具網(wǎng)格模型面片與加工曲面上相應(yīng)投影面片的質(zhì)心和法矢重合,判斷曲面網(wǎng)格與刀具網(wǎng)格是否發(fā)生干涉來確定最佳刀具姿態(tài);DUVEDI等[36-37]提出了針對(duì)曲面網(wǎng)格模型的刀具定位方法,使得刀具與曲面網(wǎng)格模型存在多個(gè)切觸點(diǎn)。該方法首先沿刀軸矢量將環(huán)形刀具定位在網(wǎng)格曲面上,然后刀具圍繞給定軸旋轉(zhuǎn),直到出現(xiàn)第2個(gè)切觸點(diǎn)。這類方法的目的是獲得了無干涉的刀具位姿,實(shí)際上并未考慮到切削帶寬的大小。
現(xiàn)有五軸數(shù)控加工環(huán)形刀具的多點(diǎn)切觸刀位算法主要存在以下問題:
(1)優(yōu)化算法大都默認(rèn)刀具和工件曲面存在兩個(gè)切觸點(diǎn),雖然能夠得到較大的切削帶寬,但仍具有較大的局限性;
(2) 刀位優(yōu)化計(jì)算主要基于刀具環(huán)心圓或刀具環(huán)形面,在不考慮刀具底面的情況下將有可能產(chǎn)生干涉;
(3) 優(yōu)化刀位時(shí)的旋轉(zhuǎn)中心遠(yuǎn)離刀心點(diǎn),隨著曲面的變化將導(dǎo)致刀心軌跡與驅(qū)動(dòng)線的相對(duì)位置產(chǎn)生較大波動(dòng);
(4) 優(yōu)化算法采用數(shù)值計(jì)算方法,大多基于格點(diǎn)法對(duì)傾斜角、側(cè)偏角進(jìn)行離散尋優(yōu),其刀位角度的計(jì)算精度取決于離散網(wǎng)格的密集程度,刀位優(yōu)化精度受限,且效率不高。
為此,本文基于被廣泛應(yīng)用的三角網(wǎng)格曲面,提出一種基于遺傳算法的環(huán)形刀具刀位優(yōu)化算法,即通過刀心定位刀具,在精確計(jì)算預(yù)定位刀位到被加工曲面最短有向距離的基礎(chǔ)上,通過刀具與被加工曲面的等加工殘留偏置曲面來精確計(jì)算切削帶寬,最后通過遺傳算法來尋找能夠獲得最大切削帶寬的刀位傾斜角、側(cè)偏角。
刀位優(yōu)化的最終目標(biāo)是獲得最大的切削帶寬。本文通過刀具網(wǎng)格模型表示刀具實(shí)體結(jié)構(gòu)的3D表面,基于刀具網(wǎng)格模型與三角網(wǎng)格曲面簡(jiǎn)化刀具定位和刀位計(jì)算過程,精確計(jì)算切削帶寬。通過最短有向距離法確定給定傾斜角和側(cè)偏角的環(huán)形刀具與被加工區(qū)域的相對(duì)位置,再利用刀具網(wǎng)格模型與等殘留偏置曲面求交來精確計(jì)算多點(diǎn)切觸切削帶寬。在此基礎(chǔ)上,通過遺傳算法尋找出切削帶寬最大的刀位傾斜角和側(cè)偏角。刀位計(jì)算的總體流程如下:
步驟1在全局坐標(biāo)系Oxyz下創(chuàng)建初始環(huán)形刀具的網(wǎng)格模型D1,刀具尺寸參數(shù)包括環(huán)心圓半徑R和圓角半徑r。刀具刀心點(diǎn)Ot與全局坐標(biāo)系原點(diǎn)重合,刀具局部坐標(biāo)系與全局坐標(biāo)系重合,即初始傾斜角、側(cè)偏角都設(shè)為0;
步驟2任意給定刀位的傾斜角和側(cè)偏角,刀具D1經(jīng)過旋轉(zhuǎn)變換得到新的刀具網(wǎng)格模型D2,再將D2沿z方向平移距離d(d為大于刀具半徑R+r的任意值),得到新位置下的刀具網(wǎng)格模型D3,如圖1所示;
步驟3如圖2所示,L為被加工曲面上的一條刀具驅(qū)動(dòng)線,任取驅(qū)動(dòng)線上某一點(diǎn)作為參考點(diǎn)C。以參考點(diǎn)C為中心,以刀具半徑為約束,采用區(qū)域增長(zhǎng)算法獲得點(diǎn)C所對(duì)應(yīng)的刀位生成區(qū)域;基于C點(diǎn)建立局部坐標(biāo)系Cxcyczc,其中xc為刀具進(jìn)給方向,zc為參考點(diǎn)法矢方向,yc由右手定則確定。將該局部坐標(biāo)系及其刀位生成區(qū)域變換到與全局坐標(biāo)系Oxyz重合;
步驟4在全局坐標(biāo)系下,沿z軸方向精確計(jì)算刀具網(wǎng)格模型D3到刀位生成區(qū)域的最短有向距離dmin,將刀具沿著z軸反方向平移最短距離dmin,此時(shí)刀具網(wǎng)格模型與加工曲面正好相切(切觸點(diǎn)數(shù)量≥1),完成刀具的最終定位;
步驟5計(jì)算最終定位刀具網(wǎng)格模型與刀位生成區(qū)域等殘留偏置曲面之間的交點(diǎn),計(jì)算得到當(dāng)前傾斜角、側(cè)偏角下的切削帶寬;
步驟6基于遺傳算法原理不斷改變傾斜角、側(cè)偏角,重復(fù)步驟2~步驟5,直至遺傳算法結(jié)束,得到最大切削帶寬對(duì)應(yīng)的最優(yōu)刀位。
刀具離散的目的是為了盡可能完整表示刀具實(shí)體結(jié)構(gòu)的3D表面,以便精確計(jì)算最短距離dmin和切削帶寬。如圖3所示,以O(shè)t為環(huán)形刀具的刀心點(diǎn),R為刀具環(huán)心圓或底面圓半徑,r為刀具圓角半徑。以環(huán)形刀刀心點(diǎn)Ot為坐標(biāo)原點(diǎn)建立刀具局部坐標(biāo)系Otxtytzt,其中zt即為環(huán)形刀的刀軸矢量T,xt、yt在垂直于zt軸的平面上。
在刀具局部坐標(biāo)系Otxtytzt下,環(huán)形刀具的離散包括刀具圓環(huán)面的離散和刀具底面圓的離散兩個(gè)部分。對(duì)于刀具圓環(huán)面的離散,環(huán)形刀的離散點(diǎn)坐標(biāo)計(jì)算公式為:
(1)
其中:θ∈(-2/π,0),φ∈(0,2π)。如圖4所示,為了盡可能精確地表示刀具實(shí)體結(jié)構(gòu)的3D表面,分別在給定范圍內(nèi)對(duì)角度θ、φ以離散角度Δθ、Δφ進(jìn)行內(nèi)分,使得相鄰刀具離散點(diǎn)之間滿足給定的弦高誤差ε。在圓環(huán)面上,離散角度Δθ在r半徑的圓上滿足給定弦高誤差ε,為了使離散角度Δφ在半徑[R,R+r]范圍內(nèi)的任意半徑的圓上都滿足給定弦高誤差ε,只需使得離散角度Δφ在最大半徑R+r的圓上滿足給定弦高誤差ε,即離散角度Δθ, Δφ滿足:
(2)
對(duì)每一組θ、φ,利用式(1)計(jì)算對(duì)應(yīng)的離散點(diǎn)坐標(biāo),得到圓環(huán)面上規(guī)則排列的離散點(diǎn)。對(duì)于刀具底面圓的離散,將刀具底面圓半徑R按一定精度等分,分別以底面圓中心到各等分點(diǎn)的距離為半徑作同心圓,每個(gè)同心圓的圓弧再以角度φ等分,使得底面圓離散點(diǎn)分布均勻。獲得刀具環(huán)形面和刀具底面的離散點(diǎn)后,依據(jù)離散頂點(diǎn)的相鄰關(guān)系和三角模型的面片規(guī)則,構(gòu)造三角網(wǎng)格模型。
為便于計(jì)算,將刀具坐標(biāo)系與全局坐標(biāo)系重合,同時(shí)需要將任意參考點(diǎn)為C的刀位生成區(qū)域局部坐標(biāo)系Cxcyczc變換到與全局坐標(biāo)系Oxyz重合。
全局坐標(biāo)系下,環(huán)形刀具網(wǎng)格模型的刀心點(diǎn)與坐標(biāo)系原點(diǎn)重合,初始傾斜角α、側(cè)偏角β均為0。計(jì)算任意刀位與刀位生成區(qū)域曲面間最短距離時(shí),需要先對(duì)刀具進(jìn)行預(yù)定位,包括旋轉(zhuǎn)變換和平移變換兩個(gè)部分。如圖5所示,對(duì)于任意非零傾斜角、側(cè)偏角,刀具幾何變換的順序?yàn)椋旱毒呦壤@著y軸旋轉(zhuǎn)傾斜角α,得到新的刀具局部坐標(biāo)系Otxt1ytzt1,再繞著坐標(biāo)軸z旋轉(zhuǎn)側(cè)偏角β,得到新的刀具坐標(biāo)系Otxt2yt1zt2,最后將旋轉(zhuǎn)后的環(huán)形刀具網(wǎng)格模型沿著z軸平移一定距離d。由此可得刀具離散點(diǎn)坐標(biāo)變換的公式為:
Pt=M(z,d)M(z,β)M(y,α)P。
(3)
式中:P為坐標(biāo)變換前的刀具網(wǎng)格點(diǎn);Pt為坐標(biāo)變換后的刀具網(wǎng)格點(diǎn);M(z,β)為刀具繞z旋轉(zhuǎn)β的變換矩陣;M(y,α)為刀具繞y旋轉(zhuǎn)α的變換矩陣;M(z,d)為刀具沿z軸方向平移距離d的平移矩陣。
刀位生成區(qū)域曲面的幾何變換是將刀位生成區(qū)域的Cxcyczc局部坐標(biāo)系變換到與全局坐標(biāo)系重合,即參考點(diǎn)C與O重合,局部坐標(biāo)系xc、yc、zc軸分別與全局坐標(biāo)系軸x、y、z重合。設(shè)局部坐標(biāo)系的原點(diǎn)為C(Cx,Cy,Cz),局部坐標(biāo)系各軸的單位方向矢量分別為(xcx,ycx,zcx)、(xcy,ycy,zcy)、(xcz,ycz,zcz)。根據(jù)旋轉(zhuǎn)變換矩陣的行向量性質(zhì),可以直接得出參考點(diǎn)局部坐標(biāo)系到全局坐標(biāo)系的坐標(biāo)變換矩陣M為:
M=MR·MT(-C)
(4)
式中:MT(-C)為將參考點(diǎn)C變換到與O重合的平移矩陣;MR為參考點(diǎn)局部坐標(biāo)系各坐標(biāo)軸旋轉(zhuǎn)至與全局坐標(biāo)系重合的旋轉(zhuǎn)變換矩陣。
刀具網(wǎng)格模型變換到預(yù)定位置、刀位生成區(qū)域曲面變換到全局坐標(biāo)系下后,為了使刀具網(wǎng)格模型沿v(0,0,-1)方向放下時(shí)與工件曲面剛好切觸,需要計(jì)算刀具網(wǎng)格模型沿著v方向到加工曲面的最小距離,將刀具網(wǎng)格模型沿著v方向平移最小距離,便完成了刀具最終定位。
為了簡(jiǎn)化最短距離計(jì)算過程,采用射線法對(duì)刀具網(wǎng)格模型上各離散點(diǎn)到刀位生成區(qū)域所有三角面片的距離進(jìn)行計(jì)算,求得的距離最小值即為最短距離。具體方法如下:
(1)對(duì)刀具網(wǎng)格模型各離散點(diǎn)與矢量v構(gòu)造射線,與刀位生成區(qū)域內(nèi)的曲面三角面片進(jìn)行求交計(jì)算,即射線與三角面片求交計(jì)算。在圖6中,P為刀具網(wǎng)格模型某一離散點(diǎn),刀位生成區(qū)域內(nèi)存在某一三角面片,面片單位法矢為N。以點(diǎn)P為射線起點(diǎn),矢量v為射線方向,構(gòu)造射線參數(shù)方程為:
P(t)=P+t·v,t∈[0,+∞)。
(5)
當(dāng)矢量v與三角面片法矢不垂直時(shí),射線與三角面片所在平面存在交點(diǎn),射線與平面相交時(shí)的系數(shù)t為:
(6)
式中單位矢量e為離散點(diǎn)P到三角面片任意頂點(diǎn)的方向矢量。
(2)若所求系數(shù)t>0,則將t代入?yún)?shù)方程得到交點(diǎn)Pt。判斷交點(diǎn)Pt是否在三角面片內(nèi),若Pt在面片內(nèi),則射線與三角面片的交點(diǎn)即為Pt,刀具離散點(diǎn)P沿矢量v方向到三角面片的距離
d=|PPt|。
(7)
(3)若Pt不在面片內(nèi),則射線與三角面片沒有交點(diǎn)。遍歷刀具網(wǎng)格模型的所有離散點(diǎn),所求得有向距離中的最小值即為刀具網(wǎng)格模型到刀位生成區(qū)域曲面的最短有向距離dmin。將刀具沿著矢量v方向平移最小距離,便完成了給定傾斜角、側(cè)偏角下的刀具最終定位。
在完成對(duì)刀具網(wǎng)格模型的最終定位后,最優(yōu)刀位將基于遺傳算法尋找出來。在獲得的最優(yōu)刀位后,還需將刀具變換回參考點(diǎn)C所在的原始位置,最終刀位點(diǎn)約束在參考點(diǎn)C的法矢方向上。根據(jù)刀位計(jì)算過程可知,刀位計(jì)算后的刀具刀心點(diǎn)Ot與傾斜角α、側(cè)偏角β無關(guān),只由平移距離d和最短有向距離dmin決定,則刀心點(diǎn)坐標(biāo)計(jì)算公式為:
(8)
式中:MRT為正交旋轉(zhuǎn)變換矩陣;MR的轉(zhuǎn)置矩陣;MT(C)為將O平移到參考點(diǎn)C原始位置的平移矩陣。而刀軸矢量T則由傾斜角α、側(cè)偏角β決定,可由下式求出:
(9)
切削帶寬的大小與工件曲面參數(shù)、圓環(huán)面刀具參數(shù)、刀具進(jìn)給方向及允許的最大加工誤差等均有著密切的關(guān)系。將刀位生成區(qū)域曲面的頂點(diǎn)沿其法矢方向偏置一個(gè)距離,該距離為允許最大殘留高度h,由此得到刀位生成區(qū)域偏置曲面。然后通過最終定位的刀具網(wǎng)格模型與刀位生成區(qū)域偏置曲面進(jìn)行求交,計(jì)算出給定α、β的切削帶寬。
為了提高面片求交的計(jì)算效率,將刀具網(wǎng)格模型劃分為八叉樹子節(jié)點(diǎn),如圖7所示。依次取刀位生成區(qū)域偏置曲面中的面片,判斷面片任一頂點(diǎn)是否在刀具網(wǎng)格模型的八叉樹節(jié)點(diǎn)包圍盒內(nèi),若在節(jié)點(diǎn)包圍盒內(nèi),則繼續(xù)判斷是否在該節(jié)點(diǎn)的子節(jié)點(diǎn)包圍盒內(nèi),直至最底層子節(jié)點(diǎn),依次取出最底層節(jié)點(diǎn)的三角面片,進(jìn)行面片與面片之間的相交檢測(cè)。
兩個(gè)三角面片之間的求交計(jì)算可以看作一個(gè)三角面片的三條邊與另一個(gè)三角面片進(jìn)行求交,即線段與三角面片求交問題。若三角面片的邊與另一個(gè)三角面片所在平面存在交點(diǎn),且交點(diǎn)在三角面片邊界內(nèi),則保存交點(diǎn)。遍歷刀位生成區(qū)域偏置曲面內(nèi)的面片與刀具網(wǎng)格模型的所有面片進(jìn)行求交計(jì)算,便得到刀具模型與刀位生成區(qū)域偏置曲面的交點(diǎn)集vecP。
在垂直于進(jìn)給方向上,距離最遠(yuǎn)的兩個(gè)交點(diǎn)之間的距離即為切削帶寬。2.2節(jié)中,已將刀位生成區(qū)域變換到了全局坐標(biāo)系下,且x軸為進(jìn)給方向,因此能夠通過交點(diǎn)集vecP中各交點(diǎn)的y值來計(jì)算切削帶寬w,具體為:
w=ymax-ymin。
(10)
式中:ymax為各交點(diǎn)中的最大y坐標(biāo)值;ymin為各交點(diǎn)中的最小y坐標(biāo)值。
在刀位優(yōu)化的計(jì)算過程中,不同的傾斜角、側(cè)偏角可以獲得不同的切削帶寬?,F(xiàn)有的刀位優(yōu)化方法主要通過格點(diǎn)法對(duì)傾斜角、側(cè)偏角進(jìn)行離散尋優(yōu),尋優(yōu)結(jié)果取決于網(wǎng)格劃分的密集程度。針對(duì)這一問題,采用遺傳算法尋找刀位優(yōu)化過程中的最優(yōu)傾斜角、側(cè)偏角,遺傳算法的應(yīng)用主要包括以下幾個(gè)部分:
(1)確定編碼方式
由于算法的變量值為傾斜角和側(cè)偏角,采用精度高、取值范圍大的浮點(diǎn)數(shù)編碼,將在尋優(yōu)范圍內(nèi)的隨機(jī)生成的傾斜角和側(cè)偏角浮點(diǎn)數(shù)值作為一個(gè)個(gè)體。
(2)種群初始化與適應(yīng)度值計(jì)算
算法的初始種群通過完全隨機(jī)的方法產(chǎn)生,利用隨機(jī)數(shù)發(fā)生器在尋優(yōu)范圍內(nèi)隨機(jī)選取兩個(gè)值作為兩個(gè)變量的初始值。適應(yīng)度值f(α,β)的計(jì)算即為切削帶寬的計(jì)算,通過刀具定位和切削帶寬計(jì)算方法,計(jì)算每一個(gè)個(gè)體的適應(yīng)度值。
(3)個(gè)體選擇
個(gè)體選擇采用輪盤賭算法,基本思想是每個(gè)個(gè)體被選中的概率與其適應(yīng)度函數(shù)值大小成正比。輪盤賭算法的核心在于個(gè)體選擇概率和累積概率的計(jì)算,個(gè)體i(i=1,2,…,n)選擇概率的計(jì)算公式為:
(11)
式中:(αi,βi)為某個(gè)刀位的角度,即個(gè)體;n為種群數(shù)量。累積概率是把每個(gè)個(gè)體的概率使用不同長(zhǎng)度的線段來表示,這些線段組合成一條直線,直線的長(zhǎng)度為1,任意個(gè)體的累積概率為該個(gè)體對(duì)應(yīng)的前幾項(xiàng)數(shù)據(jù)的累加和,計(jì)算公式為:
(12)
通過在[0,1)中產(chǎn)生隨機(jī)數(shù),看隨機(jī)數(shù)落在哪個(gè)線段區(qū)間內(nèi),若落在[Q(αi-1,βi-1),Q(αi,βi)]區(qū)間內(nèi),則對(duì)應(yīng)的個(gè)體i被選中進(jìn)入下一代。反復(fù)執(zhí)行選擇操作,直至新群體的個(gè)體數(shù)目達(dá)等于父代群體個(gè)數(shù)。
(4)交叉和變異操作
選取兩個(gè)個(gè)體,通過隨機(jī)數(shù)發(fā)生器在[0,1)區(qū)間中產(chǎn)生隨機(jī)數(shù),若產(chǎn)生的隨機(jī)數(shù)小于交叉率,則該兩個(gè)個(gè)體進(jìn)行交叉操作產(chǎn)生兩個(gè)新個(gè)體。交叉操作選擇離散交叉和算術(shù)交叉兩種方式。離散交叉是指兩個(gè)交叉?zhèn)€體之間交換其中一個(gè)變量值。算術(shù)交叉通過線性組合兩個(gè)個(gè)體的變量值而產(chǎn)生兩個(gè)新的個(gè)體,算術(shù)交叉?zhèn)€體變量值的計(jì)算公式為:
(13)
式中:X1和X2為交叉后的兩個(gè)個(gè)體的新變量;x1和x2是交叉前兩個(gè)個(gè)體的變量,均包含兩個(gè)分量(α,β);p為取值為(0,1]的隨機(jī)數(shù)。
變異操作的判斷方法與交叉操作類似。選取一個(gè)個(gè)體,若產(chǎn)生的隨機(jī)數(shù)小于變異率,則對(duì)該個(gè)體進(jìn)行變異操作產(chǎn)生新的個(gè)體。變異操作選擇均勻變異和非均勻變異兩種方式。均勻變異通過隨機(jī)數(shù)發(fā)生器生成新的變量值代替原個(gè)體變量值。非均勻變異在原個(gè)體變量值的微小區(qū)域內(nèi)生成,非均勻變異個(gè)體變量值的計(jì)算公式為:
(14)
式中:X為變異后個(gè)體的新變量值;x為變異前的個(gè)體變量值;xmax,xmin為變量值上下限;r為(0,1]的隨機(jī)數(shù);k為(0,1]的一個(gè)常系數(shù);m為隨機(jī)數(shù)發(fā)生器產(chǎn)生的隨機(jī)整數(shù);隨機(jī)整數(shù)m的奇偶性決定了變異個(gè)體新變量值X的計(jì)算。變異后個(gè)體的兩個(gè)變量值α、β分別通過式(14)進(jìn)行計(jì)算。
(5)算法輸入?yún)?shù)設(shè)置
遺傳算法的參數(shù)包括種群大小、最大進(jìn)化代數(shù)、變異概率、交叉概率、迭代終止條件等。算法對(duì)遺傳算法各參數(shù)的選取如表1所示。迭代終止條件設(shè)定為當(dāng)相鄰兩次進(jìn)化的最優(yōu)個(gè)體適應(yīng)度值,即切削帶寬的差值小于給定值δ時(shí),即使未達(dá)到最大進(jìn)化代數(shù),仍停止迭代。
表1 遺傳算法參數(shù)選取表
為了比較不同遺傳操作對(duì)刀位優(yōu)化結(jié)果的影響,將上述交叉變異方式兩兩組合,分別對(duì)同一參考點(diǎn)重復(fù)計(jì)算20次。如圖8所示為不同交叉變異方式下的最優(yōu)適應(yīng)度值,即刀位優(yōu)化計(jì)算獲得的最大切削帶寬。
從圖8可以看出,在重復(fù)計(jì)算20次的情況下,離散交叉與非均勻變異的組合可以獲得最大的切削帶寬,并且切削帶寬的值波動(dòng)較小。因此,算法的交叉、變異操作分別選擇離散交叉和非均勻變異。
為了驗(yàn)證本文算法的有效性,在Windows平臺(tái)VC++ 2017環(huán)境下,Intel(R) Core(TM) i7-9 700 3.00 GHz CPU,16 GB內(nèi)存PC機(jī)上實(shí)現(xiàn)了本文算法及相關(guān)算法對(duì)比。采用環(huán)心圓半徑R=5 mm和圓角半徑r=3 mm的圓環(huán)面刀具,等殘留高度設(shè)定為0.05 mm。
如圖9所示為所用三角網(wǎng)格曲面在不同視圖下的原圖,曲面包含1 135個(gè)三角面片,在曲面上隨機(jī)選取10個(gè)點(diǎn)作為待優(yōu)化參考點(diǎn)。為了便于比較本文算法與相關(guān)對(duì)比算法,設(shè)定每個(gè)參考點(diǎn)的進(jìn)給方向f為其最小主曲率方向。因?yàn)楸疚乃惴ǖ那邢鲙捠峭ㄟ^三角網(wǎng)格曲面的等殘高偏置曲面與最終定位后的刀具網(wǎng)格模型求交計(jì)算得到的,所以能夠適應(yīng)凹、凸、平面等不同曲面特征區(qū)域。對(duì)于平面區(qū)域的點(diǎn),無法得到其最小主曲率方向,在給定其進(jìn)給方向后,本文算法才能得到最優(yōu)刀位。表2給出了本文算法的刀位優(yōu)化的結(jié)果,從表中數(shù)據(jù)可以看出,本文算法在各參考點(diǎn)處均可以產(chǎn)生很大的切削帶寬,在這些參考點(diǎn)處,最小的切削帶寬為10.918 0 mm。如圖10a~圖10c分別為處于曲面局部凹區(qū)域、局部平坦區(qū)域、局部凸區(qū)域的參考點(diǎn)的刀位計(jì)算效果圖,分別對(duì)應(yīng)于表2中序號(hào)7,8,10的參考點(diǎn)。圖10中的點(diǎn)集是刀具與刀位生成區(qū)域偏置曲面的交點(diǎn)集,Cxcyczc為參考點(diǎn)局部坐標(biāo)系,其中xc為參考點(diǎn)最小主曲率方向,即進(jìn)給方向f,zc為參考點(diǎn)法矢方向,yc由右手定則確定,w為參考點(diǎn)刀位優(yōu)化計(jì)算后的切削帶寬。結(jié)合表2和圖10可以看出,本文算法在曲面不同特征區(qū)域都可以產(chǎn)生較大的切削帶寬。
表2 曲面部分參考點(diǎn)刀位計(jì)算結(jié)果
為了進(jìn)一步驗(yàn)證本文算法的刀位優(yōu)化效果,編程實(shí)現(xiàn)了文獻(xiàn)[29]的IRCM算法和文獻(xiàn)[34]的MPEC算法。如表3所示為MPEC算法、IRCM算法以及本文算法刀位計(jì)算后傾斜角、側(cè)偏角、切削帶寬以及計(jì)算時(shí)間的結(jié)果對(duì)比,所選用曲面對(duì)象與4.1節(jié)相同,表中1~10序號(hào)的參考點(diǎn)對(duì)應(yīng)于表2中隨機(jī)采樣獲得的10個(gè)參考點(diǎn)。另外需要指出的是,MPEC算法與本文算法的傾斜角、側(cè)偏角尋優(yōu)范圍均為[-10°,10°],而IRCM算法由于其對(duì)傾斜角、側(cè)偏角的定義不同,只設(shè)定初始傾斜角為10°。
通過比較3種算法計(jì)算得到的最優(yōu)傾斜角、側(cè)偏角中可以看出,MPEC算法的傾斜角、側(cè)偏角是采用格點(diǎn)法進(jìn)行尋優(yōu)計(jì)算,所獲得的結(jié)果是固定精度的格點(diǎn)值。IRCM算法則是通過二分法確定最優(yōu)的傾斜角,側(cè)偏角則是根據(jù)環(huán)心圓曲線左半圓、右半圓與誤差等距面的干涉量以一定精度從零開始遞增或者遞減,進(jìn)行尋優(yōu)計(jì)算。本文算法是通過遺傳算法在給定范圍內(nèi)隨機(jī)生成傾斜角、側(cè)偏角的雙精度浮點(diǎn)數(shù)值,表3中數(shù)據(jù)僅保留小數(shù)點(diǎn)后四位。
表3 三種算法的試驗(yàn)數(shù)據(jù)對(duì)比
如圖11所示為3種算法在10個(gè)參考點(diǎn)處的最大切削帶寬的對(duì)比圖,可以看出,3種算法在隨機(jī)采樣的10個(gè)參考點(diǎn)處均能夠獲得較大的切削帶寬,其中本文算法計(jì)算得到的切削帶寬要略優(yōu)于MPEC算法和IRCM算法。
如圖12所示,本文算法的計(jì)算時(shí)間較短,在3~5 min左右,MPEC算法由于采用格點(diǎn)法尋找最優(yōu)傾斜角、側(cè)偏角,需要大量的嵌套迭代計(jì)算時(shí)間,而IRCM算法的計(jì)算時(shí)間較為波動(dòng),原因在于不同參考點(diǎn)處的環(huán)心圓曲線左右兩側(cè)的干涉量有較大區(qū)別,當(dāng)兩側(cè)干涉量相差較大時(shí),需要大量時(shí)間迭代尋找最優(yōu)的側(cè)偏角,使得刀具和工件曲面在最小主曲率方向兩側(cè)達(dá)到兩點(diǎn)切觸。
本文針對(duì)廣泛應(yīng)用的三角網(wǎng)格曲面,提出一種基于遺傳算法的環(huán)形刀具五軸加工刀位優(yōu)化計(jì)算方法。算法在預(yù)定位刀具與刀位優(yōu)化區(qū)域曲面變換的基礎(chǔ)上,精確計(jì)算出二者間的有向距離后完成刀具的最終定位;通過計(jì)算最終定位刀具與刀位優(yōu)化區(qū)域曲面的等加工殘留偏置曲面的交線獲得切削帶寬;以刀位傾斜角α、側(cè)偏角β為變量,以切削帶寬最大化為目標(biāo),通過遺傳算法尋找刀位的最優(yōu)α、β。本文算法的特點(diǎn)可以歸納如下:
(1) 通過精確計(jì)算預(yù)定位刀具與變換的刀位優(yōu)化區(qū)域曲面之間的有向距離,可以保證在給定α、β條件下刀位優(yōu)化區(qū)域內(nèi)不產(chǎn)生干涉;
(2)基于環(huán)形刀具的刀心來定位、旋轉(zhuǎn)刀具,優(yōu)化刀位后,刀心只是在曲面驅(qū)動(dòng)線上參考點(diǎn)的法矢方向上變化,能夠獲得更接近驅(qū)動(dòng)線的加工軌跡,同時(shí)也更能夠適應(yīng)曲面的凸凹變化;
(3) 通過最終定位刀具與刀位優(yōu)化區(qū)域曲面的等加工殘留偏置曲面求交,能夠更加全面地反映切削情況,獲得更接近真實(shí)的切削帶寬;
(4) 通過遺傳算法進(jìn)行刀位傾斜角α、側(cè)偏角β的尋優(yōu),可以避免格點(diǎn)法帶來的精度受限、計(jì)算效率較低的問題,獲得更大的切削帶寬,提高加工效率。
目前單點(diǎn)切觸加工軌跡的計(jì)算效率大大優(yōu)于多點(diǎn)切觸加工軌跡。在本文工作的基礎(chǔ)上,后續(xù)還需要進(jìn)一步提升刀位尋優(yōu)算法的優(yōu)化效率。另外,與多點(diǎn)切觸加工相匹配的軌跡生成算法并不完善,在刀位優(yōu)化計(jì)算過程中沒有考慮全局干涉問題,也沒有考慮軌跡內(nèi)相鄰刀軸變化的光順問題,未來還需進(jìn)一步研究以促進(jìn)環(huán)形刀具多點(diǎn)切觸加工的實(shí)際應(yīng)用。