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