■中航工業(yè)空空導(dǎo)彈研究院 (河南洛陽 471003)
袁維濤 劉仁春
凸輪是工程中用于實(shí)現(xiàn)機(jī)械化和自動(dòng)化的一種主要驅(qū)動(dòng)和控制機(jī)構(gòu)的重要組成部分。凸輪的型線對凸輪機(jī)構(gòu)的動(dòng)力學(xué)性能、接觸應(yīng)力、潤滑特性有重要的影響。因此,凸輪的特征曲線往往由復(fù)雜的曲線構(gòu)成。由于凸輪具有形狀復(fù)雜、加工精度要求高等特點(diǎn),一直是制造加工的難點(diǎn)之一。在實(shí)際生產(chǎn)加工中,往往不知道精確的凸輪輪廓線方程,只能得到一些離散點(diǎn)。
如何按這些離散點(diǎn)加工出“光滑”的輪廓,國內(nèi)的華中科技大學(xué)和北京機(jī)械工業(yè)學(xué)院等一批科研單位也在從事這方面的研究,認(rèn)為數(shù)控系統(tǒng)是研究高性能凸輪加工的關(guān)鍵技術(shù),由它完成數(shù)控加工的復(fù)雜計(jì)算和控制。一般的數(shù)控系統(tǒng)只有直線和圓弧插補(bǔ)功能,對于凸輪這種列表曲線加工程序的編制,要離線在計(jì)算機(jī)上對列表曲線進(jìn)行擬合、插值,其實(shí)在C A D軟件中的樣條曲線也是用某一種插值算法完成畫圖的。然后編制微小直線段逼近。這不僅導(dǎo)致編程復(fù)雜,效率低,代碼量大,而且加工精度低,進(jìn)給速度受限,很難滿足高速高精度的數(shù)控加工要求。應(yīng)當(dāng)開發(fā)具有不規(guī)則曲線處理功能的數(shù)控系統(tǒng),提高數(shù)控系統(tǒng)的數(shù)據(jù)處理能力。由數(shù)控系統(tǒng)進(jìn)行等速度高精度插補(bǔ),保持切削力平穩(wěn),才能加工高性能的凸輪。因此,提高凸輪的加工精度和加工效率,研制凸輪高精度的插值算法至關(guān)重要。
插值問題就是在離散數(shù)據(jù)的基礎(chǔ)上補(bǔ)插連續(xù)函數(shù),使得這條連續(xù)曲線通過全部給定的離散數(shù)據(jù)點(diǎn),并估算出函數(shù)在其他點(diǎn)處的近似值。即假定區(qū)間[a,b]上的實(shí)值函數(shù)f(x)在該區(qū)間上n+1個(gè)互不相同點(diǎn)x0,x1……xn處的值是f [x0],……f(xn),要求估算f(x)在[a,b]中某點(diǎn)的值。
最常用的曲線的插值方法有:線性插值、Akima插值、三次樣條插值等,下面以Akima插值法為例,分析如何在數(shù)控系統(tǒng)中用高級(jí)宏程序?qū)崿F(xiàn)數(shù)控編程加工。
Akima插值:即設(shè)已知數(shù)據(jù)點(diǎn)位(xi,yi)(i=1,2,3,4,n),現(xiàn)在要找到一條光滑曲線y=f(x),使得滿足yi=f(xi)。所謂“光滑”,是指f(x)具有連續(xù)的一階導(dǎo)數(shù)。同時(shí)還約定,在任意兩相鄰的數(shù)據(jù)點(diǎn)之間,用三次多項(xiàng)式來逼近。即
由此可知,確定每一個(gè)數(shù)據(jù)點(diǎn)上的導(dǎo)數(shù)就是一個(gè)關(guān)鍵的問題。所以必須取6個(gè)連續(xù)點(diǎn)坐標(biāo),設(shè)用i(i=1,2,3,4,5,6),插值點(diǎn)(x,y)位于第三和第四個(gè)坐標(biāo)點(diǎn)之間,經(jīng)把上式推導(dǎo)可得
其中
上述t3,t4分別是第三和第四坐標(biāo)點(diǎn)的斜率,他們分別用1,2,3,4,5和2,3,4,5,6點(diǎn)的指標(biāo)值計(jì)算,即下式
式中i=3,4。mi為斜率,它用下式計(jì)算
由于式(4)的分母不能為零,所以在這種情況下Akima規(guī)定:ti=(mi-1+mi)/2或ti=mi。根據(jù)以上5個(gè)公式可以用高級(jí)宏程序編制成數(shù)控加工程序。
Akima插值法在數(shù)控編程中只用到點(diǎn)坐標(biāo),不需要另外提供一階導(dǎo)數(shù)等其他條件,顯然該插值法更符合數(shù)控加工要求、更適合數(shù)控系統(tǒng)。并且在滿足精度要求的情況下,相對簡單,易于編程,調(diào)試,具有獨(dú)到的優(yōu)點(diǎn)(見圖1)。下面是根據(jù)給定的凸輪坐標(biāo)點(diǎn),用Akima插值法編制的數(shù)控加工程序。
圖 1
給各個(gè)坐標(biāo)點(diǎn)初始化賦值,#101=46.497,#151=0.000……#149=43.957,#199=19.571。程序如下:
G54G00Z300M03S1000F500
G01X0Y0Z148
#1=3
WHILE [#1LE[45+3]]DO2
(根據(jù)推導(dǎo)公式循環(huán)計(jì)算變量值)
#11=#[100+#1-2]
…
#26=#[150+#1+3]
#17=[#[150+#1+1-2]-#[150+#1-2]]/[#[100+#1+1-2]-#[100+#1-2]]
#18=[#[150+#1+1-1]-#[150+#1-1]]/[#[100+#1+1-1]-#[100+#1-1]]
#19=[#[150+#1+1-0]-#[150+#1]]/[#[100+#1+1-0]-#[100+#1]]
#20=[#[150+#1+1+1]-#[150+#1+1]]/[#[100+#1+1+1]-#[100+#1+1]]
#21=[#[150+#1+1+2]-#[150+#1+2]]/[#[100+#1+1+2]-#[100+#1+2]]
#23=[ABS[#20-#19]*#18+ABS[#18-#17]*#19]/[ABS[#20-#19]+ABS[#18-#17]]
# 2 4 = [ A B S [ # 2 1 -
#2 0]*#1 9+A B S[#1 9-#1 8]*#2 0]/[ABS[#21-#20]+ABS[#19-#18]]
IF[[ABS[#20-#19]+ABS[#18-#17]]NE0] GOTO23
#23=#19
N 2 3 I F [ [ A B S [ # 2 1 -#20]+ABS[#19-#18]]NE0] GOTO24
#24=#20
N24 #30=#[150+#1]
#31=#23
#32=[3*[#[150+#1+1]-#[150+#1]]/[#[100+#1+1]-#[100+#1]]-2*#23-#24]/[#[100+#1+1]-#[100+#1]]
#33=[-2*[#[150+#1+1]-#[150+#1]]/[#[100+#1+1]-#[100+#1]]+#23+#24]/[[#[100+#1+1]-#[100+#1]]*[#[100+#1+1]-#[100+#1]]]
#7=[#[100+#1+1]-#[100+#1]]/5
#5=#[100+#1]+1*#7
# 6 = # 3 0 + # 3 1 * [ # 5 -#[100+#1]]+#32*[#5-#[100+#1]]*[#5-#[100+#1]]+#33*[#5-#[100+#1]]*[#5-#[100+#1]]*[#5-#[100+#1]]
G01X#5Y#6Z153
…
#1=#1+1
END2
G00Z300
M30
通過在MAZATROL小巨人加工中心(見圖2),加工驗(yàn)證,用沒經(jīng)過處理的原始數(shù)據(jù)加工的凸輪輪廓,在曲率變化大的地方,與理想的輪廓曲線“偏離”最大。而用經(jīng)過Akima插值處理過的公式曲線加工的凸輪輪廓非?!肮饣保ㄒ妶D3)。
圖 2
圖 3
可見凸輪的數(shù)控加工條件比較復(fù)雜,凸輪型值點(diǎn)的數(shù)據(jù)處理對凸輪的型面精度影響較大。為了加工出更“光滑”的凸輪型面,本文用插值法完成數(shù)據(jù)處理,并以Akima插值法為例在數(shù)控系統(tǒng)中用高級(jí)宏程序?qū)崿F(xiàn)數(shù)控編程應(yīng)用,并取得良好的效果。
[1] 楊大地,王開榮編著. 數(shù)值分析[M]. 北京:科學(xué)出版社,2006.
[2] 聶桂根,萬劍華. Akima插值法在測量中的應(yīng)用[J]. 測繪科學(xué),1998(3).
[3] 邵才瑞. 井筒數(shù)據(jù)的Akima插值重采樣方法[J]. 測井技術(shù),2004,28(2).