王安妮,劉興德
(1.吉林化工學(xué)院 信息與控制工程學(xué)院,吉林 吉林 132022;2.吉林化工學(xué)院 機(jī)電工程學(xué)院,吉林 吉林 132022)
在很多機(jī)械生產(chǎn)企業(yè)中,為了節(jié)省時間成本以及減少人工作業(yè)的風(fēng)險,通常都采用自動裝置完成工作,而在自動制造流程中,機(jī)器視覺技術(shù)也被應(yīng)用到工件上料以及尺寸檢測等領(lǐng)域,相機(jī)校準(zhǔn)作為機(jī)器視覺的前期準(zhǔn)備工作,直接關(guān)系檢測結(jié)果的正確性[1,2]。由于機(jī)器視覺技術(shù)在智能制造與測量方面的廣泛應(yīng)用,更多的從業(yè)者開始對標(biāo)定領(lǐng)域開展深入研究[3]。婁群[4]等人提出了一種基于亞像素邊緣檢測的雙目相機(jī)標(biāo)定方法,該方法可以識別標(biāo)記點(diǎn)并對其進(jìn)行排序,從而實(shí)現(xiàn)了復(fù)雜環(huán)境下相機(jī)的高精度校準(zhǔn)。李嘉欣[5]等人針對精密棋盤標(biāo)定板制作難度大、成本高等問題,采用了一種附有編碼標(biāo)志的棋盤格并提出了一種角點(diǎn)編碼的方法。這種方法既克服了傳統(tǒng)棋盤格標(biāo)定對于影像獲取的局限,又讓相機(jī)標(biāo)定變得更高效。
SUN W Y[6]等人提出了一種有效的手眼校準(zhǔn)方法,該方法通過點(diǎn)集配準(zhǔn)和估計(jì)校準(zhǔn)轉(zhuǎn)換,實(shí)現(xiàn)了0.70 mm的平均距離偏差和0.68°的平均角度偏差。FANG S[7]等人利用三維相機(jī)的點(diǎn)云數(shù)據(jù),提出了一種基于單個標(biāo)記的手眼校準(zhǔn)方法。通過多組單標(biāo)記三維坐標(biāo)數(shù)據(jù),構(gòu)建基于手眼標(biāo)定誤差的非線性優(yōu)化問題,依次求解單標(biāo)記廣義工具中心點(diǎn)(TCP)位置和手眼標(biāo)定矩陣。該方法不僅保證了手眼標(biāo)定的精度,而且使手眼標(biāo)定更加方便。胡木連[8]針對以參數(shù)化投影模型為代表的相機(jī)標(biāo)定帶來的所求參數(shù)多、計(jì)算效率低等問題,建立了一種以廣義成像模型為代表的相機(jī)標(biāo)定方法,直接建立物方平面標(biāo)定板與像方成像面投影之間的關(guān)系。利用列文伯格-馬夸爾特算法(LM算法)與多項(xiàng)式畸變模型迭代、最小二乘法完成標(biāo)定,并在Z軸和X軸滿足精度要求。赫美琳[9]等人以棋盤格板定板為研究對象,建立了一種快速獲取單目相機(jī)內(nèi)部參數(shù)的標(biāo)定方法,對高精度相機(jī)內(nèi)參獲取十分有效。上述專業(yè)科研人員的相機(jī)標(biāo)定研究,針對棋盤格標(biāo)定的精度低、邊緣識別差等問題,采用標(biāo)定點(diǎn)排序、非線性優(yōu)化算法等方法解決上述問題,但是由于2D單目相機(jī)仍存在棋盤格黑白邊緣識別效果差和獲取的交點(diǎn)參數(shù)未能滿足工件上下料要求的缺點(diǎn)。可以用機(jī)器視覺軟件Mech Vision對非對稱圓點(diǎn)標(biāo)定板進(jìn)行相機(jī)標(biāo)定研究,檢測每個特征圓的圓心,把真實(shí)的圓心提取出來,降低圓心存在的偏心誤差。
一個完整的工業(yè)視覺系統(tǒng)主要是由相機(jī)、鏡頭、光源、標(biāo)定板、工作平臺及視覺相關(guān)軟件等組成,單目視覺系統(tǒng)通常是指系統(tǒng)中有且僅有一個工業(yè)相機(jī)。圖1(a)是以工件上下料作為案例而搭建的單目3D視覺測量工作系統(tǒng)示意圖,其中相機(jī)、鏡頭和光源主要是對工件進(jìn)行圖像采集,主要是通過調(diào)節(jié)曝光時間和激光強(qiáng)度、設(shè)置圖像采集區(qū)域的方法進(jìn)行圖像采集,然后通過視覺相關(guān)軟件進(jìn)行工作流程的搭建實(shí)現(xiàn)特征區(qū)域提取并發(fā)送位姿信息給機(jī)器人實(shí)現(xiàn)上下料抓取。圖1(b)是六軸機(jī)器人相機(jī)標(biāo)定的示意圖,采用的方式是ETH方式(相機(jī)單獨(dú)固定,標(biāo)定板固定于機(jī)器人末端)。

