吳良成,郭 玲
(南京理工大學(xué)自動化學(xué)院,江蘇 南京 210094)
在傳統(tǒng)方法中,吊鉤開口度、危險磨損斷面以及扭轉(zhuǎn)變形等尺寸變化,采用如游標(biāo)卡尺、千分尺、卡鉗等檢測,測量方法看似簡單,在實際操作中卻存在問題,比如吊鉤扭轉(zhuǎn)變形,必須把吊鉤拆下,在專用平臺上用劃線法測得。在傳統(tǒng)測量方法中,工具的差異將導(dǎo)致結(jié)果誤差較大,很難對吊鉤幾何尺寸變化進(jìn)行迅速、準(zhǔn)確的報廢判斷。由于吊鉤的報廢標(biāo)準(zhǔn)主要是檢測吊鉤的開口度、危險磨損斷面以及扭轉(zhuǎn)變形等尺寸,所以吊鉤的幾何尺寸測量在其檢測中是重中之重。在起重機械安全規(guī)程中規(guī)定,當(dāng)?shù)蹉^出現(xiàn)下列情況之一時[1],應(yīng)予以報廢:
1)吊鉤存在裂紋。
2)危險斷面磨損達(dá)原尺寸的10%。
3)開口度比原尺寸增加15%。
4)扭轉(zhuǎn)變形超過10°。
5)危險斷面或吊鉤頸部產(chǎn)生塑性變形。
6)當(dāng)板鉤襯套磨損達(dá)原尺寸的50%時,應(yīng)報廢襯套。
7)當(dāng)板鉤心軸磨損達(dá)原尺寸的5%時,應(yīng)報廢心軸。
本文從完整吊鉤三維點云數(shù)據(jù)[2-3]著手,首先根據(jù)基于隨機采樣一致性的算法[4]對點云模型進(jìn)行分割,獲取鉤柄圓柱模型;對圓柱模型進(jìn)行中軸提取得到單位方向向量以及其上一點;采用點云分割算法[5]以及對稱面提取算法,獲取吊鉤形變以及不形變部分的對稱面來計算扭轉(zhuǎn)角;根據(jù)圓柱中軸與吊鉤的交點以及中軸單位方向向量與垂直于鉤柄對稱面的向量決定的平面,獲取開口度的2個參照點來計算開口度的大小,完成吊鉤的形變檢測[6]。
針對吊鉤形變檢測中的開口度以及扭轉(zhuǎn)角,提出一種綜合點云圓柱分割、圓柱中軸提取以及基于主元分析法(Principal Component Analysis, PCA)的模型對稱面提取來計算開口度以及扭轉(zhuǎn)角的算法。該算法的流程如圖1所示。
圖1 算法流程圖
開口度是吊鉤形變檢測中的一個重要的標(biāo)準(zhǔn),按照國家標(biāo)準(zhǔn),當(dāng)?shù)蹉^的開口尺寸超過未使用時尺寸的15%時,此吊鉤應(yīng)報廢。傳統(tǒng)的人工檢測方法中,開口度的檢測[7]為:在剛啟用新的起重機吊鉤時,在鉤身開口的兩側(cè)各沖出一個小孔,測量2孔的距離并將其記錄在案,用來與日后起重機吊鉤變形后的尺寸進(jìn)行比較,以此判斷開口度變化的程度。在本文中,同樣需要找出2個參照點來計算吊鉤的開口度,但作為一個高度自動化的系統(tǒng),不使用人工選點的方式來選擇參照點,需要運用算法的方式來查找參照點,這是開口度測量中的難點。在這個算法中,用到了圓柱的中軸提取算法,以下進(jìn)行著重介紹。
在三維坐標(biāo)系中,要知道圓柱的中軸,只要知道軸線上的一點,以及軸線的方向向量就可唯一確定這一條軸線[8-9]。求解圓柱中軸的計算步驟如下:
1)求解圓柱軸線單位方向向量。
由于圓柱表面的點到軸線上的距離是相等的,依據(jù)最小二乘原理,使得圓柱面上的點到擬合軸線距離的平方和最?。?/p>
(1)
其中di為測量點(xi,yi,zi)到擬合軸線的距離,(l,m,n)為軸線的單位方向向量。
通過轉(zhuǎn)化可將式(1)展開成式(2):
(mδz-nδy)]+f(l,m,n)
(2)
其中:
f(l,m,n)=(1-l2)B11+(1-m2)B22+(1-n2)B33-
2lmB12-2nlB13-2mnB23
(3)
因此對任意的l、m、n都有:
(4)
由式(4)可知優(yōu)化問題式(1)的最優(yōu)解與式(5)所述優(yōu)化問題的最優(yōu)解相同。
(5)
引入矩陣B=[Bij],則:
f(l,m,n)≥B11+B22+B33-λmax(B)
(6)
文獻(xiàn)[10]中指出當(dāng)且僅當(dāng)[l,m,n]T為矩陣B的最大特征值λmax(B)對應(yīng)的單位特征向量時式(6)可以取最小值,這個單位特征向量即為圓柱軸線單位方向向量[11]。但在實際測試中,當(dāng)圓柱垂直于3個坐標(biāo)平面時λmax(B)對應(yīng)的并不是軸線單位方向向量。故在其基礎(chǔ)上修改為,若求得3個特征向量中有某個值大于0.99的向量為所求向量,若沒有,則為最大特征值λmax(B)對應(yīng)的單位特征向量。
2)轉(zhuǎn)換原始坐標(biāo)系。
假設(shè)測量數(shù)據(jù)(xi,yi,zi)所在的坐標(biāo)系為o-xyz,對(xi,yi,zi)進(jìn)行坐標(biāo)變換,設(shè)變換后的坐標(biāo)系為o-x′y′z′,使得z′軸與軸線單位向量[l,m,n]重合,其旋轉(zhuǎn)變換矩陣R為:
(7)
則新坐標(biāo)系中的點(x,y,z)的計算為:
(x,y,z)T=R×(xi,yi,zi)T
(8)
此時的圓柱垂直于oxy平面,在oxy平面上投影為一個圓。故可以只考慮x、y的坐標(biāo),使用最小二乘法求解這個圓的半徑和圓心坐標(biāo)。然后對圓心坐標(biāo)進(jìn)行坐標(biāo)反變換即可求得圓柱軸線上一點。
3)根據(jù)坐標(biāo)轉(zhuǎn)換后的坐標(biāo)求解投影圓的半徑和圓心。
由轉(zhuǎn)換后的圓柱面在oxy平面上的投影為圓[12-13],設(shè)最小二乘法擬合曲線為:
(x-a)2+(y-b)2=r2
(9)
令:
(10)
設(shè)圓柱面上的點數(shù)為N,則令:
(11)
由最小二乘的方法可解得:
(12)
即:
(13)
由式(11)、式(12)和式(13)可計算出由轉(zhuǎn)換后的圓柱面在oxy平面上的投影所擬合的圓的圓心坐標(biāo)(a,b,0)以及半徑r的大小。
4)對步驟3求得的圓心坐標(biāo)進(jìn)行坐標(biāo)反變換得到圓柱軸線上一點。
步驟3中求得了變換后的擬合圓的圓心坐標(biāo)(a,b,0),這個圓心就是圓柱面中軸上的一點,由此進(jìn)行坐標(biāo)反變換即可得到原坐標(biāo)系中圓柱中軸線上的一點,設(shè)這個點為(x′,y′,z′),則有:
(x′,y′,z′)T=R-1×(a,b,0)T
(14)
由此,即已知軸線上一點(x′,y′,z′)以及軸線單位方向向量[l,m,n],即可在原坐標(biāo)系中求得圓柱中軸線的直線方程。
扭轉(zhuǎn)變形是吊鉤形變檢測的另一個重要的檢測標(biāo)準(zhǔn),按照國家標(biāo)準(zhǔn),當(dāng)扭轉(zhuǎn)變形的角度大于10°時,吊鉤應(yīng)報廢。在傳統(tǒng)的人工檢測方法中,一般使用劃線法進(jìn)行檢測,在檢測過程中需要把吊鉤拆卸下來,然后放在平臺上,使用工具進(jìn)行測量。由大量的檢測試驗可知,起重機吊鉤鉤身部分基本不會發(fā)生形變。所以在本系統(tǒng)中,通過采集模塊得到的完整三維吊鉤模型,分割出基本不形變的吊鉤鉤身以及發(fā)生形變的鉤尖部分,從這2個部分可以看出是基于某個平面對稱的,定義這2個部分的對稱面的夾角作為吊鉤形變檢測的扭轉(zhuǎn)角,作為吊鉤形變檢測其中的一個標(biāo)準(zhǔn)。以下介紹模型對稱平面的提取算法。
在三維模型中,對稱性作為其中的一個重要特征,對吊鉤的扭轉(zhuǎn)角有著不可或缺的作用。在檢測三維模型的平面反射對稱性中,有著各種各樣的方法,其中Simari等人[14]提出了一種基于迭代重加權(quán)最小二乘法的算法?;谶@種算法,筆者對其進(jìn)行了必要的改進(jìn),使得可以用之來完成點云模型中的平面對稱性的檢測。完美對稱的三維模型,一般來說都可以用主元分析法來計算其對稱面。PCA算法首先需要計算模型數(shù)據(jù)的協(xié)方差矩陣[15-16],接著計算此矩陣的3個特征向量,其中的2個特征向量與此模型的質(zhì)心唯一確定了該模型的對稱面[17]。但是,吊鉤并不是完美對稱的,對此只用一次PCA法并不能得到準(zhǔn)確的對稱平面。因此,基于文獻(xiàn)[14],提出迭代重加權(quán)PCA,以此來檢測點云模型的對稱平面。但與文獻(xiàn)[14]不一樣,本文提出了一種新的距離計算方法。
圖2 對稱面提取算法流程圖
以下是迭代重加權(quán)PCA的算法過程:首先以每個點元面積為權(quán)重,使用重加權(quán)PCA計算得到一個近似的平面當(dāng)做初始對稱平面;接著通過一步步的迭代過程不斷地調(diào)整這個初始對稱平面,最終得到一個近于完美的對稱面。在每次的迭代過程中,依據(jù)一個距離量值來不斷地重新計算點元的權(quán)重,運用計算得出的權(quán)重運行重加權(quán)PCA求解得新的近似對稱面。對每一個求解得的對稱面,使用對稱度來定義此對稱面的對稱程度。若此次對稱面的對稱度與上一次迭代的對稱面的對稱度的差值小于一個閾值或者迭代次數(shù)已經(jīng)超過了一定的閾值,則即可終止迭代,此時求解得的對稱面即是三維模型的對稱面。圖2是算法的流程圖。
加權(quán)PCA。以點云P中的點坐標(biāo)pi(xi,yi,zi)(i=1,2,…,n)以及對應(yīng)的權(quán)重wi(i=1,2,…,n),以此來求解一個協(xié)方差矩陣:
(15)
(16)
理解上述算法后,本文提出計算起重機吊鉤開口度以及扭轉(zhuǎn)角的算法,具體的實現(xiàn)步驟如下:
1)將吊鉤放置在掃描儀的視場內(nèi),運用電腦控制掃描儀掃描吊鉤的各表面,然后融合拼接各個掃描圖,并對吊鉤點云進(jìn)行數(shù)據(jù)精簡,提高后期處理的速度,在軟件可視化界面中顯示完整吊鉤點云數(shù)據(jù)如圖3所示。
圖3 吊鉤點云圖
2)運用基于RANSAC的分割算法對吊鉤點云數(shù)據(jù)進(jìn)行圓柱分割,分割圖如圖4所示。
圖4 圓柱分割圖
3)對步驟2中分割出的圓柱進(jìn)行中軸提取,得到中軸方向向量[l,m,n]以及中軸線方程。
4)在點云模型中,選取距離中軸線小于給定閾值的點,選取在中軸提取時變換坐標(biāo)系下z值第三小以及第四小的2點的中點為開口度的第一個參照點,如圖5所示。
圖5 開口度第一個參照點
5)對分割出來的鉤身做對稱面提取,其重加權(quán)PCA計算出的特征向量矩陣為D,D中的前2個列向量與鉤身的質(zhì)心確定的平面即為對稱面。鉤身如圖6所示。
圖6 鉤身部分
6)對分割出來的鉤尖提取對稱面,其重加權(quán)PCA計算出的特征向量矩陣為C,C中的前2個列向量與鉤尖的質(zhì)心確定的平面即為對稱面。鉤尖如圖7所示。
圖7 鉤尖部分
7)計算步驟5和步驟6的對稱面夾角即為該吊鉤的扭轉(zhuǎn)角。
8)以步驟3求得的中軸方向向量[l,m,n]、步驟5求得的特征向量矩陣D的第三個特征向量以及整體點云的質(zhì)心確定一個平面,平面將吊鉤分為2個部分,鉤尖所在的部分離此平面最遠(yuǎn)的點即為開口度的第二個參照點。如圖8所示。
圖8 開口度的第二個參照點
9)以步驟4得到的第一個參照點與步驟8得到的第二個參照點計算吊鉤的開口度。
在VS2013平臺上采用C++語言[18-19]實現(xiàn)本文提出的算法,同時結(jié)合點云數(shù)據(jù)處理庫PCL 1.8.0實現(xiàn)[20]。電腦CPU主頻為2.3 GHz,內(nèi)存為16 GB,使用Windows10 64位操作系統(tǒng)。
為了驗證本文提出的吊鉤形變檢測算法的效率以及準(zhǔn)確度,與傳統(tǒng)的人工檢測進(jìn)行比較,進(jìn)行吊鉤開口度以及扭轉(zhuǎn)角的測量。算法的輸入數(shù)據(jù)來源于DAVID SLS-3結(jié)構(gòu)光3D掃描儀所采集的吊鉤數(shù)據(jù)。
工具:游標(biāo)卡尺、垂直劃線尺、扳手、線、調(diào)整墊塊、鉗子等。
準(zhǔn)備工作:檢測人員需要用鉗子等工具拆卸下起重機吊鉤,接著把吊鉤放到檢測臺上,并將吊鉤各表面清洗干凈。
檢查方法:吊鉤的扭轉(zhuǎn)變形用劃線法測量。把吊鉤擺在檢測平臺上,使用垂直劃線尺等工具,找準(zhǔn)吊鉤的鉤身以及鉤尖的中心線,然后找出2中心線的交點,鉤尖中心線上任意一點向鉤身中心線作垂線H,測出垂足到交點的歐氏距離L,最后求解扭轉(zhuǎn)角。
檢測時間:工具準(zhǔn)備5 min,拆卸吊鉤需要大約15 min,人工檢測需要大約10 min,把吊鉤安裝到起重機上需要大約15 min,總共需要大約45 min。
工具:DAVID結(jié)構(gòu)光掃描儀、電腦。
首先,將吊鉤放到掃描儀的視場內(nèi),同時打開電腦,連接DAVID結(jié)構(gòu)光掃描儀以及電腦,掃描各表面并融合后輸出在軟件可視化界面上。然后,一鍵檢測輸出結(jié)果,包含模型分割、中軸提取、對稱面提取、開口度和扭轉(zhuǎn)角的計算、結(jié)果判定??偣菜钑r間為8 min,準(zhǔn)備吊鉤開口度、扭轉(zhuǎn)角的檢測的時間大約為5 min,檢測和結(jié)果判定大約3 min。
如表1所示,與傳統(tǒng)的人工檢測方法相比,本文實現(xiàn)的吊鉤檢測方法具有更高的精確性。由于2種方法對開口度選取的標(biāo)志點不同,無法進(jìn)行比較,故此只針對扭轉(zhuǎn)角進(jìn)行比較分析。對于出廠的2T吊鉤,出廠的扭轉(zhuǎn)角為0°。人工檢測的結(jié)果為1.13°,使用本文方法進(jìn)行檢測結(jié)果為0.05°。由此可見,本文方法的檢測精度更高,同時還具有測量速度快、可追溯性強等優(yōu)點。
表1 人工和系統(tǒng)檢測的對比
檢測方式檢測時間/min準(zhǔn)確度工具檢驗的追溯性檢測指標(biāo)檢測結(jié)果人工檢測45一般游標(biāo)卡尺、垂直劃線尺等無開口度扭轉(zhuǎn)角8.04%2.38°系統(tǒng)檢測8好DAVID結(jié)構(gòu)光掃描儀、電腦強開口度扭轉(zhuǎn)角6.85%1.31°
在起重機械中,吊鉤作為一個重要的部件,它的定期檢測至關(guān)重要。而一種高效、精確、快速的檢測算法為其在起重機械中的安全提供了有力的保障。本文提出的吊鉤形變檢測算法,綜合運用點云分割、圓柱中軸提取以及對稱面提取這3種算法,對吊鉤的開口度以及扭轉(zhuǎn)角進(jìn)行檢測。通過實驗結(jié)果證明:與傳統(tǒng)人工檢測相比較,本文算法在檢測時間、工具準(zhǔn)備、準(zhǔn)確度、精度等方面均具有較大的優(yōu)勢,滿足實際應(yīng)用的要求。