李 毅,金守峰,尹加杰,仝夢(mèng)園,陳 陽(yáng)
(西安工程大學(xué) 機(jī)電工程學(xué)院/西安市現(xiàn)代智能紡織裝備重點(diǎn)實(shí)驗(yàn)室,陜西 西安 710048)
目前,筒子紗的抓取、轉(zhuǎn)運(yùn)及包裝已經(jīng)廣泛采用工業(yè)機(jī)器人來(lái)代替人工操作,降低了工人的勞動(dòng)強(qiáng)度,提升了工作效率[1]。但是傳統(tǒng)工業(yè)機(jī)器人的操作多以示教編程為主,缺乏對(duì)筒子紗的感知,導(dǎo)致工業(yè)機(jī)器人在作業(yè)過(guò)程中智能化和柔性化水平較低[2]。隨著機(jī)器視覺(jué)技術(shù)軟、硬件的快速發(fā)展,將機(jī)器視覺(jué)與工業(yè)機(jī)器人相結(jié)合,提高了機(jī)器人的感知功能[3-5]。機(jī)械視覺(jué)技術(shù)廣泛應(yīng)用于農(nóng)業(yè)機(jī)械領(lǐng)域[6-8],引導(dǎo)采摘機(jī)器人完成采摘?jiǎng)幼?。在工業(yè)機(jī)器人抓取方面,朱良針對(duì)簡(jiǎn)單目標(biāo)工件的定位,提出了一種較為準(zhǔn)確高效的工件矢量數(shù)據(jù)獲取方法,但缺少對(duì)復(fù)雜結(jié)構(gòu)工件的研究[9];伍錫如等構(gòu)建了深度神經(jīng)網(wǎng)絡(luò)模型識(shí)別目標(biāo),得到目標(biāo)的位置坐標(biāo)和類(lèi)別,實(shí)現(xiàn)了工業(yè)機(jī)器人的分揀[10];范荻等結(jié)合SURF算法、快速視網(wǎng)膜特征點(diǎn)、漢明距離以及仿射變換等相關(guān)技術(shù),解決了因?yàn)楸尘皬?fù)雜、零件形狀多樣而導(dǎo)致識(shí)別和定位精度低的問(wèn)題,但在識(shí)別過(guò)程中需要手動(dòng)提取特征,算法的魯棒性不高[11]。伴隨著Kinect及相關(guān)技術(shù)[12]的發(fā)展,楊長(zhǎng)輝等基于卷積神經(jīng)網(wǎng)絡(luò)和Kinect V2構(gòu)建了采摘機(jī)器人的識(shí)別定位系統(tǒng),所采用的YOLO V3目標(biāo)檢測(cè)模型檢測(cè)速度快,背景誤檢率低,但在識(shí)別物體的位置時(shí)精準(zhǔn)性較差[13];徐勝勇利用油菜的RGB-D圖像,通過(guò)ICP算法獲取油菜的完整點(diǎn)云,從而實(shí)現(xiàn)油菜植株上單個(gè)角果的空間定位,但在點(diǎn)云相配時(shí)需要提前知道相匹配點(diǎn)云間的角度,不符合實(shí)際工作環(huán)境下的要求[14];任秉銀等利用將固定于系統(tǒng)全局上的Kinect V2傳感器以及機(jī)械臂上的移動(dòng)相機(jī),獲取大目標(biāo)點(diǎn)云和小目標(biāo)圖像,完成混雜場(chǎng)景中小目標(biāo)的自主分揀,但整個(gè)系統(tǒng)算法過(guò)于復(fù)雜,且成本較高[15]。
視覺(jué)系統(tǒng)能準(zhǔn)確識(shí)別定位筒子紗目標(biāo),是筒子紗抓取機(jī)器人完成抓取任務(wù)的關(guān)鍵。基于以上研究思想,本文提出建立基于Kinect V2的機(jī)器人視覺(jué)定位系統(tǒng),利用Kinect V2傳感器獲得筒子紗的二維圖像和深度信息的特性。通過(guò)構(gòu)建二維圖像與深度信息的轉(zhuǎn)換模型,確定筒子紗的空間位置,實(shí)現(xiàn)了機(jī)器人對(duì)筒子紗目標(biāo)的快速識(shí)別及精確定位。
筒子紗是通過(guò)絡(luò)筒機(jī)上紗線卷繞而形成的圓錐形或圓柱形產(chǎn)品,表面為致密的紗線,依靠機(jī)器人的末端執(zhí)行器對(duì)其進(jìn)行作業(yè)。根據(jù)筒子紗的結(jié)構(gòu)特點(diǎn)和作業(yè)要求,設(shè)計(jì)了如圖1所示的基于Kinect V2的機(jī)器人視覺(jué)定位系統(tǒng)。
該系統(tǒng)由機(jī)器人和末端執(zhí)行器構(gòu)成筒子紗抓取的執(zhí)行裝置。選用上銀RA605關(guān)節(jié)式6自由度機(jī)械臂作為本體,末端執(zhí)行器為XEG-64型二指電動(dòng)夾爪。Kinect V2傳感器作為視覺(jué)感知元件,由RGB彩色攝像頭、紅外攝像頭和紅外投影儀構(gòu)成,為筒子紗二維圖像和深度圖像的采集裝置:以30幀/秒獲取1 920×1 080分辨率的RGB圖像和512×424分辨率的深度圖像,如圖2所示。機(jī)器人與Kinect V2構(gòu)成了Eye-to-Hand系統(tǒng)。主控計(jì)算機(jī)作為機(jī)器人的上位機(jī),通過(guò)圖像分析算法獲取筒子紗的三維信息,同時(shí)通過(guò)TCP/IP網(wǎng)絡(luò)與機(jī)械臂的控制柜實(shí)現(xiàn)通信,引導(dǎo)機(jī)器人完成作業(yè)。
(a) RGB圖像 (b) 深度圖像圖 2 筒子紗目標(biāo)原始圖像Fig.2 Original image of bobbin yarn target
在對(duì)獲取的原始筒子紗RGB圖像進(jìn)行圖像增強(qiáng)、濾波后,根據(jù)筒子紗表面紋理的特點(diǎn),采用K-means聚類(lèi)算法[16-17]進(jìn)行分割。以距離作為相似性的評(píng)價(jià)指標(biāo),將樣本中的n個(gè)數(shù)據(jù)對(duì)象劃分成k(k 由于分割后的筒子紗區(qū)域輪廓受到噪聲的干擾,易產(chǎn)生偽邊緣點(diǎn)。為了提高邊緣檢測(cè)精度,在聚類(lèi)分割的基礎(chǔ)上采用形態(tài)學(xué)算法[18-19],利用結(jié)構(gòu)元素提取筒子紗邊緣輪廓特征。形態(tài)學(xué)結(jié)構(gòu)元素的尺度大小會(huì)影響到目標(biāo)邊緣檢測(cè)的精度:小尺度結(jié)構(gòu)元素能夠很好地檢測(cè)到目標(biāo)邊緣的細(xì)節(jié)且邊緣定位精確,但去噪能力差;大尺度結(jié)構(gòu)元素抑制噪聲的能力強(qiáng),但是在檢測(cè)過(guò)程中會(huì)丟失邊緣的細(xì)節(jié)部分。 假設(shè)f(m,n)表示輸入圖像,g為結(jié)構(gòu)元素,根據(jù)筒子紗分割區(qū)域存在噪聲點(diǎn)、邊緣不平及空洞等問(wèn)題,構(gòu)建形態(tài)學(xué)多尺度迭代濾波器 ψ(f)=(f°g1·g2)·g1°g2 (1) 式中:°表示灰度開(kāi)運(yùn)算;·表示灰度閉運(yùn)算。 構(gòu)建5種結(jié)構(gòu)元素g1~g5作筒子紗輪廓特征提取,分別為 多尺度邊緣檢測(cè)算子為 (2) 式中:n為尺度參數(shù);⊕和Θ分別表示膨脹和腐蝕操作。建立多尺度邊緣融合模型Gfn, (3) 式中:ui為各個(gè)尺度邊緣檢測(cè)圖像進(jìn)行融合時(shí)的加權(quán)系數(shù)。 通過(guò)構(gòu)造的5個(gè)結(jié)構(gòu)元素,對(duì)筒子紗區(qū)域進(jìn)行形態(tài)學(xué)運(yùn)算,在n=1~5尺度間對(duì)筒子紗的邊緣進(jìn)行處理,利用實(shí)體加權(quán)融合提取筒子紗的輪廓信息。處理后的筒子紗區(qū)域如圖3(a)所示,消除了筒子紗區(qū)域的空洞和周?chē)墓铝Ⅻc(diǎn),筒子紗的邊緣平滑;筒子紗的邊緣輪廓提取如圖3(b)所示,輪廓信息完整,消除了偽邊緣點(diǎn)的影響。 (a) 目標(biāo)區(qū)域 (b) 輪廓邊緣提取圖 3 筒子紗目標(biāo)輪廓特征提取Fig.3 Contour feature extraction of bobbin yarn targets 在獲取筒子紗邊緣信息的基礎(chǔ)上,利用圖像矩獲取筒子紗在二維圖像中的位置。圖像矩表征了圖像區(qū)域的幾何特征,具有旋轉(zhuǎn)、平移、尺度不變等特點(diǎn)。設(shè)筒子紗圖像的密度函數(shù)為f(i,j),則圖像的幾何矩為 (4) 式中:m×n表示圖像的分辨率;p+q為幾何矩的階數(shù)。 通過(guò)一階幾何矩與零階幾何矩的比值構(gòu)建的筒子紗的質(zhì)心二維坐標(biāo)為 (5) (6) 式中:M10和M01為一階矩;M00為零階矩。 根據(jù)圖像矩的方法對(duì)圖3(b)中的筒子紗質(zhì)心坐標(biāo)進(jìn)行二維定位,并將其映射到圖2(a)的原始RGB圖中,以(x,y)=(·,·)表示質(zhì)心的二維坐標(biāo)值,結(jié)果如圖4所示。 圖 4 目標(biāo)質(zhì)心 由圖4可知,筒子紗的質(zhì)心坐標(biāo)即為其像素坐標(biāo),表征了筒子紗在圖像中的位置,而不是實(shí)際空間下的位置。由于Kinect相機(jī)所采集的深度圖像中保存有深度信息,可將深度圖像與二維圖像相融合,調(diào)用Kinect for Windows SDK中的映射函數(shù)實(shí)現(xiàn)彩色圖像與深度圖像的對(duì)齊,如圖5所示。通過(guò)計(jì)算彩色圖像和深度圖像間的映射關(guān)系,建立與之對(duì)應(yīng)的像素點(diǎn)間的索引關(guān)系,從而找到彩色圖像上目標(biāo)質(zhì)心點(diǎn)在深度圖像中所對(duì)應(yīng)的深度值。 圖 5 RGB圖像與深度圖像對(duì)齊 由于圖像的度量單位為像素,而實(shí)際尺寸為物理單位(mm),因此需要將圖像中特征點(diǎn)的像素坐標(biāo)轉(zhuǎn)換為三維空間坐標(biāo)。已知筒子紗質(zhì)心點(diǎn)在圖像坐標(biāo)中的像素坐標(biāo),在二維圖像對(duì)齊到深度圖像后,根據(jù)Kinect相機(jī)成像原理,將筒子紗圖像的質(zhì)心點(diǎn)轉(zhuǎn)換為三維坐標(biāo),即 (7) 式中:(Xd,Yd,Zd)為目標(biāo)點(diǎn)對(duì)應(yīng)的三維空間坐標(biāo);(xi,yi)為目標(biāo)質(zhì)心點(diǎn)在深度圖像中對(duì)應(yīng)的像素坐標(biāo);z為(xi,yi)對(duì)應(yīng)的深度值;cx、cy、fx和fy分別為紅外相機(jī)標(biāo)定得到的內(nèi)參數(shù)。 在將筒子紗質(zhì)心的二維圖像坐標(biāo)轉(zhuǎn)換為三維空間坐標(biāo)的計(jì)算過(guò)程中,需要利用RGB相機(jī)和深度相機(jī)的內(nèi)參數(shù)以及二者間的關(guān)系參數(shù)。因此,分別對(duì)Kinect V2傳感器上的RGB攝像頭和紅外攝像頭進(jìn)行參數(shù)標(biāo)定。張氏標(biāo)定法[20-21]具有使用簡(jiǎn)單、精度高、魯棒性好等特點(diǎn),故用該標(biāo)定法對(duì)Kinect V2傳感器的2個(gè)攝像頭進(jìn)行標(biāo)定。 通過(guò)Matlab的Camera Calibration Toolbox對(duì)2個(gè)攝像頭進(jìn)行標(biāo)定后,得到相機(jī)內(nèi)參數(shù),如表1所示。相機(jī)與標(biāo)定板間的位置關(guān)系如圖6所示。 表1 相機(jī)標(biāo)定參數(shù) (a) 彩色相機(jī) (b) 深度相機(jī)圖 6 標(biāo)定板與相機(jī)位置關(guān)系Fig.6 The position relationship between calibration plate and camera 實(shí)驗(yàn)過(guò)程中,Kinect V2中RGB攝像頭與紅外攝像頭的光心在同一水平線,二者光心距在45 mm。根據(jù)彩色相機(jī)和深度相機(jī)內(nèi)參數(shù)以及兩相機(jī)對(duì)應(yīng)的彩色和紅外標(biāo)定圖像的外參數(shù),可以得到彩色相機(jī)到深度相機(jī)間的旋轉(zhuǎn)和平移關(guān)系,分別用旋轉(zhuǎn)矩陣H和平移向量T表示,即 T=[45.815 7 1.587 9 0.198 0] 為驗(yàn)證本文方法的可行性,分別采集了獨(dú)立和堆疊2種不同放置情況的筒子紗圖像,通過(guò)本文算法對(duì)圖像中的筒子紗目標(biāo)進(jìn)行識(shí)別定位處理,得到筒子紗輪廓邊緣及二維質(zhì)心坐標(biāo),如圖7所示。 由于Kinect V2光軸垂直于視場(chǎng)平面,因此水平放置的筒子紗輪廓近似梯形,豎直放置的筒子紗輪廓近似橢圓形。 (a) 獨(dú)立狀態(tài) (b) 堆疊狀態(tài)圖 7 不同位置形態(tài)筒子紗的識(shí)別定位Fig.7 Identification and positioning of bobbin yarns in different position 通過(guò)本文算法對(duì)獨(dú)立放置的筒子紗目標(biāo)進(jìn)行處理,得到清晰完整的筒子紗輪廓邊緣信息及質(zhì)心(*),如圖7(a)所示。對(duì)于堆疊狀態(tài)的筒子紗目標(biāo),由于目標(biāo)間存在遮擋現(xiàn)象,最上層的目標(biāo)可以得到完整的邊緣輪廓,而下層被遮擋的目標(biāo)只能獲取目標(biāo)部分輪廓,并得到筒子紗的質(zhì)心(*),如圖7(b)所示。 結(jié)合標(biāo)定參數(shù),將筒子紗輪廓質(zhì)心的二維圖像坐標(biāo)通過(guò)彩色圖像對(duì)齊到深度圖像,并進(jìn)行坐標(biāo)轉(zhuǎn)換,得到不同位置狀態(tài)的筒子紗質(zhì)心點(diǎn)的深度值及三維空間下的坐標(biāo)值,如表2所示。 從表2可知,實(shí)驗(yàn)得到的筒子紗質(zhì)心定位坐標(biāo)與實(shí)際測(cè)量坐標(biāo)值存在著一定誤差。誤差產(chǎn)生的原因主要包括:在進(jìn)行相機(jī)標(biāo)定時(shí)由于畸變系數(shù)過(guò)小而忽略了相機(jī)的畸變;Kinect V2自身精度的限制以及實(shí)際測(cè)量坐標(biāo)存在的誤差。其中獨(dú)立放置的筒子紗目標(biāo)定位坐標(biāo)與實(shí)際測(cè)量誤差較小,而堆疊狀態(tài)的筒子紗由于目標(biāo)間存在遮擋,導(dǎo)致被遮擋的目標(biāo)無(wú)法獲取到完整的輪廓,因此其質(zhì)心定位坐標(biāo)誤差相對(duì)較大。但是,總體誤差在4 mm以?xún)?nèi),能夠滿足筒子紗在機(jī)器人抓取系統(tǒng)中對(duì)視覺(jué)定位的要求。 表 2 實(shí)驗(yàn)?zāi)繕?biāo)三維坐標(biāo)數(shù)據(jù) 將傳統(tǒng)目標(biāo)識(shí)別定位算法(文獻(xiàn)[8])和基于深度學(xué)習(xí)識(shí)別定位方法(文獻(xiàn)[14])與本文算法進(jìn)行了目標(biāo)定位誤差比較,實(shí)驗(yàn)結(jié)果如表3所示。 表 3 實(shí)驗(yàn)結(jié)果對(duì)比 根據(jù)表3可知,相較于傳統(tǒng)算法和基于深度學(xué)習(xí)的目標(biāo)識(shí)別定位算法,本文算法在目標(biāo)定位上誤差小、精度相對(duì)較高,且算法更加簡(jiǎn)捷。 1) 以Kinect V2作為視覺(jué)傳感器,構(gòu)建具有視覺(jué)感知的筒子紗抓取機(jī)器人視覺(jué)系統(tǒng),使機(jī)器人具有視覺(jué)感知的能力,能夠準(zhǔn)確識(shí)別筒子紗并對(duì)其質(zhì)心精準(zhǔn)定位。 2) 利用K-means聚類(lèi)算法融合多尺度形態(tài)學(xué)的方法,完成了對(duì)筒子紗輪廓邊緣的提取,得到清晰、完整的筒子紗邊緣輪廓。依據(jù)低階幾何矩和坐標(biāo)轉(zhuǎn)換得到的目標(biāo)質(zhì)心坐標(biāo)精度高,且算法簡(jiǎn)捷、穩(wěn)定性好。 3) 采用張氏標(biāo)定法對(duì)Kinect V2的內(nèi)外參數(shù)進(jìn)行標(biāo)定,得到筒子紗質(zhì)心三維空間位置。其誤差控制在4 mm以?xún)?nèi),滿足系統(tǒng)要求。2.2 筒子紗輪廓特征提取
3 三維定位
3.1 筒子紗質(zhì)心的二維坐標(biāo)
3.2 二維圖像與深度圖像對(duì)齊
3.3 筒子紗質(zhì)心的三維空間坐標(biāo)
4 實(shí)驗(yàn)分析
4.1 Kinect V2的標(biāo)定
4.2 數(shù)據(jù)分析
5 結(jié) 論