汪浩?馮志勇
摘要:工業(yè)測(cè)量中測(cè)量回轉(zhuǎn)體內(nèi)徑時(shí),傳統(tǒng)的接觸式測(cè)量精度不夠并且可能會(huì)損壞待測(cè)物,而采用三坐標(biāo)測(cè)量機(jī)測(cè)量又面臨著機(jī)器高昂的造價(jià),針對(duì)以上問(wèn)題提出了一種利用回轉(zhuǎn)體檢測(cè)儀配合輪廓儀使用收集待測(cè)物點(diǎn)云信息,并利用參數(shù)坐標(biāo)轉(zhuǎn)換將點(diǎn)云信息轉(zhuǎn)換到直角坐標(biāo)系中進(jìn)行擬合,利用LM算法對(duì)圓柱面參數(shù)進(jìn)行求解,進(jìn)而得到回轉(zhuǎn)體內(nèi)徑的方法。在MATLAB中對(duì)該方法進(jìn)行仿真實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果也證明了該方法的可行性。
關(guān)鍵詞:回轉(zhuǎn)體內(nèi)徑;坐標(biāo)轉(zhuǎn)換;LM算法;圓柱面參數(shù)
一、前言
測(cè)量回轉(zhuǎn)體內(nèi)徑是工業(yè)測(cè)量中比較常見(jiàn)的問(wèn)題,回轉(zhuǎn)體工件被廣泛應(yīng)用于農(nóng)業(yè)、工業(yè)、國(guó)防等領(lǐng)域,隨著現(xiàn)代加工和設(shè)計(jì)技術(shù)的不斷進(jìn)步,工業(yè)生產(chǎn)對(duì)回轉(zhuǎn)體的測(cè)量精度及速度也提出了越來(lái)越高的要求。
回轉(zhuǎn)體內(nèi)徑的測(cè)量方法包括接觸式測(cè)量和非接觸式測(cè)量。早期常見(jiàn)的接觸式測(cè)量方法是利用外徑千分尺或者游標(biāo)卡尺等量具來(lái)測(cè)量,這些方法在讀數(shù)時(shí)會(huì)有一定的誤差。影像測(cè)量法也是常用的接觸式測(cè)量方法之一,適用于測(cè)量外螺紋的中徑、牙型角、牙距等參數(shù),但是其對(duì)于檢測(cè)螺紋中徑等單一參數(shù)操作復(fù)雜,效率低,不利于大批量檢測(cè)。隨著三坐標(biāo)測(cè)量機(jī)的出現(xiàn),接觸式檢測(cè)迎來(lái)了飛速發(fā)展,天津大學(xué)的趙紅巖等人研制出一臺(tái)用于回轉(zhuǎn)體零件內(nèi)外表面測(cè)量的三坐標(biāo)測(cè)量機(jī),解決了螺紋作用中徑自動(dòng)測(cè)量的難題[1]。近些年,接觸式檢測(cè)內(nèi)螺紋多參數(shù)已經(jīng)取得了較大的進(jìn)展,想要精確測(cè)得內(nèi)螺紋的各項(xiàng)參數(shù),接觸式檢測(cè)內(nèi)螺紋一般需要通過(guò)精密的金屬探頭來(lái)掃描螺紋輪廓軸向截面上的點(diǎn),通過(guò)獲取的輪廓點(diǎn)云數(shù)據(jù)計(jì)算出螺紋工件的各項(xiàng)參數(shù),雖然這種方法能夠準(zhǔn)確測(cè)量出螺紋的作用中徑,但三坐標(biāo)測(cè)量機(jī)的價(jià)格昂貴,測(cè)量的速率不高,并且接觸式測(cè)量可能會(huì)對(duì)待測(cè)的零件有一定的磨損。因而非接觸式測(cè)量回轉(zhuǎn)體內(nèi)徑成為研究的熱點(diǎn)。陸軍工程大學(xué)的胡備等人提出了一種測(cè)量火炮內(nèi)徑的算法,該方法利用激光位移傳感器和根據(jù)弦長(zhǎng)計(jì)算直徑的原理實(shí)現(xiàn)了火炮內(nèi)徑的非接觸測(cè)量,但是其測(cè)量效率不高,不利于大批量炮管的檢測(cè)。Zhang H等人利用CCD相機(jī)采集螺紋圖像并處理圖像得到點(diǎn)集信息,利用SVM對(duì)點(diǎn)集分類,通過(guò)數(shù)據(jù)分析得到螺紋參數(shù)[1]。Lee YC等人基于機(jī)器視覺(jué)開(kāi)發(fā)了一套螺紋測(cè)量系統(tǒng)[2]。上海工程技術(shù)大學(xué)的劉瑞媛設(shè)計(jì)了一套回轉(zhuǎn)體全外觀視覺(jué)檢測(cè)系統(tǒng)能夠彌補(bǔ)回轉(zhuǎn)體檢測(cè)的缺陷[3]。機(jī)器視覺(jué)的檢測(cè)方法雖然速度快,但是其檢測(cè)結(jié)果的準(zhǔn)確性依賴于成像的質(zhì)量,因此這種方法的使用有一定的局限性。
針對(duì)以上回轉(zhuǎn)體內(nèi)徑測(cè)量的問(wèn)題,本文提出了一種非接觸收集點(diǎn)云擬合圓柱面方法求回轉(zhuǎn)體內(nèi)徑。這種方法在測(cè)量過(guò)程中無(wú)需接觸待測(cè)回轉(zhuǎn)體,故避免了對(duì)待測(cè)零件的磨損,使用的儀器相較于三坐標(biāo)測(cè)量機(jī)也低廉很多,利用點(diǎn)云進(jìn)行圓柱面擬合這種方法來(lái)求回轉(zhuǎn)體的內(nèi)徑參數(shù)也避免了回轉(zhuǎn)體傾斜放置對(duì)結(jié)果的影響,提高了精度,大大提高了測(cè)量的效率。
二、擬合原理
空間圓柱面是三維空間到定直線l的距離等于定長(zhǎng)r的所有點(diǎn)組成空間幾何圖形為圓柱面,其中r為圓柱半徑。根據(jù)上述圓柱面的幾何定義,假設(shè)P點(diǎn)是圓柱上的任意一點(diǎn),P0為該圓柱面軸線上的一點(diǎn),坐標(biāo)為(x0,y0,z0),(a,b,c)為該圓柱面軸線的向量,r0為該圓柱面的半徑,則可以確定圓柱面的方程為:
(x-x0)2+(y-y0)2+(z-z0)2-[a(x-x0)+b(y-y0)+c(z-z0)]2=r02(1)[4]
根據(jù)(1)式構(gòu)建算法模型:
由于該算法模型為非線性方程,只能通過(guò)非線性最小二乘法來(lái)求解未知參數(shù)。非線性最小二乘法主要有梯度下降法、牛頓法和LM法,三者都是以迭代的方式對(duì)參數(shù)進(jìn)行求解,梯度下降法在距離極值點(diǎn)較遠(yuǎn)的時(shí)候收斂速度會(huì)較快,靠近極小值時(shí)收斂速度減慢,求解需要很多次的迭代,其貪心算法的本質(zhì)可能會(huì)導(dǎo)致它的求解路徑呈鋸齒下降,無(wú)法求解。
牛頓法每一步計(jì)算都需要求解目標(biāo)函數(shù)的海森矩陣,收斂速度快,但是計(jì)算過(guò)于復(fù)雜,且牛頓法是局部收斂的,因此對(duì)于初始值的選取有一定的要求,并且需要求解的海森矩陣必須可逆。高斯-牛頓法利用近似海森矩陣代替了海森矩陣,相比于牛頓法減小了計(jì)算量。但是近似海森矩陣要求是可逆且正定的,但實(shí)際計(jì)算中近似海森矩陣可能為奇異矩陣或者為病態(tài)的,如果步長(zhǎng)過(guò)大甚至?xí)?dǎo)致不收斂,從而無(wú)法得到方程組的解。LM算法通過(guò)調(diào)節(jié)阻尼因子自適應(yīng)調(diào)整達(dá)到收斂特性,減小近似海森矩陣的病態(tài)問(wèn)題,兼顧了另外兩種算法的優(yōu)點(diǎn),相比于梯度下降法,收斂速度要快很多,相比于牛頓法,LM算法擁有良好的魯棒性,即使在初始值距離局部最優(yōu)解非常遠(yuǎn),也可以成功求解。所以在此選用LM算法進(jìn)行擬合[5]。
首先,通過(guò)(2)式構(gòu)建目標(biāo)函數(shù):
其中m是參數(shù)向量, 表示有效點(diǎn)的個(gè)數(shù),為了減少后續(xù)迭代過(guò)程中可能出現(xiàn)奇異矩陣的情況,將收集到的圓柱面上的點(diǎn)進(jìn)行重心化處理,處理公式如式(4)所示:
要使f(X)取得最小值,應(yīng)滿足f(X)的導(dǎo)數(shù)為0。
根據(jù)(4)式,可以求出雅可比行列式:
J(X)=F'(X)(6)
為了求解式(5)所示的非線性方程組,將其進(jìn)行泰勒級(jí)數(shù)展開(kāi),通過(guò)對(duì)參數(shù)向量逐次迭代實(shí)現(xiàn)求解。設(shè)參數(shù)向量的初值X0,第k次迭代和第k+1次迭代后的值分別為Xk和Xk+1,令: Xk=Xk+1-Xk,
則有算式:
J(Xk)Xk=-F(Xk)(7)
引入阻尼因子 ,如式(8)所示:
[J(Xk)+μkI]Xk=-F(Xk)(8)
進(jìn)而得到增量的計(jì)算公式如式(9)所示:
Xk=-[J(Xk)+μkI]-1F(Xk)(9)
由上式可以求得第 次迭代后的參數(shù)向量如式(10)所示:
Xk+1=Xk-[J(Xk)+μkI]-1F(Xk)(10)
設(shè)定收斂精度 0,若參數(shù)向量X滿足精度要求,則有X*=Xk+1,并結(jié)束迭代過(guò)程。通過(guò)以上方法便能夠得到圓柱面的參數(shù)X。
三、仿真實(shí)驗(yàn)
(一)實(shí)驗(yàn)裝置
本次研究以實(shí)驗(yàn)室現(xiàn)有的激光位移傳感器為核心器件構(gòu)建了一套非接觸式內(nèi)螺紋檢測(cè)設(shè)備。應(yīng)用以直射式激光三角法測(cè)距的激光位移傳感器作為非接觸式掃描測(cè)針,通過(guò)PLC控制伺服電機(jī),實(shí)現(xiàn)激光位移傳感器的移動(dòng)和轉(zhuǎn)動(dòng)控制,配合螺紋測(cè)量框架和夾具等附件,構(gòu)建一套實(shí)現(xiàn)非接觸檢測(cè)內(nèi)螺紋多參數(shù)的技術(shù)方案。
本次實(shí)驗(yàn)用到的實(shí)驗(yàn)裝置是實(shí)驗(yàn)室經(jīng)過(guò)改進(jìn)的輪廓儀配合回轉(zhuǎn)體檢測(cè)儀來(lái)獲取點(diǎn)云數(shù)據(jù)。該裝置在激光位移傳感器下方添加了一個(gè)反射鏡,當(dāng)輪廓儀無(wú)法進(jìn)入到回轉(zhuǎn)體內(nèi)部掃描時(shí),掃描激光通過(guò)該反射鏡來(lái)實(shí)現(xiàn)回轉(zhuǎn)體內(nèi)部的掃描。實(shí)驗(yàn)裝置圖如圖1所示。
(二)測(cè)量流程
此次仿真實(shí)驗(yàn)圓柱面擬合的具體流程主要分為以下幾步:
1.利用實(shí)驗(yàn)室的回轉(zhuǎn)體檢測(cè)儀配合輪廓儀獲取點(diǎn)云信息,獲得的點(diǎn)云信息坐標(biāo)記為(x,z),其中x表示軸上坐標(biāo)值,z表示傳感器發(fā)出激光到待測(cè)物的距離,為激光發(fā)出點(diǎn)到反射鏡與反射鏡到待測(cè)環(huán)規(guī)內(nèi)壁的距離之和,將z值減去傳感器到反射鏡的距離R0,得到點(diǎn)云極坐標(biāo)。首先需要對(duì)點(diǎn)云極坐標(biāo)信息進(jìn)行坐標(biāo)轉(zhuǎn)換,轉(zhuǎn)換到直角坐標(biāo)系中。
2.將收集的點(diǎn)云進(jìn)行降噪處理有利于后續(xù)圓柱面擬合得到精確的圓柱面參數(shù),因此首先對(duì)收集到的點(diǎn)云信息進(jìn)行小波濾波降噪處理。一般情況下,小波分解的層數(shù)越多,去噪的效果就越好,但是,隨著分解層數(shù)的增加,相應(yīng)的計(jì)算量也會(huì)大大增加,為了保證工作效率,一般情況下,分解層數(shù)為3到5層。因此,在實(shí)驗(yàn)的時(shí)候分解層數(shù)選擇了4層。小波去噪的基本問(wèn)題分解成三個(gè)層面的問(wèn)題:小波基的選擇、閾值的選擇和閾值函數(shù)的選擇。對(duì)于閾值函數(shù)的選擇,最常用的選擇有硬閾值和軟閾值。硬閾值函數(shù)可以很好地保留信號(hào)邊緣等局部特征,軟閾值方法相對(duì)比較平滑,但會(huì)造成邊緣模糊等失真現(xiàn)象,傳統(tǒng)的閾值函數(shù)不具備高階可導(dǎo)性。我們使用改進(jìn)的半軟閾值函數(shù)進(jìn)行降噪處理。改進(jìn)的半軟閾值函數(shù)如式11所示:
目前常見(jiàn)的閾值選擇有固定閾值、啟發(fā)式閾值、無(wú)偏似然估計(jì)閾值和極值閾值,閾值的選擇不同,小波濾波去噪的效果也有所差異。對(duì)此,我們對(duì)不同的小波基以及閾值進(jìn)行實(shí)驗(yàn),最終發(fā)現(xiàn)haar小波和固定閾值時(shí),均方根誤差最小,小波濾波的效果最好。
3.確定出圓柱面擬合的初始值,該圓柱面擬合算法有著至關(guān)重要的作用,一般來(lái)說(shuō),初值越接近實(shí)際值,收斂得越快。圓柱面擬合的7個(gè)參數(shù)中,x0,y0,z0是相關(guān)的,a,b,c也是相關(guān)的,故為了保證起始點(diǎn)的坐標(biāo)以及軸向量具有唯一性,我們需要對(duì)其添加一些約束關(guān)系,約定方向向量為單位向量且指向正方向,對(duì)此,我們可以得到下面的條件方程:a2+b2+c2=1[6];根據(jù)以往經(jīng)驗(yàn),在此次擬合算法中,我們可以取a=0,b=0,c=1;由于實(shí)驗(yàn)中的環(huán)規(guī)都是正放在儀器,故其圓柱面均可認(rèn)為是正圓柱,因此,我們可以任取軸上一點(diǎn)確定x0,y0,z0,r0取所有輪廓點(diǎn)的z值的平均值,以上本次擬合圓柱面算法的初值都已確定。
4.在MATLAB上進(jìn)行仿真實(shí)驗(yàn),利用上述LM算法求解圓柱面參數(shù)。MATLAB中的多元非線性回歸函數(shù)便是利用了LM算法對(duì)參數(shù)進(jìn)行求解,求解方程如式12所示:
beta=nlinfit(X,Y,modelfun,eta0,options)(12)
其中modelfun為擬合指定模型,即為(3)式,X,Y為預(yù)測(cè)變量和響應(yīng)值,此處X即為點(diǎn)云信息轉(zhuǎn)換在直角坐標(biāo)系的坐標(biāo)值構(gòu)成的xyz數(shù)組,Y初始化為長(zhǎng)度為輪廓點(diǎn)數(shù)量,值均為0的一維數(shù)組,實(shí)驗(yàn)中記為zeroes(count,0),count為點(diǎn)的數(shù)量,beta為此次擬合參數(shù)的初始值,實(shí)驗(yàn)中記作P0,options為指定的評(píng)估算法,實(shí)驗(yàn)中創(chuàng)建一個(gè)opts對(duì)象,并將其允許迭代的最大次數(shù)設(shè)為2000,即beta為此次多元非線性回歸后得到的圓柱面的參數(shù)值,記為P,將上述參數(shù)代入多元非線性回歸函數(shù)中,得到本次圓柱面擬合的參數(shù)P,進(jìn)而得到待測(cè)環(huán)規(guī)的內(nèi)徑。
(三)仿真結(jié)果
利用系統(tǒng)點(diǎn)云采集裝置對(duì)待測(cè)環(huán)規(guī)進(jìn)行掃描,由伺服電機(jī)帶動(dòng)輪廓儀旋轉(zhuǎn)一周,收集待測(cè)環(huán)規(guī)270條輪廓的點(diǎn)云信息,利用上文提到的基于LM算法的圓柱面擬合算法模型進(jìn)行擬合,得出數(shù)據(jù)擬合的圓柱面的圓柱軸線的初始點(diǎn)(x0,y0,z0),圓柱面的軸線向量(a,b,c),圓柱面的半徑r0這7個(gè)參數(shù)如表 1所示。在MATLAB中畫(huà)出由上述圓柱面方程確定的唯一圓柱面,如圖2所示。綠色為原始點(diǎn)云數(shù)據(jù),整個(gè)圓柱面為原始點(diǎn)云數(shù)據(jù)擬合的圓柱面。通過(guò)上述數(shù)據(jù)易得該環(huán)規(guī)的內(nèi)徑為60.0044。繼續(xù)用另外兩組點(diǎn)云數(shù)據(jù)進(jìn)行上述實(shí)驗(yàn),三次檢測(cè)結(jié)果與環(huán)規(guī)內(nèi)徑相比較的結(jié)果如表 2所示。圓度是評(píng)價(jià)一個(gè)圓柱面擬合算法有效與否的重要參數(shù),其定義為圓柱面表面上的點(diǎn)到圓柱中軸線的距離與圓柱面半徑之差。在此列出一條輪廓上的部分牙型上的點(diǎn)的圓度值,如表 3所示。根據(jù)表3對(duì)R進(jìn)行統(tǒng)計(jì)分析,R的均值等于零,R的標(biāo)準(zhǔn)差為0.33mm,準(zhǔn)確性很高。根據(jù)上述實(shí)驗(yàn)結(jié)果可知,擬合柱面圓度準(zhǔn)確性很高,測(cè)得的環(huán)規(guī)內(nèi)徑結(jié)果均在實(shí)驗(yàn)誤差的允許范圍值內(nèi),因此用基于LM算法的點(diǎn)云擬合柱面來(lái)求回轉(zhuǎn)體內(nèi)徑的算法是可行的。
四、結(jié)語(yǔ)
本文介紹了一種利用LM算法來(lái)實(shí)現(xiàn)求解擬合圓柱面的參數(shù)進(jìn)而得到待測(cè)環(huán)規(guī)內(nèi)徑的方法,并在MATLAB上進(jìn)行仿真實(shí)驗(yàn),最終畫(huà)出了該算法求解的參數(shù)所確定的圓柱面,并通過(guò)圓柱面參數(shù)求解了該環(huán)規(guī)的內(nèi)徑,證明了該算法的可行性。該方法測(cè)量回轉(zhuǎn)體內(nèi)徑需要對(duì)點(diǎn)云信息進(jìn)行野值剔除,準(zhǔn)確的點(diǎn)云信息對(duì)后續(xù)的擬合準(zhǔn)確度有著至關(guān)重要的影響,因此后續(xù)的優(yōu)化可以從點(diǎn)云信息的野值剔除算法進(jìn)行改進(jìn),提高測(cè)量回轉(zhuǎn)體內(nèi)徑的精度。與傳統(tǒng)的測(cè)量回轉(zhuǎn)體的方法相比,這種方法避免了與回轉(zhuǎn)體的直接接觸,實(shí)現(xiàn)了非接觸式自動(dòng)檢測(cè),并且通過(guò)實(shí)驗(yàn)結(jié)果證明了該方法測(cè)量的環(huán)規(guī)內(nèi)徑結(jié)果精確度也很高,利用反射鏡配合線激光輪廓儀不僅大大提高了收集點(diǎn)云信息的效率,對(duì)測(cè)量較小的回轉(zhuǎn)體也有很好的實(shí)用性,擴(kuò)大了該方法測(cè)量回轉(zhuǎn)體的使用范圍,從而大大提高了測(cè)量的效率,所以該方法測(cè)量回轉(zhuǎn)體內(nèi)徑在工業(yè)測(cè)量中具有很高的實(shí)用價(jià)值。
參考文獻(xiàn)
[1]ZHANG H,JIN G,JIANG Y,et al. External screw thread parameters detection by machine vision based on SVM feature point classification[J]. Transducer and Microsystem Technologies, 2019.
[2]LEE Y C,YEH S S.Using Machine vision to develop an on-machine thread measurement system for computer numerical control lathe machines[C]//Lecture Notes in Engineering and Computer Science: Proceedings of The International MultiConference of Engineers and Computer Scientists. 2019: 13-15.
[3]劉瑞媛.回轉(zhuǎn)體零件全外觀視覺(jué)檢測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].上海:上海工程技術(shù)大學(xué),2020.
[4]袁建剛,潘軼.一種圓柱面擬合方法[J].工程勘察,2017,45(12):60-64.
[5]周小寧,王立權(quán),朱偉華,等.基于LM算法的近似核FFT頻率擬合算法[J].艦船電子對(duì)抗,2020,43(05):44-49.
[6]申旭,朱文芳,王偉峰,等.一種空間圓柱面擬合計(jì)算方法[J].測(cè)繪科學(xué)技術(shù)學(xué)報(bào),2018,35(06):601-604.