(a)
我們在機(jī)器人末端安裝固定好所選取的實(shí)驗(yàn)標(biāo)定板,通過相機(jī)拍照采集,可以得到相對于機(jī)器人基坐標(biāo)C的標(biāo)定板上每個圓點(diǎn)的圖像,從而得到標(biāo)定板上每個圓形特征的坐標(biāo)B,則相機(jī)與機(jī)器人基坐標(biāo)之間的位姿關(guān)系A(chǔ)就為待求量。上述變量中A、B、C形成等式(1)~(3),其中C為標(biāo)定板上的各圓點(diǎn)相對于機(jī)器人基坐標(biāo)的坐標(biāo),B為相機(jī)拍照獲得標(biāo)定板上每個圓點(diǎn)的坐標(biāo),A為B和C基坐標(biāo)之間的位姿關(guān)系的待求量。標(biāo)定板到法蘭末端位置關(guān)系D未知,通過標(biāo)定板在標(biāo)定過程中的一系列相對移動,使用數(shù)值方法計(jì)算得到標(biāo)定板到法蘭末端的位置關(guān)系,進(jìn)而計(jì)算得到C。通過移動機(jī)器人,變換標(biāo)定板相對于相機(jī)的位姿,可以得到多組等式,對這些等式的值進(jìn)行擬合優(yōu)化計(jì)算,最終得到最優(yōu)的A值[10,11]。位姿關(guān)系如圖1單目3D相機(jī)測量系統(tǒng)工作平臺所示。
B1·A·D1=C,
(1)
B2·A·D2=C,
(2)
B1·A·D1=B2·A·D2。
(3)
相機(jī)標(biāo)定主要是為了獲得相機(jī)的內(nèi)外參數(shù),防止相機(jī)在拍照采集過程中出現(xiàn)畸變情況,實(shí)際上就是實(shí)現(xiàn)圖像的二維平面像素坐標(biāo)與三維世界坐標(biāo)的轉(zhuǎn)換。然而轉(zhuǎn)換過程中,需要計(jì)算出相機(jī)的內(nèi)部參數(shù)和外部參數(shù)[9]。因此,獲取相機(jī)內(nèi)部參數(shù)和外部參數(shù)是相機(jī)校準(zhǔn)的主要目的。
標(biāo)定過程實(shí)質(zhì)是機(jī)器視覺坐標(biāo)系的轉(zhuǎn)換。假設(shè)在世界中存在一點(diǎn),其世界坐標(biāo)為(Xw,Yw,Zw,1),相機(jī)坐標(biāo)為(Xc,Yc,Zc,1)。該點(diǎn)世界坐標(biāo)系和相機(jī)坐標(biāo)系的轉(zhuǎn)化是通過旋轉(zhuǎn)R和平移T兩個過程完成的,則:
(4)
其中,R=R(γ)R(δ)R(θ),為3×3旋轉(zhuǎn)矩陣;T=T(Xt,Yt,Zt),為3×1平移矩陣,三維空間中的任一點(diǎn)的世界坐標(biāo)系與像素坐標(biāo)系的關(guān)系有:
(5)

