周陽(yáng)華,宋威震,何 勇
(東華大學(xué) 機(jī)械工程學(xué)院,上海 201620)
目前非圓齒輪最常用的加工方法是數(shù)控滾齒加工和插齒加工,國(guó)內(nèi)外研究人員在這方面已經(jīng)進(jìn)行了多年的研究,通過建立非圓齒輪滾齒聯(lián)動(dòng)數(shù)學(xué)模型[1,2]和插齒聯(lián)動(dòng)數(shù)學(xué)模型[3~5],研究不同的插補(bǔ)算法,可以得到不同的加工方案[6,7],但從得到的包絡(luò)軌跡中提取非圓齒輪齒廓線一直以來都是非圓齒輪數(shù)控加工領(lǐng)域的一大難點(diǎn),但齒廓線的提取卻是包絡(luò)法非圓齒輪設(shè)計(jì)中至關(guān)重要的一步,所以必須解決這一問題。
研究人員在這方面進(jìn)行了多年的研究,李建剛、吳序堂[8,9]等提出了一種數(shù)值算法將非圓齒輪齒廓的計(jì)算過程轉(zhuǎn)化成了求非圓齒輪節(jié)曲線的法向等距線和插齒刀齒廓的交點(diǎn)過程;武傳宇等[10]通過對(duì)仿真刀具加工中齒廓形成過程的分析,提出了一種基于齒廓特征點(diǎn)的齒廓描述方法;方明輝、李革等[11]闡述了精確計(jì)算一對(duì)外凸節(jié)曲線非圓齒輪副齒廓數(shù)據(jù)的數(shù)值算法;黃鵬、李革等[12]提出基于節(jié)點(diǎn)切線平行線的非圓齒輪齒廓特征點(diǎn)求法;史勇、王生澤[13]提出了一種簡(jiǎn)便高效的齒廓數(shù)值獲取方法;李波濤等[14]根據(jù)Jarvis方法和非圓齒輪齒廓特征,提出了一種基于Jarvis March的非圓齒輪齒廓數(shù)值算法。
以上方法固然可行,但都是基于數(shù)值算法,比較復(fù)雜,計(jì)算量極大,對(duì)計(jì)算機(jī)的性能提出了很高的要求,運(yùn)算時(shí)間少則幾十分鐘多則數(shù)小時(shí)而且不易掌握;林梅彬[16]提出了一種非圓齒輪齒廓離散點(diǎn)快速提取方法,給本文一定啟發(fā)。
本文采用圖像處理的方法解決非圓齒輪齒廓數(shù)據(jù)點(diǎn)的提取問題,即首先將得到的包絡(luò)軌跡線中的數(shù)據(jù)點(diǎn)全部轉(zhuǎn)化成圖像處理中的像素點(diǎn),然后通過提取像素點(diǎn)來得到非圓齒輪齒廓線,最后通過放大倍數(shù)還原為原始的齒廓數(shù)據(jù)點(diǎn)。
刀具沿非圓齒輪節(jié)曲線做純滾動(dòng)一周時(shí)就可以得到完整的包絡(luò)軌跡:
其中X1O1Y1為毛坯固定坐標(biāo)系,X2O2Y2為刀具運(yùn)動(dòng)坐標(biāo)系:
式(1)和式(2)中r1為插齒刀節(jié)圓半徑,r為橢圓極徑,a為長(zhǎng)半軸,e為橢圓偏心率,n為橢圓的階數(shù),在插齒刀初始位置時(shí),極角φ為0。
由圖中幾何關(guān)系可知:
式中:x,y和x1,y1分別為為極徑和刀具中心在毛坯固定坐標(biāo)系X1O1Y1中對(duì)應(yīng)的坐標(biāo)值。
最終得到包絡(luò)軌跡線的坐標(biāo)值:
式中,x2,y2是刀具在X2O2Y2刀具運(yùn)動(dòng)坐標(biāo)系中的坐標(biāo),X,Y為最終軌跡坐標(biāo)。
圖1 非圓齒輪加工聯(lián)動(dòng)數(shù)學(xué)模型
由以上原理可以獲得非圓齒輪的包絡(luò)軌跡圖,圖2(a)是一個(gè)z=30,m=5,e=0.05的三階橢圓齒輪,圖2(b)是一個(gè)z=40,m=5,e=0.05的四階橢圓齒輪的包絡(luò)軌跡圖像:
圖2 非圓齒輪包絡(luò)圖像
通過聯(lián)動(dòng)數(shù)學(xué)模型的建立及虛擬加工可獲得仿真圖像,得到圖像后根據(jù)需要達(dá)到的精度要求設(shè)置每個(gè)單位長(zhǎng)度像素點(diǎn)的數(shù)量(下文將對(duì)精度做出具體分析),然后通過MATLAB讀取圖片,進(jìn)行二值化處理,二值化后的圖像如圖3所示,經(jīng)過二值化處理后整張圖片就是由0和1這兩種元素構(gòu)成,白色部分全為1,黑色部分全為0,如圖4為邊界放大圖。
圖3 二值化圖像
圖4 局部放大邊界像素點(diǎn)圖
此邊界跟蹤算法包含三個(gè)基本步驟:
首先確定二值化圖像中像素點(diǎn)矩陣的大小rows×columns,再找出這個(gè)像素點(diǎn)矩陣最中心的像素點(diǎn)(rows/2,columns/2)注意對(duì)這兩個(gè)值進(jìn)行取整,然后由中心點(diǎn)開始向下遍歷判斷找到第一個(gè)數(shù)值為0的黑色像素點(diǎn)記為(x0,y0),這就是邊界跟蹤的起始點(diǎn)。
即從起始邊界點(diǎn)開始正確跟蹤到下一個(gè)邊界像素點(diǎn),直到提取出目標(biāo)的全部邊界像素點(diǎn):以(x0,y0)為中心時(shí),其周圍共有8個(gè)與其相連的像素點(diǎn),坐標(biāo)如圖5所示。
圖5 起始像素點(diǎn)和周圍像素點(diǎn)的坐標(biāo)關(guān)系圖
然后從中點(diǎn)位置(x0,y0)出發(fā),按下圖方式依次判斷周圍各點(diǎn)數(shù)值,找到第一個(gè)數(shù)值為0的點(diǎn)時(shí)停止,將這個(gè)點(diǎn)的坐標(biāo)記為(x1,y1),圖6為第一次搜索像素點(diǎn)的方向:
圖6 第一次搜索像素點(diǎn)的方向
按以上操作得到了(x1,y1)坐標(biāo),黑點(diǎn)(x1,y1)與中心黑點(diǎn)(x0,y0)的位置關(guān)系共有8種情況,可以分為以下四大類:
第一類(x1,y1)位于(x0,y0)右側(cè),即x1>x0,圖7為第一類點(diǎn)與中心點(diǎn)的位置關(guān)系圖:
圖7 第一類點(diǎn)與中心點(diǎn)的位置關(guān)系
第二類(x1,y1)位于(x0,y0)左側(cè),即x1<x0,圖8為第二類點(diǎn)與中心點(diǎn)的位置關(guān)系圖:
圖8 第二類點(diǎn)與中心點(diǎn)的位置關(guān)系
第三類(x1,y1)(x0,y0)在同一豎線上,且位于(x0,y0)下方,即x1=x0,且y1<y0,圖9為第三類點(diǎn)與中心點(diǎn)的位置關(guān)系圖:
圖9 第三類點(diǎn)與中心點(diǎn)的位置關(guān)系
第四類(x1,y1)(x0,y0)在同一豎線上,且位于(x0,y0)上方,即x1=x0,且y1>y0,圖10為第四類點(diǎn)與中心點(diǎn)的位置關(guān)系圖:
圖10 第四類點(diǎn)與中心點(diǎn)的位置關(guān)系
再根據(jù)(x1,y1)位于(x0,y0)的四種不同位置關(guān)系分別進(jìn)行圖11中四種不同的搜尋方式:
如果x1>x0,即第一類位置關(guān)系,將(x1,y1)記錄下來,然后將(x1,y1)坐標(biāo)值分別賦值給(x0,y0),再按照?qǐng)D11(a)中“上右”的搜索方式繼續(xù)搜索下一個(gè)(x1,y1);
同理,第二類點(diǎn)使用圖11(b)中“下左”的搜索方式;第三類點(diǎn)使用圖11(c)中“右下”的搜索方式;第四類點(diǎn)使用圖11(d)中“左上”的搜索方式。
圖11 四種不同的搜尋方式
循環(huán)執(zhí)行3.2節(jié)操作,直到再一次搜尋到最初的起始點(diǎn)結(jié)束循環(huán),說明整個(gè)邊界像素點(diǎn)跟蹤完畢。圖12為邊界跟蹤算法流程圖:
圖12 邊界跟蹤算法流程圖
實(shí)例:通過聯(lián)動(dòng)模型得到一個(gè)m=5,z=40,n=4,e=0.05的橢圓齒輪包絡(luò)圖,然后通過上面方法就能提取到完整的齒廓線如圖13所示。
圖13 包絡(luò)軌跡及提取廓線圖
且將圖像中的數(shù)據(jù)點(diǎn)導(dǎo)入到三維軟件可以直接實(shí)現(xiàn)三維建模,也可以用于線切割加工該非圓齒輪:
圖14 導(dǎo)入三維軟件的數(shù)據(jù)及得到的模型
由于本方法提取的是圖像中的像素點(diǎn),而橫縱軸上像素點(diǎn)的數(shù)目都是整數(shù),如果直接將提取到的像素的位置作為橫縱坐標(biāo)輸出,本質(zhì)上是將圖像進(jìn)行了放大,而且圖像輸出時(shí)設(shè)置的像素點(diǎn)越多圖像放大的倍數(shù)就越大,所以第一步要確定圖像相對(duì)于原圖像放大的倍數(shù),將圖像還原成原標(biāo)準(zhǔn)尺寸數(shù)據(jù)。
假設(shè)上圖15是導(dǎo)出的圖像,圖像的實(shí)際長(zhǎng)度為l1,實(shí)際寬度為l2,長(zhǎng)度方向有n1個(gè)像素點(diǎn),寬度方向有n2個(gè)像素點(diǎn),(X,Y)為像素點(diǎn)位置坐標(biāo),設(shè)所提取像素點(diǎn)的實(shí)際坐標(biāo)為(x,y),可以得到如下關(guān)系式:
圖15 圖片實(shí)際尺寸與像素點(diǎn)坐標(biāo)關(guān)系圖
故將提取到的輪廓像素點(diǎn)經(jīng)過式(6)進(jìn)行轉(zhuǎn)換就可以得到齒廓的實(shí)際廓線數(shù)據(jù)點(diǎn)。
這種廓線提取方法其實(shí)不僅限于提取非圓齒輪齒廓曲線,對(duì)于任何中空的邊界連續(xù)的圖像都可以進(jìn)行數(shù)據(jù)點(diǎn)的提取,這里使用一個(gè)案例對(duì)這種圖像處理法的精度進(jìn)行分析:
如圖16(a)所示是一個(gè)邊長(zhǎng)為30mm的正方形中心挖去了一個(gè)半徑為10mm的圓,圖16(b)是通過上述廓線提取方法得到的圓的內(nèi)側(cè)邊界廓線,圖17是通過改變輸出圖像的單位長(zhǎng)度像素點(diǎn)數(shù)量,再分別計(jì)算出所提取的數(shù)據(jù)點(diǎn)到圓心的距離,圖中橫坐標(biāo)均為提取到的數(shù)據(jù)點(diǎn)數(shù)目,縱坐標(biāo)均為數(shù)據(jù)點(diǎn)到圓心的實(shí)際距離(即計(jì)算的半徑值):
圖16 案例原圖及提取到的邊界廓線
圖17 單位長(zhǎng)度像素點(diǎn)數(shù)量與半徑的關(guān)系
由圖17中的數(shù)據(jù)可以提煉得到表1:
表1 設(shè)置不同像素點(diǎn)時(shí)圖片的變化及數(shù)據(jù)精度
由表1可以得到如下結(jié)論:
單位長(zhǎng)度設(shè)置的像素點(diǎn)的數(shù)目越多,提取到的像素點(diǎn)數(shù)目就會(huì)越多,數(shù)據(jù)點(diǎn)的波動(dòng)范圍就會(huì)越小,得到的數(shù)據(jù)點(diǎn)越接近真實(shí)值,理論上只要無(wú)限增加像素點(diǎn)的數(shù)目得到的數(shù)據(jù)點(diǎn)就會(huì)越接近真實(shí)值,但是設(shè)置像素點(diǎn)的數(shù)目越多導(dǎo)出的圖片也會(huì)越大,會(huì)增加圖片讀取和廓線提取的時(shí)間,所以并不是像素點(diǎn)設(shè)置得越多越好,只要能達(dá)到相應(yīng)的建?;蚣庸ぶ圃炀纫蠹纯?。
本文通過非圓齒輪加工聯(lián)動(dòng)數(shù)學(xué)模型,獲得非圓齒輪包絡(luò)圖,對(duì)得到的圖像進(jìn)行二值化處理,然后使用邊界跟蹤算法對(duì)非圓齒輪邊界像素點(diǎn)進(jìn)行提取,再將像素點(diǎn)根據(jù)放大倍數(shù)關(guān)系轉(zhuǎn)化為齒廓數(shù)據(jù)點(diǎn),并對(duì)所得數(shù)據(jù)點(diǎn)的精度進(jìn)行討論,可知:
1)這種方法無(wú)需借助復(fù)雜的齒廓嚙合方程,即可以不用復(fù)雜的數(shù)值運(yùn)算就可以完成非圓齒輪廓線的求解,可應(yīng)用與各種復(fù)雜非圓齒輪廓線的提?。?/p>
2)通過對(duì)方法的精度進(jìn)行分析可知,這種方法獲取的數(shù)據(jù)點(diǎn)可以滿足制造、三維建模等精度要求;
3)該方法運(yùn)算速度快、穩(wěn)定性好可作為CAD/CAM軟件開發(fā)的底層原理。