楊 喆
(沈陽大學(xué) 信息工程學(xué)院, 遼寧 沈陽 110044)
非可展直紋面是機(jī)械工程中的一種常見曲面, 多數(shù)用于航空類發(fā)動(dòng)機(jī)零部件的加工, 其渦輪葉片類型面大部分是非可展直紋面. 非可展直紋面的零部件的加工一直以來都是數(shù)控加工行業(yè)中的重點(diǎn)和難點(diǎn)[1]. 通常非可展直紋面采用側(cè)銑加工, 利用回轉(zhuǎn)刀具的側(cè)刃切削零件表面, 屬于線接觸加工類型, 相比端銑加工有著零件表面可一次成形、切削條件好、效率高等優(yōu)點(diǎn). 側(cè)銑加工屬于非精確加工方法, 如何進(jìn)行刀位優(yōu)化, 生成有效的刀具路徑是研究的熱點(diǎn)問題. 刀具軌跡優(yōu)化、數(shù)控側(cè)銑加工工藝參數(shù)及刀具運(yùn)動(dòng)軌跡優(yōu)化是發(fā)揮數(shù)控加工設(shè)備生產(chǎn)效率的有效途徑. 近年來,我國將側(cè)銑加工作為加工非可展直紋面的主要方法.
Liu[2]利用單點(diǎn)偏置法、雙點(diǎn)偏置法及多點(diǎn)偏置法計(jì)算凸自由曲面和直紋面棒銑刀的側(cè)銑加工,這3種方法的特點(diǎn)是方法簡單、誤差較大;宮虎[3]對(duì)五坐標(biāo)回轉(zhuǎn)面刀具數(shù)控加工的運(yùn)動(dòng)進(jìn)行分析,驗(yàn)證了銑刀形成的包絡(luò)面與初始設(shè)計(jì)曲面之間的極差等于曲面上的等距面與刀具軌跡面之間的極差;Zhu等[4]針對(duì)曲面設(shè)計(jì)、刀具包絡(luò)面計(jì)算及刀具加工曲面之間的關(guān)系,將回轉(zhuǎn)刀具加工非可展直紋面進(jìn)行建模;閻長罡等[5]主要介紹了圓錐銑刀的加工問題,根據(jù)銑刀的自身特點(diǎn),提出了法向映射曲線的概念,將刀具的包絡(luò)面向設(shè)計(jì)曲面的逼近問題轉(zhuǎn)化為在每個(gè)刀位下法向映射曲線與特征線的最小二乘逼近問題;Hsieh[6]提出了基于粒子群智能算法的五軸數(shù)控加工刀具軌跡優(yōu)化方法,把刀具軌跡通過智能算法進(jìn)行優(yōu)化.
人工魚群算法由李曉磊等[7]于2002年首次提出:在一片水域中,魚能夠自發(fā)跟隨其他魚群到達(dá)營養(yǎng)物質(zhì)豐富的地方,因此魚多的地方便是營養(yǎng)物質(zhì)豐富的位置.人工魚群算法主要利用這一特點(diǎn)實(shí)現(xiàn)尋優(yōu). 該算法具有并行性、簡單性、 快速跳出局部極值等優(yōu)點(diǎn),缺點(diǎn)是尋優(yōu)精度不高,后期收斂速度慢等.
遺傳算法是模擬達(dá)爾文生物進(jìn)化論的自然選擇和遺傳學(xué)機(jī)理的生物進(jìn)化過程的計(jì)算模型,主要通過模擬自然進(jìn)化過程尋找最優(yōu)解,該方法是從生物進(jìn)化的規(guī)律演化形成的智能優(yōu)化方法.該方法能直接操作所需的結(jié)構(gòu)對(duì)象,不會(huì)受函數(shù)等的約束限制,具有內(nèi)在的隱并行性、全面的全局搜索優(yōu)化能力等.
本文集中2種算法的優(yōu)點(diǎn),形成混合算法,主要解決刀具軌跡優(yōu)化問題,并且提出了單刀位下的誤差函數(shù),給出人工魚群(AFSA)和遺傳算法(GA)混合算法的求解策略,對(duì)其加工軌跡進(jìn)行優(yōu)化處理,得到最優(yōu)刀具位置,從而得到優(yōu)化后的刀軸軌跡面,再計(jì)算刀具包絡(luò)面的誤差.結(jié)果顯示,該算法具有計(jì)算效率高和求解精度高等優(yōu)點(diǎn).
如圖1所示,選用兩點(diǎn)偏置法確定初始刀位,刀具為側(cè)銑加工常用的圓錐刀.
圖1初始刀軸的矢量建立
Fig.1Establishmentoftheinitialtoolaxisvector
刀位矢量初始化步驟如下.
1) 基線上的參數(shù)u∈[0,1],將u進(jìn)行離散化分析(u=u1,u2,…,um),選取參數(shù)v=0、u=u1作為標(biāo)記點(diǎn)P1,再選取參數(shù)v=1、u=u1,作為標(biāo)記點(diǎn)P2.
2) 確定刀軸矢量的第1點(diǎn)Q1.
|P1P2|=
其中:(XP1,YP1,ZP1)、(XP2,YP2,ZP2)為標(biāo)記點(diǎn)P1、P2的坐標(biāo)值;nP1為葉片在P1處的單位法矢;nP2為葉片在P2處的單位法矢(法矢方向在葉片的同一側(cè));τ1為P1處沿曲面u方向的切矢;τ2為P2處沿曲面u方向的切矢.
則刀具軸線矢量點(diǎn)Q1表示為
式中:rc為刀具的小端半徑;δ為刀具的半錐角.
3) 確定刀軸矢量的第2點(diǎn)Q2.沿著刀的軸曲線v方向進(jìn)行取值,設(shè)v=1,且保證Q2點(diǎn)位于P2點(diǎn)的曲面法線上,需要計(jì)算出|P2Q2|的大小,|P2Q2|的大小通過迭代的方法算出,迭代步驟如下:
② 刀軸矢量第2點(diǎn)Q2=P2+nP2·r0;
③ 計(jì)算|Q1Q2|;
⑤ 計(jì)算并比較r0和r1的大小,已知ε為控制精度的最小量,若滿足|r0-r1|<ε,則計(jì)算結(jié)束,Q2即為滿足要求的點(diǎn);反之,令r0=r1,再重復(fù)步驟②~⑤.
圖2為圓錐刀軸初始矢量確定流程圖.
由于在非可展直紋面上位于直母線上的各點(diǎn)法向矢量不同,因此無法采用圓柱滾動(dòng)形成包絡(luò)面.實(shí)際的加工誤差應(yīng)為刀具的包絡(luò)面與設(shè)計(jì)曲面沿法線方向的誤差.非可展直紋面與通常的曲面不同,其加工誤差無法避免,對(duì)于不同的刀位下應(yīng)有
|PiQi|=r(Pi),i=1,2,…,n,n∈N.
(1)
式中:|PiQi|為刀軸某點(diǎn)到非可展直紋面的距離;r(Pi)為刀軸一點(diǎn)到圓錐面的距離.
根據(jù)式(1)可以得出,刀位誤差與||PiQi|-r(Pi)|的值有關(guān),||PiQi|-r(Pi)| 越小,誤差越小,因此只需讓不同刀位下刀軸各點(diǎn)的|PiQi|與r(Pi)的差值最小,就會(huì)使刀具的包絡(luò)曲線與實(shí)際曲面極大限度地接近.
顯然,若要使誤差減小,就應(yīng)使||PiQi|-r(Pi)|盡可能小,若每個(gè)刀位下刀軸上的每一點(diǎn)都盡可能滿足上述條件,進(jìn)而得到的刀具包絡(luò)面會(huì)最大限度逼近設(shè)計(jì)曲面.由以上分析可知,單刀位下的誤差度量函數(shù)為
(2)
式中:c表示刀軸位姿;r(Pi)是刀軸一點(diǎn)到圓錐面的距離,為已知量,關(guān)鍵在于如何求出|PiQi|.令垂足坐標(biāo)(ui,vi),因此垂足(ui,vi)滿足方程
(3)
其中ru(ui,vi)為Pi點(diǎn)在u方向的切矢;rv(ui,vi)為Pi點(diǎn)在v方向的切矢.
由于方程的的計(jì)算求解比較困難, 因此采用數(shù)值法求解.單刀位下的誤差函數(shù)的求解近似為一個(gè)目標(biāo)函數(shù)求解極小值的問題.由于函數(shù)表達(dá)式無法確立,不能采用傳統(tǒng)的方式進(jìn)行求解,因此采用智能算法進(jìn)行求解分析.
傳統(tǒng)方法是通過計(jì)算刀具的包絡(luò)誤差判斷刀具在某刀位下過切或欠切的情況,計(jì)算過程煩瑣.相比之下,單刀位誤差函數(shù)方法能快速判斷刀位是否達(dá)到局部最優(yōu)、計(jì)算量小、計(jì)算速度快、適合編程處理.AFSA-GA智能算法會(huì)多次調(diào)用誤差度量函數(shù),因此,誤差度量函數(shù)的計(jì)算速度對(duì)算法效率有著重要影響.
① 將初始刀軸兩端點(diǎn)P1,P2作為種群球的球心,對(duì)兩個(gè)球心單獨(dú)建立2個(gè)半徑為R的球形區(qū)域作為初始種群建立空間.
② 任意給定粒子在2個(gè)球形區(qū)域內(nèi).把每個(gè)粒子看作刀軸上的端點(diǎn).任意2個(gè)粒子看作1個(gè)點(diǎn)對(duì),形成1個(gè)刀軸矢量,重復(fù)上述步驟A次,形成1個(gè)數(shù)量為A的矢量組P[0]、P[1]、P[2]…P[A-1].
③ 設(shè)刀軸矢量端點(diǎn)坐標(biāo)Q1(X1,Y1,Z1)和Q2(X2,Y2,Z2).則數(shù)組P[ ]中每個(gè)元素分別為關(guān)于X1,Y1,Z1,X2,Y2,Z2的6維矢量,總計(jì)A個(gè)6維矢量作為智能算法的初始種群.
① 初始化種群.對(duì)需要的參數(shù)進(jìn)行設(shè)置,比如人工魚的數(shù)量、步長、視野、覓食行為的最大嘗試次數(shù)、擁擠度因子、進(jìn)化次數(shù)等多個(gè)因素.
② 公告板初始化.將每條人工魚看作一個(gè)刀軸矢量,把計(jì)算人工魚的適應(yīng)度值轉(zhuǎn)化為單刀位誤差度量函數(shù)的值進(jìn)行比較,選擇最小值,并將其賦值給公告板.
③ 魚群位置更新策略.根據(jù)人工魚覓食、聚群、追尾、隨機(jī)4種行為,不斷更新自身的位置狀態(tài),在每次位置更新后,需重新計(jì)算適應(yīng)度值,然后再與公告版比較,若較優(yōu),則更新公告板;否則,公告板不變.
④ 魚群算法終止條件.當(dāng)魚群算法達(dá)到給定精度時(shí)算法終止,即滿足
(4)
若滿足式(4)條件,將最優(yōu)值賦值公告板,否則轉(zhuǎn)到步驟③繼續(xù)迭代.
⑤ 賦值遺傳算法.遺傳算法與其他算法不同的是不能直接處理空間參數(shù)問題,因此需要把所要求取問題的所有可能性的解進(jìn)行編碼,組合成遺傳空間中一條條染色體.
⑥ 適應(yīng)度值計(jì)算.遺傳算法要經(jīng)過選擇操作、交叉操作、變異操作3個(gè)過程,每次新的個(gè)體更新后計(jì)算適應(yīng)度值并與公告版比較,若較優(yōu),則更新公告板;否則,公告板不變.計(jì)算每個(gè)染色體的適應(yīng)度值與gbest值進(jìn)行比較,若值較小,則更新當(dāng)前最優(yōu)位置賦值給gbest.
⑦ 個(gè)體狀態(tài)更新.遺傳算法染色體速度和位置更新公式為
⑧ 計(jì)算更新后染色體的適應(yīng)度.重新計(jì)算每個(gè)染色體的適應(yīng)度值,并與其歷史值作比較,若較小,更新pbest值;將其與群體中最好染色體位置gbest比較,若較小,更新gbest值.
⑨ 更新公告板.重復(fù)步驟⑦~⑧,當(dāng)達(dá)到染色體的迭代次數(shù)后,將gbest值賦值公告板,作為最優(yōu)解輸出.
圖3為混合智能算法刀位優(yōu)化流程.
圖3 混合智能算法流程圖Fig.3 Flow chart of AFSA-GA algorithm
圓錐面在固定坐標(biāo)系下的方程表達(dá)形式為
式中,t為圓錐面母線方向的參數(shù),α為轉(zhuǎn)角參數(shù).
圖4圓錐面方程建立示意圖
Fig.4Establishmentofconesurfaceequation
刀具面族包絡(luò)形成的便是加工曲面,刀具在加工的每個(gè)時(shí)刻形成一條加工線,將加工線集合,最終形成加工曲面.
將葉片曲面上的直母線P1P2離散化成若干個(gè)點(diǎn)Pi(i=1,2,…,m),沿著每個(gè)點(diǎn)法線方向做射線,直母線被圓錐面截取的長度用h表示,h的值就是圓錐面在此處的加工誤差,即包絡(luò)誤差,如圖5所示.
其中n為曲面Pi點(diǎn)處的法矢量.
實(shí)際上,任意點(diǎn)處的加工誤差是由不同位置的刀具加工形成的,因此,曲面某點(diǎn)處的加工誤差是其射線與不同的位置下的刀具圓錐面截得的最小h值.
圖5 包絡(luò)誤差說明圖Fig.5 Diagram of envelope error
葉片曲面的原始數(shù)據(jù)來源于文獻(xiàn)[8],根據(jù)文獻(xiàn)內(nèi)容建立曲面模型如圖6所示,將葉片曲面劃分為28個(gè)曲面片,本文以第2曲面片為例,其2條邊界曲線均為非均勻有理B樣條曲線,并且具有相同的節(jié)點(diǎn)矢量[0,0,0,0,0.2,0.4,0.6,0.8,1.0,1.0,1.0,1.0],2條B樣條曲線相應(yīng)控制點(diǎn)列于表1中.
圖6 葉片曲面模型Fig.6 Blade surface model
將得到的葉片曲面的底部曲線與頂部曲線定義出各個(gè)點(diǎn)的坐標(biāo)值,在頂部與底部隨機(jī)選取8個(gè)點(diǎn)的坐標(biāo),形成表1.
選取的圓錐刀小端半徑為5 mm,錐頂半角為5°.在MATLAB軟件定義矢量,并編寫智能算法語句,代入葉片曲面的底部曲線與頂部曲線的初始值,用優(yōu)化后得到的值計(jì)算優(yōu)化后的誤差,在曲面片上均勻選取11個(gè)刀位進(jìn)行單刀位誤差函數(shù)的計(jì)算.
表1 曲面片2邊界B樣條曲線控制點(diǎn)
表2給出u=0位置的單刀位優(yōu)化結(jié)果,由表2可知,函數(shù)值呈逐漸變小的趨勢,表明單刀位誤差逐漸變小,呈收斂狀,如圖7所示,其余刀位的結(jié)果與此類似.
表2 單刀位的優(yōu)化結(jié)果Table 2 Optimization results of single cutter
圖7 AFSA-GA收斂情況Fig.7 Convergence of AFSA-GA
在人工魚群-粒子群混合算法中,人工魚群算法保證了算法的收斂性,獲得的解在最優(yōu)解的鄰域附近,粒子群算法保證了計(jì)算后期收斂的速度.在初始軸跡面邊界曲線選取控制點(diǎn),如表3所示.將坐標(biāo)數(shù)據(jù)輸入到MATLAB軟件,分析初始狀態(tài)的包絡(luò)誤差,如圖8所示.
再將初始軸跡面邊界曲線選取的控制點(diǎn)坐標(biāo)代入智能算法中,能夠得到新的數(shù)組,即優(yōu)化后的軸跡面樣條曲線控制點(diǎn)坐標(biāo),如表4所示.將新得到的坐標(biāo)數(shù)據(jù)輸入到MATLAB軟件,分析優(yōu)化后狀態(tài)的包絡(luò)誤差如圖9所示.
對(duì)比圖8和圖9,根據(jù)坐標(biāo)軸中的誤差范圍,可以看出初始軸跡面下曲面最大極差已達(dá)到0.5 mm.根據(jù)圖9的坐標(biāo)差可以計(jì)算出最大極差為0.038 9 mm.
表3 初始軸跡面邊界B樣條曲線控制點(diǎn)
圖8 初始包絡(luò)誤差圖Fig.8 Diagram of initial envelope error
表4優(yōu)化后軸跡面邊界B樣條曲線控制點(diǎn)
Table4Bsplinecurvecontrolpointofoptimizedtracesurfaceboundary mm
底部導(dǎo)線x0y0z0頂部導(dǎo)線x0y0z0159.25231.32-291.5536.5769.33-277.86159.25231.32-291.5536.5769.33-277.86162.47229.79-288.2938.1868.34-273.59163.65227.87-288.5639.7668.15-273.01165.13225.38-287.9341.4068.13-270.88167.41223.91-286.1142.4968.93-268.54168.52222.63-284.3244.1367.47-266.23169.52222.63-284.3244.1367.47-266.23
圖9 優(yōu)化后包絡(luò)誤差圖Fig.9 Diagram of envelope error after optimization
通過仿真結(jié)果圖像看出收斂時(shí)間得到明顯改善,主要得益于人工魚群算法和遺傳算法的優(yōu)點(diǎn),能夠快速準(zhǔn)確地捕捉刀位點(diǎn),在實(shí)際加工中能夠有效地提高加工效率.從優(yōu)化后的包絡(luò)誤差圖像可以看出,通過對(duì)全局優(yōu)化后,誤差變小,說明人工魚群與遺傳算法結(jié)合是非常有效的.混合算法思想為未來研究者指引了解決問題的新方向,不局限于單一的算法,對(duì)科學(xué)研究的意義非常重要.