Mech Vision軟件是一種新型的視覺編程軟件。通過插放不同的功能模塊、調(diào)節(jié)工作參數(shù)和搭建工作流程,就可以實(shí)現(xiàn)無序抓取、上下料、缺陷檢測等機(jī)械視覺的應(yīng)用。軟件內(nèi)置有高精度3D相機(jī)標(biāo)定工具,可以配合機(jī)器人進(jìn)行自動外參、內(nèi)參及雙相機(jī)融合標(biāo)定。圖2為利用Mech Vision軟件的相機(jī)標(biāo)定流程。

圖2 相機(jī)標(biāo)定流程圖
首先我們需要打開機(jī)器視覺相關(guān)軟件,如Mech Vision軟件,新建工程進(jìn)行搭建工作流程,本次實(shí)驗(yàn)是以建立好的工件上下料工程為例,打開工程后點(diǎn)擊界面已有的相機(jī)標(biāo)定,建立新的標(biāo)定文件,選擇手眼標(biāo)定類型,其手眼標(biāo)定類型有三種,包括ETH標(biāo)定、EIH標(biāo)定(標(biāo)定板單獨(dú)固定并將相機(jī)固定于機(jī)器人末端)、ETH標(biāo)定(尖點(diǎn)觸碰)。選擇ETH標(biāo)定和六軸機(jī)器人,根據(jù)左右手定則選擇機(jī)器人對應(yīng)的歐拉角,連接好相機(jī),將標(biāo)定板移動到相機(jī)拍照范圍中心計(jì)算內(nèi)參,然后移動標(biāo)定板,將基于機(jī)器人基坐標(biāo)下的X,Y,Z方向的位姿坐標(biāo)手動輸入并記錄,最后重新計(jì)算內(nèi)參并查看偏移量誤差是否合格。
通過Mech Vision軟件內(nèi)置相機(jī)標(biāo)定工具,可以配合機(jī)器人進(jìn)行相機(jī)標(biāo)定,本次實(shí)驗(yàn)采用的是BDB-7型號的非對稱圓點(diǎn)標(biāo)定板,采用爾必地六軸機(jī)器人,通過示教器手搖的方式,分別記錄如圖3所示的標(biāo)定板平移、旋轉(zhuǎn)的坐標(biāo)點(diǎn)。
本次實(shí)驗(yàn)使用的是型號為LSR L,分辨率為深度圖:2048×1536,RGB為2 000×1 500的3D工業(yè)相機(jī)。標(biāo)定板為 4×5陣列,圓心之間的距離是50 mm。采用VS 2015和OpenCV進(jìn)行標(biāo)定程序的編寫。
為保證標(biāo)定的準(zhǔn)確性,首先采集多張不同角度的標(biāo)定板照片,一般需要采集的圖片數(shù)量大于3張即可,但本次實(shí)驗(yàn)為保證嚴(yán)謹(jǐn)性,總共采集了17張圖像,如圖4所示。在使用示教器對機(jī)器人末端固定的標(biāo)定板進(jìn)行移動時需要注意將標(biāo)定板的20個圓形均展示在相機(jī)視野范圍內(nèi),如圖4所示,以便對標(biāo)定點(diǎn)的數(shù)據(jù)提取與驗(yàn)證,尤其是圓心坐標(biāo)和圓間距。

圖4 標(biāo)定點(diǎn)檢測結(jié)果示意圖
將非對稱圓點(diǎn)標(biāo)定板固定在爾必地機(jī)器人的法蘭末端,由于案例是工件上下料工作實(shí)驗(yàn)平臺,將其固定在磁鐵端。在成像范圍內(nèi)四個角落的位置更容易產(chǎn)生畸變,因此采用機(jī)器人示教器通過X、Y軸不同方向進(jìn)行平移。如圖5所示為標(biāo)定板在某一高度時標(biāo)定板中20個圓心在三維空間中的展示。在不同高度下平移標(biāo)定板和沿X、Y、Z各軸旋轉(zhuǎn)標(biāo)定板并記錄機(jī)器人位置點(diǎn),某一位置下的標(biāo)定板圓心坐標(biāo)如表1所示,20個特征圓的圓心坐標(biāo)均可計(jì)算出來。


