趙家黎,李橋林,黃利康
(蘭州理工大學 機電工程學院,甘肅 蘭州 730050)
隨著制造業(yè)的飛速發(fā)展,數(shù)控機床越來越多地應用于各個行業(yè)之中,而且數(shù)控機床的精度要求也越來越高。數(shù)控機床的精度指標是直接影響加工精度的重要因素。數(shù)控機床誤差是評價數(shù)控機床精度的主要指標,數(shù)控機床的誤差一般可分為幾何誤差、熱誤差和力誤差,其中熱誤差占有較大的比例。由于機床熱誤差具有非線性、交互性和耦合性等特點,傳統(tǒng)的基于最小二乘原理的建模方法雖建模簡單,但模型魯棒性差,難以實現(xiàn)數(shù)控機床熱誤差高精度補償[1-2]。近年來,國內(nèi)外學者提出了神經(jīng)網(wǎng)絡、灰色理論、最小二乘支持向量機等多種熱誤差建模方法,但也存在一定的局限性,例如神經(jīng)網(wǎng)絡以及最小二乘支持向量機等建模方法雖可以將補償精度提高數(shù)倍,但需大量的樣本進行訓練、建模復雜,且神經(jīng)網(wǎng)絡還易產(chǎn)生過學習或欠學習等問題;灰色理論預測等則對建模誤差數(shù)據(jù)光滑性有嚴格要求,模型適應性不好,因此還需要尋求快速、高精度的建模方法[3-6]。
為此,本文提出了一種基于改進最小二乘支持向量機(LSSVM)的數(shù)控機床熱誤差預測方法,使用提升小波分解數(shù)控機床熱誤差數(shù)據(jù),由此得到數(shù)控機床熱誤差的變化特征;然后采用最小二乘支持向量機對分解信號進行訓練和預測,得到初步的預測結(jié)果;最后針對數(shù)控機床熱誤差有較大起伏波動的現(xiàn)象,對其進行修正和改進,達到提高預測精度的目的。
提升小波算法通過構(gòu)造雙正交小波函數(shù),使用線性、非線性或空間變化的預測和更新算子進行提升變換,比較適合于數(shù)控機床熱誤差數(shù)據(jù)分析,可以有效獲取其主要變化特征[7]。
提升小波分解的主要步驟如下:
1) 分裂:分裂是將數(shù)控機床熱誤差數(shù)據(jù)分割成相互關聯(lián)的奇偶兩部分,即ej-1(偶部分)和oj-1(奇部分)。
split(sj)=(ej-1,oj-1)
ej-1={ej-1,k=sj,2k}
(1)
oj-1={oj-1,k=sj,2k+1}
2) 預測:預測就是用ej-1預測oj-1,獲取預測值P(ej-1)。實際值oj-1,與預測值P(ej-1)的差值dj-1反映了兩者之間的逼近程度,稱為細節(jié)系數(shù)或小波系數(shù),對應于元信號sj的高頻部分。預測過程為:
dj-1=oj-1-P(ej-1)
(2)
式中,預測算子P可用預測函數(shù)Pk來表示,函數(shù)Pk可取為ej-1中的對應數(shù)據(jù)本身,即:
Pk(ej-1,k)=ej-1,k=sj,2k
(3)
或取ej-1中對應數(shù)據(jù)的相鄰數(shù)據(jù)的平均值,即:
Pk(ej-1,k)=(ej-1,k+ej-1,k+1)/2=(sj,2k+sj,2k+1)/2
(4)
3) 更新:經(jīng)過分裂步驟產(chǎn)生子集的某些整體特征可能與原始數(shù)據(jù)并不一致,為了保持數(shù)控機床熱誤差數(shù)據(jù)的這些整體特征,需要一個更新的過程。將更新過程用算子U來代替,其過程為:
sj-1=ej-1+U(dj-1)
(5)
式中,sj-1為sj的低頻部分。
與預測函數(shù)一樣,更新算子也可以取不同函數(shù)。
Uk(dk-1)=dj-1,k/2
(6)
Uk(dk-1)=(dj-1,k-1+dj-1,k)/2
(7)
經(jīng)提升小波分解,可將數(shù)控機床熱誤差數(shù)據(jù)分解為低頻部分sj-1和高頻部分dj-1;對于低頻數(shù)據(jù)子集sj-1可以再進行相同的分裂、預測和更新,把sj-1進一步分解成dj-2和sj-2,…;如此下去,經(jīng)過n次分解后,數(shù)控機床誤熱差數(shù)據(jù)sj的小波表示為{sj-n,dj-n,sj-n+1,…,dj-1}。其中sj-n代表了數(shù)控機床誤熱差數(shù)據(jù)的低頻部分,而{sj-n,dj-n,sj-n+1,…,dj-1}則是功率數(shù)據(jù)從低到高的高頻部分系列。具體的流程如圖1所示,其中S為原始的數(shù)控機床熱誤差數(shù)據(jù),A1、A2和A3為低頻信號,D1、D2和D3為高頻信號。
圖1 提升小波分解的流程圖
其反變換過程,即重構(gòu),也可以用替代的方式來計算:
ej-1=U(oj-1)
oj-1=P(ej-1)
(8)
sj=Merge(ej-1,oj-1)
P與U取不同的函數(shù),可構(gòu)造出不同的小波變換。經(jīng)過Matlab仿真結(jié)果的分析,最終選用正交小波db2作為母小波,對功率序列進行三尺度分解。
在使用提升小波分解數(shù)控機床熱誤差數(shù)據(jù)后,采用最小二乘支持向量機(LSSVM)解決對每一層分解信號的訓練和預測問題。最小二乘支持向量機方法是采用最小二乘線性系統(tǒng)作為損失函數(shù),代替?zhèn)鹘y(tǒng)的支持向量機采用的二次規(guī)劃方法,簡化了計算復雜性的同時也可以保證預測結(jié)果的準確性[8]。而使用提升小波處理后的功率數(shù)據(jù)也更有規(guī)律,使用最小二乘支持向量機可以進一步提高預測精度。
設D={(xk,yk)|k=1,2,…,n},其中xk∈Rn為得到的分解信號,yk∈R為輸出結(jié)果。在權(quán)w空間中最小二乘支持向量機分類問題可以描述如下:
(9)
約束條件:
yk[wTφ(xk)+b]=1-ek,k=1,2,…,n
(10)
定義拉格朗日函數(shù)為:
L(w,b,e,α)=φ(w,b,e)-
(11)
式中,拉格朗日乘子αk∈R。
對上式進行優(yōu)化,即對w,b,ek,ak的偏導數(shù)等于0。
(12)
上式可化為求解下面的矩陣方程:
(13)
即:
(14)
式中: Z=[φ(x1)Ty1,φ(x2)Ty2,…,φ(xn)Tyn]T
Y=[y1,y2,…,yn]
同時將Mercer條件代入到Ω=ZZT,可得:
Ωkl=ykylφ(xk)Tφ(xl)=ykylψ(xk,xl)
(15)
因此,式(9)的分解可以通過解式(14)和式(15)獲得。
最小二乘支持向量機分類決策函數(shù)為:
(16)
式中:ψ(x,xk)是核函數(shù),目的是從分解信號抽取特征,將分解信號中的樣本映射為高維特征空間中的一個向量,以解決原始分解信號中線性不可分的問題。
在Matlab仿真中要求LSSVM的輸入要作簡單的歸一化處理,歸一化的公式為:
(17)
式中:xmax,xmin分別為訓練樣本集中輸入變量的最大值和最小值;xi,yi分別為輸入樣本歸一化前后的值。
相關研究表明,影響數(shù)控機床熱變形誤差的主要原因是主軸部件熱變形誤差,由于實驗條件有限,并且這篇論文主要是驗證LWT-LSSVM建模預測方法的可行性與準確性,所以只對數(shù)控機床部分發(fā)熱部件進行實驗分析和研究。
實驗選取一臺數(shù)控車床進行熱誤差預測建模研究。13個傳感器分別放在13個關鍵的溫度測點處,傳感器的具體分布情況如表1和圖2所示。
表1 傳感器分布一覽表
實驗中,由于直接測量主軸熱變形不太方便,所以用一根鐵棒來代替主軸,把鐵棒用磁性表座固定在主軸上,間接獲得主軸徑向與軸向變形。然后通過電渦流位移傳感器測得這兩個方向上的熱誤差數(shù)據(jù)。
圖2 關鍵溫度測點布置
經(jīng)過4h運行,所測得的數(shù)控機床溫度和熱變形數(shù)據(jù)如圖3和圖4所示。
圖3 機床關鍵點溫度變化
圖4 主軸徑向與軸向熱誤差
LWT-LSSVM建模相比于其他建模方法的顯著優(yōu)勢在于它所需要的訓練數(shù)據(jù)量相對較少但精度很高,為提高運算速度,隔4min取一組數(shù)據(jù),共取48組數(shù)據(jù)進行訓練建模。
雖然LSSVM具有很強的泛化性能,但數(shù)控機床誤差序列一方面具有一定的規(guī)律性,另一方面具有很強的隨機性,是一種多頻譜交疊的信號。用單一的LSSVM模型只能擬合出系統(tǒng)的非線性,而數(shù)據(jù)的非平穩(wěn)性將使預測結(jié)果不太理想。利用提升小波的分頻性能,可以提取相鄰頻帶的不同信息。由于數(shù)控機床誤差序列各頻帶內(nèi)的信息相互正交,沒有冗余信息,避免了因提升小波變換結(jié)果之間的關聯(lián)造成分析的困難,因而能夠?qū)崿F(xiàn)較寬范圍的帶通分量處理。這樣數(shù)控機床誤差數(shù)據(jù)中的線性變化分量和高頻隨機分量,經(jīng)提升小波分解后,其頻譜將呈現(xiàn)明顯的分離特征,有利于分開預測,因此初步建立LWT-LSSVM的數(shù)控機床誤差預測模型[9]。
分析LWT-LSSVM的預測結(jié)果,會發(fā)現(xiàn)大多數(shù)采樣點的預測精度已經(jīng)達到要求,但還是有部分采樣點會出現(xiàn)比較大的誤差值,需要修正。為了進一步提高預測精度,采用誤差預測的方法來校正預測結(jié)果。為了與初步預測結(jié)果統(tǒng)一,因此本文建立圖5中的LWT-LSSVM的誤差預測模型和校正模型。
圖5 誤差預測模型
為了比較基于LWT-LSSVM的數(shù)控機床熱誤差建模方法相對于其他方法的優(yōu)缺點,本文同時給出了常用的基于最小二乘法支持向量機(LSSVM)回歸建模的預測結(jié)果,兩者比較如圖6所示。從圖中可以看出,基于LWT-LSSVM的預測方法獲得的預測模型殘差遠小于最小二乘法支持向量機的模型殘差,具有更好的模型預測效果。
圖6 LWT-LSSVM與LSSVM預測對比
為了定量評價兩種預測方法的精度,常使用平均絕對百分比誤差(MAPE)這個性能指標,其定義為[10]:
(18)
式中:li和mi分別為實際值和預測值。
計算得LWT-LSSVM法與LSSVM法的MAPE值分別為1.94%與10.45%,可見基于LWT-LSSVM的預測方法精度遠高于最小二乘法支持向量機(LSSVM)。
改進最小二乘支持向量機的數(shù)控機床熱誤差預測。針對數(shù)控機床誤差的復雜性和耦合性,采用提升小波方法分解數(shù)控機床熱誤差數(shù)據(jù),達到去噪的目的。在使用最小二乘支持向量機預測之后,針對出現(xiàn)較大誤差點的現(xiàn)象,增加誤差預測環(huán)節(jié),有效修正預測結(jié)果,提高預測結(jié)果的穩(wěn)定性。
通過兩種模型對比和分析,可以得出如下結(jié)論:
1) 針對數(shù)控機床誤差耦合性的特點,首先通過提升小波分解機床誤差原始數(shù)據(jù),從而可以有效準確地進行誤差預測;
2) 利用所得數(shù)據(jù)進行誤差建模研究,并且與常規(guī)方法對比分析,結(jié)果表明此種誤差預測方法優(yōu)于常規(guī)方法;
3) 在預測之后使用誤差預測對其進行修正,則可以控制絕對誤差的范圍,提高預測結(jié)果的穩(wěn)定性,進一步改善預測精度。
綜上所述,基于LWT-LSSVM的數(shù)控機床熱誤差建模方法比單純的LSSVM建模方法對數(shù)控機床的誤差預測精度高8.51%,這表明改進的最小二乘支持向量機方法可用于數(shù)控機床熱誤差建模,并且模型精度比最小二乘支持向量機高。