王安妮,劉興德
(1.吉林化工學(xué)院 信息與控制工程學(xué)院,吉林 吉林 132022;2.吉林化工學(xué)院 機(jī)電工程學(xué)院,吉林 吉林 132022)
在很多機(jī)械生產(chǎn)企業(yè)中,為了節(jié)省時(shí)間成本以及減少人工作業(yè)的風(fēng)險(xiǎn),通常都采用自動(dòng)裝置完成工作,而在自動(dòng)制造流程中,機(jī)器視覺(jué)技術(shù)也被應(yīng)用到工件上料以及尺寸檢測(cè)等領(lǐng)域,相機(jī)校準(zhǔn)作為機(jī)器視覺(jué)的前期準(zhǔn)備工作,直接關(guān)系檢測(cè)結(jié)果的正確性[1,2]。由于機(jī)器視覺(jué)技術(shù)在智能制造與測(cè)量方面的廣泛應(yīng)用,更多的從業(yè)者開(kāi)始對(duì)標(biāo)定領(lǐng)域開(kāi)展深入研究[3]。婁群[4]等人提出了一種基于亞像素邊緣檢測(cè)的雙目相機(jī)標(biāo)定方法,該方法可以識(shí)別標(biāo)記點(diǎn)并對(duì)其進(jìn)行排序,從而實(shí)現(xiàn)了復(fù)雜環(huán)境下相機(jī)的高精度校準(zhǔn)。李嘉欣[5]等人針對(duì)精密棋盤(pán)標(biāo)定板制作難度大、成本高等問(wèn)題,采用了一種附有編碼標(biāo)志的棋盤(pán)格并提出了一種角點(diǎn)編碼的方法。這種方法既克服了傳統(tǒng)棋盤(pán)格標(biāo)定對(duì)于影像獲取的局限,又讓相機(jī)標(biāo)定變得更高效。
SUN W Y[6]等人提出了一種有效的手眼校準(zhǔn)方法,該方法通過(guò)點(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ù),提出了一種基于單個(gè)標(biāo)記的手眼校準(zhǔn)方法。通過(guò)多組單標(biāo)記三維坐標(biāo)數(shù)據(jù),構(gòu)建基于手眼標(biāo)定誤差的非線性?xún)?yōu)化問(wèn)題,依次求解單標(biāo)記廣義工具中心點(diǎn)(TCP)位置和手眼標(biāo)定矩陣。該方法不僅保證了手眼標(biāo)定的精度,而且使手眼標(biāo)定更加方便。胡木連[8]針對(duì)以參數(shù)化投影模型為代表的相機(jī)標(biāo)定帶來(lái)的所求參數(shù)多、計(jì)算效率低等問(wèn)題,建立了一種以廣義成像模型為代表的相機(jī)標(biāo)定方法,直接建立物方平面標(biāo)定板與像方成像面投影之間的關(guān)系。利用列文伯格-馬夸爾特算法(LM算法)與多項(xiàng)式畸變模型迭代、最小二乘法完成標(biāo)定,并在Z軸和X軸滿足精度要求。赫美琳[9]等人以棋盤(pán)格板定板為研究對(duì)象,建立了一種快速獲取單目相機(jī)內(nèi)部參數(shù)的標(biāo)定方法,對(duì)高精度相機(jī)內(nèi)參獲取十分有效。上述專(zhuān)業(yè)科研人員的相機(jī)標(biāo)定研究,針對(duì)棋盤(pán)格標(biāo)定的精度低、邊緣識(shí)別差等問(wèn)題,采用標(biāo)定點(diǎn)排序、非線性?xún)?yōu)化算法等方法解決上述問(wèn)題,但是由于2D單目相機(jī)仍存在棋盤(pán)格黑白邊緣識(shí)別效果差和獲取的交點(diǎn)參數(shù)未能滿足工件上下料要求的缺點(diǎn)??梢杂脵C(jī)器視覺(jué)軟件Mech Vision對(duì)非對(duì)稱(chēng)圓點(diǎn)標(biāo)定板進(jìn)行相機(jī)標(biāo)定研究,檢測(cè)每個(gè)特征圓的圓心,把真實(shí)的圓心提取出來(lái),降低圓心存在的偏心誤差。
一個(gè)完整的工業(yè)視覺(jué)系統(tǒng)主要是由相機(jī)、鏡頭、光源、標(biāo)定板、工作平臺(tái)及視覺(jué)相關(guān)軟件等組成,單目視覺(jué)系統(tǒng)通常是指系統(tǒng)中有且僅有一個(gè)工業(yè)相機(jī)。圖1(a)是以工件上下料作為案例而搭建的單目3D視覺(jué)測(cè)量工作系統(tǒng)示意圖,其中相機(jī)、鏡頭和光源主要是對(duì)工件進(jìn)行圖像采集,主要是通過(guò)調(diào)節(jié)曝光時(shí)間和激光強(qiáng)度、設(shè)置圖像采集區(qū)域的方法進(jìn)行圖像采集,然后通過(guò)視覺(jué)相關(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)
我們?cè)跈C(jī)器人末端安裝固定好所選取的實(shí)驗(yàn)標(biāo)定板,通過(guò)相機(jī)拍照采集,可以得到相對(duì)于機(jī)器人基坐標(biāo)C的標(biāo)定板上每個(gè)圓點(diǎn)的圖像,從而得到標(biāo)定板上每個(gè)圓形特征的坐標(biāo)B,則相機(jī)與機(jī)器人基坐標(biāo)之間的位姿關(guān)系A(chǔ)就為待求量。上述變量中A、B、C形成等式(1)~(3),其中C為標(biāo)定板上的各圓點(diǎn)相對(duì)于機(jī)器人基坐標(biāo)的坐標(biāo),B為相機(jī)拍照獲得標(biāo)定板上每個(gè)圓點(diǎn)的坐標(biāo),A為B和C基坐標(biāo)之間的位姿關(guān)系的待求量。標(biāo)定板到法蘭末端位置關(guān)系D未知,通過(guò)標(biāo)定板在標(biāo)定過(guò)程中的一系列相對(duì)移動(dòng),使用數(shù)值方法計(jì)算得到標(biāo)定板到法蘭末端的位置關(guān)系,進(jìn)而計(jì)算得到C。通過(guò)移動(dòng)機(jī)器人,變換標(biāo)定板相對(duì)于相機(jī)的位姿,可以得到多組等式,對(duì)這些等式的值進(jìn)行擬合優(yōu)化計(jì)算,最終得到最優(yōu)的A值[10,11]。位姿關(guān)系如圖1單目3D相機(jī)測(cè)量系統(tǒng)工作平臺(tái)所示。
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ī)在拍照采集過(guò)程中出現(xiàn)畸變情況,實(shí)際上就是實(shí)現(xiàn)圖像的二維平面像素坐標(biāo)與三維世界坐標(biāo)的轉(zhuǎn)換。然而轉(zhuǎn)換過(guò)程中,需要計(jì)算出相機(jī)的內(nèi)部參數(shù)和外部參數(shù)[9]。因此,獲取相機(jī)內(nèi)部參數(shù)和外部參數(shù)是相機(jī)校準(zhǔn)的主要目的。
標(biāo)定過(guò)程實(shí)質(zhì)是機(jī)器視覺(jué)坐標(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)化是通過(guò)旋轉(zhuǎn)R和平移T兩個(gè)過(guò)程完成的,則:
(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軟件是一種新型的視覺(jué)編程軟件。通過(guò)插放不同的功能模塊、調(diào)節(jié)工作參數(shù)和搭建工作流程,就可以實(shí)現(xiàn)無(wú)序抓取、上下料、缺陷檢測(cè)等機(jī)械視覺(jué)的應(yīng)用。軟件內(nèi)置有高精度3D相機(jī)標(biāo)定工具,可以配合機(jī)器人進(jìn)行自動(dòng)外參、內(nèi)參及雙相機(jī)融合標(biāo)定。圖2為利用Mech Vision軟件的相機(jī)標(biāo)定流程。
圖2 相機(jī)標(biāo)定流程圖
首先我們需要打開(kāi)機(jī)器視覺(jué)相關(guān)軟件,如Mech Vision軟件,新建工程進(jìn)行搭建工作流程,本次實(shí)驗(yàn)是以建立好的工件上下料工程為例,打開(kāi)工程后點(diǎn)擊界面已有的相機(jī)標(biāo)定,建立新的標(biāo)定文件,選擇手眼標(biāo)定類(lèi)型,其手眼標(biāo)定類(lèi)型有三種,包括ETH標(biāo)定、EIH標(biāo)定(標(biāo)定板單獨(dú)固定并將相機(jī)固定于機(jī)器人末端)、ETH標(biāo)定(尖點(diǎn)觸碰)。選擇ETH標(biāo)定和六軸機(jī)器人,根據(jù)左右手定則選擇機(jī)器人對(duì)應(yīng)的歐拉角,連接好相機(jī),將標(biāo)定板移動(dòng)到相機(jī)拍照范圍中心計(jì)算內(nèi)參,然后移動(dòng)標(biāo)定板,將基于機(jī)器人基坐標(biāo)下的X,Y,Z方向的位姿坐標(biāo)手動(dòng)輸入并記錄,最后重新計(jì)算內(nèi)參并查看偏移量誤差是否合格。
通過(guò)Mech Vision軟件內(nèi)置相機(jī)標(biāo)定工具,可以配合機(jī)器人進(jìn)行相機(jī)標(biāo)定,本次實(shí)驗(yàn)采用的是BDB-7型號(hào)的非對(duì)稱(chēng)圓點(diǎn)標(biāo)定板,采用爾必地六軸機(jī)器人,通過(guò)示教器手搖的方式,分別記錄如圖3所示的標(biāo)定板平移、旋轉(zhuǎn)的坐標(biāo)點(diǎn)。
本次實(shí)驗(yàn)使用的是型號(hào)為L(zhǎng)SR L,分辨率為深度圖:2048×1536,RGB為2 000×1 500的3D工業(yè)相機(jī)。標(biāo)定板為 4×5陣列,圓心之間的距離是50 mm。采用VS 2015和OpenCV進(jìn)行標(biāo)定程序的編寫(xiě)。
為保證標(biāo)定的準(zhǔn)確性,首先采集多張不同角度的標(biāo)定板照片,一般需要采集的圖片數(shù)量大于3張即可,但本次實(shí)驗(yàn)為保證嚴(yán)謹(jǐn)性,總共采集了17張圖像,如圖4所示。在使用示教器對(duì)機(jī)器人末端固定的標(biāo)定板進(jìn)行移動(dòng)時(shí)需要注意將標(biāo)定板的20個(gè)圓形均展示在相機(jī)視野范圍內(nèi),如圖4所示,以便對(duì)標(biāo)定點(diǎn)的數(shù)據(jù)提取與驗(yàn)證,尤其是圓心坐標(biāo)和圓間距。
圖4 標(biāo)定點(diǎn)檢測(cè)結(jié)果示意圖
將非對(duì)稱(chēng)圓點(diǎn)標(biāo)定板固定在爾必地機(jī)器人的法蘭末端,由于案例是工件上下料工作實(shí)驗(yàn)平臺(tái),將其固定在磁鐵端。在成像范圍內(nèi)四個(gè)角落的位置更容易產(chǎn)生畸變,因此采用機(jī)器人示教器通過(guò)X、Y軸不同方向進(jìn)行平移。如圖5所示為標(biāo)定板在某一高度時(shí)標(biāo)定板中20個(gè)圓心在三維空間中的展示。在不同高度下平移標(biāo)定板和沿X、Y、Z各軸旋轉(zhuǎn)標(biāo)定板并記錄機(jī)器人位置點(diǎn),某一位置下的標(biāo)定板圓心坐標(biāo)如表1所示,20個(gè)特征圓的圓心坐標(biāo)均可計(jì)算出來(lái)。
表1 標(biāo)定板的圓心坐標(biāo)點(diǎn)合集表
圖5 標(biāo)定板位置三維坐標(biāo)圖
如表1所示的數(shù)據(jù),我們將17張采集到的標(biāo)定板數(shù)據(jù)都寫(xiě)入程序中,經(jīng)過(guò)一系列計(jì)算得到如下的標(biāo)定結(jié)果:
相機(jī)內(nèi)參矩陣
鏡頭畸變系數(shù)
k1=-0.0589,k2=0.0867,k3=-0.00023,P1=-1.8342936743704765e-0.5,P2=0
采用兩種方法對(duì)標(biāo)定點(diǎn)數(shù)據(jù)進(jìn)行檢查,其一是在已經(jīng)搭建好的Vision工程中運(yùn)行工作流程,通過(guò)示教器手搖工作流程完成后給出的參數(shù)值,檢查一下法蘭位姿與工程搭建運(yùn)行后發(fā)送的位姿信息是否一致。圖6中從左向右依次是表2需要1至3的位姿示意圖,通過(guò)表2數(shù)據(jù)分析計(jì)算可得平均誤差在0到0.03內(nèi),滿足工業(yè)中工件上下料的精度要求。
圖6 不同擺放情況的抓取位姿示意圖
其二是檢查標(biāo)定點(diǎn)“平均標(biāo)定圓間隔測(cè)量值誤差”是否超出標(biāo)準(zhǔn)值,在標(biāo)定圖像及位姿列表面板選中標(biāo)定點(diǎn),在下方消息框中查看平均標(biāo)定圓間隔測(cè)量值誤差。平均標(biāo)定圓間隔測(cè)量誤差為0.18%,小于誤差上線標(biāo)準(zhǔn)2.2%。對(duì)于標(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 不同工作場(chǎng)景下的誤差精度要求
本文提出了一種基于非對(duì)稱(chēng)圓形陣列標(biāo)定板的3D相機(jī)標(biāo)定法,對(duì)采集到的17張標(biāo)定板圖像中的特征圓進(jìn)行邊緣提取、圓心提取和圓點(diǎn)距計(jì)算,通過(guò)3D梅卡相機(jī)和一系列視覺(jué)軟件進(jìn)行相機(jī)標(biāo)定得到了相機(jī)的較為準(zhǔn)確的內(nèi)外參數(shù)和畸變參數(shù)。實(shí)驗(yàn)結(jié)果證明,這種采用非對(duì)稱(chēng)圓點(diǎn)標(biāo)定板進(jìn)行手眼標(biāo)定的方法高效便捷,達(dá)到了機(jī)械制造業(yè)對(duì)標(biāo)定精度的要求。
在相機(jī)手眼標(biāo)定過(guò)程中,需要注意標(biāo)點(diǎn)板平移和旋轉(zhuǎn)的位姿點(diǎn)采集圖像數(shù)量足夠,移動(dòng)記錄標(biāo)定點(diǎn)的位姿點(diǎn)過(guò)程中,在計(jì)算內(nèi)參即標(biāo)定板中特征圓坐標(biāo)時(shí),若計(jì)算內(nèi)參失敗,可以通過(guò)畫(huà)輔助圓的方式重新計(jì)算。重新計(jì)算內(nèi)參時(shí),我們需要觀察每個(gè)位置的標(biāo)點(diǎn)板的圓點(diǎn)是否均有坐標(biāo)點(diǎn),若不滿足每個(gè)特征圓點(diǎn)出現(xiàn)在模擬3D環(huán)境中,需將其刪除重新計(jì)算標(biāo)定誤差參數(shù)。
由于早晚自然光照強(qiáng)度不同,可能存在工件識(shí)別不到或者抓取位姿不正確的問(wèn)題,面臨這種問(wèn)題時(shí),可以采取遮光板等對(duì)實(shí)驗(yàn)設(shè)備進(jìn)行有效避光,保證實(shí)驗(yàn)設(shè)備光照強(qiáng)度在一定范圍內(nèi)。