付會(huì)凱,吳 蘭
(1.新鄉(xiāng)學(xué)院機(jī)電工程學(xué)院,河南 新鄉(xiāng) 453003;2.河南工業(yè)大學(xué)電氣工程學(xué)院,河南 鄭州 450007)
數(shù)控機(jī)床誤差獲取方法主要包含單項(xiàng)誤差獲取和對(duì)角線誤差信息獲取。大型數(shù)控銑床誤差至少還有39項(xiàng),而大型數(shù)控銑床轉(zhuǎn)動(dòng)軸聯(lián)動(dòng)誤差則高達(dá)75 項(xiàng)。如果選取單誤差信息獲取方法,需要針對(duì)銑床轉(zhuǎn)動(dòng)軸進(jìn)行標(biāo)定以及校準(zhǔn),這樣導(dǎo)致人力和物力大幅度增加。
同時(shí),由于數(shù)據(jù)采集間隔較長(zhǎng),各項(xiàng)誤差的隨機(jī)性也會(huì)對(duì)數(shù)控銑床中數(shù)據(jù)的一致性以及相關(guān)性產(chǎn)生影響,使數(shù)據(jù)的有效性大幅度降低。最重要的一點(diǎn)為,大型數(shù)控銑床轉(zhuǎn)動(dòng)軸聯(lián)動(dòng)誤差的變化無(wú)法直接映射到加工誤差上,甚至兩者的變化是相反的。為了更好地解決上述問(wèn)題,相關(guān)專家給出一些較好的研究成果,例如文獻(xiàn)[3]主要通過(guò)基于球桿儀和R-test裝置獲取大型數(shù)控銑床轉(zhuǎn)動(dòng)軸聯(lián)動(dòng)誤差信息;文獻(xiàn)[4]通過(guò)D-H 法構(gòu)建大型數(shù)控銑床運(yùn)動(dòng)學(xué)模型,結(jié)合模型獲取刀心位置輪廓誤差和刀軸方向輪廓誤差產(chǎn)生的規(guī)律,以實(shí)現(xiàn)誤差信息獲取。
以上方法雖然取得了較好的研究成果,但是由于未考慮大型數(shù)控銑床轉(zhuǎn)動(dòng)軸誤差測(cè)試點(diǎn)的分布問(wèn)題,導(dǎo)致誤差信息獲取準(zhǔn)確率下降,耗時(shí)增加。為了有效解決上述問(wèn)題,提出一種大型數(shù)控銑床轉(zhuǎn)動(dòng)軸聯(lián)動(dòng)誤差信息獲取方法。仿真實(shí)驗(yàn)結(jié)果表明,所提方法不僅能夠有效減少耗時(shí),還能增加誤差信息獲取準(zhǔn)確率。
大型數(shù)控銑床能夠劃分為三種類型[5],分別為:
(1)工作臺(tái)回轉(zhuǎn)式;
(2)主軸回轉(zhuǎn)式;
(3)混合式。
在一個(gè)三維空間中的點(diǎn)M,它在坐標(biāo)系U(OU-xUyU zU)中的坐標(biāo)為Ur,它在坐標(biāo)系V(OV-xVyV zV)中的坐標(biāo)系為Vr,其中兩個(gè)坐標(biāo)系中的關(guān)系能夠表示為以下的形式[6]:
設(shè)定[r,1]代表齊次坐標(biāo),齊次坐標(biāo)變換矩陣的結(jié)構(gòu)能夠表示為以下的形式:
利用式(3)給出齊次坐標(biāo)變換的具體表達(dá)式:
大型數(shù)控銑床的轉(zhuǎn)動(dòng)軸[7-8]的平移運(yùn)動(dòng)能夠劃分為沿著X、Y、Z軸的基本平移運(yùn)動(dòng)。設(shè)定坐標(biāo)系Oi-xiyi zi需要沿著X、Y、Z軸分別平移,獲取全新的坐標(biāo)系Oj-xjyjzj,則三個(gè)齊次坐標(biāo)變換矩陣能夠表示為:
設(shè)定坐標(biāo)系Oi-xiyi zi繞X、Y、Z軸分別旋轉(zhuǎn)αji、βji、γji獲取的坐標(biāo)系Oj-xjyjzj,則三個(gè)齊次坐標(biāo)變換矩陣分別為:
假設(shè)坐標(biāo)系Oj-xjyjzj需要沿著X-Y-Z平動(dòng),然后繞著Z-Y-X轉(zhuǎn)動(dòng),獲取全新的坐標(biāo)系Oj-xjyjzj,則Oj-xjyjzj到Oi-xiyi zi的齊次變換矩陣[9]為:
另外,當(dāng)x、y、z、α、β、γ的取值較小時(shí),以上公式能夠簡(jiǎn)化為:
大型數(shù)控銑床轉(zhuǎn)動(dòng)軸聯(lián)動(dòng)誤差的概念能夠方便描述不同銑床轉(zhuǎn)動(dòng)軸的相對(duì)位置[10-11]和對(duì)應(yīng)姿態(tài)的裝配精度。通常情況下,誤差均被采用常量進(jìn)行替換[12]。
當(dāng)大型數(shù)控銑床轉(zhuǎn)動(dòng)軸聯(lián)動(dòng)過(guò)程中,由于受到多方面因素的影響,導(dǎo)致坐標(biāo)系中轉(zhuǎn)動(dòng)軸線的位置實(shí)時(shí)發(fā)生改變。在任何時(shí)間段內(nèi),全部的大型數(shù)控銑床轉(zhuǎn)動(dòng)軸聯(lián)動(dòng)誤差均能夠抽象為竄動(dòng)或者是徑向移動(dòng)。
為了進(jìn)一步簡(jiǎn)化模型,設(shè)定理想運(yùn)動(dòng)前期C軸坐標(biāo)系和數(shù)控銑床坐標(biāo)系原點(diǎn)重合且方向一直,則圍繞C軸的Z向旋轉(zhuǎn)φ時(shí),則C坐標(biāo)系相對(duì)于大型數(shù)控銑床中的齊次坐標(biāo)變換矩陣為:
基坐標(biāo)系通常情況下,設(shè)定于大型數(shù)控銑床上的一個(gè)參考系。以下將大型數(shù)控銑床轉(zhuǎn)動(dòng)軸作為研究對(duì)象,組建基坐標(biāo)系R,然后在X、Y、Z軸上構(gòu)建局部坐標(biāo)系,將兩個(gè)坐標(biāo)系的方向保持一致。同時(shí)為了降低整個(gè)方法的計(jì)算復(fù)雜度,需要將基坐標(biāo)系的原點(diǎn)設(shè)定為數(shù)控銑床的零點(diǎn)[13],同時(shí)各個(gè)坐標(biāo)系的原點(diǎn)也位于數(shù)控銑床的零點(diǎn)位置。
當(dāng)大型數(shù)控銑床轉(zhuǎn)動(dòng)軸存在誤差,則需要將變換矩陣設(shè)定為理想運(yùn)動(dòng)基礎(chǔ)上的一個(gè)誤差運(yùn)動(dòng)模型,即:
BP神經(jīng)網(wǎng)絡(luò)主要是由三個(gè)部分組成,分別為:
(1)輸入層;
(2)隱含層;
(3)輸出層。
在輸出層主要通過(guò)網(wǎng)絡(luò)輸出和期望輸出計(jì)算信息獲取誤差[14]。
BP神經(jīng)網(wǎng)絡(luò)通過(guò)初始化參數(shù)計(jì)算隱含層的輸出值H:
通過(guò)輸入訓(xùn)練數(shù)據(jù)的BP神經(jīng)預(yù)測(cè)輸出,具體的計(jì)算公式為:
在上述分析的基礎(chǔ)上,研究大型數(shù)控銑床轉(zhuǎn)動(dòng)軸誤差測(cè)試點(diǎn)的各個(gè)分布方案,采用基于隨機(jī)概率的SOM神經(jīng)網(wǎng)絡(luò)分類算法對(duì)各個(gè)測(cè)試點(diǎn)進(jìn)行優(yōu)化。將大型數(shù)控銑床轉(zhuǎn)動(dòng)軸誤差測(cè)試點(diǎn)的輸入以及輸出作為訓(xùn)練數(shù)據(jù),同時(shí)結(jié)合MATLAB軟件編寫B(tài)P神經(jīng)網(wǎng)絡(luò)的大型數(shù)控銑床轉(zhuǎn)動(dòng)軸誤差獲取模型。為了有效提升輸入數(shù)據(jù)的典型性以及網(wǎng)絡(luò)的泛化能力,需要針對(duì)隨機(jī)亂碼進(jìn)行排序,即:
節(jié)點(diǎn)傳遞函數(shù)的選擇會(huì)對(duì)整個(gè)網(wǎng)絡(luò)的獲取正確性產(chǎn)生較大的影響,其中輸出層函數(shù)主要選用tansig或者purelin函數(shù)。
其中徑向基神經(jīng)網(wǎng)絡(luò)的激勵(lì)函數(shù)表達(dá)式為:
采用神經(jīng)網(wǎng)絡(luò)對(duì)不同測(cè)試點(diǎn)進(jìn)行優(yōu)化處理,即:
在上述基礎(chǔ)上,組建大型數(shù)控銑床轉(zhuǎn)動(dòng)軸聯(lián)動(dòng)誤差信息獲取模型,即:通過(guò)模型有效獲取大型數(shù)控銑床轉(zhuǎn)動(dòng)軸聯(lián)動(dòng)誤差信息。
為了驗(yàn)證所提大型數(shù)控銑床轉(zhuǎn)動(dòng)軸聯(lián)動(dòng)誤差信息獲取方法的有效性,在Corei7-7700HQ、16G 內(nèi)存、64 位Win10 系統(tǒng),代碼采用Pycharm編寫環(huán)境下進(jìn)行仿真實(shí)驗(yàn)測(cè)試。
以下實(shí)驗(yàn)重點(diǎn)測(cè)試五個(gè)不同項(xiàng)目的誤差信息獲取準(zhǔn)確率,選取文獻(xiàn)[3]方法和文獻(xiàn)[4]方法作為對(duì)比方法,選擇五組實(shí)驗(yàn),分別為A、B、C、D、E,通過(guò)與真實(shí)數(shù)據(jù)進(jìn)行對(duì)比,獲得不同方法的實(shí)驗(yàn)結(jié)果,如圖1所示。
圖1 不同方法的誤差信息獲取準(zhǔn)確率對(duì)比Fig.1 Comparison of Error Information Acquisition Accuracy of Different Methods
分析圖1中的實(shí)驗(yàn)數(shù)據(jù)可知,在相同條件下,由于所提方法有效解決了大型數(shù)控銑床轉(zhuǎn)動(dòng)軸誤差測(cè)試點(diǎn)的分布問(wèn)題,促使其能夠準(zhǔn)確獲取誤差信息,同時(shí)準(zhǔn)確率也得到有效提升,具有較為明顯的優(yōu)勢(shì)。
為了更進(jìn)一步驗(yàn)證所提方法的優(yōu)越性,以下實(shí)驗(yàn)測(cè)試對(duì)比不同方法的誤差信息獲取耗時(shí),具體實(shí)驗(yàn)對(duì)比結(jié)果,如表1所示。
表1 不同方法的誤差信息獲取耗時(shí)Tab.1 Time-Consuming Obtaining Error Information From Different Methods
分析表1中的實(shí)驗(yàn)數(shù)據(jù)可知,相比另外兩種方法,所提方法的耗時(shí)明顯更低一些,這主要是因?yàn)樗嵊行Ы鉀Q了大型數(shù)控銑床轉(zhuǎn)動(dòng)軸誤差測(cè)試點(diǎn)的分布問(wèn)題,使所提方法能夠在各個(gè)測(cè)試點(diǎn)獲取對(duì)應(yīng)的誤差信息,避免不必要的時(shí)間浪費(fèi),整個(gè)方法整體的耗時(shí)也就隨之下降。
在此基礎(chǔ)上,與真實(shí)數(shù)據(jù)對(duì)比,獲得漏檢數(shù)據(jù)量,并與總數(shù)據(jù)量進(jìn)行相比,獲得誤差信息獲取漏檢率結(jié)果,如圖2所示。
圖2 漏檢率對(duì)比結(jié)果Fig.2 Comparison of Missed Detection rates
三種方法的誤差信息獲取的漏檢率均較低,隨著實(shí)驗(yàn)次數(shù)的增加,差別有所明顯,所提方法的誤差信息獲取的漏檢率最高只有3%,而文獻(xiàn)[3]方法和文獻(xiàn)[4]方法的誤差信息獲取的漏檢率最高為7%和5%,說(shuō)明所提方法的誤差信息獲取效果較好。
針對(duì)傳統(tǒng)方法存在的一系列問(wèn)題,設(shè)計(jì)并提出一種大型數(shù)控銑床轉(zhuǎn)動(dòng)軸聯(lián)動(dòng)誤差信息獲取方法。(1)所提方法誤差信息獲取準(zhǔn)確率在96%以上,具有較為明顯的優(yōu)勢(shì);(2)所提方法誤差信息獲取耗時(shí)都低于傳統(tǒng)方法,說(shuō)明所提出的方法可以在每個(gè)測(cè)試點(diǎn)獲得相應(yīng)的錯(cuò)誤信息,避免了不必要的時(shí)間浪費(fèi),提高了誤差信息獲取效率;(3)在漏檢率方面,所提方法最高只有3%,說(shuō)明所提方法具有較高的實(shí)際應(yīng)用性;(4)但是由于時(shí)間以及環(huán)境等多方面因素的限制,導(dǎo)致所提方法仍然存在一定的不足,后續(xù)將進(jìn)一步對(duì)所提方法進(jìn)行完善。