











摘" 要:異形擺線輪齒廓提取是擺線針輪減速器設(shè)計和幾何建模的難點,無法通過傳統(tǒng)擺線輪數(shù)學(xué)公式進(jìn)行齒廓設(shè)計和數(shù)據(jù)點的提取。該文通過切削加工模擬的方法得到銑削刀具運動軌跡包絡(luò)圖,采用圖像處理的方法對銑削刀具運動軌跡包絡(luò)圖進(jìn)行齒廓提取。這種方法大大提高異形擺線輪齒廓的獲取效率,且通用性好。
關(guān)鍵詞:擺線輪;齒廓設(shè)計;圖像處理;輪廓提取;掩膜
中圖分類號:TH132.4 文獻(xiàn)標(biāo)志碼:A" " " " " 文章編號:2095-2945(2023)28-0019-05
Abstract: Tooth profile extraction of special cycloid gear is a difficult point in the design and geometric modeling of cycloid pin gear reducer. It is impossible to design the special cycloidal gear profile and extract data points through the traditional mathematical formula. This paper obtains the envelope diagram of milling tool motion trajectory through cutting simulation, and extract the tooth profile from the envelope map of milling tool motion trajectory using image processing methods. This method greatly improves the efficiency of obtaining the tooth profile of special cycloidal gears, with good universality.
Keywords: cycloidal wheel; profile design; image processing; contour extraction; mask
RV減速器是工業(yè)機(jī)器人的核心傳動部件,是在傳統(tǒng)擺線針輪、行星齒輪傳動裝置基礎(chǔ)上發(fā)展起來的一種適用于高精度傳動的新型傳動裝置[1]。擺線輪具有傳動精度高、抗沖擊、承載力大等優(yōu)點,廣泛應(yīng)用于機(jī)器人高精密傳動場合[2]。
傳統(tǒng)擺線輪偏心量E通常屬于小偏心量,即Elt;R1/N(R1為針齒分布圓半徑,N為針齒數(shù)),當(dāng)Egt;R1/N時,屬于異形擺線輪。傳統(tǒng)擺線輪易于設(shè)計與加工,但是異形擺線輪會使嚙合接觸面積變大、貼合度好,從而實現(xiàn)傳動更為平穩(wěn)且對加工誤差的容許度也更佳。傳統(tǒng)擺線輪齒廓可通過數(shù)學(xué)式直接獲取,但是異形擺線輪齒廓為非封閉曲線,無法直接由數(shù)學(xué)式得到,但是可以從虛擬銑削刀具運動軌跡包絡(luò)圖中提取異形擺線輪的齒廓。
本文提出了基于OpenCV的圖像處理技術(shù)提取異形擺線輪齒廓的方法,該方法對虛擬銑削刀具運動軌跡包絡(luò)圖進(jìn)行預(yù)處理,提取異形擺線輪齒廓的離散點,利用掩膜處理和輪廓提取得到坐標(biāo)軸輪廓,通過異形擺線輪齒廓與坐標(biāo)軸輪廓的對應(yīng)關(guān)系計算異形擺線輪齒廓的實際坐標(biāo)值。提取異形擺線輪齒廓的整體流程圖如圖1所示,為擺線輪創(chuàng)新設(shè)計提供途徑。
1" 異形擺線輪齒廓設(shè)計
傳統(tǒng)的RV型擺線針輪減速器(如日本Nabtesco公司和秦川機(jī)床集團(tuán)的RV減速機(jī))的擺線輪偏心量E通常符合規(guī)律:Elt;R1/N(R1為針齒分布圓半徑,N為針齒數(shù))。該型減速器的擺線輪齒廓方程可由式(1)和(2)表示[3]
式中:Rp為針齒半徑,t為接觸角且有0°≤t≤360°。
當(dāng)Egt;R1/N,可稱為異形擺線輪,其齒廓無法由公式(1)和(2)得到。而利用公式(3),通過虛擬切削加工的方法可得到與針齒半徑相同尺寸的銑削刀具運動軌跡包絡(luò)圖。
利用MATLAB編程實現(xiàn)模擬虛擬切削加工過程,編程時設(shè)置步長越小,形成異形擺線輪齒廓的像素點越多,得到的齒廓數(shù)據(jù)點越接近理論值。此處設(shè)置步長為1,線的顏色為紅色,得到銑削刀具運動軌跡包絡(luò)圖如圖2所示。由于編程設(shè)置步長很小,所以獲得的銑削刀具運動軌跡為連通的區(qū)域,便于后續(xù)圖像處理。
2" 異形擺線輪齒廓提取
機(jī)器視覺測量方法被廣泛應(yīng)用于工業(yè)零件尺寸測量中,采用該方法對零件進(jìn)行尺寸測量,其中最關(guān)鍵的環(huán)節(jié)是準(zhǔn)確提取出其邊緣輪廓[4]。本文借鑒機(jī)器視覺對工業(yè)零件尺寸測量的思路,對銑削刀具運動包絡(luò)軌跡形成的異形擺線輪齒廓進(jìn)行提取。
圖像處理應(yīng)用應(yīng)有一定的算法積累,而OpenCV提供了免費開源的機(jī)器視覺庫,滿足了圖像處理的基本需求,且提供了C++和Python接口,可實現(xiàn)工業(yè)級應(yīng)用,編程語言Python可以使用功能強(qiáng)大的擴(kuò)展庫。本文在Jupyter Notebook開發(fā)環(huán)境中實現(xiàn)異形擺線輪齒廓的提取,用到的擴(kuò)展庫有Numpy、OpenCV、Matplotlib、Pandas等。其中,Numpy是開源的Python數(shù)值計算擴(kuò)展庫,為矩陣運算提供了大量的函數(shù)。Matplotlib是Python中的數(shù)據(jù)可視化繪圖庫。Pandas是基于Numpy開發(fā)的科學(xué)計算庫,常用于數(shù)據(jù)分析、管理和可視化的場合。
2.1" 圖像預(yù)處理
輪廓提取屬于圖像處理領(lǐng)域的基礎(chǔ)應(yīng)用技術(shù),是模式識別中非常重要的過程。提取異形擺線輪齒廓前需對輸入圖像進(jìn)行必要的預(yù)處理,如圖像填充、灰度變換、二值化處理等,再對二值圖像提取輪廓邊界點,并以序列的形式存儲輪廓的信息,最后將獲得的輪廓點在原始圖像中畫出來。
2.1.1" 圖像填充
漫水填充是一種用特定的顏色填充連通區(qū)域,通過設(shè)置可連通像素的上下限以及連通方式來達(dá)到不同的填充效果的方法[5]。該算法常用于標(biāo)記或分割圖像中的感興趣區(qū)域,以做進(jìn)一步處理或分析。因為銑削刀具運動軌跡包絡(luò)圖與內(nèi)部的齒輪區(qū)域存在明顯的分界線,為了方便將齒輪部分從背景中分離出來,采用漫水填充算法將齒輪部分填充為黑色。在OpenCV中,漫水填充算法由cv2.floodFill()函數(shù)實現(xiàn)。齒輪圖像形狀規(guī)則、對稱,因此選擇圖像的中心位置作為初始種子點,填充顏色為黑色。漫水填充效果如圖3(a)所示。
2.1.2" 灰度化處理
待處理的圖像是彩色圖像,對彩色圖像進(jìn)行處理時,需要對3個通道依次進(jìn)行處理,時間開銷大。為了提高處理速度,常將彩色圖像轉(zhuǎn)換為灰度圖像來減少需處理的數(shù)據(jù)量。當(dāng)前常用的灰度轉(zhuǎn)換方法有分量法、最大值法、平均值法和加權(quán)平均法[6]。本文采用加權(quán)平均法進(jìn)行圖像灰度轉(zhuǎn)換。使用OpenCV中的cv2.cvtColor()實現(xiàn)灰度轉(zhuǎn)換。灰度化的效果如圖3(b)所示。
2.1.3" 二值化處理
為了獲得更精準(zhǔn)的異形擺線輪齒廓,需要對得到的灰度化圖像進(jìn)行二值化處理。二值化處理,即將灰度圖中高于閾值的灰度像素值用255代替,反之像素值用0代替,即圖像中只有黑色和白色的像素值。二值化處理的關(guān)鍵是確定合適的閾值。常用的確定閾值的方法有:大律法、雙峰法、迭代法和一維最大熵法等[7-8]。本文采用雙峰法對圖像進(jìn)行二值化處理。首先,畫出圖3(b)的直方圖如圖4所示,直方圖有多個峰,峰與峰之間是可選取的閾值范圍,選擇不同閾值范圍內(nèi)的閾值進(jìn)行測試。為了將圖像中的坐標(biāo)軸信息屏蔽掉,取閾值為20,對圖3(b)進(jìn)行二值化。在OpenCV中,輪廓提取是從黑色背景中找白色的對象,因此將齒輪部分設(shè)置為白色,背景設(shè)置為黑色,即二值化時將大于閾值20的像素值置為0,反之像素值置為255,結(jié)果如圖3(c)所示。
2.2" 異形擺線輪齒廓提取
異形擺線輪齒廓對應(yīng)圖像中齒廓曲線的一系列離散點。曲線可以由多種方法表示,在OpenCV中一般用序列來存儲輪廓信息[9]。序列中的每一個元素對應(yīng)圖像輪廓中一個點的位置。利用OpenCV中的cv2.findContours()函數(shù)可以從二值圖像圖3(c)中尋找異形擺線輪齒廓。將得到的輪廓信息用藍(lán)線繪制在圖2上,結(jié)果如圖3(d)所示。
3" 坐標(biāo)軸輪廓提取
3.1" 掩膜處理
用選定的圖形、圖像或物體對待處理的圖像(全部或局部)進(jìn)行遮擋,以控制圖像處理區(qū)域的處理過程為掩膜處理[10]。由于虛擬銑削刀具運動軌跡是紅色的,可根據(jù)紅色的范圍標(biāo)記圖2中的紅色區(qū)域為感興趣區(qū)域(ROI),制作掩膜,再利用掩膜得到坐標(biāo)軸圖像,其步驟如下。①將圖2從BGR顏色空間轉(zhuǎn)換到HSV顏色空間;②取紅色下限值為[0,43,46],紅色上限值為[10,255,255],使用OpenCV中的cv2.inRange()函數(shù)生成掩膜如圖5(a)所示,掩膜圖像只有0和255像素值,白色區(qū)域為感興趣區(qū)域;③對圖2做灰度化、二值化(閾值=180)處理,二值化結(jié)果如圖5(b)所示;④使用OpenCV中的cv2.bitwise_or()函數(shù)對圖5(a)和圖5(b)做按位“或”運算,得到坐標(biāo)軸二值圖像如圖5(c)所示。
3.2" 坐標(biāo)軸輪廓提取
用cv2.findContours()函數(shù)提取二值圖像圖5(c)的所有輪廓,將輪廓畫到圖2上,效果如圖5(d)所示。由于坐標(biāo)軸的數(shù)字和刻度線輪廓的面積比較小,設(shè)置面積閾值為200,將面積大于閾值200的輪廓篩選出來。其結(jié)果為3條輪廓,其中,1條輪廓為整幅圖的輪廓,不采用;另2條輪廓分別為坐標(biāo)軸的內(nèi)、外輪廓,由于坐標(biāo)軸線很細(xì),所以可以取其中1條輪廓作為坐標(biāo)軸輪廓,畫在圖2上,效果如圖5(e)所示。
4" 齒廓坐標(biāo)提取
4.1" 齒廓坐標(biāo)值計算
用cv2.findContours()函數(shù)提取的輪廓存儲為1個點向量,即point類型的vector表示。每個point存儲了圖像中某像素點所在的行列值。因此,提取的異形擺線輪齒廓并不是設(shè)計的其理論坐標(biāo)數(shù)據(jù)。根據(jù)異形擺線輪齒廓與坐標(biāo)軸輪廓之間的關(guān)系計算異形擺線輪齒廓的理論坐標(biāo),計算步驟如下。
1)從坐標(biāo)軸輪廓中將左、右、上、下4條邊分離出來,分別用left、right、up、down表示,并存儲為列表。
將x=51的所有點定義為坐標(biāo)軸的左邊left。
將x=588的所有點定義為坐標(biāo)軸的右邊right。
將y=9的所有點定義為坐標(biāo)軸的上邊up。
將y=545的所有點定義為坐標(biāo)軸的下邊down。
2)計算單位像素對應(yīng)的實際尺寸。
圖2中x坐標(biāo)軸刻度范圍[-100,100],y坐標(biāo)軸刻度范圍[-100,100]。
式中:lx為單位像素對應(yīng)坐標(biāo)軸中x軸向的實際尺寸值;ly為單位像素對應(yīng)坐標(biāo)軸中y軸向的實際尺寸值。
3)計算坐標(biāo)軸輪廓中心點在坐標(biāo)系中的坐標(biāo)值
4)計算齒廓中每個點對應(yīng)坐標(biāo)系中的實際坐標(biāo)值。
式中:(ui,vi)為齒廓中每個點在坐標(biāo)軸中對應(yīng)的坐標(biāo)值;(xi,yi)為齒廓中每個點在圖像中的行、列值。
按上述計算公式計算齒廓的每個點在坐標(biāo)系中的實際坐標(biāo)值。
4.2" 齒廓坐標(biāo)存儲
將計算得到的齒廓坐標(biāo)數(shù)據(jù)用Pandas庫的字典存儲數(shù)據(jù),再轉(zhuǎn)存成Excel文件,為后期生成異形擺線輪的三維模型提供齒廓數(shù)據(jù)。其中,齒廓的部分?jǐn)?shù)據(jù)如圖6(a)所示。
用Matplotlib庫plot()函數(shù)將提取的異形擺線輪齒廓的圖形顯示出來,如圖6(b)所示。
4.3" 齒廓坐標(biāo)應(yīng)用
將異形擺線輪齒廓坐標(biāo)數(shù)據(jù)導(dǎo)入三維建模軟件UG中,可以建立異形擺線輪的三維實體模型,如圖7所示,也可以用線切割機(jī)床加工異形擺線輪實體。
5" 結(jié)論
針對異形擺線輪的齒廓提取,本文結(jié)合圖像處理技術(shù)對虛擬切削加工得到的異形擺線輪軌跡包絡(luò)圖進(jìn)行齒廓坐標(biāo)值的提取。該方法的優(yōu)點如下。
1)針對帶坐標(biāo)軸的虛擬銑削刀具運動軌跡包絡(luò)圖進(jìn)行圖像處理,分別提取了異形擺線輪齒廓和坐標(biāo)軸輪廓,根據(jù)二者的對應(yīng)關(guān)系一一求解齒廓點實際坐標(biāo)值,獲取的齒廓數(shù)據(jù)接近理論值。
2)借助圖像處理技術(shù)提取異形擺線輪齒廓,無須借助復(fù)雜的求解齒廓的方程。
3)該方法適用范圍較廣,可應(yīng)用于各種復(fù)雜齒輪的齒廓提取。
參考文獻(xiàn):
[1] 李下蹊,崔建昆.RV減速器參數(shù)化建模及3D打印快速成型實現(xiàn)[J].機(jī)械傳動,2020,44(5):88-91.
[2] 喬雪濤,張力斌,閆存富,等.我國工業(yè)機(jī)器人RV減速器發(fā)展現(xiàn)狀分析[J].機(jī)械強(qiáng)度,2019,41(6):1486-1492.
[3] HUANG C H, TSAI S J. A study on loaded tooth contact analysis of a cycloid planetary gear reducer considering friction and bearing roller stiffness[J].Journal of Advanced Mechanical Design Systems and Manufacturing, 2017,11(6).
[4] 于微波,周旺,楊宏韜.基于DSnet網(wǎng)絡(luò)的零件邊緣輪廓提取[J].組合機(jī)床與自動化加工技術(shù),2023(3):169-173,177.
[5] 毛星云,冷雪飛,王碧輝,等.OpenCV3編程入門[M].北京:電子工業(yè)出版社,2015.
[6] 吳響軍,吳超,江鑫富,等.基于計算機(jī)視覺的電子血壓計數(shù)字識別算法研究與設(shè)計[J].醫(yī)療設(shè)備,2022,35(9):5-8.
[7] ANTALEB A. Antomatic thresholding of gray-level picture using two-dimensional entropy[J]. Computer Vision Graphics Image Porcessing,1989,47:22-32.
[8] WONG A K C, SAHOO P K. A gray-level threshold selection method based on maximum entropy principle[J].IEEE Trans-SMC,1989(19):422-429.
[9] 〔美〕布拉德斯基,〔美〕克勒.學(xué)習(xí)Opencv(中文版)[M].于仕琪,劉瑞禎,譯.北京:清華大學(xué)出版社,2009.
[10] 饒艷桃.基于機(jī)器視覺的標(biāo)準(zhǔn)直齒圓柱齒輪參數(shù)的測量[D].重慶:重慶大學(xué),2015.