











摘" 要:異形擺線輪齒廓提取是擺線針輪減速器設計和幾何建模的難點,無法通過傳統擺線輪數學公式進行齒廓設計和數據點的提取。該文通過切削加工模擬的方法得到銑削刀具運動軌跡包絡圖,采用圖像處理的方法對銑削刀具運動軌跡包絡圖進行齒廓提取。這種方法大大提高異形擺線輪齒廓的獲取效率,且通用性好。
關鍵詞:擺線輪;齒廓設計;圖像處理;輪廓提取;掩膜
中圖分類號:TH132.4 文獻標志碼: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減速器是工業機器人的核心傳動部件,是在傳統擺線針輪、行星齒輪傳動裝置基礎上發展起來的一種適用于高精度傳動的新型傳動裝置[1]。擺線輪具有傳動精度高、抗沖擊、承載力大等優點,廣泛應用于機器人高精密傳動場合[2]。
傳統擺線輪偏心量E通常屬于小偏心量,即Elt;R1/N(R1為針齒分布圓半徑,N為針齒數),當Egt;R1/N時,屬于異形擺線輪。傳統擺線輪易于設計與加工,但是異形擺線輪會使嚙合接觸面積變大、貼合度好,從而實現傳動更為平穩且對加工誤差的容許度也更佳。傳統擺線輪齒廓可通過數學式直接獲取,但是異形擺線輪齒廓為非封閉曲線,無法直接由數學式得到,但是可以從虛擬銑削刀具運動軌跡包絡圖中提取異形擺線輪的齒廓。
本文提出了基于OpenCV的圖像處理技術提取異形擺線輪齒廓的方法,該方法對虛擬銑削刀具運動軌跡包絡圖進行預處理,提取異形擺線輪齒廓的離散點,利用掩膜處理和輪廓提取得到坐標軸輪廓,通過異形擺線輪齒廓與坐標軸輪廓的對應關系計算異形擺線輪齒廓的實際坐標值。提取異形擺線輪齒廓的整體流程圖如圖1所示,為擺線輪創新設計提供途徑。
1" 異形擺線輪齒廓設計
傳統的RV型擺線針輪減速器(如日本Nabtesco公司和秦川機床集團的RV減速機)的擺線輪偏心量E通常符合規律:Elt;R1/N(R1為針齒分布圓半徑,N為針齒數)。該型減速器的擺線輪齒廓方程可由式(1)和(2)表示[3]
式中:Rp為針齒半徑,t為接觸角且有0°≤t≤360°。
當Egt;R1/N,可稱為異形擺線輪,其齒廓無法由公式(1)和(2)得到。而利用公式(3),通過虛擬切削加工的方法可得到與針齒半徑相同尺寸的銑削刀具運動軌跡包絡圖。
利用MATLAB編程實現模擬虛擬切削加工過程,編程時設置步長越小,形成異形擺線輪齒廓的像素點越多,得到的齒廓數據點越接近理論值。此處設置步長為1,線的顏色為紅色,得到銑削刀具運動軌跡包絡圖如圖2所示。由于編程設置步長很小,所以獲得的銑削刀具運動軌跡為連通的區域,便于后續圖像處理。
2" 異形擺線輪齒廓提取
機器視覺測量方法被廣泛應用于工業零件尺寸測量中,采用該方法對零件進行尺寸測量,其中最關鍵的環節是準確提取出其邊緣輪廓[4]。本文借鑒機器視覺對工業零件尺寸測量的思路,對銑削刀具運動包絡軌跡形成的異形擺線輪齒廓進行提取。
圖像處理應用應有一定的算法積累,而OpenCV提供了免費開源的機器視覺庫,滿足了圖像處理的基本需求,且提供了C++和Python接口,可實現工業級應用,編程語言Python可以使用功能強大的擴展庫。本文在Jupyter Notebook開發環境中實現異形擺線輪齒廓的提取,用到的擴展庫有Numpy、OpenCV、Matplotlib、Pandas等。其中,Numpy是開源的Python數值計算擴展庫,為矩陣運算提供了大量的函數。Matplotlib是Python中的數據可視化繪圖庫。Pandas是基于Numpy開發的科學計算庫,常用于數據分析、管理和可視化的場合。
2.1" 圖像預處理
輪廓提取屬于圖像處理領域的基礎應用技術,是模式識別中非常重要的過程。提取異形擺線輪齒廓前需對輸入圖像進行必要的預處理,如圖像填充、灰度變換、二值化處理等,再對二值圖像提取輪廓邊界點,并以序列的形式存儲輪廓的信息,最后將獲得的輪廓點在原始圖像中畫出來。
2.1.1" 圖像填充
漫水填充是一種用特定的顏色填充連通區域,通過設置可連通像素的上下限以及連通方式來達到不同的填充效果的方法[5]。該算法常用于標記或分割圖像中的感興趣區域,以做進一步處理或分析。因為銑削刀具運動軌跡包絡圖與內部的齒輪區域存在明顯的分界線,為了方便將齒輪部分從背景中分離出來,采用漫水填充算法將齒輪部分填充為黑色。在OpenCV中,漫水填充算法由cv2.floodFill()函數實現。齒輪圖像形狀規則、對稱,因此選擇圖像的中心位置作為初始種子點,填充顏色為黑色。漫水填充效果如圖3(a)所示。
2.1.2" 灰度化處理
待處理的圖像是彩色圖像,對彩色圖像進行處理時,需要對3個通道依次進行處理,時間開銷大。為了提高處理速度,常將彩色圖像轉換為灰度圖像來減少需處理的數據量。當前常用的灰度轉換方法有分量法、最大值法、平均值法和加權平均法[6]。本文采用加權平均法進行圖像灰度轉換。使用OpenCV中的cv2.cvtColor()實現灰度轉換?;叶然男Ч鐖D3(b)所示。
2.1.3" 二值化處理
為了獲得更精準的異形擺線輪齒廓,需要對得到的灰度化圖像進行二值化處理。二值化處理,即將灰度圖中高于閾值的灰度像素值用255代替,反之像素值用0代替,即圖像中只有黑色和白色的像素值。二值化處理的關鍵是確定合適的閾值。常用的確定閾值的方法有:大律法、雙峰法、迭代法和一維最大熵法等[7-8]。本文采用雙峰法對圖像進行二值化處理。首先,畫出圖3(b)的直方圖如圖4所示,直方圖有多個峰,峰與峰之間是可選取的閾值范圍,選擇不同閾值范圍內的閾值進行測試。為了將圖像中的坐標軸信息屏蔽掉,取閾值為20,對圖3(b)進行二值化。在OpenCV中,輪廓提取是從黑色背景中找白色的對象,因此將齒輪部分設置為白色,背景設置為黑色,即二值化時將大于閾值20的像素值置為0,反之像素值置為255,結果如圖3(c)所示。
2.2" 異形擺線輪齒廓提取
異形擺線輪齒廓對應圖像中齒廓曲線的一系列離散點。曲線可以由多種方法表示,在OpenCV中一般用序列來存儲輪廓信息[9]。序列中的每一個元素對應圖像輪廓中一個點的位置。利用OpenCV中的cv2.findContours()函數可以從二值圖像圖3(c)中尋找異形擺線輪齒廓。將得到的輪廓信息用藍線繪制在圖2上,結果如圖3(d)所示。
3" 坐標軸輪廓提取
3.1" 掩膜處理
用選定的圖形、圖像或物體對待處理的圖像(全部或局部)進行遮擋,以控制圖像處理區域的處理過程為掩膜處理[10]。由于虛擬銑削刀具運動軌跡是紅色的,可根據紅色的范圍標記圖2中的紅色區域為感興趣區域(ROI),制作掩膜,再利用掩膜得到坐標軸圖像,其步驟如下。①將圖2從BGR顏色空間轉換到HSV顏色空間;②取紅色下限值為[0,43,46],紅色上限值為[10,255,255],使用OpenCV中的cv2.inRange()函數生成掩膜如圖5(a)所示,掩膜圖像只有0和255像素值,白色區域為感興趣區域;③對圖2做灰度化、二值化(閾值=180)處理,二值化結果如圖5(b)所示;④使用OpenCV中的cv2.bitwise_or()函數對圖5(a)和圖5(b)做按位“或”運算,得到坐標軸二值圖像如圖5(c)所示。
3.2" 坐標軸輪廓提取
用cv2.findContours()函數提取二值圖像圖5(c)的所有輪廓,將輪廓畫到圖2上,效果如圖5(d)所示。由于坐標軸的數字和刻度線輪廓的面積比較小,設置面積閾值為200,將面積大于閾值200的輪廓篩選出來。其結果為3條輪廓,其中,1條輪廓為整幅圖的輪廓,不采用;另2條輪廓分別為坐標軸的內、外輪廓,由于坐標軸線很細,所以可以取其中1條輪廓作為坐標軸輪廓,畫在圖2上,效果如圖5(e)所示。
4" 齒廓坐標提取
4.1" 齒廓坐標值計算
用cv2.findContours()函數提取的輪廓存儲為1個點向量,即point類型的vector表示。每個point存儲了圖像中某像素點所在的行列值。因此,提取的異形擺線輪齒廓并不是設計的其理論坐標數據。根據異形擺線輪齒廓與坐標軸輪廓之間的關系計算異形擺線輪齒廓的理論坐標,計算步驟如下。
1)從坐標軸輪廓中將左、右、上、下4條邊分離出來,分別用left、right、up、down表示,并存儲為列表。
將x=51的所有點定義為坐標軸的左邊left。
將x=588的所有點定義為坐標軸的右邊right。
將y=9的所有點定義為坐標軸的上邊up。
將y=545的所有點定義為坐標軸的下邊down。
2)計算單位像素對應的實際尺寸。
圖2中x坐標軸刻度范圍[-100,100],y坐標軸刻度范圍[-100,100]。
式中:lx為單位像素對應坐標軸中x軸向的實際尺寸值;ly為單位像素對應坐標軸中y軸向的實際尺寸值。
3)計算坐標軸輪廓中心點在坐標系中的坐標值
4)計算齒廓中每個點對應坐標系中的實際坐標值。
式中:(ui,vi)為齒廓中每個點在坐標軸中對應的坐標值;(xi,yi)為齒廓中每個點在圖像中的行、列值。
按上述計算公式計算齒廓的每個點在坐標系中的實際坐標值。
4.2" 齒廓坐標存儲
將計算得到的齒廓坐標數據用Pandas庫的字典存儲數據,再轉存成Excel文件,為后期生成異形擺線輪的三維模型提供齒廓數據。其中,齒廓的部分數據如圖6(a)所示。
用Matplotlib庫plot()函數將提取的異形擺線輪齒廓的圖形顯示出來,如圖6(b)所示。
4.3" 齒廓坐標應用
將異形擺線輪齒廓坐標數據導入三維建模軟件UG中,可以建立異形擺線輪的三維實體模型,如圖7所示,也可以用線切割機床加工異形擺線輪實體。
5" 結論
針對異形擺線輪的齒廓提取,本文結合圖像處理技術對虛擬切削加工得到的異形擺線輪軌跡包絡圖進行齒廓坐標值的提取。該方法的優點如下。
1)針對帶坐標軸的虛擬銑削刀具運動軌跡包絡圖進行圖像處理,分別提取了異形擺線輪齒廓和坐標軸輪廓,根據二者的對應關系一一求解齒廓點實際坐標值,獲取的齒廓數據接近理論值。
2)借助圖像處理技術提取異形擺線輪齒廓,無須借助復雜的求解齒廓的方程。
3)該方法適用范圍較廣,可應用于各種復雜齒輪的齒廓提取。
參考文獻:
[1] 李下蹊,崔建昆.RV減速器參數化建模及3D打印快速成型實現[J].機械傳動,2020,44(5):88-91.
[2] 喬雪濤,張力斌,閆存富,等.我國工業機器人RV減速器發展現狀分析[J].機械強度,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網絡的零件邊緣輪廓提取[J].組合機床與自動化加工技術,2023(3):169-173,177.
[5] 毛星云,冷雪飛,王碧輝,等.OpenCV3編程入門[M].北京:電子工業出版社,2015.
[6] 吳響軍,吳超,江鑫富,等.基于計算機視覺的電子血壓計數字識別算法研究與設計[J].醫療設備,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] 〔美〕布拉德斯基,〔美〕克勒.學習Opencv(中文版)[M].于仕琪,劉瑞禎,譯.北京:清華大學出版社,2009.
[10] 饒艷桃.基于機器視覺的標準直齒圓柱齒輪參數的測量[D].重慶:重慶大學,2015.