李炳銳
(廣東科杰機(jī)械自動(dòng)化有限公司,廣東江門(mén)529000)
基于徑向基函數(shù)的刀路跟隨
李炳銳
(廣東科杰機(jī)械自動(dòng)化有限公司,廣東江門(mén)529000)
影響3C產(chǎn)品外殼高光亮倒角邊工藝良率的最主要因素是高亮邊是否均勻,由于外殼的剛性低,經(jīng)過(guò)夾具夾緊后不可避免地出現(xiàn)微小的形變,從而導(dǎo)致倒角邊不均勻產(chǎn)生廢品。針對(duì)這種由于形變引起的不均問(wèn)題,采用探針測(cè)量工件輪廓上若干點(diǎn)得到變形量,通過(guò)支持向量機(jī)建立徑向基函數(shù)預(yù)測(cè)模型,修正刀路上的每個(gè)點(diǎn),實(shí)現(xiàn)刀路對(duì)形變的跟隨,效果顯著。
高光倒角;形變;徑向基函數(shù);刀路跟隨;支持向量機(jī)
現(xiàn)在的3C產(chǎn)品通常會(huì)采用鎂鋁合金做外殼,很多時(shí)候?yàn)榱嗣烙^會(huì)專(zhuān)門(mén)在外輪廓銑出一道均勻和高光亮的倒角邊,而高光亮效果可以通過(guò)專(zhuān)門(mén)的設(shè)備和刀具,再采用合適的工藝參數(shù)配來(lái)獲得,但均勻性卻很難得到保證,因?yàn)楣ぜ鈿ぴ谘b夾是不可避免地產(chǎn)生變形,因此NC刀路需要跟隨工件的變形作出相應(yīng)的修正,即所謂的刀路跟隨,否則會(huì)出現(xiàn)倒角邊不均勻的不良品,如圖1所示。要實(shí)現(xiàn)跟隨通常的解決方案是在數(shù)控系統(tǒng)里加入路徑優(yōu)化模塊,比如西門(mén)子的CIRCLE832,此外還需要有經(jīng)驗(yàn)的工程師來(lái)在NC代碼中加入代表探針補(bǔ)償值的R變量,過(guò)程非常復(fù)雜,而且更換產(chǎn)品后,NC代碼又要重新修改。
圖1 倒角寬度不均
本文通過(guò)探針補(bǔ)償值,用徑向基函數(shù)構(gòu)建插值模型來(lái)修正NC代碼,實(shí)現(xiàn)刀路跟隨,不需要額外優(yōu)化模塊,更不需要手動(dòng)修改NC代碼,對(duì)于PC-Base類(lèi)型數(shù)控系統(tǒng)可以直接嵌入到系統(tǒng)的譯碼模塊中。
1.1 獲得工件的變形量
要得到工件大概的變形,在工業(yè)生產(chǎn)現(xiàn)場(chǎng)是通過(guò)在機(jī)床生裝備高精度的探針去探測(cè)工件外輪廓的有限個(gè)點(diǎn),得到對(duì)應(yīng)位置的變形量。圖2封閉曲線是工件的輪廓,黑點(diǎn)是探測(cè)位置。圖3是探測(cè)點(diǎn)的變形數(shù)據(jù)。
圖2 探針探點(diǎn)位置
圖3 探針探測(cè)值
1.2 建立徑向基函數(shù)模型
得到變形數(shù)據(jù)后,通過(guò)建立徑向基函數(shù)模型來(lái)對(duì)整個(gè)刀路中未經(jīng)探測(cè)的點(diǎn)進(jìn)行預(yù)測(cè),補(bǔ)償校正,實(shí)現(xiàn)跟隨,這是本文的重點(diǎn)。
2.1 模型的選擇
數(shù)學(xué)建模有兩種類(lèi)型可選:一是樣條插值,即插值曲線是由分段的函數(shù)組成,每一段都有各自的系數(shù),比如線性樣條、akima樣條、cubic樣條、hermite樣條等,最常用的就是cubic樣條。用樣條來(lái)擬合的好處是結(jié)構(gòu)簡(jiǎn)單容易實(shí)現(xiàn),但邊界需要仔細(xì)處理,不同的邊界類(lèi)型,曲線的形狀會(huì)不同,其次就是某些類(lèi)型的樣條會(huì)有振蕩問(wèn)題,如圖4所示,另外NC刀路的輪廓是封閉,而常規(guī)的樣條函數(shù)要求曲線是單調(diào),除非對(duì)NC的輪廓做必要的改變,比如展開(kāi)并且投影到X軸上,如此處理回收模型變得非常復(fù)雜,因此不選用樣條函數(shù)來(lái)建模。
圖4 樣條的局部振蕩
另一類(lèi)是徑向基函數(shù)插值。函數(shù)在某輸入點(diǎn)x的值是由各個(gè)基函數(shù)在x處的值疊加,如圖2,跟B樣條有些類(lèi)似,但B樣條除了疊加,還要乘上控制向量的值,并且兩者的基函數(shù)不同。徑向基函數(shù)插值可以通過(guò)不同λ值(正則系數(shù)或者懲罰系數(shù))來(lái)改變插值精度,避免過(guò)擬合并提高預(yù)測(cè)能力,如圖5所示。如果徑向基函數(shù)的類(lèi)型是高斯函數(shù),用C/C++語(yǔ)言實(shí)現(xiàn)起來(lái)相當(dāng)方便,因此選用徑向基函數(shù)插值來(lái)處理。
圖5 懲罰系數(shù)的影響
2.2 徑向基函數(shù)的特性及其求解
圖5和圖6是用Gaussian函數(shù)g(x)=e-(x-x0)2進(jìn)行插值的示意。插值過(guò)程,就是用一系列位于不同位置(這里的位置對(duì)應(yīng)探針的探測(cè)點(diǎn)位置)的Gauss函數(shù)疊加,得到一個(gè)函數(shù),該函數(shù)過(guò)給定的樣本點(diǎn)。常用的徑向基函數(shù)有以下一些:
圖6 徑向基函數(shù)疊加插值
這里選Gaussian型函數(shù)。g(x)=e-(x-x0)2是一個(gè)一元Gaussian型徑向基函數(shù),φ(X)=e-‖X-X0‖2是多元Gauss型徑向基函數(shù),用φ(‖X-Xi‖)表示,其中X,Xi∈Rm0,φ(X)∈R1.于是,用徑向基函數(shù)進(jìn)行插值得到的多元近似函數(shù)可以一般地表示為:F
(X)∈R1可以看成是(m0+1)維空間上的一個(gè)曲面。圖7所示。
圖7 徑向基函數(shù)插值曲面
用N個(gè)徑向基函數(shù)(N等于探針探點(diǎn)個(gè)數(shù))對(duì)樣本所表示的未知函數(shù)進(jìn)行插值。用φi(‖X-Xi‖)表示Xi探針點(diǎn)的徑向基函數(shù),而該函數(shù)在Xj點(diǎn)的取值表示為:φji(‖Xj-Xi‖),于是,插值函數(shù)應(yīng)該滿足:
Φ為系數(shù)矩陣,通過(guò)把探點(diǎn)數(shù)據(jù)代入φ(‖X-Xi‖)得到,D是探點(diǎn)數(shù)據(jù)組成的向量,W就是所求的系數(shù)向量。得到W后,把NC刀路上每個(gè)點(diǎn)X代入(1)式,就可得到該點(diǎn)的預(yù)測(cè)修正量。如果加入正則項(xiàng)λ,對(duì)應(yīng)的求解公式為(G+λ·I)·W=d,G是Φ格林函數(shù),如果徑向基函數(shù)采用用高斯函數(shù),兩者是等價(jià)的。接下來(lái)是求解各個(gè)基函數(shù)系數(shù)。
2.3 在數(shù)控系統(tǒng)中的應(yīng)用
盡管求解各基函數(shù)系數(shù)的過(guò)程比較復(fù)雜,但可以通過(guò)現(xiàn)有的算法來(lái)解決。
(1)直接求解kernel ridge regression問(wèn)題(結(jié)構(gòu)簡(jiǎn)單,但涉及到矩陣運(yùn)算);
(2)支持向量機(jī)(Support Vector Machine)算法。
這兩種方法形式很相似,只是Loss函數(shù)不同,前者是Square Loss(L2范數(shù)),后者是Hinge Loss(L1范數(shù)),這里選用支持向量機(jī)SVM,網(wǎng)上已經(jīng)有了開(kāi)源的C語(yǔ)言版算法包,很容易嵌入到PC-Base類(lèi)型的數(shù)控系統(tǒng)當(dāng)中。SVM常用于模式分類(lèi)中,但同樣可以用于插值和預(yù)測(cè)。SVM通過(guò)輸入樣本,篩選出一定數(shù)量支撐向量,來(lái)構(gòu)造出一張擬合(或分類(lèi))曲面,如圖7所示,只要SVM選取徑向基函數(shù)作核函數(shù),選取合理的gamma值,就可以得到所需的效果。
在實(shí)際加工中,先以原始若干個(gè)三維探測(cè)坐標(biāo)值(x,y,z)作為參考去探測(cè)工件輪廓,再把測(cè)到的三個(gè)方向補(bǔ)償值(dx,dy,dz)作為目標(biāo)值,作為訓(xùn)練樣本一次性輸入到SVM中,最終得到三張擬合曲面,可以通過(guò)它們來(lái)預(yù)測(cè)輸入點(diǎn)三個(gè)方向的補(bǔ)償值,并根據(jù)需要生成一個(gè)新的文件。由于高斯是連續(xù)可導(dǎo),并且形狀可以通過(guò)gamma值來(lái)控制,擬合精度可以通過(guò)λ值來(lái)控制,λ決定擬合曲面是否過(guò)輸入點(diǎn),因此擬合曲面可以做到相當(dāng)平滑,SVM是通過(guò)LIBSVM來(lái)實(shí)現(xiàn),可以瞬間完成訓(xùn)練。現(xiàn)在已經(jīng)把SVM的源碼成功嵌入到本人所在公司的CNC系統(tǒng)當(dāng)中,執(zhí)行效率也要相當(dāng)高,SVM的訓(xùn)練過(guò)程也只需數(shù)毫秒,而對(duì)輸入坐標(biāo)的預(yù)測(cè)也要在1 ms內(nèi)完成,在工廠的加工效果令人滿意,如圖8.以下是用C++實(shí)現(xiàn)的建模和預(yù)測(cè)的部分程序代碼。
圖8 刀路跟隨的加工效果
int CCtrl::AddPathCapTabledata(short ptNums,short group)//模型訓(xùn)練函數(shù)
{...
for(int i=0;i { //探測(cè)位置 xpos[i]=m_cptPts[i].pos[0]; ypos[i]=m_cptPts[i].pos[1]; zpos[i]=m_cptPts[i].pos[2]; //探測(cè)位置對(duì)應(yīng)的補(bǔ)償值 dx[i]=m_cptPts[i].cptValue[0]; dy[i]=m_cptPts[i].cptValue[1]; dz[i]=m_cptPts[i].cptValue[2]; } m_RBFModel.SetSampleNum(ptNums);//設(shè)置樣本個(gè)數(shù) m_RBFModel.Train(xpos,ypos,zpos,dx,dy,dz);//訓(xùn)練模型 ... } int CCtrl::addToBuf(char*p) {// ... x=m_compileData.OutData('X');//先取出刀路上的點(diǎn) y=m_compileData.OutData('Y'); z=m_compileData.OutData('Z'); gp_Pnt pt(x,y,z); gp_Pnt dv(0,0,0); m_RBFModel.Calc(pt,dv);//用模型修正刀路上的每個(gè)點(diǎn) x+=dv.x;m_compileData.InData('X',x);//把修正后的點(diǎn)壓回去 y+=dv.y;m_compileData.InData('Y',y); z+=dv.z;m_compileData.InData('Z',z); ... } 徑向基函數(shù)模型可以通過(guò)兩種方式來(lái)對(duì)NC代碼的跟隨,一種是離線式,通過(guò)外置的計(jì)算機(jī)生成一個(gè)新的NC文件覆蓋原文件,需要外置的計(jì)算機(jī)跟數(shù)控系統(tǒng)通訊,另一種是集成式,徑向基函數(shù)模塊以類(lèi)庫(kù)的形式集成到是數(shù)控系統(tǒng)里,PC-Base類(lèi)型的數(shù)控系統(tǒng)很容易實(shí)現(xiàn),圖9是徑向基函數(shù)刀路跟隨的具體流程。 圖9 徑向基函數(shù)刀路跟隨流程 基于徑向基函數(shù)的刀路跟隨可以大幅降低對(duì)數(shù)控系統(tǒng)高級(jí)功能模塊的依賴(lài),降低NC代碼的復(fù)雜度,執(zhí)行效率高,容易集成到數(shù)控系統(tǒng)當(dāng)中,該方案已經(jīng)在某著名代工廠的生產(chǎn)線上大量應(yīng)用,加工效率和產(chǎn)品的良率都得到提高。 [1]機(jī)器學(xué)習(xí)實(shí)踐Machine learning in action[M]/(美)哈靈頓(Harrington,P.)(2013)ISBN 978-7-115-31795-7. [2]Buhmann,Martin D.(2003),Radial Basis Functions:Theo ry and Implementations[M].Cambridge University Press,ISB N 978-0-521-63338-3. [3]Chang,Chih-Chung;Lin,Chih-Jen(2011).LIBSVM:A li brary for support vectormachines[Z]. ToolPath Follow ing Bases on RadialBasis Function LIBing-rui Themain factors affecting the 3C shell high brightness chamfered edge process yield is to highlight the edge is uniform,because the shell rigidity is low,after clamping inevitably appear small deformation,resulting in uneven waste generated chamfered edge.In view of this problem is due to the deformation caused by themeasurement of workpiece contour,probes some points on the obtained deformation,through support vector machine to establish a prediction model of radial basis function,each fixed knife on the road,realize the tool path on the deformation follow,significant effect. chamfering;deformation;radial basis function;toolpath follow;support vectormachine TP181 A 1672-545X(2017)04-0114-04 2017-01-19 李炳銳(1982-),男,廣東江門(mén)人,工程師,本科,主要從事數(shù)控系統(tǒng),機(jī)器視覺(jué)的開(kāi)發(fā)工作。3 徑向基函數(shù)刀路跟隨的執(zhí)行流程
4 結(jié)束語(yǔ)
(Guangdong Kejie Machinery Automation Co.,Ltd.,Jiangmen Guangdong 529000,China)