張海峰,申 澤,劉建勇,王佳行,劉東輝
(1.北方工業(yè)大學電氣與控制工程學院,北京100043;2.北京石油化工學院,北京102600)
航空制造業(yè)的發(fā)展對發(fā)動機葉片的性能提出了更高的要求。葉片表面冷卻技術對于提升葉片性能而言尤為關鍵,通常采用在葉片表面開小孔以實現葉片的冷卻[1]。由于小孔的尺寸一般在毫米級,傳統(tǒng)加工方法很難滿足其高精度的要求。電火花小孔加工是特種加工領域應用極為廣泛的加工方式。加工時,電極和工件浸入加工液并留有數微米的間隙,通過脈沖電源的間斷放電使電極和工件之間產生瞬時的高溫、高壓放電通道,而放電通道的存在時間可根據放電時間改變,通常在數微秒到1毫秒之間,此時加工工件會被侵蝕、熔化甚至直接氣化;接著停止放電一段時間,使加工間隙排屑,恢復絕緣,通常這段時間是放電時間的2倍,完成一次放電加工后等待極間絕緣恢復,再準備進行下一次放電,因此可采用電火花加工方法進行打孔[2-4]。
在航空發(fā)動機葉片小孔加工過程中,若不能精確控制加工電極的長度,極易損壞另一側的氣膜壁(圖1),導致整個葉片無法使用,因此需對電極是否穿透進行準確的檢測。現有的電火花小孔加工通常采用設定電極固定進給深度的方法,以避免電極伸出過長而造成誤加工。然而,由于電火花加工過程中不僅工件會被電蝕去除,加工電極也會有一定程度損耗,很難保證加工結果精準,極易造成電極穿透過長、加工過短的錯誤加工和二次加工,影響加工精度和加工效率[5]。
電火花小孔加工過程中的電流、電壓、頻率、沖水流量、壓力等特征量會隨時變化,對此已有許多學者提出了相應的穿透檢測方法。時東波等[6]通過采用平均電壓檢測法測試了500個電壓的平均電壓值,并將其與設定的閾值電壓進行比較,若低于閾值電壓則判斷為穿透。朱允斌等[7]通過擊穿電壓閾值的抖動次數與設定抖動次數閾值進行比較來判斷是否穿透。Lee等[8]通過電極磨損模型方程與實驗得到電極磨損率與加工時間的參考曲線,進而利用參考曲線和前n個電極損耗率補償預測第n+1次的電極損耗率,利用預測的電極損耗來判斷電極位置是否穿透。
由于實際電火花加工環(huán)境較復雜,加工影響因素較多,且每一時刻的加工狀態(tài)變化較大,采用傳統(tǒng)識別方法想要得到一個準確的穿透檢測模型較為困難[9]。隨著科技不斷發(fā)展,人工智能成為熱點,機器學習是其中的一大分支。機器學習算法是一種根據所給數據自行分析得到規(guī)律或模型并利用已知數據來預測未知數據的算法。機器學習對提高模型準確性具有顯著作用。本文涉及的穿透問題,需機器預測穿透與未穿透兩種結果,可將其看作二分類問題?;诖?,本文利用機器學習中的支持向量機分類算法對電火花小孔加工進行了仿真研究。
支持向量機算法是統(tǒng)計學家Vapnik基于統(tǒng)計學習理論提出的一種新學習方法,其主要特點是依據結構風險最小化原則,以最大化分類間隔求出最優(yōu)分類超平面,這也是支持向量機與感知機之間的最大區(qū)別。該算法能較好地解決非線性、高維數、局部極小點等問題[10]。目前,支持向量機(support vector machine,SVM)具有回歸和分類兩種功能,其中回歸問題是使超平面與最遠樣本點的距離最小,分類問題是使超平面與最近樣本點的距離最大。本文主要利用支持向量機的分類功能。
SVM常用作兩個或兩個以上類別的分類任務的監(jiān)督學習模型,相關數據點被視為n維向量,其基本思想是找到可分離兩組輸入的n維超平面數據點,這些數據點也要映射到與超平面相同的高維空間[11]。SVM的基本模型定義為特征空間上的間隔最大的線性分類器,通過求取間隔最大化,使其可轉化為求解凸二次規(guī)劃問題,當進行多于兩類的分類時,往往將K類問題轉換為K個兩類問題分別判斷,直到逐漸完成分類。
圖1是典型二維平面下兩類數據的分類問題。在該二維平面上有兩種不同數據,分別用圓圈和三角來表示。可見,這些數據線性可分,只需用一條直線就能將兩類數據完全分開,而若是在高維空間中對數據進行分類,則圖中直線會變成一個超平面[12]。實際上,能將兩類數據完全分開的直線不止一條,雖然看起來不同直線的分類結果都一樣,但考慮到潛在的其他數據,不同直線的分類性能有所差別。支持向量機分類算法的最終目的就是找到一個能將兩類樣本間隔最大化的超平面。
在二維空間里,一條直線可表示為:
x和y分別用x1和x2表示,再將式(1)移項,可得到:
將式(2)向量化可得到:
將式(3)進一步向量化,用列向量ω、列向量x表示,可得到:
將二維方程推廣到n維空間,得到的超平面方程形式與式(4)相同,不同的是此時ω=[ω1,ω2,…,
超平面也叫做決策面。圖1所示二維平面的超平面用數學語言可描述為線性判斷函數,即:
其中,x為待判斷的數據。當x剛好位于分類超平面上時,函數f(x)等于0,對應于y=0,而f(x)大于0的點對應于y=1的數據點;函數f(x)小于0,對應于y=-1的數據點。這樣y=1和y=-1可分別代表兩類不同的數據。這兩類樣本中,離分類面最近且平行于最優(yōu)分類面的超平面的點(圖1所示虛線上的點)被稱為支持向量,該虛線被稱為邊界,兩條虛線間的距離即為間隔2d。
該點到直線的距離公式為:
式中:Ax0+By0+C=0,為直線方程;(x0,y0)為點坐標。
由此推廣到多維空間,目標函數即支持向量對應到決策面的距離d可表示為:
評定支持向量機分類好壞的依據是分類間隔ω=2d的大小,即分類間隔ω越大,則該超平面的分類效果越好。由此,求解超平面就轉化為讓分類間隔ω最大化,而ω最大化也就是d最大化。
而在尋求ω最大值時,存在判斷超平面是否將樣本點正確分類、如何在樣本點中選出支持向量上的點的問題,這些正是本文考慮的約束條件。
根據式(5),如果超平面方程能完全正確地對圖1所示全部樣本點進行分類,則滿足:
假設決策面正好處于間隔區(qū)域的中軸實線上,且支持向量對應樣本點到決策面的距離為d,則可進一步表達為:
式(9)表明所有分類在標簽1的樣本點到中軸實線的距離都大于等于d,所有分類在標簽-1的樣本點到中軸實線的距離也都大于等于d,兩類樣本分別位于中軸實線兩側。
式(7)中,距離d的取值范圍受約束,即求距離d最大值的問題是一個優(yōu)化問題,而優(yōu)化目標是距離d的最大值。
為求得優(yōu)化問題中的約束條件,將式(9)化簡,可得約束條件為:
式(11)表明,將尋找距離d的最大值轉化為尋找最小值,并且為簡化尋優(yōu)過程,將以上問題轉化為一個附加約束條件的二次凸函數優(yōu)化問題,即:
對于式(12)含有不等式的優(yōu)化問題,通常采用求解方法將所有等式、不等式約束與f(x)寫為一個式子,這也稱作拉格朗日函數,系數是拉格朗日乘子;通過一些條件可求出最優(yōu)值的必要條件,該條件稱作KKT條件(非線性規(guī)劃最佳解的必要條件)。
由于實際應用中的多數情況是線性不可分的,需將訓練樣本從原始低維空間映射到一個更高維的空間,使原本線性不可分的數據在高維空間下線性可分。也就是說,如果訓練樣本在原始空間中有限,則必定存在一個高維空間使樣本可分。在從低維空間向高維空間轉換時引入核函數,以保證低維向高維轉換且使計算保持在低維空間,從而減少在高維度的復雜計算。常用的核函數見表1。
表1 幾種常用核函數名稱和表達式
在一些實際情況下,通過核函數映射的方法有時不能做到完美分類,可能在龐雜數據中存在異常數據,而在后續(xù)訓練過程中引入松弛變量ξ,使分類函數在最大間隔加上松弛變量ξ時大于等于1,即樣本到超平面函數的距離不再是1而是1-ξ。在引入松弛變量ξ的同時,也需引入懲罰系數C來對誤分類的代價進行懲罰評估,C越大則誤分類的懲罰越大。最終得到分類超平面與線性不可分問題的分類決策函數D(X)為:
式中:l為支持向量分類機的支持向量個數;ai為拉格朗日乘子;K(Xi,X)為待測數據與第i個支持向量點的核函數值;b為支持向量分類機的偏移量。
通過支持向量機分類算法進行穿透檢測、判斷關鍵環(huán)節(jié),就是找到恰當的支持向量機分類模型和準確的支持向量。而穿透檢測的關鍵是要找到穿透前后發(fā)生變化的物理量。本文利用錄波儀采集不同加工條件下的電壓、電流波形。如圖2所示,CH1通道是加工工件和工具電極之間的加工電壓隨著時間變化的波形,CH2通道是加工電流隨著時間變化的波形;如圖2a所示,連續(xù)加工數個小孔,每一個電壓電流變化的階段為一個小孔開始加工到穿透的過程,圖2b是其中一個小孔加工穿透過程的放大圖,可見加工前小孔未發(fā)生穿透時的電壓電流變化較快,加工狀態(tài)在短路與開路之間頻繁切換,而在穿透發(fā)生前后的電壓變化有明顯不同,存在一段時間的低電壓。
圖2 二分類最優(yōu)平面圖
為便于進一步分析,將圖2b所示一次小孔加工波形圖導入MATLAB仿真軟件,得到穿透過程中電壓、電流隨著時間變化的波形,見圖3和圖4,可以推斷:
圖3 加工過程中的電壓及電流波形圖
圖4 穿透過程中電流隨時間變化波形
(1)加工穿透過程中會出現較長時間的短路和開路狀態(tài),極間電壓會在一段時間內維持低電壓放電狀態(tài)。這是因為,此時電極正在穿透工件,出現較大的加工碎屑或排屑困難情況,使電極伺服動作產生較大波動,進而出現明顯的電極往復動作,導致電極與工件之間的加工狀態(tài)不能快速進行切換,降低有效放電頻率。
(2)放電加工時,電極與工件之間的最高電壓在140~160 V范圍內波動,低加工電壓約為20 V且在穿透發(fā)生時的低加工電壓會間斷性地持續(xù)一段時間。這是因為,機床的控制器對極間放電狀態(tài)改變的反應滯后,無法配合加工狀態(tài)動態(tài)地自主調整伺服速度。因此,可通過測量加工電壓低于25 V時的持續(xù)時長來判斷穿透狀態(tài)的發(fā)生情況。同時,本文發(fā)現低電壓放電的持續(xù)時間會隨著放電參數的調整及加工環(huán)境的改變而變化。
(3)通過對不同加工條件下的波形分析發(fā)現,設定不同的電壓、電流和脈沖間隔值會影響穿透過程中的低電壓持續(xù)時長,因此本文決定采用電壓、電流、脈沖間隔設定值和低電壓持續(xù)時長作為電火花小孔加工機床穿透檢測支持向量機算法的特征向量,從而涵蓋所有影響穿透檢測判斷的加工條件,以此保證穿透檢測的準確性。
支持向量機模型訓練流程見圖5,首先從待處理的數據中提取一定數量的、具有特征性的數據作為訓練樣本,將另外具有特征性的樣本作為測試樣本,來驗證模型準確性。
圖5 支持向量機算法流程圖
通常在支持向量機模型訓練過程中改變核函數和相關參數仍不能提高模型準確率時,可通過調整訓練集來提高模型的分類效果。在選定訓練樣本集后,本文考慮以下三個條件:①選定的訓練樣本要能代表這類數據;②訓練集盡量無錯誤樣本,不會污染數據;③訓練樣本盡可能完整,需考慮全部特征。
提取訓練樣本和測試樣本數據后,進行了數據歸一化處理,對數據進行縮放操作,將數據調整成軟件所需格式;同時,通過嘗試看不同核函數是否滿足性能測試要求,最終確定最優(yōu)核函數并進行模型訓練,還聯合使用交差驗證和網格法來求取最佳參數;在獲得最佳參數和數學模型后,對樣本數據和測試數據進行穿透檢測判斷仿真,求出實際所需的支持向量,在完成訓練后得到的決策函數即為分類器,以此進行分類辨別。
由于本文使用錄波儀和示波器截取了大量電火花小孔加工過程中的電壓、電流波形,收錄的波形數據龐雜,存在許多干擾數據和無用數據,需提取其中具有標志性的數據來進行支持向量機模型訓練。
由于實驗所用四種特征量的單位不同、類型不同、數值大小差距過大,若不作歸一化處理,會在訓練過程中使數值大的數據占據更高的權重,影響建模準確性。本文在建立和訓練支持向量機模型之前,對電極與工件之間的電壓值、電流值、放電脈沖間隔設定值及放電過程中的低放電電壓持續(xù)時間進行歸一化處理,以盡量減少數據本身對實驗結果帶來的干擾。處理時,本文采用Min-Max標準化方法(也叫離差標準化),對原始數據實施線性轉換,將歸一化后的值限制在[0,1]之間,轉換函數為:
式中:max為樣本數據的最大值;min為樣本數據的最小值。
完成原始數據的歸一化之后,設定一個約束條件為:穿透檢測時,采集到的數據不會大于樣本數據的最大值,不會小于樣本數據的最小值。因此,SVM訓練所用的樣本數據需包含穿透檢測數據的極端情況,否則會影響穿透判斷的準確率。
歸一化完成后,要選擇合適的核函數進行模型訓練。針對加工數據特點,本文選擇高斯核函數(徑向基RBF核函數)作為樣本訓練核函數,只需尋找一個最優(yōu)參數g即1/(2σ2)和懲罰系數C,其表達式為:
式中:σ為帶寬,控制徑向作用范圍,即由σ控制高斯核函數的局部作用范圍;當xi與xj的歐氏距離處于其局部作用范圍內時,高斯核函數值的變化會顯著,因此要通過模型訓練找到最優(yōu)參數g的值。
圖6是針對本文所述四維特征支持向量而采用高斯核函數的決策函數D(X)計算的示意圖,最終輸出的結果為1或0代表著穿透與未穿透。
圖6 高斯核函數計算示意圖
為提高訓練模型的準確率、減少過擬合的可能性,本文采用交叉驗證法結合網格搜索法尋找懲罰系數C和最優(yōu)參數g,以得到分類精確度高、誤分率低的參數。網格搜索法是在一個取值范圍內按步進取值參數,選取最終分類準確率最高的參數,交叉驗證方法與之配合可減少實驗結果的偶然性。本文將數據平均分為10份,將整個訓練集的每一部分均作為測試集,分別被預測一次,則交叉驗證的準確率即為整個分類準確率的平均值,因此可防止過擬合問題。
為更加清晰直觀地找到最佳參數C和g,根據參數尋優(yōu)過程生成了等高線圖和3D視圖,見圖7和圖8。如圖7所示,X軸和Y軸的線上對應數字為交叉驗證的精度,即參數g、C的值在設定取值范圍內變化時對應的分類準確率,同時在保證最高準確率的條件下尋找參數C的最小值。
圖7 SVC參數尋優(yōu)的分類準確率等高線圖
圖8更加直觀地顯示了C、g和準確率之間的關系。最終,本文確定的最優(yōu)參數C=0.013602、g=3.4822,此時穿透檢測辨識準確度可達95.3333%。
圖8 SVC參數尋優(yōu)的分類準確率3D視圖
應用訓練得到的支持向量機模型對200個測試樣本進行穿透檢測判斷,由圖9所示仿真結果與實際穿透情況的對比可看出,該支持向量機模型預測正確的數據量為190個,預測準確率達95%,能滿足基本加工要求。
圖9 仿真結果與實際情況對比圖
依據上述過程訓練完成了支持向量機分類模型,該模型在MATLAB軟件中的結構體Model參數值見表2,所示數據與最后訓練完成的分類決策函數D(X)的各參數值一一對應。
表2 支持向量機模型部分參數結構體表
根據式(13),支持向量分類機的偏移量b對應結構體Model中的Rho值:0.1662;支持向量分類機的支持向量個數l對應結構體中totalSV的值:257;拉格朗日乘子ai的值與結構體中的sv_coef(i)矩陣相對應;支持向量xi的值與結構體中的SVs(i,:)矩陣相對應;高斯核函數參數g=1/(2σ2)的值與結構體中gamma的值相對應。綜合上述參數,本文得到了決策函數D(X),完成了支持向量機的訓練,并在最后將訓練好的決策函數寫入FPGA并以ROM形式存儲,同時通過采樣電路采集電壓電流信號,并通過所得決策函數進行判斷,發(fā)出穿透信號。
本文研究了電火花小孔加工過程中電極與工件之間的電壓和電流,分析了穿透發(fā)生前后電壓和電流的變化規(guī)律,提出了一種基于支持向量機分類算法的穿透檢測方法,并給出了具體的仿真模型分析過程。該方法可準確、迅速地判斷穿透狀態(tài)的發(fā)生,適用于不同的加工狀態(tài),無需頻繁改變低電壓閾值的設定和低電壓持續(xù)時長閾值的設定,極大地提高了電火花小孔加工的效率和加工結果精確度。