吳雄彪 姚鑫驊 何振亞 傅建中
1.金華職業(yè)技術(shù)學(xué)院,金華,321017 2.浙江大學(xué),杭州,310027
在數(shù)控機(jī)床上實現(xiàn)高精度加工的關(guān)鍵是提高機(jī)床的空間定位精度。計算機(jī)實時誤差補(bǔ)償技術(shù)是一種經(jīng)濟(jì)而有效的方法,該方法在不改變機(jī)床結(jié)構(gòu)和制造精度基礎(chǔ)上,通過對機(jī)床加工過程的誤差源進(jìn)行分析、建模,實時地預(yù)測加工點的空間位置誤差,將該誤差量反饋到數(shù)控系統(tǒng)中以進(jìn)行誤差修正,從而提高機(jī)床空間位置精度。誤差補(bǔ)償是提高數(shù)控機(jī)床加工精度的有效途徑,其實現(xiàn)的關(guān)鍵技術(shù)之一是如何精確地建立數(shù)控機(jī)床空間誤差預(yù)測模型。
近年來,國內(nèi)外在數(shù)控機(jī)床空間誤差檢測與補(bǔ)償方面做了大量的研究工作[1-2]。在機(jī)床空間誤差檢測方面,Wang[3]提出了激光矢量分步對角線法以快速測量除旋轉(zhuǎn)誤差外的其他12項機(jī)床元素誤差,包括3個定位誤差、6個直線度誤差和3個垂直度誤差;Du等[4]提出了平面正交光柵多步檢測三軸加工中心的空間位置誤差的方法。在空間誤差建模與預(yù)測方面,已有許多方法如三角幾何法、誤差矩陣法、剛體運動學(xué)法、多體系統(tǒng)理論法[5]和神經(jīng)網(wǎng)絡(luò)法[6]等,能夠用于空間誤差模型的建立。本文采用激光矢量分步對角線法檢測與辨識空間誤差,進(jìn)而建立基于支持向量機(jī)(support vector machine,SVM)的數(shù)控機(jī)床空間誤差預(yù)測模型,在一臺數(shù)控銑床上進(jìn)行誤差辨識和補(bǔ)償實驗研究,結(jié)果表明支持向量機(jī)預(yù)測模型能有效辨識數(shù)控機(jī)床的空間誤差。
由剛體運動學(xué)原理可知,剛體在三維空間有6個自由度,即每一個軸向運動都存在6個誤差;同時,每個軸之間并不垂直,3個軸兩兩就有3個垂直度誤差。因此,對于任一類型的3軸數(shù)控機(jī)床都有21項誤差元素:①直線定位誤差δx(x)、δy(y)和 δz(z);② 直 線 度誤 差 δy(x)、δz(x)、δx(y)、δz(y)和 δx(z)、δy(z);③轉(zhuǎn)角誤差 εx(x)、εy(x)、εz(x)、εx(y)、εy(y)、εz(y)、εx(z)、εy(z)和εz(z);④垂直度誤差εxy、εxz和εyz。
根據(jù)多體運動理論,分別在床身、工作臺和運動軸上建立坐標(biāo)系,通過建立齊次坐標(biāo)變換矩陣,建立刀具和工件之間的誤差方程,最后可得到立式數(shù)控銑床的空間誤差模型[7]:
對上面的建模結(jié)果進(jìn)行分析后知,一臺3軸數(shù)控機(jī)床的誤差可以歸結(jié)為在空間3個方向的誤差Δx、Δy和Δz,這3個誤差和機(jī)床x、y和z方向的運動有關(guān),如果重新記為Ex(x,y,z)、Ey(x,y,z)和Ez(x,y,z)(其中,下標(biāo) x、y、z 為誤差的方向,括號內(nèi)的 x、y、z為運動方向),則
可以看到,以上9項誤差綜合了各個誤差元素,因此在進(jìn)行誤差補(bǔ)償時無須求得具體的21項誤差元素,而可以通過用激光分步對角矢量測量方法測量機(jī)床工作空間立方體的4條體對角線誤差直接得到這9項誤差,進(jìn)而建立空間誤差模型[7]。
在實際利用激光干涉儀進(jìn)行數(shù)控機(jī)床誤差檢測時,只能按一定的坐標(biāo)位置間隔離散地檢測出各空間誤差的大小。對于測量點間的誤差預(yù)測,目前主要通過線性插值或神經(jīng)網(wǎng)絡(luò)(ANN)計算來確定。但由于實際測量的空間誤差數(shù)據(jù)中或多或少存在一定的噪聲,直接利用這些誤差數(shù)據(jù)進(jìn)行線性插值時,等于對噪聲也進(jìn)行了疊加而不是均化,造成預(yù)測值波動較大,泛化性不好,從而影響誤差補(bǔ)償精度。神經(jīng)網(wǎng)絡(luò)方法的優(yōu)化目標(biāo)是基于經(jīng)驗的風(fēng)險最小化,這只能保證學(xué)習(xí)樣本點的估計(分類)誤差最小,而不能保證預(yù)測的效果達(dá)到最優(yōu),且神經(jīng)網(wǎng)絡(luò)權(quán)系數(shù)的調(diào)整方法存在局限性,神經(jīng)網(wǎng)絡(luò)容易陷入局部最優(yōu)并過分依賴學(xué)習(xí)樣本。而支持向量機(jī)基于結(jié)構(gòu)風(fēng)險最小化原則,較好地解決了小樣本、非線性、高維數(shù)、局部極小點等實際問題,已在模式識別、信號處理、函數(shù)逼近等領(lǐng)域得到了應(yīng)用。Suykens等[8]提出了最小二乘支持向量機(jī)(LS-SVM)方法,采用最小二乘線性系統(tǒng)作為損失函數(shù),將不等式約束改為等式約束,求解過程變成了解一組等式方程,求解速度相對加快。本文引入 LS-SVM 方法,針對機(jī)床空間誤差特性與建模需求進(jìn)行參數(shù)優(yōu)化,為解決空間誤差預(yù)測中存在的問題提供一種可行的有效途徑。
LS-SVM的空間誤差預(yù)測問題描述為求解如下問題:
式中,xi為坐標(biāo)輸入量;yi為預(yù)測目標(biāo)值;ξi為殘差變量,ξi∈ R;φ(?)為核空間映射函數(shù),φ(?):Rn→Rnh;ω為權(quán)矢量,ω∈ Rnh;γ為可調(diào)參數(shù);b為偏差量。
引入拉格朗日函數(shù):
式中,αi為拉格朗日乘子。
根據(jù)極值存在的必要條件,得到如下方程組:
式(5)消去 ω和ξ,得到
根據(jù)Mercer條件[8],使用核函數(shù)K(x,xi),LS-SVM回歸估計可表示為如下形式:
其中,α、b由式(6)求解出。核函數(shù)K(x i,x j)為滿足Mercer條件的任意對稱函數(shù),常采用徑向基函數(shù)(RBF)核函數(shù):K(x i,x j)=exp[-(x ixj)2/(2σ2)],它只有一個待定參數(shù)σ,其值越大,收斂速度越快。對于采用徑向基核函數(shù)的LSSVM,主要參數(shù)是正則化參數(shù)γ和核函數(shù)寬度σ,這兩個參數(shù)在很大程度上決定了LS-SVM的學(xué)習(xí)和泛化能力。
在一臺3軸立式小型數(shù)控銑床上進(jìn)行空間誤差檢測及補(bǔ)償實驗(圖1)。機(jī)床測量空間范圍為200 mm×200 mm×120 mm。采用激光分步對角矢量測量方法,應(yīng)用激光多普勒位移測量系統(tǒng)(LDDM),對機(jī)床工作空間立方體的4條體對角線進(jìn)行分步矢量測量,從而得到比傳統(tǒng)的對角線測量多 3倍的數(shù)據(jù),為誤差的分離提供足夠的數(shù)據(jù)。
圖1 激光分步對角矢量測量實驗
如圖2所示,機(jī)床共有4條體對角線,分別為PPP/NNN 、NPP/PNN 、PNP/NPN 、PPN/NNP。其中,P表示沿坐標(biāo)軸正方向運動;N表示沿坐標(biāo)軸負(fù)方向運動。
圖2 空間體對角線定義
以體對角線PPP為例(圖2),測量步驟如下:把機(jī)床工作空間x、y和z軸分成n等份,安裝在主軸上的移動光靶(平面反射鏡)從起始點開始,沿x方向移動一個步距后暫停,暫停過程中采集數(shù)據(jù);然后沿y方向移動一個步距后暫停,采集數(shù)據(jù);最后在z軸方向移動一個步距后暫停,采集數(shù)據(jù)。重復(fù)上述步驟一直移動到體對角線的另一端點。
通過LS-SVM方法進(jìn)行數(shù)控機(jī)床的體對角線誤差建模,選用 RBF核函數(shù),其中,參數(shù)γ=56.2,σ2=0.2。采用LS-SVM 方法對樣本數(shù)據(jù)進(jìn)行訓(xùn)練、建模,即可得空間誤差預(yù)測模型。圖3、圖4所示為補(bǔ)償前體對角線誤差實測值及神經(jīng)網(wǎng)絡(luò)(ANN)、LS-SVM預(yù)測值。圖5、圖6所示為補(bǔ)償后機(jī)床體對角線誤差的變化??梢?各條對角線的誤差在補(bǔ)償后最大值都減小到了10μm以內(nèi),補(bǔ)償效果顯著。為了進(jìn)一步定量評價神經(jīng)網(wǎng)絡(luò)與LS-SVM兩種預(yù)測方法的精度,常使用平均絕對百分比誤差(MAPE)這個性能指標(biāo),其定義為
圖3 補(bǔ)償前正向體對角線誤差實測值及神經(jīng)網(wǎng)絡(luò)、LS-SVM預(yù)測值
式中,li、l?i分別為實測值與預(yù)測值。
圖5 補(bǔ)償后正向體對角線誤差
圖6 補(bǔ)償后反向體對角線誤差
表1所示為兩種方法的比較結(jié)果,可以看出,LS-SVM方法的建模精度較神經(jīng)網(wǎng)絡(luò)有所提高,在建模速度上則具有顯著優(yōu)勢。
表1 LS-SVM建模與神經(jīng)網(wǎng)絡(luò)建模方法比較
對數(shù)控機(jī)床空間誤差進(jìn)行預(yù)測與補(bǔ)償可有效地提高數(shù)控機(jī)床的位置精度。本文提出基于支持向量機(jī)的數(shù)控機(jī)床空間誤差辨識與補(bǔ)償方法,通過訓(xùn)練學(xué)習(xí),優(yōu)化最小二乘支持向量機(jī)參數(shù),可有效獲得數(shù)控機(jī)床空間誤差的預(yù)測模型。補(bǔ)償實驗結(jié)果表明,支持向量機(jī)空間誤差預(yù)測模型補(bǔ)償精度高、建模速度快,通過其補(bǔ)償可有效地提高數(shù)控機(jī)床的精度。
[1] Ramesh R,Mannan M A,Poo A N.Error Compensation in Machine Tools—a Review Part 1:Geometric,Cutting-force Induced and Fixture-dependent Errors[J],Int.J.Mach.Tools Manufacturing,2000,40(9):1235-1256.
[2] 張虎,周云飛,唐小琦,等.數(shù)控機(jī)床空間誤差的無模測量與補(bǔ)償[J].華中科技大學(xué)學(xué)報(自然科學(xué)版),2002,30(1):74-77.
[3] Wang C.Laser Vector Measurement Technique for the Determination and Compensation of Volumetric Positioning Errors.Part I:Basic Theory[J].Review of Scientific Instruments,2000,71(10):3933-3937.
[4] Du Z C,Zhang S J,Hong M S.Development of a Multi-step Measuring Method for Motion Accuracy of NC Machine Tools Based on Cross Grid Encoder[J].International Journal of Machine Tools and Manufacture,2010,50(3):270-280.
[5] 粟時平,李圣怡,王貴林.基于空間誤差模型的加工中心幾何誤差辨識方法[J].機(jī)械工程學(xué)報,2002,38(7):121-125.
[6] John M F,Arvin A.Machine Tool Positioning Error Compensation Using Artificial Neural Networks[J].Engineering Applications of Artificial Intelligence,2008,21(7):1013-1026.
[7] 沈金華,楊建國,王正平.數(shù)控機(jī)床空間誤差分析及補(bǔ)償[J].上海交通大學(xué)學(xué)報,2008,42(7):1060-1063.
[8] Suykens J A K,van Gestel T,de Brebanter J,et al.Least Squares Support Vector Machines[M].Singapore:World Scientific Pub.Co.,2002.