陳明方,臧家秀,李俊男,王學(xué)軍,葛天佑,姚國(guó)一
(昆明理工大學(xué)機(jī)電工程學(xué)院,云南昆明650500)
在顯示器生產(chǎn)裝配過(guò)程中,輸送線(xiàn)上顯示器的定位和抓取是自動(dòng)化改造的關(guān)鍵點(diǎn)之一。目前,大多輸送線(xiàn)是通過(guò)機(jī)械方式來(lái)對(duì)顯示器進(jìn)行預(yù)定位,通過(guò)預(yù)先示教的方法控制機(jī)器人抓手的姿態(tài)達(dá)到設(shè)定位置[1?3]。然而,因顯示器裝配線(xiàn)上大多采用倍速鏈對(duì)顯示器進(jìn)行輸送,當(dāng)顯示器尺寸型號(hào)不同,位置、姿態(tài)無(wú)法確定時(shí),機(jī)器人無(wú)法完成抓取動(dòng)作[4]。目前,存在一些采用視覺(jué)技術(shù)的抓取機(jī)器人,但它們需要對(duì)顯示器進(jìn)行預(yù)定位,且當(dāng)顯示器尺寸、型號(hào)不同時(shí),需采取不同的抓取方案[5?6]。
為了實(shí)現(xiàn)工件抓取的自動(dòng)化、柔性化,國(guó)內(nèi)外眾多學(xué)者對(duì)視覺(jué)抓取技術(shù)進(jìn)行了研究。曾勁松等通過(guò)雙目視覺(jué)系統(tǒng)對(duì)定位板上的6 個(gè)孔進(jìn)行拍攝,根據(jù)孔中心在相機(jī)坐標(biāo)系下的位置,求得工裝板相對(duì)相機(jī)坐標(biāo)系的位置,然后轉(zhuǎn)化為機(jī)器人坐標(biāo)系下的位置,供機(jī)器人抓取工件[1]。王增磊等[7]以盲區(qū)待裝配零件為對(duì)象,提出了一種基于機(jī)器視覺(jué)的增強(qiáng)現(xiàn)實(shí)盲區(qū)裝配方法。黃金梭等[8]采用工業(yè)相機(jī)和機(jī)器人動(dòng)態(tài)抓取系統(tǒng)模型,基于視覺(jué)和工業(yè)機(jī)器人的動(dòng)態(tài)抓取技術(shù),提出了一整套位姿數(shù)據(jù)計(jì)算方法。季旭全等[9]采用機(jī)器學(xué)習(xí)與雙目視覺(jué)的方法,提出了機(jī)器人與視覺(jué)引導(dǎo)的星載設(shè)備智能裝配方法。上述研究側(cè)重于坐標(biāo)系變換與標(biāo)定方法,未涉及圖像處理與控制系統(tǒng)的連接問(wèn)題,理論性強(qiáng)、可操作性論述不足。
本文以輸送線(xiàn)托盤(pán)上隨機(jī)位姿顯示器的抓取為研究對(duì)象,采用濾波、二值化和特征提取等圖像處理方法,獲取顯示器的位姿數(shù)據(jù),將其送給PLC,控制機(jī)械手的抓取動(dòng)作。該方法的可靠性好、操作簡(jiǎn)便、處理速度快且精度高。
本文設(shè)計(jì)了直角坐標(biāo)機(jī)器人作為顯示器的抓取控制本體,通過(guò)工業(yè)相機(jī)獲取當(dāng)前顯示器位姿圖像,將實(shí)時(shí)圖像送至圖像處理系統(tǒng)生成實(shí)時(shí)位姿數(shù)據(jù),通過(guò)該數(shù)據(jù)來(lái)控制機(jī)器人抓手的動(dòng)作。
如圖1所示,本系統(tǒng)主要包括兩個(gè)部分:圖像采集與處理系統(tǒng)和機(jī)器人控制系統(tǒng)。圖像采集與處理系統(tǒng)由工業(yè)相機(jī)及Labview 軟件組成,主要負(fù)責(zé)獲取顯示器圖像,并對(duì)采集的圖像進(jìn)行處理計(jì)算,然后輸出顯示器的位姿;機(jī)器人控制系統(tǒng)主要由PLC、伺服電機(jī)等組成,用于對(duì)直角坐標(biāo)機(jī)器人的控制,實(shí)現(xiàn)最終的抓取動(dòng)作。
圖1 系統(tǒng)方案框圖Fig.1 System block diagram
圖像處理是對(duì)所獲取圖像進(jìn)行加工、計(jì)算和處理,以便能達(dá)到視覺(jué)、機(jī)器決策的要求[10]。抓取機(jī)器人要能準(zhǔn)確抓取到顯示器,機(jī)械手需要知道顯示器的輪廓尺寸及其位姿,本文中顯示器型號(hào)尺寸可預(yù)先給定,所以在圖像處理后只需將顯示器位姿數(shù)據(jù)傳送給PLC 即可。圖像處理過(guò)程如圖2所示。
圖2 圖像處理過(guò)程Fig.2 Image processing process
圖像在采集或傳輸過(guò)程中經(jīng)常被各類(lèi)信號(hào)干擾,圖像會(huì)夾雜一些噪聲,會(huì)導(dǎo)致圖像中的一些重要信息難以被讀取。所以在圖像處理前需要對(duì)圖像進(jìn)行除噪,便于圖像的進(jìn)一步處理。在處理中,可以把圖像看成一種二維信號(hào),使用傅里葉變換將其變換成頻率域,然后逆變換為空間域[11]。傅里葉變換卷積定理如下:
若H(u,v)為濾波函數(shù)h(x,y)的頻譜,則由上式可知,對(duì)圖像f(x,y)進(jìn)行傅里葉變換得到結(jié)果F(u,v),再通過(guò)濾波函數(shù)h(x,y)進(jìn)行濾波,然后用H(u,v)與F(u,v)相乘,并對(duì)其進(jìn)行傅里葉反變換,即可得濾波后的圖像。
根據(jù)所采集圖像,經(jīng)過(guò)多次實(shí)驗(yàn)發(fā)現(xiàn),本文采用理想低通濾波器可以達(dá)到較好的除噪效果。低通濾波器使頻率高于D0的信號(hào)為0,低于D0的信號(hào)1,其他頻率的信號(hào)不變,其傳遞函數(shù)為:
其中,M、N為圖像的長(zhǎng)和寬。在實(shí)際應(yīng)用中,可以使用需要保留的能量占總能量的比例來(lái)確定截止頻率D0。Labview 處理圖像時(shí),使用IMAQ Com?plex Truncate 實(shí)現(xiàn)理想濾波器的濾波,見(jiàn)圖3。使用該函數(shù)時(shí),只需改變參數(shù)Truncation Frequency%來(lái)確定需保留總能量的百分比即可。濾波時(shí),程序先將圖像讀進(jìn)內(nèi)存進(jìn)行傅里葉變換,然后使用IMAQ Complex Truncate 對(duì)圖像進(jìn)行濾波,濾波后對(duì)圖像進(jìn)行傅里葉反變換,得到濾波后的圖像。參數(shù)Truncation Frequency%分別取5%、15% 及25%時(shí)的圖像如圖4 所示。經(jīng)對(duì)比發(fā)現(xiàn),參數(shù)Truncation Frequency%應(yīng)取15%。
圖3 Formular Filters代碼Fig.3 Formular Filters code
圖4 不同截止頻率對(duì)比圖Fig.4 Comparison diagram of different cut?off frequencies
圖像分割能夠進(jìn)一步將除噪后的圖像簡(jiǎn)化,其根據(jù)圖像的顏色、形狀和灰度等參數(shù)把圖像劃分為不同子區(qū)域。也就是說(shuō),將具有相同特征分在同一個(gè)區(qū)域而不同特征的分開(kāi)[12]。圖像分割一般輸出為二值圖像,即用0 表示背景,1 表示目標(biāo)區(qū)域。由于顯示器與托盤(pán)有較強(qiáng)的對(duì)比度,所以本系統(tǒng)采用圖像閾值分割有效。
閾值分割根據(jù)不同特征設(shè)置單個(gè)或多個(gè)閾值,將圖像的像素分為2類(lèi)或者多類(lèi)。以圖像的灰度直方圖作為參考,圖像灰度閾值分割可選擇閾值將圖像的目標(biāo)與背景分開(kāi)來(lái)。假設(shè)原圖為f(x,y),T為閾值,閾值分割最簡(jiǎn)單的表示方法為:
其中,g(x,y)為分割后圖像。
圖像閾值分割分為手動(dòng)閾值分割和自動(dòng)閾值分割方法。手動(dòng)分割需人為確定閾值,存在主觀性,所以本系統(tǒng)采用自動(dòng)閾值分割方法。NI Vision可支持5種自動(dòng)分割方法:最大熵法、最大類(lèi)間方差法、矩保持法、聚類(lèi)法和均勻性度量法。其中,最大類(lèi)間方差法不受圖像對(duì)比度及亮度的影響、計(jì)算簡(jiǎn)單,被認(rèn)為是閾值選取的最佳算法[13?14]。將圖像分為目標(biāo)和背景兩類(lèi),這兩類(lèi)間的方差越大,說(shuō)明這兩類(lèi)的區(qū)別就越大。如果有一閾值使其方差最大,那么這個(gè)閾值就是最佳閾值。
假設(shè)k為某一灰度級(jí)為i的圖像的最佳閾值,其將圖像分為X、Y兩類(lèi),X和Y分別出現(xiàn)的概率為P(X)和P(Y),那么它們的類(lèi)間方差為:
對(duì)工業(yè)相機(jī)獲得的圖像經(jīng)濾波后進(jìn)行灰度直方圖計(jì)算,結(jié)果如圖5 所示。圖5 的橫坐標(biāo)為灰度級(jí)i,縱坐標(biāo)為每一級(jí)的像素?cái)?shù)ni。圖6 的直方圖報(bào)告中Area(pixels)為該圖像的總像素?cái)?shù)n。那么i級(jí)像素點(diǎn)出現(xiàn)的概率為:
圖5 灰度直方圖Fig.5 Gray histogram
圖6 直方圖報(bào)告Fig.6 Histogram report
將式(11)代入式(7)和(8),可求出μT和μ(k)。只有ω(k)未知,因此只要找到k讓類(lèi)間方差最大,那么k就是最佳閾值。
二值化是使圖像呈現(xiàn)出黑白狀態(tài)的過(guò)程,此時(shí)圖像上點(diǎn)的灰度值為0 或255[15]。因此,圖像的二值化使圖像數(shù)據(jù)量減少,使目標(biāo)輪廓更加清晰,更有利于圖像的進(jìn)一步處理。其原理就是小于最優(yōu)閾值的像素點(diǎn)其灰度值變?yōu)?,大于最優(yōu)閾值的像素點(diǎn)變?yōu)?55,即可將目標(biāo)區(qū)域轉(zhuǎn)化為黑色,背景或其他區(qū)域轉(zhuǎn)化為白色。圖7 為二值化程序框圖,根據(jù)上節(jié)閾值分割的方法可求出本系統(tǒng)最佳閾值為167,輸入最佳閾值可得到二值化后的圖像,如圖8所示。
圖7 二值化程序框圖Fig.7 Binarization block diagram
圖8 二值化后圖像Fig.8 Binarized image
利用IMAQ AutoBThreshold2對(duì)采集到的圖像自動(dòng)進(jìn)行閾值分割,將圖像的背景與目標(biāo)區(qū)域分開(kāi)。默認(rèn)情況下,坐標(biāo)以圖形的像素坐標(biāo)表示,但是實(shí)際控制系統(tǒng)一般按照世界坐標(biāo)系的坐標(biāo)值工作,所以需要事先對(duì)其進(jìn)行坐標(biāo)轉(zhuǎn)換,為后續(xù)自動(dòng)建立坐標(biāo)系做準(zhǔn)備。轉(zhuǎn)換公式如下:
其中,(x,y) 為圖像像素坐標(biāo),Zc為物距,(dx,dy)為工業(yè)相機(jī)的像素大小,f為相機(jī)的焦距,(u0,v0)為圖像坐標(biāo)原點(diǎn)至圖像左上角的距離,它們均為相機(jī)的內(nèi)部參數(shù)。R為旋轉(zhuǎn)矩陣,其為相機(jī)坐標(biāo)系到世界坐標(biāo)系所做的旋轉(zhuǎn)操作。B為平移矩陣,其為相機(jī)中心在世界坐標(biāo)系中的坐標(biāo)。XW、YW和H為所求的顯示器原點(diǎn)的世界坐標(biāo)系。由于顯示器高度和機(jī)械手原點(diǎn)位置一定,所以H可知。因此,在圖像處理過(guò)程中就可以對(duì)XW和YW進(jìn)行計(jì)算,并直接返回世界坐標(biāo)系的坐標(biāo)。
由于每個(gè)顯示器的位置不盡相同,程序采用函數(shù)IMAQ Find CoordSys(Rects)2,其可根據(jù)指定搜索方向檢測(cè)目標(biāo)區(qū)域中的目標(biāo)邊緣,且根據(jù)這些邊緣確定坐標(biāo)系。確切地說(shuō),該指令先根據(jù)設(shè)定的方向搜索一組平行線(xiàn)上目標(biāo)的邊緣點(diǎn),然后進(jìn)行曲線(xiàn)擬合來(lái)確定坐標(biāo)系的主軸(Y軸),接著再沿著與搜索主軸時(shí)垂直的方向搜索目標(biāo)上的邊緣線(xiàn)確定輔軸(X軸),兩軸交點(diǎn)即為坐標(biāo)原點(diǎn)。如圖9 所示,Direction 可選擇搜索方向。在CORE:Initialize中,程序?qū)?biāo)準(zhǔn)圖像(如圖10所示)存入內(nèi)存,并調(diào)用IMAQ Find CoordSys(Rects)2 將標(biāo)準(zhǔn)圖像確定為參考坐標(biāo)系。然后,在Update Coord?Sys 模 式 下 調(diào) 用IMAQ Find CoordSys (Rects)2 確定下一圖像的測(cè)量坐標(biāo)系。
在實(shí)際應(yīng)用中,顯示器擺放于托盤(pán)上,而托盤(pán)在輸送線(xiàn)的位置已確定,且托盤(pán)上的擋塊對(duì)顯示器已有了一個(gè)預(yù)定位,所以顯示器位姿不會(huì)變化很大。本文用IMAQ Find CoordSys(Rects)2 在目標(biāo)區(qū)域內(nèi)沿著從左向右、從下向上的方向進(jìn)行搜索并確定坐標(biāo)系。采用IMAQ Find Concentric Edge 2來(lái)表示測(cè)量圖像的角度,其由邊緣線(xiàn)相對(duì)于x軸正向逆時(shí)針的旋轉(zhuǎn)角表示。
圖9 坐標(biāo)系搜索方向選擇Fig.9 Search direction selection of coordinate system
圖10 標(biāo)準(zhǔn)圖像Fig.10 Standard image
如圖11 所示,由于顯示器為矩形,根據(jù)圖像原點(diǎn)坐標(biāo)值可由公式(12)、(13)求出顯示器中心坐標(biāo)值,由公式(14)便可得出機(jī)械手所需移動(dòng)的距離及角度。
標(biāo)準(zhǔn)圖像中心坐標(biāo)(x1,y1):
測(cè)量圖像中心坐標(biāo)(x2,y2):
其中,XW1、YW1為參考坐標(biāo)系原點(diǎn)坐標(biāo),XW2、YW2為測(cè)量坐標(biāo)系原點(diǎn)坐標(biāo),α為測(cè)量圖像的角度,a為顯示器長(zhǎng)度,b為顯示器寬度。
圖11 標(biāo)準(zhǔn)圖像與測(cè)量圖像位置Fig.11 Standard image with measured image position
抓取系統(tǒng)由光電傳感器、工控機(jī)、S7?1200PLC、工業(yè)相機(jī)和機(jī)器人組成。光電傳感器用于檢測(cè)顯示器是否到達(dá)指定位置,并通知工業(yè)相機(jī),工控機(jī)實(shí)時(shí)讀取工業(yè)相機(jī)的圖像并將計(jì)算結(jié)果傳送給下位機(jī)PLC,控制抓取機(jī)器人的動(dòng)作。其控制方案框圖如圖12所示。
圖12 控制方案框圖Fig.12 Control scheme block diagram
當(dāng)光電傳感器檢測(cè)到顯示器到達(dá)指定區(qū)域,工業(yè)相機(jī)開(kāi)始對(duì)顯示器進(jìn)行拍照,采集圖像后將其傳送給圖像處理軟件。由Labview 軟件對(duì)圖像進(jìn)行處理計(jì)算獲得顯示器的位姿坐標(biāo)值,然后將其送給PLC,PLC 根據(jù)計(jì)算結(jié)果控制機(jī)器人各軸的移動(dòng)和轉(zhuǎn)動(dòng),使機(jī)械手移動(dòng)到指定位置,控制機(jī)械手抓取顯示器,其抓取控制流程圖如圖13所示。
圖13 抓取控制流程圖Fig.13 Capture control flow chart
為減少圖像處理難度及提高圖像處理速度,背景托盤(pán)顏色選擇白色,工業(yè)相機(jī)采用USB 接口形式。PLC 采用位置控制方式控制伺服驅(qū)動(dòng)器,PLC發(fā)出脈沖串,電機(jī)便會(huì)運(yùn)行至相應(yīng)位置。圖像處理軟件Labview 與PLC 采用以太網(wǎng)通訊,在本系統(tǒng)中,S7?1200PLC 是數(shù)據(jù)的接收方,只需編寫(xiě)TRCV_C 程序讀取數(shù)據(jù),Labview 將坐標(biāo)值和角度傳輸給PLC 的DB 數(shù)據(jù)塊中,DB 變量定義如圖14所示。
為了驗(yàn)證該系統(tǒng)的可靠性,根據(jù)控制流程圖,進(jìn)行多次抓取實(shí)驗(yàn),如圖15 所示。抓取過(guò)程的人機(jī)交互界面如圖16所示,實(shí)驗(yàn)結(jié)果詳見(jiàn)表1。
其中,檢測(cè)位置坐標(biāo)及角度檢測(cè)值為該抓取系統(tǒng)測(cè)量所得,校正位置坐標(biāo)為基恩士IL?100 探頭測(cè)距CMOS激光位移傳感器實(shí)際測(cè)量所得,角度校正值為日本三量187?103 數(shù)顯角度尺實(shí)際測(cè)量所得。
圖14 位姿數(shù)據(jù)接收DB變量Fig.14 Pose data receiving DB variable
圖15 顯示器測(cè)量圖像Fig.15 Display measurement image
圖16 人機(jī)交互界面Fig.16 Human?computer interaction interface
由上述實(shí)驗(yàn)結(jié)果可知,每臺(tái)顯示器的坐標(biāo)最大誤差在0.4 mm 內(nèi),角度最大誤差在0.3°內(nèi),滿(mǎn)足顯示器抓取的要求。
顯示器的抓取是顯示器裝配線(xiàn)上的一個(gè)重要環(huán)節(jié),本文設(shè)計(jì)了以顯示器作為工件對(duì)象,基于Labview 和直角坐標(biāo)機(jī)器人的視覺(jué)抓取系統(tǒng),為機(jī)器人精準(zhǔn)抓取提供了有效保證。通過(guò)多次反復(fù)實(shí)驗(yàn),驗(yàn)證了該系統(tǒng)實(shí)現(xiàn)方法簡(jiǎn)潔、可靠,控制精度高,充分滿(mǎn)足顯示器裝配線(xiàn)上不同型號(hào)顯示器的隨機(jī)抓取要求。
表1 實(shí)驗(yàn)結(jié)果Table 1 Experimental results
中山大學(xué)學(xué)報(bào)(自然科學(xué)版)(中英文)2020年5期