韓軍 姚晟
(內(nèi)蒙古科技大學(xué)機械工程學(xué)院,內(nèi)蒙古 包頭 014010)
非可展直紋面由于其原理性誤差的存在,數(shù)控加工難度大,所以不斷減少加工誤差成為學(xué)者們的研究焦點。Liu X W[1]等提出柱刀的單點偏置法,但會造成單一的欠切或者過切誤差;嚴(yán)濤[2]等利用四點偏置法確定初始刀軸的位置,通過刀具包絡(luò)面逼近非可展直紋面為優(yōu)化目標(biāo),利用最小二乘法進行優(yōu)化,一定程度上減小了過切誤差;宮虎[3]等提等距面的概念,使得計算過程更加簡便;閻長罡[4]等對圓錐刀側(cè)銑加工非可展直紋面,提出一種基于粒子群優(yōu)化算法的解決方案,該算法屬于智能算法,對比于之前學(xué)者研究,該方法顯著降低了包絡(luò)面與設(shè)計曲面的誤差;孔森[5]等提出基于MWOA 算法,利用鯨魚算法通過引入擾動因子來不斷更新適應(yīng)度值較差的因子,取得較為理想的仿真效果。
模擬退火算法是一種隨機尋優(yōu)算法,源于固體退火過程[6]。固體退火是先將固體加熱到一定溫度,再使固體溫度慢慢下降,使固體內(nèi)部粒子排布更均勻,從而改變固體性質(zhì)的過程。模擬退火算法首先規(guī)定一個初始溫度,隨著溫度不斷下降,在每一個溫度停留并接受新值,結(jié)合概率突跳性不斷尋優(yōu)。模擬退火算法能越過當(dāng)前最優(yōu)值從而找到全局最優(yōu)解,需要的解空間較多,局部搜索能力弱,迭代次數(shù)多。
粒子群算法源于鳥類覓食行為[7]。根據(jù)鳥類具體位置分布,在尋找食物時分享自身找到的食物信息,通過自身的信息共享使得整個鳥群找到食物最多的地方即最優(yōu)解。粒子群算法簡單、參數(shù)少以及收斂速度快,但容易陷入局部極值。
結(jié)合兩種算法的優(yōu)點,對圓柱刀刀具包絡(luò)面逼近設(shè)計曲面求解最優(yōu)刀軸位置。首先利用三點偏置法確定初始刀軸位置姿態(tài),其次建立一個初始刀位下的誤差判定函數(shù),然后對初始刀軸位置進行初始種群的生成,最后利用模擬退火算法和粒子群混合算法進行刀軸位置尋優(yōu),尋找出單刀位下的最優(yōu)位置。利用優(yōu)化后的刀軸位置獲得刀軸軌跡面[8],進而計算得出包絡(luò)誤差。通過實際加工比較PSO 與SA-PSO 的效果。
直紋面包括2 種參數(shù)線 (u,v),其中u線為導(dǎo)線,v線為直母線,直紋面為一條直線u,沿著任意軌跡曲線v生成的曲面。其方程可表述為
將2條導(dǎo)線r0(u)和r1(u)統(tǒng)稱為r(u),設(shè) τ(u) 為ρ(u)點處的單位方向矢量,則直紋面r(u,v)還可表示為
根據(jù)式(2)可得直紋面r(u,v)上任意一點的法矢為nr(u,v),方向與如下矢量平行。
采用三點偏置法建立初始刀具位置姿態(tài),圖1為初始刀軸位置。
圖1 初始刀軸位置
非可展直紋面同一母線上的法向矢量方向不同,當(dāng)?shù)毒咧睆酱笥? 時,無法使刀具滾動形成的包絡(luò)面完全貼合設(shè)計曲面,這就導(dǎo)致在刀具加工時,會沒有接觸到設(shè)計曲面或者嵌入到設(shè)計曲面里面,稱為非可展直紋面的原理性誤差。將刀軸離散化,設(shè)Q為刀軸上一點,記在刀軸上所有的離散點的集合為Q1,Q2,Q3,···,Qn,n∈[1,+∞)為離散點采樣點數(shù)。過Q1,Q2,Q3,···,Qn向設(shè)計曲面做垂線,垂足記為P1,P2,P3,···,Pn,垂足點記為 (ui,vi)。
假設(shè)所有刀軸位姿都處于最優(yōu)位置,即設(shè)計曲面與包絡(luò)面完全貼合,那么在每一刀軸位姿下必有
式中:|QiPi|表示刀軸不同位置點到設(shè)計曲面的距離;rc(Qi)為刀軸上不同位置點的刀具半徑。
但實際情況是,由于原理性誤差的存在,刀具切向設(shè)計曲面時,會有不同程度的欠切或者過切誤差,這就導(dǎo)致理想最優(yōu)位置無法實現(xiàn),即||QiPi|-rc(Qi)|總大于零。所以在這種情況下,只能將問題轉(zhuǎn)化為求||QiPi|-rc(Qi)|的極小值問題。若在每一單刀位情況下,||QiPi|-rc(Qi)|都為最小值,那么刀具切削時產(chǎn)生的包絡(luò)面會無限逼近設(shè)計曲面,則原理性誤差會降到最小。
根據(jù)上述分析,得出誤差度量函數(shù)為
最優(yōu)刀具位置姿態(tài)應(yīng)是刀軸任意一點到設(shè)計曲面的距離與到刀具表面的距離平方和最小。刀具半徑rc(Qi)確 定,因此問題就轉(zhuǎn)化為求解 |QiPi|(刀軸一點到設(shè)計曲面的距離)。刀軸上任意一點作垂線到設(shè)計曲面上的垂足點 (ui,vi)滿足以下方程
式中:ru(ui,vi)為 刀軸一點Qi在u方向的切向矢量;rv(ui,vi)為 刀軸一點在v方向的切向矢量。
式(6)實際上就是求解一個函數(shù)極小值問題,誤差度量函數(shù)在現(xiàn)有條件下無法確定顯性的函數(shù)表達式,傳統(tǒng)方法難以進行求解,而智能算法在這方面具有顯著優(yōu)勢。
傳統(tǒng)方法的缺點在于只能計算單個刀具位姿在某一位置與設(shè)計曲面的位置關(guān)系,判斷在這一位置是處于欠切或過切;只能使包絡(luò)面精度更好地逼近設(shè)計曲面,卻無法尋找到最優(yōu)位置,并且計算過程復(fù)雜耗時。智能算法只需在MATLAB 中搭建曲面和刀具的數(shù)學(xué)模型,利用SA-PSO 算法對圖2 中所生成的球型區(qū)域范圍進行粒子尋優(yōu),隨機兩個粒子進行刀軸的生成,利用刀軸上給定的離散點多次調(diào)用誤差度量函數(shù)進行誤差判別,無需進行復(fù)雜的計算,耗時短,搜索范圍大,精確度高。
圖2 初始種群生成圖
如圖2 所示為最初樣本種群生成圖。圖中兩圓球是以刀具軸線兩端點A0′和A1′為球心,R為半徑生成。隨機連接兩個球體的各個位置,得到隨機線段作為初始刀軸位置,重復(fù)上述步驟,可在Matlab 中生成一個群體總的數(shù)量為G的刀軸矢量數(shù)組,記為K[0],K[1],K[2],···,K[G-1]。設(shè)刀軸矢量的兩端點A0′和A1′坐標(biāo)分別為 (X0,Y0,Z0)和 (Xn,Yn,Zn),對于每一矢量數(shù)組K,一對粒子的共有6 個矢量坐標(biāo),共計G個6 維矢量作為混合算法的初始種群。
模擬退火算法的核心是蒙特卡洛判斷準(zhǔn)則,判斷接受當(dāng)前最小值公式為
式中:M為接受新解的概率。根據(jù)式(8)可得,當(dāng)新值小于當(dāng)前值時,必定接受新值;當(dāng)新值大于當(dāng)前值時,有一定概率被接受;當(dāng)降溫系數(shù)h和初始溫度T不變時,新值超過當(dāng)前值越多,那么新解被接受的概率越小。SA 的核心在于:不強制要求最新產(chǎn)生的解優(yōu)于當(dāng)前解。由于這種概念的引入,使得其避免產(chǎn)生群體粒子收斂速度過快而導(dǎo)致的無法獲得全局最優(yōu)解的問題,顯示了其容易跳出局部極值的優(yōu)越性。粒子群算法基于社會信息共享,通過比較當(dāng)前自身適應(yīng)度值與歷史最好適應(yīng)度值;比較當(dāng)前適應(yīng)度值與全局最佳適應(yīng)度值,達到快速收斂的目的,但容易出現(xiàn)后期收斂速度過快導(dǎo)致迭代停滯的情況。本文通過SA-PSO 混合算法,先利用SA 算法的全局收斂性,再利用粒子群算法局部收斂速度快的特性找到最優(yōu)刀軸位置。SA-PSO 算法的流程圖如圖3 所示。
圖3 SA-PSO 算法流程圖
設(shè)計步驟如下:
(1)生成初始解。賦予種群粒子初始溫度為T、馬爾科夫鏈的長度,即等溫過程的迭代次數(shù)L、溫度下降速率h、算法終止溫度TN和初始解x0。
(2)產(chǎn)生新解與當(dāng)前解的差值。根據(jù)當(dāng)前解xi進行擾動,產(chǎn)生一個新解xj,計算出相應(yīng)的函數(shù)值E(xj),得到 ΔE=E(xj)-E(xi)。
(3)判斷新解是否被接受。若 ΔE<0,則新解被接受;若 ΔE>0,則新解按概率進行判斷,Ti為當(dāng)前溫度。
(4)算法終止條件。當(dāng)模擬退火算法達到給定精度時停止迭代,終止條件為
式中:ε為一個足夠小的正數(shù)。
(5)賦值粒子群。將模擬退火算法算出的最優(yōu)值賦值給粒子群。
(6)計算每個粒子的適應(yīng)度值。將當(dāng)前適應(yīng)度值與歷史最佳值比較,并跟新pbest。
(7)粒子位置狀態(tài)更新。粒子在d維空間的速度和位置分別如下所示。
(8)重復(fù)步驟(6),再將pbest與群體最優(yōu)位置離子gbest進行比較,若pbest的位置更優(yōu),則更新gbest。
(9)重復(fù)上述(7)和(8),達到迭代次數(shù)時停止計算并輸出gbest。
如圖4 所示S為加工所形成的刀具包絡(luò)面,S(u,v)為設(shè)計曲面,S1和S2為設(shè)計曲面S(u,v)的內(nèi)外等距面,S1S2構(gòu)成的包容域范圍包括S1S(u,v)和S2S(u,v)兩 部分。S1S(u,v)表示過切誤差,即刀具加工過切部分;S2S(u,v)為欠切誤差,即刀具沒有加工到的部分。包絡(luò)面誤差即刀具包絡(luò)面S無限逼近設(shè)計曲面S(u,v)時的誤差。整體優(yōu)化的目標(biāo)就是保證包容域范圍S1S2即ε極差最小。
圖4 圓柱刀側(cè)銑包絡(luò)誤差圖
如圖5 所示,過刀軸A'點向刀具側(cè)壁和設(shè)計曲面S(u,v)做垂線,分別得到A點和B點,并延長A'B與刀具側(cè)壁交于C點,B點為刀軸上A'點在設(shè)計曲面的映射點。線段BC為加工誤差,當(dāng)A'C>A'B時,刀具與設(shè)計曲面過切;當(dāng)A'C<A'B時,刀具與設(shè)計曲面欠切。由上述可得刀位上某點處的誤差方程為
圖5 側(cè)銑加工誤差計算
設(shè)計曲面為非可展直紋面,在加工階段,刀軸上不同位置點在設(shè)計曲面的垂直點不斷變化,其對應(yīng)點的法向量也在做出相應(yīng)變化,因此這里采用數(shù)值法進行求解[9],具體方法是:在MATLAB 搭建的設(shè)計曲面和刀具數(shù)學(xué)模型中根據(jù)第三節(jié)內(nèi)容:刀軸上的給定離散點Qn向設(shè)計曲面S(u,v)作 垂足點Pn。具體操作對應(yīng)圖5從A'點向設(shè)計曲面S(u,v)作的點B。利用MATLAB 進行數(shù)值計算,先確定從A'點向設(shè)計曲面作的垂足點B的具體坐標(biāo),并延長與刀具表面交于點C,這樣點C的坐標(biāo)也得以確定。點B和點C的坐標(biāo)已知,包絡(luò)誤差就為BC之間的距離,可計算出包絡(luò)誤差的具體大小。通過判斷點C在設(shè)計曲面的上方還是下方確定包絡(luò)誤差的正負值,正值為欠切,負值為過切。
本文葉片原始數(shù)據(jù)來源于某企業(yè)整體式葉輪,將單個葉片劃分為10 個葉面片體,選取第2 個區(qū)面片體為例。參數(shù)u和v分別為曲面片體的導(dǎo)線和母線。在第2 個曲面片體u方向上均勻選8 個刀位,在v方向的8 個刀位上,每個刀位均勻選取8 個點位作為誤差度量的判斷點。采用直徑為6 mm 的柱刀進行仿真。葉片曲面如圖2 所示。頂部導(dǎo)線和底部導(dǎo)線控制點如表1 所示。
表1 b 樣條曲線控制點
在u=0處進行誤差函數(shù)迭代的計算,計算結(jié)果如表2 所示。其中第3 次迭代優(yōu)化結(jié)果最優(yōu)。當(dāng)在u其他位置時結(jié)果與其相似。
表2 單刀位誤差函數(shù)優(yōu)化
圖6 為SA-PSO 的迭代圖,SA-PSO 算法的種群數(shù)目為50,規(guī)定最大迭代次數(shù)為100 次。如圖所示在第34 次迭代時,曲線趨于平緩。
圖6 單刀位優(yōu)化迭代圖
圖7 為刀具初始位置的包絡(luò)誤差圖,在初始位置時,包絡(luò)誤差范圍在-0.5~0 mm,刀具與設(shè)計曲面呈過切狀態(tài)。
圖7 初始包絡(luò)誤差圖
圖8 為經(jīng)PSO 算法優(yōu)化后的包絡(luò)誤差圖和經(jīng)SA-PSO 算法優(yōu)化后的包絡(luò)誤差圖。圖8a 包絡(luò)誤差范圍在-0.015~0.015 mm,圖8b 包絡(luò)誤差范圍在-0.01~0.01 mm。兩種算法優(yōu)化后的刀具和設(shè)計曲面之間的關(guān)系都呈欠切和過切相間分布,且SA-PSO算法誤差值明顯較單一的PSO 算法有所減小。
圖8 包絡(luò)誤差圖
圖9 為包絡(luò)誤差對比示意圖。圖9a 為初始刀軸包絡(luò)誤差,呈過切分布;圖9b 為算法優(yōu)化后的包絡(luò)誤差圖,呈過切和欠切相間分布,對比于初始誤差減小很多。
圖9 包絡(luò)誤差對比示意圖
表3 為在PSO 和SA-PSO 算法的包絡(luò)誤差值。從表中可以看出,當(dāng)計算到第七次時,兩種算法的都達到最優(yōu)解,即極差值最小,分別為0.021 3 mm和0.016 9 mm。對比于單一的粒子群算法,混合算法的極差均值減小了14.7%。
表3 包絡(luò)誤差值 mm
表4 和表5 分別為初始刀軸軌跡面和經(jīng)SA-PSO優(yōu)化后的刀軸軌跡面。
表4 初始刀軸軌跡坐標(biāo)
表5 優(yōu)化后的刀軸軌跡坐標(biāo)
仿真結(jié)果表明,SA-PSO 算法較于PSO 算法在包絡(luò)誤差方面有較大的精度提升。
在型號為HS5AXIS 350 的五軸機床上進行整體式葉輪加工。機床和加工過程分別如圖10 和11 所示。
圖10 實驗加工機床圖
圖11 加工過程圖
刀具的選擇極為重要,表6 為刀具參數(shù)表,其中T3 刀具的選擇與仿真加工的刀具一致。
表6 刀具參數(shù)
整體式葉輪加工工序分為粗加工、半精加工和精加工,需更換4 把刀具。表7 為數(shù)控加工工序表。
表7 數(shù)控加工工序表
圖12 為葉片側(cè)面加工比較圖,圖12a 為PSO算法加工,圖12b 為SA-PSO 算法加工。對表7 中步驟6 即精加工后的葉片,利用圖13 中的三坐標(biāo)測量儀進行檢測,分別選取兩種算法精加工完成的葉片(表7 中步驟6)表面上與仿真位置相同的8×8 個點進行實際坐標(biāo)測量,并與仿真結(jié)果所呈現(xiàn)坐標(biāo)進行對比計算。
圖12 葉片側(cè)面加工比較圖
圖13 坐標(biāo)測量圖
將兩種算法的實際加工誤差進行坐標(biāo)誤差計算,得到如圖14 所示的實際加工誤差比較圖。橫坐標(biāo)表示8 個刀位,縱坐標(biāo)表示每個刀位上8 個點的誤差極差值,共計8×8 個點。從圖中可以看出在實際加工中,PSO 算法和SA-PSO 算法的極差值普遍大于表3 中仿真的極差值,表明實際加工與理想加工有一定的誤差。但SA-PSO 算法實物加工誤差比PSO 算法加工誤差的絕對值更接近于0,表明SAPSO 算法的加工誤差更小。
圖14 實際加工誤差比較圖
通過計算SA 算法和SA-PSO 混合算法的包絡(luò)誤差,得出在仿真加工同一非可展直紋面時SA-PSO算法比PSO 算法的包絡(luò)誤差的極差均值減小了14.7%;實驗加工和理論值存在一定誤差,但仍能為五軸側(cè)銑加工非可展直紋面提供一定的參考價值。未來研究將考慮一定的物理因素,如銑削力、刀具剛度等。同時混合算法的提出為解決非可展直紋面加工的問題提供了新的思路。