劉 楊,苑瑋琦
(沈陽工業(yè)大學視覺檢測技術(shù)研究所,遼寧沈陽 110870)
我國是摩托車車輪生產(chǎn)制造大國,車輪質(zhì)量對于人類生命安全至關(guān)重要,外觀質(zhì)量檢測是車輪出廠質(zhì)量檢測必不可少的一步[1]。輻條是介于車輪主體結(jié)構(gòu)之間的支承部件[2],由于車輪本身具有裝飾性功能,而輻條作為車輪裝飾性功能的主要部件,在滿足極限拉力要求下并無規(guī)范的個數(shù)、外形和尺寸等設(shè)計要求[3]。輻條的形態(tài)約束直接導致自主成像系統(tǒng)的缺口。目前,工廠的外觀質(zhì)量檢測仍依賴于有豐富經(jīng)驗的技術(shù)檢測人員抽檢[4],但抽樣檢測以及人的主觀意識會導致檢測率和效率低,引進自動化檢測技術(shù)十分必要。
隨著機器視覺檢測技術(shù)的日益完善,在硬件和軟件上都能較快地處理生產(chǎn)線上的產(chǎn)品。而實現(xiàn)多位姿的機器視覺檢測需要機械臂輔助,目前機械臂在車輪檢測上的主要應(yīng)用是車輪的形態(tài)定位以及抓取。王士鋒等對機械臂進行了抓取和懸掛車輪時的運動規(guī)劃[5]。楊仲升等使用機械臂示教編程將工件完成夾持定位,并將終端運動軌跡離散成點[6]。陳玉輝等基于D-H參數(shù)建模理論建立了工業(yè)機器人的運動學模型[7]。輻條的多樣性結(jié)構(gòu)是成像位姿的主要研究問題,因此,需要設(shè)計一套針對輻條的自主成像系統(tǒng)。
輻條呈現(xiàn)發(fā)散的條狀,且同一個車輪上的輻條并不相交于同一點(不同圓心),如圖1(a)所示。此外,單根輻條不具有平整的表面,如圖1(b)所示。針對輻條部位的成像,首先分析輻條的個數(shù)和形態(tài)結(jié)構(gòu)。輻條的形態(tài)直接導致了無法從單一角度采集到輻條上(下)半表面的全貌。
常見輻條類型橫剖面模擬如圖2所示。進一步證實了半表面的單次成像不可能性。同時,由于不同類型的輻條表面法向量差異較大,導致無法統(tǒng)一成像參數(shù),需要對每種形態(tài)進行分析。
通過輻條的形態(tài)特征研究,2種圖像采集方式可以實現(xiàn):
(1)機械臂控制車輪自轉(zhuǎn),相機位置固定等間隔點采集;
(2)車輪固定,機械臂控制相機離散點采集。
由于車輪及輻條形態(tài)的多樣性,車輪自轉(zhuǎn)的情況下,相機并不能在固定位置或者固定時間間隔內(nèi)觸發(fā)采集圖像。因此,本文設(shè)計的車輪自主成像系統(tǒng)采用車輪固定,機械臂控制相機進行標定并計算離散點采集,具體流程如圖3所示。
機械臂主要應(yīng)用在生產(chǎn)線上工件的抓取和搬運,能夠在高危環(huán)境下長時間工作。通常情況下,需要事先對工作路徑進行編程控制。路徑規(guī)劃計算是在機械臂坐標系中的進行位置與姿態(tài)的控制,從而指導機械臂完成預(yù)定的作業(yè)任務(wù)。機械臂的工具坐標系由工具中心點TCP的位置(x,y,z)和工具的姿勢(w,p,r)構(gòu)成[8],w,p,r指分別圍繞x,y,z軸的回轉(zhuǎn)角度,如圖4所示。使用機械臂標定功能將工具中心點轉(zhuǎn)移到工件(鏡頭中心)中心點上,即機械臂讀取坐標為工件坐標TCP(x,y,z,w,p,r)。
以機械臂坐標系軸向(x,y,z軸的方向)定義車輪坐標系的軸向,即車輪坐標系的零點與機械臂的零點存在位移(xc,yc,zc),但無旋轉(zhuǎn)和縮放。以車輪中心孔為圓心O建立球坐標系(p,θ,φ),圓心O為零點(0,0,0),其中ρ為圓心到點的距離,θ為xy面x軸的變化極角,φ為z軸的變化方位角,如圖5所示。在此車輪坐標系下,求各輻條的位置、方向和尺寸。
在機械臂坐標系下,將車輪平放在高度為z0′的臺子上,使用機械臂在車輪上方以初始坐標TCP(x0,y0,z0,0,0,0)拍攝圖片。在初始位置TCP采集的圖像中識別車輪輻條,識別輻條的個數(shù)n、尺寸[9]。單根輻條的尺寸計算以外接長方形計算輻條的長a、寬b和高c。將標定圖像投影到機械臂坐標系上[10],對車輪圖像坐標進行機械臂坐標的轉(zhuǎn)換。已知鏡頭視場角ω,拍攝物距z0-z0′,圖片分辨率為t(pix)。識別圖中車輪輻條長a′、寬b′,則可以判斷出車輪的實際長a、寬b:
(1)
同時,根據(jù)圖像中心位置計算出車輪的圓心位置(xc,yc,zc),如圖6(a)所示。
選擇一根輻條作為初始輻條,并建立模型S0(P0,β0,a,b,c,M)。其中,P0為輻條的中心位置點,β0為初始輻條的方向,a,b,c是當前車輪輻條的長寬高,M表示輻條剖面類型(S型Ms,U型Mu,Z型Mz)。中心位置點P0的車輪坐標為P0=(ρ0,θ0,0),ρ0為中心點到圓心O的距離,θ0為中心點P0到圓心O的極角,中心點P0到圓心O的方位角為0,如圖6(b)所示。
根據(jù)初始輻條建立車輪輻條模型:
Si=(Pi,βi,a,b,c,M)
(2)
其中,輻條的中心點坐標Pi(ρ0.θi,0):
Pi=(ρ0,θ0+2πi/n,0),i∈[0,n]
(3)
輻條的方向βi:
βi=β0+2πi/n,i∈[0,n]
(4)
系統(tǒng)成像參數(shù)包含根據(jù)當前拍攝輻條相機鏡頭的分辨率、焦距等參數(shù)選擇的類型,以及根據(jù)當前拍攝輻條模型的成像位姿。
2.2.1 硬件的類型
使用面陣攝像機對每根輻條獨立拍攝,當前拍攝輻條Si=(a,b,c),輻條表面的像素空間分辨率要求為(e)mm/pix,則相機的分辨率T(e)為
T(e)>(a×e)×(b×e)
(5)
鏡頭的工作距離需要覆蓋整個輻條,隨著工作距離變大景深也大,同時焦距越大景深越小。因此鏡頭的景深應(yīng)滿足T(D)>c(mm)條件。此外,鏡頭的視場ω和工作距離D應(yīng)滿足:
(6)
為了配合相機工作,選擇環(huán)形光源固定在相機上位姿相對不變,且相機的工作距離D小于光源最大工作距離D′,光源視場ω′滿足:
D·tan(ω′/2)>ω
(7)
2.2.2 成像位姿
每個輻條需要m次拍攝才能夠?qū)M剖法向量范圍為[0,2π]的表面全部拍攝,系統(tǒng)成像次數(shù)共m×n次。拍攝第i根輻條的j次相機全部在輻條的中心橫垂面上,如圖7所示。第i根輻條的第j次拍攝的極角θij為
θij=(βi±π/2),j∈[0,m]
(8)
輻條第j次拍攝的方位角φij需要實驗分析。
根據(jù)輻條模型Si(ρ0,θ0,βi)、拍攝方位角φij和工作距離D,將球坐標換算到笛卡爾坐標系下,得到第i根輻條的第j次相機拍攝位置(xij,yij,zij):
xij=ρ0cosθij+Dcosφijsinβi
yij=ρ0sinθij-Dcosφijcosβi
zij=Dsinφij
(9)
得到與拍攝輻條的相對距離和方向后,需要使用機械臂移位實現(xiàn),則需要轉(zhuǎn)化為機械臂位姿(位置坐標和姿勢坐標),工件位置坐標:
Xij=xij+xc
Yij=yij+yc
Zij=zij+zc
(10)
工件姿勢坐標:
wij=φij/sinrij
pij=φij/cosrij
rij=βi±π/2
(11)
本文自主成像系統(tǒng)是將車輪固定放置在平臺上,面陣攝像機和環(huán)形光源相對位置固定安裝在機械手臂工件位置上,在初始位置采集圖像對車輪進行識別標定后,利用機械臂移動到離散點處,以計算位姿采集鑄造表面圖像并建立圖庫,成像系統(tǒng)實物如圖8所示。
在保證輻條表面無漏拍和減少采集次數(shù)的前提下,成像方位角和次數(shù)要根據(jù)待檢測輻條的形狀決定,且與車輪結(jié)構(gòu)位置不沖突。輻條表面法向的方位角范圍為φ∈[φ0,π-φ0]∪[π+φ0,2π-φ0],常見輻條形狀為:S形MS,U形MU,Z形MZ。不同形態(tài)特征的輻條表面方向差異性較大,無法統(tǒng)一規(guī)定成像的次數(shù)和方位角。因此,不同形狀的輻條使用不同的成像次數(shù)及方位角φj。
(12)
(13)
(14)
在車輪坐標系標定實驗中,通過分析拍攝車輪的正面和反面圖像識別輻條形狀。通過提取圖像中的任意輻條,在輻條中心點做輻條的中垂線,即圖像灰度橫剖線,分析輻條橫剖表面灰度確定當前輻條形狀。如表1所示,當表面法向量越接近于平行光源和相機的方向時,表面的灰度值越大。因此,灰度橫剖線峰值處為水平面。不同的輻條形狀具有不同的灰度剖線形狀,通過識別灰度剖線形狀判定輻條類型。
表1 輻條分析
在工業(yè)生產(chǎn)中,輻條的多樣性對基于機器視覺的自動化成像造成了很大的困難。本文設(shè)計的摩托車輪輻條的自主成像系統(tǒng),能夠利用機器視覺對目標進行識別和標定,并通過建立的成像模型計算硬件參數(shù),最終實現(xiàn)機械臂控制相機移位到離散點采集圖像。經(jīng)實驗應(yīng)用,該系統(tǒng)能穩(wěn)定地實現(xiàn)不同類型輻條的圖像采集,達到了預(yù)期的設(shè)計目標。在后續(xù)工作中,需要嘗試未知類型的輻條的圖像采集。