表1 標(biāo)定板的圓心坐標(biāo)點(diǎn)合集表

圖5 標(biāo)定板位置三維坐標(biāo)圖
如表1所示的數(shù)據(jù),我們將17張采集到的標(biāo)定板數(shù)據(jù)都寫入程序中,經(jīng)過一系列計(jì)算得到如下的標(biāo)定結(jié)果:
相機(jī)內(nèi)參矩陣
鏡頭畸變系數(shù)
k1=-0.0589,k2=0.0867,k3=-0.00023,P1=-1.8342936743704765e-0.5,P2=0
采用兩種方法對標(biāo)定點(diǎn)數(shù)據(jù)進(jìn)行檢查,其一是在已經(jīng)搭建好的Vision工程中運(yùn)行工作流程,通過示教器手搖工作流程完成后給出的參數(shù)值,檢查一下法蘭位姿與工程搭建運(yùn)行后發(fā)送的位姿信息是否一致。圖6中從左向右依次是表2需要1至3的位姿示意圖,通過表2數(shù)據(jù)分析計(jì)算可得平均誤差在0到0.03內(nèi),滿足工業(yè)中工件上下料的精度要求。

圖6 不同擺放情況的抓取位姿示意圖
其二是檢查標(biāo)定點(diǎn)“平均標(biāo)定圓間隔測量值誤差”是否超出標(biāo)準(zhǔn)值,在標(biāo)定圖像及位姿列表面板選中標(biāo)定點(diǎn),在下方消息框中查看平均標(biāo)定圓間隔測量值誤差。平均標(biāo)定圓間隔測量誤差為0.18%,小于誤差上線標(biāo)準(zhǔn)2.2%。對于標(biāo)定好的外參數(shù)據(jù),需要判斷其是否滿足精度要求。本次標(biāo)定實(shí)驗(yàn)小于4 mm的誤差98.052%,小于4.5 mm的誤差99.351%,小于5 mm的誤差100%,參照表3的誤差精度要求,滿足工件上下料案例的精度要求。

(a)(b)(c)

表3 不同工作場景下的誤差精度要求
本文提出了一種基于非對稱圓形陣列標(biāo)定板的3D相機(jī)標(biāo)定法,對采集到的17張標(biāo)定板圖像中的特征圓進(jìn)行邊緣提取、圓心提取和圓點(diǎn)距計(jì)算,通過3D梅卡相機(jī)和一系列視覺軟件進(jìn)行相機(jī)標(biāo)定得到了相機(jī)的較為準(zhǔn)確的內(nèi)外參數(shù)和畸變參數(shù)。實(shí)驗(yàn)結(jié)果證明,這種采用非對稱圓點(diǎn)標(biāo)定板進(jìn)行手眼標(biāo)定的方法高效便捷,達(dá)到了機(jī)械制造業(yè)對標(biāo)定精度的要求。
在相機(jī)手眼標(biāo)定過程中,需要注意標(biāo)點(diǎn)板平移和旋轉(zhuǎn)的位姿點(diǎn)采集圖像數(shù)量足夠,移動記錄標(biāo)定點(diǎn)的位姿點(diǎn)過程中,在計(jì)算內(nèi)參即標(biāo)定板中特征圓坐標(biāo)時,若計(jì)算內(nèi)參失敗,可以通過畫輔助圓的方式重新計(jì)算。重新計(jì)算內(nèi)參時,我們需要觀察每個位置的標(biāo)點(diǎn)板的圓點(diǎn)是否均有坐標(biāo)點(diǎn),若不滿足每個特征圓點(diǎn)出現(xiàn)在模擬3D環(huán)境中,需將其刪除重新計(jì)算標(biāo)定誤差參數(shù)。
由于早晚自然光照強(qiáng)度不同,可能存在工件識別不到或者抓取位姿不正確的問題,面臨這種問題時,可以采取遮光板等對實(shí)驗(yàn)設(shè)備進(jìn)行有效避光,保證實(shí)驗(yàn)設(shè)備光照強(qiáng)度在一定范圍內(nèi)。