戴伊寧,方灶軍,潘 聰
1.寧波大學(xué)信息科學(xué)與工程學(xué)院,浙江寧波315211
2.中國科學(xué)院寧波材料技術(shù)與工程研究所,浙江寧波315201
3.浙江省機器人與智能制造裝備技術(shù)重點實驗室,浙江寧波315201
磨拋是影響輪轂外觀和質(zhì)量的重要因素。然而,目前輪轂?zāi)佒饕匀斯橹?,磨拋效率低,無法保證磨拋質(zhì)量一致,而且生產(chǎn)環(huán)境惡劣,工作強度大等問題嚴重影響工人的健康。所以,實現(xiàn)自動化磨拋逐漸成為該領(lǐng)域迫切解決的問題[1]。與人工磨拋相比,機器人磨拋具有磨拋效率高、精度高、質(zhì)量好等特點。目前的機器人磨拋大多采取離線編程,事先設(shè)計好輪轂的磨拋軌跡,使其實現(xiàn)自動化磨拋。Tian 等[2]設(shè)計了一種基于六自由度工業(yè)機器人和六維力/力矩傳感器的曲面機器人拋光系統(tǒng)。Kharidege 等[3]提出了一種自動拋光系統(tǒng)的方案,該系統(tǒng)包括一個六自由度臂機器人。描述了一種基于CAD 系統(tǒng)數(shù)據(jù)的自動規(guī)劃和編程系統(tǒng),用于創(chuàng)建機器人路徑。Liu 等[4]結(jié)合機器人控制和輪式拋光技術(shù)的優(yōu)點,建立了基于工業(yè)機器人的帶缸輪式拋光結(jié)構(gòu)??伸`活適應(yīng)非球面的表面形狀,同時基于拋光輪與工作表面的摩擦力,在精確壓力的控制下獲得高精度表面。
上述機器人磨拋系統(tǒng)只對機器人磨拋過程和磨拋軌跡進行研究,未對輪轂?zāi)伋跏键c對準問題進行研究。但是輪轂初始點對準是輪轂?zāi)伒闹匾h(huán)節(jié),其定位的精度直接影響后續(xù)機器人的磨拋路徑和最終的磨拋質(zhì)量。雖然輪轂初始點定位的參考文獻報道較少,但是有學(xué)者研究了基于視覺的焊縫初始點對準[5]。He等[6]提出一種提取焊縫輪廓特征點的方案,以實現(xiàn)自動多道次路徑規(guī)劃,并在MAG 電弧焊過程中指導(dǎo)各層的初始焊接位置的方法。Fan等[7]提出了一種基于激光視覺傳感器的窄焊縫初始點對準方法。王小剛等[8]設(shè)計了一種由雙攝像機組成的視覺采集系統(tǒng),并提出一種熔滴—焊縫同步采集焊接偏差測定方法。但輪轂表面形狀復(fù)雜,上述焊縫初始點對準方法不適用于輪轂初始點的對準。在輪轂初始點對準方面,F(xiàn)ang等[9]利用視覺傳感器的非接觸性和高精度的優(yōu)點,提出了一種基于視覺的初始點對準控制方法,但該方法主要利用輪轂輻條信息。面對一些輪轂輻條形狀復(fù)雜的輪轂,輪轂輻條的中心點往往較難提取。
針對輪轂初始點對準問題,提出了基于視覺的輪轂初始點對準方法,利用中心孔和螺栓孔計算角度偏差,并設(shè)計了基于模糊算法的輪轂初始點對準控制器,通過輪轂?zāi)侟c對準實驗驗證了方法的有效性。
輪轂?zāi)伋跏键c對準系統(tǒng)如圖1 所示。由于機器人拋光系統(tǒng)采用了機器人離線編程方法,因此只要輪轂類型不變,機器人拋光軌跡保持不變。一旦設(shè)定了磨拋目標初始點的位置,那么只要輪轂型號不變,目標初始點就保持不變。該系統(tǒng)由兩個部分組成組成。第一個部分是視覺傳感器部分,由一個工業(yè)相機和一個光源組成,由于輪轂具有一定的反射率,所以采用平行光源。通過工業(yè)相機拍攝得到輪轂圖像,對輪轂圖像進行圖像處理和特征提取得到輪轂當前初始點相對于目標初始點的偏差角度,將得到的偏差角度傳輸給控制器。第二部分是控制部分,由控制系統(tǒng)和旋轉(zhuǎn)臺組成,控制系統(tǒng)接收視覺傳感器計算的輪轂初始點角度偏差,通過控制算法計算出所需的控制指令,并發(fā)送給旋轉(zhuǎn)臺使得當前磨拋點對準到機器人磨拋的目標初始點,最后交給磨拋機器人進行磨拋。
圖1 初始點對準系統(tǒng)示意圖Fig.1 Schematic diagram of initial point alignment system
在實際生產(chǎn)環(huán)境中,輪轂圖片的背景比較雜亂,如圖2(a)所示。利用掩膜(mask)和圖像形態(tài)學(xué)技術(shù)提取感興趣區(qū)域(ROI),可以有效地減少噪聲干擾,利于特征的提取。輪轂是固定在旋轉(zhuǎn)臺上的,只會有旋轉(zhuǎn)變換,不會有平移變換,所以輪轂的大致中心可以確定。而輪轂的螺栓孔分布在離輪轂中心r/2 左右(其中r 為輪轂的半徑)。所以,將離圓心以r/2 為半徑的圓內(nèi)區(qū)域的圖像作為ROI區(qū)域。詳細操作如下:在圖像中輪轂圓心位置,做一個半徑為r/2 的掩膜和原圖像做與(AND)操作。如式(1)所示:
圖2 ROI提取結(jié)果Fig.2 Region of interest extraction
其中,Ir為最后提取到的感興趣區(qū)域,Io為原輪轂圖像,Im為掩膜。結(jié)果如圖2所示。
圖像二值化處理是預(yù)處理中的重要步驟,目的是使有用信息和無用信息的對比度達到最大,突出主題,方便后續(xù)提取。未經(jīng)磨拋的輪轂其表面比較灰暗,其灰度值相較于螺栓孔而言會比較低,所以圖像二值化可以較為完整地得到螺栓孔區(qū)域的圖像。圖像二值化可由公式(2)得到:
其中,I(x,y)是圖像中像素點的灰度值,T 為灰度閾值,二值化實際就是用0或1來區(qū)分圖像區(qū)域的過程。圖像二值化的結(jié)果如圖3所示。
圖3 圖像形態(tài)學(xué)操作Fig.3 Image morphology operations
在圖像二值化之后還是會有一些亮點和噪點,這會對螺栓孔的邊緣檢測產(chǎn)生干擾。因此需除去這些亮斑和噪點。首先通過中值濾波[10]去除圖像中的椒鹽噪聲,然后計算圖像中各個連通區(qū)域的面積,通過設(shè)置連通區(qū)域面積的閾值大小,來去除亮點,保留所需要的螺栓孔信息。其公式如下:
式中,Sv為有效的連通區(qū)域的集合,Sk為第K個連通區(qū)域的集合。Ak為第K個連通區(qū)域的面積。AT為連通區(qū)域面積大小的閾值。
在得到大致的螺栓孔二值圖像后,為了減少一些小孔洞對后續(xù)求螺栓孔邊緣的影響,需要通過形態(tài)學(xué)的閉運算來去除小孔洞。
式中,Ab為螺栓孔二值圖像,Bc為結(jié)構(gòu)元素。即先對圖像做結(jié)構(gòu)元素為Bc的膨脹操作,再對圖像做結(jié)構(gòu)元為Bc的腐蝕操作。如圖3所示。
為了實現(xiàn)對螺栓孔特征的提取,需要先對圖片進行預(yù)處理,并且利用Canny算子對處理之后的圖片進行邊緣檢測,得到含有螺栓孔目標邊緣的圖片。使用形態(tài)學(xué)邊界提取來提取出螺栓孔邊界。
式中,A為螺栓孔的二值圖像,β(Ab)為圖像Ab的邊界,Be是適當?shù)慕Y(jié)構(gòu)元素。
由于二值圖像的邊界是經(jīng)過多次形態(tài)學(xué)操作后得到的,與實際的螺栓孔邊界存在的偏差,所以需要將其當作掩碼與原圖做一次與(AND)操作,這樣能得到準確的螺栓孔邊界灰度圖像。具體操作如下,對得到的二值圖像的邊界做膨脹操作,然后將其作為掩碼與原圖像做與操作(具體操作參考公式(1))。結(jié)果如圖4(a)所示。
圖4 利用Canny算子提取到的邊緣Fig.4 Edges extracted by Canny operator
在對螺栓孔進行圓擬合來獲取螺栓孔圓心位置信息前,直接對螺栓孔的灰度圖像進行處理,會增加計算的時間,伴隨的噪聲會使得擬合圓的圓心與實際螺栓孔圓心偏差較大。所以,需對螺栓孔灰度圖像的邊緣進行檢測,用螺栓孔的邊緣信息來計算螺栓孔的圓心位置。
傳統(tǒng)的Canny[11-12]算子通過用2×2 鄰域的一階偏導(dǎo)的有限差分來進行計算,在計算梯度幅值時對噪聲比較敏感。因此為了提高檢測的準確性,使用4個方向的梯度模板作為邊緣檢測梯度算子檢測圖像的邊緣,計算像素的0°、45°、90°以及135°方向的梯度幅值,可以達到良好的邊緣定位和噪聲抑制的效果。如圖4所示。
由于相機角度和輪轂表面反射光的問題,對圖片處理后,螺栓孔邊緣的圖像可能呈現(xiàn)一種形變圓或者殘缺圓的情況,成為計算螺栓孔圓心的干擾項,影響檢測的準確度。如圖5所示。
圖5 擬合圓螺栓孔Fig.5 Fitting round bolt holes
圖5(a)為使用最小二乘法擬合圓,圖5(b)為使用迭代重加權(quán)最小二乘法擬合圓。實際上邊界圖像中凹陷的邊緣一定是處于螺栓孔圓內(nèi)部的,如果使用標準的最小二乘法擬合圓算法來擬合圓,結(jié)果容易受外點(凹陷邊緣)的影響,使得最后擬合出的圓會比實際螺栓孔圓小,對應(yīng)的圓心與實際圓心也會有些偏移。為了減少外點的影響,選用迭代重加權(quán)最小二乘法擬合圓算法[13-14]。該算法采用一個迭代過程求解一系列加權(quán)最小二乘問題,并在每一步迭代中按照一定的規(guī)則對權(quán)系數(shù)進行調(diào)整,使其逐步逼近最優(yōu)拉格朗日乘子,使最小二乘解逐漸逼近最小區(qū)域解。具體擬合圓的原理如下。假設(shè)圓的方程為:
建立最小誤差函數(shù)E:
其中,A=-2a,B=-2b,C=a2+b2-R2。樣本點(xi,yi)到圓心的距離為di。
令(xi,yi)到圓邊緣距離的平方與半徑的平方差為:
為了減小離群點對擬合圓時的影響,引入權(quán)重函數(shù)ω:
其中,γ為削波因數(shù),它定義哪些點為離群點。
迭代解得使得E最小的A,B,C值即為最終解。并確定圓和圓心的位置信息。
輪轂的旋轉(zhuǎn)角度由輪轂的中心和螺栓孔中心決定。因此計算出各個螺栓孔的中心后,需要計算輪轂的中心。通常為了輪轂的結(jié)構(gòu)穩(wěn)定,輪轂的螺栓孔是均勻分布在輪轂上,故所有螺栓孔中心會均勻落在以輪轂中心為圓心的圓上,通過取螺栓孔中心的平均值能較為精確地計算出輪轂的中心位置,公式如下:
其中,(xo,yo)為輪轂中心的橫坐標與縱坐標,N為輪轂孔洞個數(shù)。(xhi,yhi)為第i個螺栓孔的中心橫坐標與縱坐標。
根據(jù)輪轂中心和一個螺栓孔中心可以計算出與x軸正半軸相差的角度,但是由于光的反射和相機拍攝角度問題,拍出的圖像會有些許的形變,計算螺栓孔中心時存在些許誤差,精度無法得到保證,所以提出從總體上計算輪轂對準所需的角度。假設(shè)過輪轂中心和第i個螺栓孔中心的直線為:
其中,ai和bi為過輪轂中心和第i個螺栓孔中心的直線,n為螺栓孔個數(shù)。那么第i條直線到水平正半軸的夾角可以表示為:
由于螺栓孔是均勻分布的,如圖6 所示。那么第i線到i+1 條直線所需要的旋轉(zhuǎn)角度是一定的(其中i=1,2,…,n,n為螺栓孔個數(shù)),即螺栓孔是周期分布的??汕蟮靡粋€周期為:
圖6 輪轂中心和螺栓孔中心的連線Fig.6 Line connecting center of hub and bolt
其中,θc為相鄰兩條直線之間相差的旋轉(zhuǎn)角度記為一個周期。那么可以利用螺栓孔周期分布的特性,將過輪轂中心和第i螺栓孔中心的直線與水平x正半軸之間的夾角θl變換到[0,θc]這個區(qū)間內(nèi),便于最終對準角度的選取。公式如下:
其中,θil是經(jīng)過周期變換處理過后的角度,θi周期變換處理前的角度,mod為取余操作。
圖像拍攝產(chǎn)生形變,圖像處理、圓擬合等過程中會產(chǎn)生誤差,故每個θ會存在些許偏差。為了減小誤差,將所有的θil進行升序排列,然后取其中值的方法,來減小誤差。公式如式(18)所示:
其中,θm為θil按序排列后取得的中值。機器人磨拋輪轂時,目標初始點是一定的。假設(shè)目標初始點與x軸正半軸的夾角為θt,同樣的θt也需要進行周期處理,詳細見公式(16)、(17)。那么可以得到當前初始點對準到目標初始點所需的旋轉(zhuǎn)角度記為θr,那么可求得θr的公式如下:
電機既可以順時針旋轉(zhuǎn),又可以逆時針旋轉(zhuǎn),所以在得到對準角度之后需判斷對準角度是否大于1/2個螺栓孔分布周期,這樣能讓電機旋轉(zhuǎn)最小的角度,減小旋轉(zhuǎn)過程帶來的誤差。公式如下:
其中,θ′r為最終對準角度。得到對準所需旋轉(zhuǎn)的角度后,將其交給控制器,由控制器控制旋轉(zhuǎn)器實現(xiàn)輪轂?zāi)伋跏键c的校準。
采用開環(huán)控制方法無法保證初始點對準的精度,且初始點特征提取容易受到光照條件影響,難以建立磨拋初始點對準過程的數(shù)學(xué)模型。而模糊控制能解決無法建立精確數(shù)學(xué)模型系統(tǒng)的控制問題,且抗干擾性好,適應(yīng)力強。因此提出了基于模糊控制[15]算法的初始點對準閉環(huán)控制算法,如圖7所示。該控制器由兩個通道組成,反饋通道和前向通道。反饋通道根據(jù)視覺傳感器檢測輪轂的當前初始點位置,并計算出的實際旋轉(zhuǎn)角度。它由圖像處理和角度計算兩部分組成。前向通道根據(jù)輪轂當前磨拋點和目標初始點之間的誤差,控制旋轉(zhuǎn)器來調(diào)整輪轂旋轉(zhuǎn)。為了確保對準精度,在初始點對準控制中采用模糊控制器,將理想旋轉(zhuǎn)角度和實際旋轉(zhuǎn)角度的差值E和E的變化量EC作為輸入量輸入模糊控制器,最后模糊控制器的輸出量為脈沖數(shù)P。
圖7 初始點對準控制示意圖Fig.7 Schematic diagram of initial point alignment control
其中,θr是期望旋轉(zhuǎn)的角度,θy是實際旋轉(zhuǎn)的角度,E(k)是控制器第k次采樣后的角度誤差值。設(shè)E的基本論域為[-1°,1°],EC的基本論域為[-0.8°,0.8°],E和EC的模糊變量的為SE和SEC,建立定義SE和SEC的模糊子集各取5個語言值即{負大,負小,零,正小,正大}記為{NB,NS,ZO,PS,PB}。模糊控制最終的輸出,即輸入旋轉(zhuǎn)器的脈沖數(shù),定義其基本論域為[-420,420]。模糊子集為{負大,負小,零,正小,正大},同樣記為{NB,NS,ZO,PS,PB}。對于隸屬度函數(shù),輸入量和輸出量的隸屬度函數(shù)如圖8所示。選擇的模糊推理方法是Mamdani法。模糊規(guī)則如表1所示。對于輸出的模糊量,采用重心法解模糊化公式如下:
表1 模糊規(guī)則表Table 1 Fuzzy rule table
圖8 輸入輸出的隸屬度函數(shù)Fig.8 Membership function of input and output
式中,vi為第i個輸出值。μ(vi)為輸出變量的屬度函數(shù)。
為了驗證基于視覺的輪轂初始對準控制方法的有效性,進行了大量實驗。實驗設(shè)備如下:主旋轉(zhuǎn)器為Weiss CR0700C。旋轉(zhuǎn)器由伺服電機驅(qū)動。視覺傳感器由光源和數(shù)字工業(yè)攝像機組成。光源為FG-THZ338318,可發(fā)出定向光來減少拍攝環(huán)境的光線變化。相機的型號是MER-131-75GC,通過USB 端口連接電腦拍攝圖像。相機得到的圖像大小為1 024×1 080像素。圖像處理使用C++、Opencv2。初始點對準控制器在永宏P(guān)LC 中實現(xiàn)。輪轂的視覺測量值通過計算機處理獲得,然后通過RS232端口將數(shù)據(jù)從計算機端發(fā)送到PLC,最后由PLC控制伺服電機對輪轂初始點進行對準。處理一幅圖像的時間約為75 ms。目標初始點和當前初始點的定義如下。目標初始點的位置需要人工設(shè)定,即最后交給磨拋機器人的初始磨拋位置。同一種型號的輪轂?zāi)佨壽E是相同的,所以同種型號輪轂的目標初始點也相同,只需人工設(shè)定一次即可。然后計算每個輪轂的當前初始位置。由于輪轂的當前初始點被用作閉環(huán)控制器中的反饋信號,因此在每個控制采樣時間內(nèi)計算它。
首先驗證上述圖像處理方法對不同型號輪轂的適用性。采取不同型號的輪轂使用上述的特征提取方法。圖9 為對不同型號輪轂螺栓孔擬合的結(jié)果。再通過閉環(huán)控制實現(xiàn)磨拋初始點對準。其次對輪轂的對準精度進行了驗證如圖10~11所示。由圖10可得,起始的對準誤差為0.915 5 rad,在經(jīng)過多次對準之后誤差在0.1 rad 附近有個震蕩,最后在第7 次對準后開始收斂。這里將停止對準的閾值設(shè)0.05 rad,即視覺部分計算出的初始點對準角度小于0.05 rad 時將其視為對準成功,結(jié)束對準控制。圖11為每個對準周期經(jīng)過模糊控制器后輸入到PLC的脈沖值。
圖9 不同輪轂型號擬合出的螺栓孔Fig.9 Bolt holes fitted with different wheel hub models
圖10 角度誤差Fig.10 Angle error
圖11 輸出脈沖數(shù)Fig.11 Number of output pulses
當對準結(jié)束后,用像素點的個數(shù)來計算對準誤差,如圖12所示。圖12(a)將菲林尺置于輪轂側(cè)面(菲林尺最小刻度為0.1 mm)通過測量得到1 mm大約為50個像素的長度。由圖12(b)為目標位置,圖12(c)對準完成后的位置,由圖12 可以看到對準后菲林尺子位置與目標位置偏移了5個像素點。即對準誤差大約在0.1 mm。
圖12 對準誤差Fig.12 Alignment error
初始點對準過程可見圖13。為了方便呈現(xiàn)對準效果,圖中用馬克筆做的黑色豎線記號為當前磨拋初始點,而紅色激光點為目標磨拋初始點。經(jīng)過多次對準控制,黑色豎線逐漸靠近激光點,最終重合,即完成初始點定位。經(jīng)過多次實驗驗證表明,如表2,上述輪轂初始點對準方法對于不同型號輪轂?zāi)サ亩ㄎ痪冉钥刂圃?.1 mm左右。
表2 各初始點對準算法適用性和精度對比Table 2 Comparison of applicability and accuracy of each initia point alignment algorithm
圖13 磨拋點對準過程Fig.13 Grinding point alignment process
相較于文獻[8],本文將初始點對準運用在輪轂較磨拋上,將對準精度控制在0.1 mm左右,符合磨拋初始點的對準精度。相較于文獻[9],本文雖然在精度上沒有什么提升,但是文獻[9]適用的輪轂種類較少,面對輪輻復(fù)雜的輪轂,其定位效果并不太理想,且易受環(huán)境影響,而本文的方法適用于更多種類的輪轂?zāi)伋跏键c的對準。
輪轂?zāi)伋跏键c的對準是機器人磨拋輪轂的重要過程,也是實現(xiàn)磨拋自動化的重要環(huán)節(jié)。然而傳統(tǒng)的接觸式傳感器難以滿足表面復(fù)雜輪轂的磨拋點的對準,為了高效、準確地對準初始點,使用了非接觸式視覺傳感器,并提出了一種基于視覺的初始點對準方法。輪轂當前初始點與目標初始點的差值表示為所需的輪轂旋轉(zhuǎn)角度,可以通過輪轂螺栓孔中心和輪轂中性能計算得到。為此使用了基于迭代重加權(quán)最小二乘法擬合圓算法去擬合螺栓孔,并計算螺栓孔中心位置。在得到對準角度后,需要控制輪轂旋轉(zhuǎn),使得當前磨拋初始點對準到目標初始點,為此采用模糊控制,設(shè)計了一個初始點對準閉環(huán)控制系統(tǒng)。最后對幾種不同型號的輪轂進行了對準實驗,多次實驗表明,本文提出的輪轂初始點對準算法可以將對準精度控制在小于0.1 mm,可以很好地滿足輪轂?zāi)仚C器人的需求。