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

表1 輻條分析
在工業生產中,輻條的多樣性對基于機器視覺的自動化成像造成了很大的困難。本文設計的摩托車輪輻條的自主成像系統,能夠利用機器視覺對目標進行識別和標定,并通過建立的成像模型計算硬件參數,最終實現機械臂控制相機移位到離散點采集圖像。經實驗應用,該系統能穩定地實現不同類型輻條的圖像采集,達到了預期的設計目標。在后續工作中,需要嘗試未知類型的輻條的圖像采集。