倪高烽,程維明
(201620 上海市 上海工程技術(shù)大學(xué) 機(jī)械與汽車工程學(xué)院)
螺紋是機(jī)械制造業(yè)中最為常見的一種連接形式,主要有緊固、聯(lián)結(jié)、密封和傳動(dòng)等功能,在制造業(yè)中有著廣泛的應(yīng)用[1],保證螺紋精度對(duì)整個(gè)機(jī)械裝備制造質(zhì)量至關(guān)重要。除了提高螺紋制造水平外,提高檢測(cè)水平對(duì)于確保螺紋的可靠性更為重要。目前已經(jīng)有大量的螺紋檢測(cè)方法,傳統(tǒng)的螺紋測(cè)量方法主要有三針法、量規(guī)法等;現(xiàn)代化的綜合測(cè)量方法則主要對(duì)掃描得到的螺紋二維輪廓點(diǎn)云數(shù)據(jù)進(jìn)行多參數(shù)的綜合計(jì)算,輪廓掃描方式主要有接觸式和非接觸式兩種[2]。
國內(nèi)外學(xué)者提出了多種基于二維輪廓點(diǎn)云數(shù)據(jù)的螺紋參數(shù)計(jì)算方法。Kosarevsky 和Latypov[3]采用廣義霍夫變換對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行直線提取處理,然后對(duì)獲得的輪廓直線和交點(diǎn)進(jìn)行排序并找到與螺紋輪廓直線相切的圓,最后用貝恩特公式求得螺紋參數(shù)。但霍夫變換算法其時(shí)間復(fù)雜度和空間復(fù)雜度都很高[4],并且在檢測(cè)過程中只能確定直線方向,丟失線段的長(zhǎng)度信息。張昊和金冠[5]利用機(jī)器視覺原理及邊緣提取獲得的螺紋二維輪廓點(diǎn)云數(shù)據(jù),通過SVM 特征點(diǎn)分類的方法進(jìn)行點(diǎn)集分類操作,在獲得角點(diǎn)點(diǎn)集后分別擬合直線求取螺紋各參數(shù);陳盛等人[6]通過穩(wěn)健高斯回歸濾波對(duì)數(shù)據(jù)進(jìn)行處理后,再利用復(fù)合形模擬退火算法獲得相鄰兩段牙側(cè)線之間距離均方差最小的目標(biāo)函數(shù),進(jìn)而計(jì)算螺紋各項(xiàng)參數(shù)。
以上幾種基于二維輪廓數(shù)據(jù)的螺紋參數(shù)計(jì)算方法均從螺紋整體出發(fā)來計(jì)算螺紋的各項(xiàng)參數(shù),無法獲取螺紋工件特定牙處或指定段的各項(xiàng)數(shù)據(jù),忽略了每個(gè)牙形的個(gè)體性。本文通過有效的數(shù)據(jù)匹配算法提取每一牙形,再對(duì)每一牙形的大徑、小徑、中徑、螺距、牙形角等參數(shù)進(jìn)行計(jì)算,最后在獲取整體螺紋參數(shù)的同時(shí),也能很好地獲取每一牙的各項(xiàng)參數(shù),進(jìn)而更好地分析螺紋工件的精密性。
為獲取螺紋的某一軸向剖面輪廓位置坐標(biāo)數(shù)據(jù)(如圖1 陰影區(qū)域所示),接觸式螺紋測(cè)量采用輪廓儀的測(cè)針進(jìn)行掃描采樣。測(cè)針在電機(jī)的驅(qū)動(dòng)下對(duì)被測(cè)螺紋上下對(duì)稱輪廓進(jìn)行連續(xù)掃描,采集機(jī)械探針在接觸螺紋時(shí)的坐標(biāo)點(diǎn)數(shù)據(jù)并輸入計(jì)算機(jī),再通過計(jì)算處理可以得到被測(cè)螺紋的某一軸向剖面輪廓位置坐標(biāo)數(shù)據(jù)[7],接下來就可以對(duì)螺紋采樣輪廓坐標(biāo)數(shù)據(jù)進(jìn)行分段組合處理,如圖2 所示。
圖1 軸向剖面掃描輪廓Fig.1 Axial section scan profile
圖2 螺紋采樣數(shù)據(jù)分段組合處理流程圖Fig.2 Flow chart of segmented combined processing of thread sampling data
對(duì)于普通公制螺紋來說,在同一牙型周期的相關(guān)數(shù)據(jù)段中的數(shù)據(jù)點(diǎn)位梯度值處于同一個(gè)值區(qū)間。例如,如圖3 某段螺紋輪廓上表面及圖4 該段螺紋點(diǎn)位梯度值圖所示,其中右牙側(cè)(牙側(cè)下降段)相鄰的采樣數(shù)據(jù)點(diǎn)梯度值都為負(fù)值且都小于某一閾值,而左牙側(cè)(上升段)相鄰的采樣數(shù)據(jù)點(diǎn)梯度值都為正值且都大于某一閾值,以此可以區(qū)分并提取數(shù)據(jù)中的左右牙側(cè)數(shù)據(jù)段,具體設(shè)定的閾值跟螺紋牙型角α有著直接關(guān)系。梯度閾值計(jì)算公式為
圖3 普通螺紋上側(cè)輪廓圖Fig.3 Upper side profile of common thread
圖4 輪廓點(diǎn)云梯度值圖Fig.4 Gradient diagram of contour point cloud
其中tan(90°-α/2),即螺紋牙側(cè)斜率,以除以2 的獲得值為分界點(diǎn)區(qū)分是牙側(cè)還是牙頂或牙底處的正常表面起伏。正值為區(qū)分出左牙側(cè)即牙側(cè)上升段,添加負(fù)號(hào)為區(qū)分出右牙側(cè)即牙側(cè)下降段。
根據(jù)普通螺紋60°牙型角可以得到閾值為0.866,梯形螺紋30°牙型角閾值為1.866。而右牙側(cè)數(shù)據(jù)段(牙側(cè)下降段)接下來就是牙底數(shù)據(jù)段,左牙側(cè)數(shù)據(jù)段(牙側(cè)上升段)接下來就是牙頂數(shù)據(jù)段。
采用梯度值判斷法來進(jìn)行數(shù)據(jù)分段處理,也能很好地克服測(cè)量?jī)x掃描時(shí)螺紋軸線傾斜的問題。圖 5 所示是螺紋采樣數(shù)據(jù)根據(jù)梯度值分類的流程圖。
圖5 螺紋采樣數(shù)據(jù)分類以及牙形組合程序框圖Fig.5 Classification of threaded sampling data and block diagram of tooth shape combination
通過梯度值判斷法對(duì)采集到的數(shù)據(jù)點(diǎn)進(jìn)行分段處理后,接下來是將各數(shù)據(jù)段組合成單個(gè)牙形。以上表面螺紋輪廓為例,定義一個(gè)螺紋輪廓上側(cè)牙形包含左牙側(cè)+牙頂+右牙側(cè)+牙底,為了方便計(jì)算每一牙形的螺距以及中徑,再加上下一牙形的左牙側(cè),因?yàn)闊o法設(shè)定掃描獲得的數(shù)據(jù)段開始于牙頂,左右牙側(cè)還是牙底,所以可以分成如圖6 所示4 類情況進(jìn)行分類處理。
圖6 牙形提取情況分類Fig.6 Classification of tooth extraction
情況1:如果從牙頂開始,則第1 個(gè)牙形組合為左牙側(cè)1+牙頂2+右牙側(cè)2+牙底2+左牙側(cè)2,則第n 個(gè)牙形組合為左牙側(cè)n+牙頂(n+1)+右牙側(cè)(n+1)+牙底(n+1)+左牙側(cè)(n+1)。
情況2:如果從右牙側(cè)開始,則第1 個(gè)牙形組合為左牙側(cè)1+牙頂1+右牙側(cè)2+牙底2+左牙側(cè)2,則第n 個(gè)牙形組合為左牙側(cè)n+牙頂n+右牙側(cè)(n+1)+牙底(n+1)+左牙側(cè)(n+1)。
情況3:如果從牙底開始,則第1 個(gè)牙形組合為左牙側(cè)1+牙頂1+右牙側(cè)1+牙底2+左牙側(cè)2,則第n 個(gè)牙形組合為左牙側(cè)n+牙頂n+右牙側(cè)n+牙底(n+1)+左牙側(cè)(n+1)。
情況4:如果從左牙側(cè)開始,則第1 個(gè)牙形組合為左牙側(cè)1+牙頂1+右牙側(cè)1+牙底1+左牙側(cè)2,則第n 個(gè)牙形組合為左牙側(cè)n+牙頂n+右牙側(cè)n+牙底n+左牙側(cè)(n+1)。
情況4 特例說明:當(dāng)?shù)? 組左牙側(cè)點(diǎn)數(shù)過少時(shí),會(huì)影響后續(xù)中徑線的提取以及牙型角的計(jì)算,故當(dāng)點(diǎn)數(shù)少于2 個(gè)時(shí),將該組牙型標(biāo)記出來,不做計(jì)算,只占一個(gè)牙形組的標(biāo)號(hào)位置。
螺紋輪廓下表面牙形分類組合的方式與上表面方法一樣。當(dāng)上下表面兩側(cè)牙形組合完成后,最后就是將對(duì)應(yīng)的上下表面輪廓的單個(gè)牙形進(jìn)行匹配組合。上下螺紋輪廓同一相匹配的單個(gè)牙形在軸向相差大約半個(gè)螺距的距離,基于此條規(guī)則,可以將上下螺紋輪廓的單個(gè)牙形相配對(duì)成整個(gè)完整的牙形。由于螺紋存在左右旋之分,所以匹配時(shí)也需要注意區(qū)分。如圖7 所示,理論上,右旋的螺紋下側(cè)輪廓的牙形點(diǎn)云數(shù)據(jù)x 坐標(biāo)(軸向坐標(biāo))比上側(cè)輪廓的牙形點(diǎn)云數(shù)據(jù)x 坐標(biāo)(軸向坐標(biāo))大半個(gè)螺距;左旋螺紋相反,下側(cè)輪廓的牙形點(diǎn)云數(shù)據(jù)x 坐標(biāo)(軸向坐標(biāo))比上側(cè)輪廓的牙形點(diǎn)云數(shù)據(jù)x 坐標(biāo)(軸向坐標(biāo))小半個(gè)螺距。螺距P 可以在獲得每一側(cè)牙形組合后利用定義事先求出。
圖7 單個(gè)牙形旋向組合Fig.7 Single tooth rotation combination
實(shí)際求取過程中存在誤差,這里以中徑線所在直線與牙側(cè)交點(diǎn)坐標(biāo)作為配對(duì)標(biāo)準(zhǔn)點(diǎn)。圖7(a)上表面中徑線與牙側(cè)交于點(diǎn)B1(x1,z1),下表面中徑線與牙側(cè)交于點(diǎn)B2(x2,z2),當(dāng)滿足式(2 )時(shí)配對(duì)為一組牙型組合。
式中:P/2——半個(gè)螺距;δ(δ
同樣,圖7(b)上表面中徑線與牙側(cè)交于點(diǎn)B3(x3,z3),下表面中徑線與牙側(cè)交于點(diǎn)B4(x4,z4),當(dāng)滿足式(3 )時(shí)配對(duì)為一組牙型組合。
式中:P/2——半個(gè)螺距;δ(δ
螺紋指的是在圓柱或圓錐母體表面上制出的螺旋線形的、具有特定截面的連續(xù)凸起部分[8]。普通螺紋的基本牙型能很好地反映螺紋的基本尺寸,梯形螺紋和管螺紋等其他型號(hào)螺紋的基本牙型可看作是在普通螺紋基本牙型基礎(chǔ)上的調(diào)整,與普通螺紋基本牙型相似或相同。需要提取的主要參數(shù)有:大徑d、小徑d1、中徑d2、螺距P、牙型角α等。這里以組合后的單個(gè)右螺旋牙形為例,在螺紋輪廓點(diǎn)云數(shù)據(jù)分段的基礎(chǔ)上利用最小二乘擬合直線,進(jìn)而可以求得每段直線方程參數(shù)的(k,b):
在牙形分段處理后,獲得全部的牙頂數(shù)據(jù)段,通過最小二乘法分別擬合得到的上下表面輪廓線lup:z=kupx+bup和llower:z=klowerx+blower。實(shí)測(cè)獲得的螺紋數(shù)據(jù)上下表面的輪廓擬合直線并不平行,存在一定夾角,所以螺紋工件的螺紋軸線在測(cè)量平面內(nèi)的投影直線為lup和llower的角平分線。如圖8 所示,圖中模擬的螺紋上下表面輪廓傾斜度經(jīng)過放大處理,實(shí)際上下表面輪廓線lup和llower擬合直線夾角很小。設(shè)螺紋工件的螺紋軸線laxis:z=kaxisx+baxis根據(jù)式(5 )可以得到2 個(gè)kaxis,取絕對(duì)值最小的為軸線斜率,另一個(gè)為補(bǔ)角的角平分線。再將lup和llower的交點(diǎn)代入螺紋軸線方程求出截距,從而求出螺紋軸線方程。
圖8 螺紋軸線計(jì)算示意圖Fig.8 Calculation diagram of thread axis
螺紋大徑指的是與外螺紋牙頂相切的假想圓柱體或圓錐體的直徑,螺紋小徑指的是與外螺紋牙底相切的假想圓柱體或圓錐體的直徑。通過上下螺紋輪廓牙頂?shù)臄?shù)據(jù)來計(jì)算螺紋大徑,計(jì)算擬合此位置的直線,然后求出上下表面牙頂擬合直線的距離就是螺紋大徑,用這種方法也可以求出螺紋小徑[9]。如圖9 所示,通過前面方法進(jìn)行直線擬合La的方程,z=k1x+b1,Lb的方程,z=k2x+b2。理論上La和 Lb是兩條平行的直線,但由于螺紋的制造誤差、測(cè)針掃描以及后續(xù)數(shù)據(jù)處理時(shí)的誤差,使得 La與Lb兩直線可能不平行,所以通過計(jì)算點(diǎn)到直線距離來計(jì)算出螺紋的大徑值。在 La上選n 點(diǎn),求點(diǎn)到直線Lb的距離平均值;同理,在Lb上取m 點(diǎn),求到直線Lb的距離平均值。最后根據(jù)式(6)可得到大徑值。
圖9 螺紋大小徑擬合Fig.9 Fitting of thread big and small diameters
螺紋中徑是指一個(gè)假想圓柱或圓錐,該圓柱或圓錐的母線通過螺紋牙型上溝槽和凸起寬度相等的地方的直徑[10]。根據(jù)中徑的定義,在牙型截面內(nèi)溝槽和凸起寬度相等的地方就是中徑所在的圓柱母線。對(duì)于本文提取的單個(gè)牙型輪廓曲線,可以根據(jù)3 個(gè)左右牙側(cè),構(gòu)造直線方程L1,L2和L3,如圖10 所示。然后作出任意一條直線Ld'與前文求得的螺紋軸線平行且與螺紋左右牙側(cè)擬合的直線相交于點(diǎn) A(x1,z1),B(x2,z2),C(x3,z3),若滿足式(7),則Ld'為螺紋中徑處螺紋母線。如果不滿足該條件,可以作線段AB 的中垂線N1N2與螺紋右牙側(cè)擬合直線L2交與E 點(diǎn),過E 點(diǎn)做平行于螺紋軸線的直線Ld與螺紋左右牙側(cè)擬合直線L1,L2交于點(diǎn) D 和點(diǎn)F,此時(shí)有 DE=DF,所作的直線Ld即為所求得中徑所在直線。求出中徑所在直線后,兩中徑所在直線的距離即為中徑,方法與大小徑一樣。
圖10 螺紋中徑線擬合Fig.10 Middle diameter line fitting of thread
螺距是指相鄰兩牙在中徑線上對(duì)應(yīng)兩點(diǎn)間的軸向距離。由螺距定義可知,螺距是在測(cè)量中徑所在的母線上相鄰兩牙之間的軸向距離,因此螺距P 是在螺紋中徑擬合出的母線上進(jìn)行計(jì)算的。如圖10 所示,由中徑擬合直線過程可知,中徑線Ld與螺紋的牙側(cè)線相交于若干點(diǎn),每個(gè)螺紋牙同側(cè)的交點(diǎn)如D,F(xiàn) 之間的距離就是螺距,那么計(jì)算出多個(gè)同側(cè)交點(diǎn)間的距離后求均值,就可以得到螺距的測(cè)量值。則螺距 P 計(jì)算公式為
螺紋牙型角指的是螺紋牙型上相鄰兩牙側(cè)間的夾角,而牙型半角指的是螺紋牙側(cè)直線與螺紋軸線的垂直線線間的夾角。如圖11 所示,同一螺紋牙型的左右兩個(gè)牙型半角之和即為該螺紋牙型的牙型角。
圖11 螺紋牙型角擬合Fig.11 Fitting of thread shape angle
根據(jù)牙型角兩邊牙側(cè)之前擬合的直線L1,L2,求得的兩直線斜率分別為k1和k2,前文求得的螺紋軸線斜率kaxis,則L1和L2與螺紋軸線的夾角公式分別為
進(jìn)而得到左右牙型半角的公式為
則牙型角α為
也可以根據(jù)牙型角的定義可知,根據(jù)式(12)直接求得牙型角大小
對(duì)參數(shù)計(jì)算算法進(jìn)行測(cè)試和分析。本文采用實(shí)測(cè)的M25X2.5 的普通螺紋點(diǎn)云數(shù)據(jù),借助MATLAB 進(jìn)行算法程序設(shè)計(jì)并對(duì)測(cè)量數(shù)據(jù)進(jìn)行分析處理,最后設(shè)計(jì)圖形用戶界面進(jìn)行效果展示,如圖12 所示。
圖12 圖形用戶界面Fig.12 Graphical user interface
測(cè)試結(jié)果得到螺紋主要參數(shù)如表1 所示??梢钥闯鰷y(cè)得的螺紋大徑為25.048 mm,螺距為2.496 mm;螺紋的牙型角值為60.098°,測(cè)試結(jié)果也可以分析單個(gè)牙形的各參數(shù)并判斷其是否合格。通過該方法計(jì)算獲得的螺紋參數(shù),在保證精度的同時(shí),也使獲得的結(jié)果更加多樣化。
表1 螺紋測(cè)量結(jié)果Tab.1 Thread measurement results
本文采用梯度值判斷法對(duì)獲得的螺紋二維輪廓點(diǎn)云數(shù)據(jù)進(jìn)行分類,然后根據(jù)所提出的螺紋單個(gè)牙形的匹配規(guī)則進(jìn)行牙形提取,再利用螺紋的各參數(shù)計(jì)算方法得出每一牙的螺紋參數(shù)數(shù)值,同時(shí)也得到螺紋整體參數(shù)。最后利用實(shí)測(cè)螺紋點(diǎn)云數(shù)據(jù),通過MATLAB 程序設(shè)計(jì)進(jìn)行提取計(jì)算,結(jié)果表明,該方法在保證螺紋檢測(cè)精度的同時(shí),也可以獲取被測(cè)螺紋工件特定牙處或指定段的各項(xiàng)數(shù)據(jù),擴(kuò)展了測(cè)量結(jié)果的多樣性,解決了目前基于螺紋二維輪廓點(diǎn)云的多參數(shù)測(cè)量方法大多無法獲取螺紋單個(gè)牙形參數(shù)的問題。