王妮娜, 張廣鵬, 宋開文, 黃玉美
(西安理工大學(xué) 機(jī)械與精密儀器工程學(xué)院, 陜西 西安 710048)
非線性誤差是五軸聯(lián)動(dòng)數(shù)控加工過(guò)程中普遍存在的問(wèn)題,其產(chǎn)生的原因是五軸聯(lián)動(dòng)數(shù)控系統(tǒng)不是連續(xù)軌跡控制,而是離散點(diǎn)位控制,CAM軟件生成的刀位文件是根據(jù)加工精度要求,將自由曲線離散成微小直線段,但是由于五軸數(shù)控機(jī)床旋轉(zhuǎn)軸(如工作臺(tái)旋轉(zhuǎn)或刀具擺動(dòng))的加入,實(shí)際加工過(guò)程中相鄰刀位點(diǎn)之間的軌跡是空間曲線而不是直線,從而造成了非線性誤差,因此,對(duì)多軸聯(lián)動(dòng)數(shù)控加工需要進(jìn)行非線性誤差的分析和補(bǔ)償[1-4]。
五軸聯(lián)動(dòng)機(jī)床結(jié)構(gòu)復(fù)雜,種類較多,目前基本上都是在三軸機(jī)床基礎(chǔ)上再添加兩個(gè)旋轉(zhuǎn)軸,機(jī)床配備的控制系統(tǒng)也不盡相同,以CAE或CAD軟件自帶的后處理系統(tǒng)生成的刀位文件不一定能直接用于數(shù)控加工當(dāng)中[5],需要借助后置處理系統(tǒng)將刀位軌跡文件轉(zhuǎn)換成特定機(jī)床所能識(shí)別的數(shù)控加工代碼[6],因此,后置處理在多軸聯(lián)動(dòng)機(jī)床加工中具有重要的作用。
本文以自主研發(fā)的小型立式五軸聯(lián)動(dòng)加工機(jī)床為例,分析其在加工過(guò)程中存在的非線性誤差,并給出了補(bǔ)償算法,用MATLAB開發(fā)了專用的后處理器,以某眼鏡片修緣加工為例,驗(yàn)證了誤差分析的合理性和后置處理的有效性。
本機(jī)床床身、立柱采用人造花崗巖整體鑄造,具有熱穩(wěn)定性好、抗振性好等優(yōu)勢(shì);直線導(dǎo)軌選用THK公司生產(chǎn)的SHS-C標(biāo)準(zhǔn)型滾動(dòng)導(dǎo)軌;滾珠絲杠采用THK公司生產(chǎn)的BNK型零級(jí)絲杠,并采用一端固定、一端簡(jiǎn)支的支承方式;三個(gè)直線軸采用日本安川電機(jī),其中X、Y軸為SGMJV-04A3A21型,Z軸為SGMJV-04A3A2C型,并帶有制動(dòng)器;直線光柵尺采用英國(guó)Renishaw公司的RELM型RGH22,分辨率達(dá)20 nm。
回轉(zhuǎn)軸采用日本安川公司SGMCS-10C3C41型力矩電機(jī)直接驅(qū)動(dòng),沒(méi)有中間傳動(dòng)環(huán)節(jié),編碼器精度為6arcsec。
主軸是機(jī)床的關(guān)鍵,直接影響到工件的加工質(zhì)量。考慮到所使用刀具直徑較小,因此選用日本NAKANISHI公司型號(hào)為Xpeed1200的氣浮主軸,最大轉(zhuǎn)速為120 000 r/min。
機(jī)床在X、Y、Z軸的行程分別為150 mm、150 mm和100 mm,雙向定位精度分別為2.1 μm、2.1 μm和1.4 μm;雙向重復(fù)定位精度分別為1.1 μm、0.8 μm、0.7 μm。該五軸聯(lián)動(dòng)機(jī)床去掉罩殼后如圖1所示。
圖1 自主研發(fā)的五軸聯(lián)動(dòng)機(jī)床Fig.1 Independent research and development of five-axis linkage machine tool
非線性誤差與機(jī)床的運(yùn)動(dòng)學(xué)解析有關(guān),也就是與機(jī)床的具體結(jié)構(gòu)相關(guān)。以本文開發(fā)的含B、C軸的立式五軸聯(lián)動(dòng)數(shù)控機(jī)床為例,分析其非線性誤差。
五軸聯(lián)動(dòng)數(shù)控機(jī)床的非線性誤差包括兩部分:直線逼近誤差δt和刀軸擺動(dòng)誤差δn,如圖2所示。本文就以平底立銑刀加工為例,進(jìn)行非線性誤差的分析。
圖2 加工誤差分析示意圖Fig.2 Processing error analysis diagram
依據(jù)微分幾何關(guān)系,直線逼近誤差可用下式近似表示[4]:
(1)
式中,k為直線逼近段內(nèi)曲面沿進(jìn)給方向的法曲率;S為直線逼近段的弧長(zhǎng),可以用弦長(zhǎng)近似表示。
刀軸擺動(dòng)誤差是由于刀軸矢量擺動(dòng)引起的非線性誤差。由于五軸數(shù)控機(jī)床采用的是線性插補(bǔ)的方式,故插補(bǔ)段內(nèi)刀心線是連接Oi-1和Oi+1的直線,Oi為刀心線上任意一點(diǎn),其縱坐標(biāo)表達(dá)式為:
yi-1+Rsinαi-1
(2)
切觸點(diǎn)的軌跡方程為:
(3)
y對(duì)x求導(dǎo),可得一階導(dǎo)數(shù)和二階導(dǎo)數(shù)方程式:
(4)
(5)
由式(5)可以看出,當(dāng)αi>0,y″>0時(shí),切觸點(diǎn)的軌跡為凹曲線,反之為凸曲線,令y′=0,可得極值條件為:
(6)
由式(6)可以看出,最大值位于插補(bǔ)段的中點(diǎn)附近。其值為:
(7)
(8)
非線性誤差為:
δ=δt+δn
(9)
通過(guò)式(9)可以計(jì)算最大非線性誤差的大小。
2.2.1非線性誤差簡(jiǎn)化模型
由于上述非線性誤差模型較為復(fù)雜,進(jìn)行補(bǔ)償時(shí)不太方便,由式(8)可知,當(dāng)?shù)盾壿^密時(shí),刀軸矢量的變化不大,即αi-1、αi+1相差很小。因此,忽略刀軸擺動(dòng)誤差,利用直線逼近誤差代替非線性誤差,采用簡(jiǎn)單誤差模型對(duì)非線性誤差進(jìn)行補(bǔ)償,模型建立過(guò)程如下:
設(shè)(P0,U0)、(P1,U1)為相鄰刀位點(diǎn),刀位點(diǎn)坐標(biāo)由位置坐標(biāo)Pw(px,py,pz)和刀軸方向坐標(biāo)Uw(ax,ay,az)組成。當(dāng)對(duì)五軸數(shù)控機(jī)床進(jìn)行插補(bǔ)計(jì)算時(shí),各軸實(shí)際合成軌跡為P(t),該空間曲線與CAM規(guī)劃的理想直線軌跡PL(t)發(fā)生偏移,兩者之間最大的偏移量εmax可近似作為最大線性誤差值,刀具的簡(jiǎn)化模型如圖3所示。
圖3 相鄰刀位點(diǎn)非線性誤差簡(jiǎn)化求解模型Fig.3 Adjacent cutter locus simplification solving nonlinear error model
以時(shí)間t為參數(shù),假設(shè)CAM軟件中生成的理想刀位軌跡PL(t)的單位矢量為a,實(shí)際插補(bǔ)軌跡上任意一點(diǎn)到該直線的距離為ε(t),則
a=(P1-P0)/|P1-P0|
(10)
ε(t)=|P(t)-{P0+[(P(t)-P0)a]a}|
(11)
對(duì)式(11)進(jìn)行求導(dǎo),并求出導(dǎo)數(shù)為零時(shí)的ts值。此時(shí)ε(t)取得最大值,則最大非線性誤差計(jì)算公式為:
εmax=|P(ts)-{P0+[(P(ts)-P0)a]a}|
(12)
結(jié)合機(jī)床運(yùn)動(dòng)變換公式,即可求出最大線性誤差的具體數(shù)值。
2.2.2非線性誤差補(bǔ)償算法
經(jīng)過(guò)2.1節(jié)的論證,非線性誤差的最大值發(fā)生在刀位點(diǎn)的中點(diǎn)附近。因此,本文采用中點(diǎn)插值法進(jìn)行非線性誤差補(bǔ)償。首先計(jì)算插補(bǔ)段中點(diǎn)處的非線性誤差大小,將它與誤差允許值[ε]作比較,若不滿足要求,則在該程序段的中點(diǎn)處插入新的刀位點(diǎn)(Pi,Ui),以減小非線性誤差,其中[7,8]:
(13)
(14)
再次校驗(yàn)(P0,U0)和(Pi,Ui)以及(Pi,Ui)和(P1,U1)之間的非線性誤差大小,若仍不符合精度要求,繼續(xù)插入新的刀位點(diǎn),直至符合要求。具體流程圖如圖4所示。
圖4 非線性誤差控制流程圖Fig.4 Nonlinear error control flow chart
根據(jù)以上思路進(jìn)行非線性誤差控制,仿真效果如圖5所示。
圖5 非線性誤差補(bǔ)償Fig.5 The nonlinear error compensation
后置處理的主要功能是將刀具在工件坐標(biāo)系中運(yùn)動(dòng)時(shí)的刀位軌跡數(shù)據(jù)轉(zhuǎn)化為機(jī)床識(shí)別的加工代碼,因此要對(duì)刀軸矢量和機(jī)床坐標(biāo)值進(jìn)行推理計(jì)算。
本文的五軸聯(lián)動(dòng)數(shù)控機(jī)床具有兩個(gè)運(yùn)動(dòng)鏈,即刀具側(cè)運(yùn)動(dòng)鏈和工作臺(tái)側(cè)運(yùn)動(dòng)鏈,其機(jī)床運(yùn)動(dòng)學(xué)方程為:
0Tt=0Tw·wTt
(15)
式中,0Tt為刀具刀心位置相對(duì)于機(jī)床坐標(biāo)原點(diǎn)的坐標(biāo)變換矩陣,由機(jī)床結(jié)構(gòu)確定;0Tw為工件坐標(biāo)系原點(diǎn)相對(duì)于機(jī)床坐標(biāo)系原點(diǎn)的坐標(biāo)變換矩陣,由機(jī)床結(jié)構(gòu)確定;wTt為刀具刀心位置相對(duì)于工件坐標(biāo)系原點(diǎn)的坐標(biāo)變換矩陣,由刀具和加工表面的相對(duì)位置確定。直角型機(jī)床運(yùn)動(dòng)學(xué)模型如圖6所示。
圖6 直角型機(jī)床運(yùn)動(dòng)學(xué)模型Fig.6 Right angle type machine kinematics model
建立機(jī)床五個(gè)運(yùn)動(dòng)軸的坐標(biāo)系,設(shè)坐標(biāo)系O1X1Y1Z1、O2X2Y2Z2、O3X3Y3Z3、O4X4Y4Z4、O5X5Y5Z5分別為Y、X、C、Z、B軸坐標(biāo)系,O0X0Y0Z0為基坐標(biāo)系,OTXTYTZT為機(jī)床工作臺(tái)坐標(biāo)系,OwXwYwZw為工件坐標(biāo)系,Cp為B軸末端的旋轉(zhuǎn)運(yùn)動(dòng);刀心和刀軸矢量在工件坐標(biāo)系下的坐標(biāo)分別為(x0,y0,z0)、(ax,ay,az);L為B軸擺動(dòng)中心與刀尖點(diǎn)之間的距離;將刀軸矢量轉(zhuǎn)化為刀具相對(duì)于工件的轉(zhuǎn)動(dòng)或擺動(dòng),求得B、C軸的旋轉(zhuǎn)角度β和γ,考慮以下兩種情況:
1) 刀軸矢量繞Z軸順時(shí)針旋轉(zhuǎn)到XOZ正半平面上,如圖7所示。對(duì)于任意刀軸矢量可以繞Z軸順時(shí)針旋轉(zhuǎn)γ角度轉(zhuǎn)到Y(jié)OZ正半平面上,再繞Y軸順時(shí)針旋轉(zhuǎn)β角度,最終保證刀軸矢量與Z軸方向一致。
圖7 刀軸矢量繞Z軸順時(shí)針旋轉(zhuǎn)Fig.7 Cutter axis vector around the Z axis clockwise
將刀軸矢量轉(zhuǎn)化為刀具相對(duì)于工件的轉(zhuǎn)動(dòng)或擺動(dòng)。則β和γ求解為:
(16)
(17)
2) 刀軸矢量繞Z軸逆時(shí)針旋轉(zhuǎn)到XOZ負(fù)半平面上,如圖8所示。對(duì)于任意刀軸矢量可以繞Z軸逆時(shí)針旋轉(zhuǎn)γ角度轉(zhuǎn)到Y(jié)OZ正半平面上,再繞Y軸逆時(shí)針旋轉(zhuǎn)β角度,最終保證刀軸矢量與Z軸方向一致。
圖8 刀軸矢量繞Z軸逆時(shí)針旋轉(zhuǎn)Fig.8 Cutter axis vector around the Z axis counterclockwise
β和γ求解為:
(18)
(19)
由機(jī)床的位姿運(yùn)動(dòng)學(xué)方程式得:
0Tt=0T4·4T5·5Tt
(20)
0Tw=0T1·1T2·2T3·3Tw
(21)
wTt在刀位文件信息中已經(jīng)給出,故根據(jù)式(15)矩陣相等,可以求出五軸數(shù)控機(jī)床三個(gè)直線軸的刀心運(yùn)動(dòng)量x、y、z,即:
(22)
(23)
后置處理的主要任務(wù)就是將前置處理生成的刀位文件信息轉(zhuǎn)換為數(shù)控機(jī)床可以識(shí)別的指令模式,將后置處理算法和插補(bǔ)算法應(yīng)用于后置處理器中,生成數(shù)控加工程序。
本文首先在UG軟件中生成加工的標(biāo)準(zhǔn)刀位文件,對(duì)比刀位文件和數(shù)控加工程序中G代碼的格式,發(fā)現(xiàn)兩者之間具有某種對(duì)應(yīng)關(guān)系。將兩者之間的對(duì)應(yīng)關(guān)系和誤差補(bǔ)償算法集成于后置處理器中。采用MATLAB的GUI模塊,開發(fā)了該機(jī)床的后置處理器。表1為部分刀位文件和數(shù)控加工程序的對(duì)應(yīng)關(guān)系。圖9為開發(fā)的后置處理器主界面,圖10為參數(shù)設(shè)置界面。
表1 刀位文件指令和數(shù)控程序指令對(duì)應(yīng)關(guān)系表Tab.1 Cutter location file instructions and NC program corresponding to relational tables
圖9 后置處理主界面Fig.9 Post processing main interface
圖10 后置處理參數(shù)設(shè)置Fig.10 Post processing parameter settings
以具有復(fù)雜空間曲面的某非球面鏡修緣加工為例,驗(yàn)證非線性誤差的補(bǔ)償算法和后置處理算法的可行性。該鏡片邊緣由多段空間曲線組成,其中某段加工曲線方程為:
(24)
被加工鏡片毛坯如圖11所示。
圖11 加工零件毛坯Fig.11 Rough machining parts
零件加工要求:鏡片邊緣滿足所要求的空間曲面形狀,邊緣過(guò)渡平滑,無(wú)尖角、無(wú)毛刺。
該零件的加工難點(diǎn):①材料為脆性材料,主軸轉(zhuǎn)速過(guò)快、每齒進(jìn)給量過(guò)大時(shí),會(huì)使球面鏡片融化;②鏡片為非球面鏡,裝夾有難度;③鏡片邊緣由多個(gè)空間曲面組合而成。
考慮到球面鏡的裝夾,設(shè)計(jì)了專用真空吸盤夾具,利用真空泵形成內(nèi)外壓差來(lái)壓緊工件。
加工工藝方面,結(jié)合所研制的機(jī)床,針對(duì)球面鏡的結(jié)構(gòu)和材料特點(diǎn),制定了加工工藝方案,分為粗、精兩步加工:
粗加工采用直徑為2mm的立銑刀,快速切除毛坯余量;精加工采用特制銑刀進(jìn)行修緣加工。
對(duì)于精加工而言,加工表面的母線采用成型法、導(dǎo)線采用相切法來(lái)加工,可實(shí)現(xiàn)對(duì)球面鏡片外輪廓修緣。
將后置處理器生成的鏡片修緣加工數(shù)控代碼輸入數(shù)控系統(tǒng)中進(jìn)行加工實(shí)驗(yàn),數(shù)控加工程序如圖12所示,圖13為零件加工效果,圖14為使用LEXT OLS4000激光共聚焦顯微鏡對(duì)局部進(jìn)行粗糙度檢測(cè)的結(jié)果,表2為測(cè)得的局部粗糙度數(shù)值??梢钥闯?局部范圍內(nèi)其形面精度可以達(dá)到微米級(jí),符合加工要求,證明了本文非線性誤差算法和補(bǔ)償算法的合理性,同時(shí)驗(yàn)證了后置處理器的有效性。
圖12 眼鏡片修緣加工進(jìn)行誤差補(bǔ)償后的加工程序Fig.12 Glasses take edge processing after error compensation process
圖13 加工實(shí)驗(yàn)效果圖Fig.13 Processing experimental result
圖14 局部粗糙度檢測(cè)報(bào)告Fig.14 Local roughness test report
編號(hào)Rz/(μm)Ra/(μm)Rq/(μm)Rsm/(μm)Rmr/(μm)Rx/(μm)Ry/(μm)101500020002679271000005330150201730021002877741000005080173301360019002585471000003550136401570022002885691000003450156501750021002871081000002890175601290018002475791000004110130
注:Ra為算術(shù)平均粗糙度,Rq為均方根粗糙度,Rsm為輪廓平均寬度,Rmr為輪廓支承長(zhǎng)度率,Rx為輪廓不均勻性的最大深度,Ry為輪廓最大高度,Rz為平均峰谷深度。
本文對(duì)自主研發(fā)的立式五軸聯(lián)動(dòng)機(jī)床進(jìn)行了非線性誤差分析和補(bǔ)償,并進(jìn)行了后置處理算法的研究,開展了相關(guān)加工試驗(yàn),主要結(jié)論如下:
1) 建立了五軸聯(lián)動(dòng)機(jī)床的非線性誤差模型,進(jìn)行誤差分析;為控制誤差,建立了誤差簡(jiǎn)化模型,并提出了插補(bǔ)算法;
2) 提出了機(jī)床的后置處理方法,給出了刀軸矢量和運(yùn)動(dòng)坐標(biāo)的變換模型;
3) 開發(fā)了該機(jī)床的簡(jiǎn)易后置處理器,將UG生成的標(biāo)準(zhǔn)刀位文件在后置處理器中轉(zhuǎn)化成數(shù)控系統(tǒng)識(shí)別的加工代碼,直接用于數(shù)控加工中;
4) 鏡片修緣加工試驗(yàn)表明,本誤差補(bǔ)償算法和后置處理算法是合理的,所開發(fā)的后置處理器是有效的。
參考文獻(xiàn):
[1] TUNG C, TSO P L. A generalized cutting location expression and postprocessors for multi-axis machine centers with tool compensation [J]. The International Journal of Advanced Manufacturing Technology, 2010(50): 1113-1123.
[2] JUNG H C, HWANG J D, PARK K B, et al. Development of practical postprocessor for 5-axis machine tool with non-orthogonal rotary axes [J]. J. Cent. South Univ. Technol, 2011(18): 159-164.
[3] FAROUKI R T, LI S Q. Optimal tool orientation control for 5-axis CNC milling with ball-end cutters [J]. Computer Aided Geometric Design, 2013, 30(2): 226-239.
[4] 吳大中, 王宇晗, 馮景春, 等. 五坐標(biāo)數(shù)控加工的非線性運(yùn)動(dòng)誤差分析與控制 [J]. 上海交通大學(xué)學(xué)報(bào), 2007, 41(10): 1608-1612.
WU Dazhong, WANG Yuhan, FENG Jingchun, et al. Analysis and control of the non-linear errors in five-axis NC machining [J]. Journal of Shanghai Jiao Tong University, 2007, 41(10): 1608-1612.
[5] 張立新, 黃玉美, 韓旭炤, 等. 新型并聯(lián)機(jī)床曲面加工的運(yùn)動(dòng)控制與后置處理算法 [J]. 機(jī)械科學(xué)與技術(shù), 2007, 26(5): 643-646.
ZHANG Lixin, HUANG Yumei, HAN Xuzhao, et al. Motion control and postprocessing algorithm for new parallel kinematic machine tools[J]. Mechanical Science and Technology for Aerospace Engineering, 2007, 26(5): 643-646.
[6] 左曉明, 吳海兵, 陳小崗. 非正交雙轉(zhuǎn)臺(tái)加工中心五軸定位銑削的后置處理與仿真驗(yàn)證 [J]. 機(jī)械科學(xué)與技術(shù), 2012, 31(1): 154-159.
ZUO Xiaoming, WU Haibing, CHEN Xiaogang. Postprocessor and simulation of 5-axis fixed-position milling for non-orthogonal machining center of table/table-rotating type[J]. Mechanical Science and Technology for Aerospace Engineering, 2012, 31(1): 154-159.
[7] OKAZAKI Y, MISHIMA N, ASHIDA K. Microfactory concept, history and developments [J]. Journal of Manufacturing Scienceand Engineering, 2004, 126(4): 837-844.
[8] BANG Y B, LEE K M, OH S. 5-axis micro milling machine for machining micro parts [J]. International Journal of Advanced Manufacturing Technology, 2005(25): 888-894.