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