曾 鋒 ,劉祚時(shí),任崇軒,姜鴻雅
ZENG Feng1 ,LIU Zuo-shi1 ,REN Chong-xuan2,JIANG Hong-ya1
(1.江西理工大學(xué) 機(jī)電工程學(xué)院,贛州 341000;2.廣東匯興精工智造股份有限公司,東莞 523000)
隨著人工成本上升,對(duì)自動(dòng)化程度的要求越來越高,機(jī)器人的應(yīng)用逐漸廣泛,機(jī)器視覺技術(shù)也發(fā)展的更加成熟,近年來,視覺定位技術(shù)已經(jīng)成為機(jī)器人獲取信息的主要手段,并且提高了機(jī)器人作業(yè)的自主判斷的能力[1,2],基于視覺定位技術(shù)的機(jī)器人已應(yīng)用在各個(gè)方面,如Xiong J[3]提出的基于視覺定位技術(shù)的荔枝動(dòng)態(tài)簇采摘機(jī)器人,對(duì)自然環(huán)境干擾下的荔枝動(dòng)態(tài)簇進(jìn)行了視覺定位研究,通過視覺系統(tǒng)計(jì)算出拾取點(diǎn)傳輸給機(jī)器人末端。Jin J[4]提出了一種基于視覺的機(jī)器人檢測(cè)障礙物和控制機(jī)器人避障的方法。Ding W[5]提出了一種新的delta機(jī)器人視覺系統(tǒng)的標(biāo)定技術(shù),帶視覺系統(tǒng)的Delta機(jī)器人可以自動(dòng)控制末端執(zhí)行器,準(zhǔn)確地抓取輸送帶上的運(yùn)動(dòng)物體,建立圖像特征空間與機(jī)器人工作空間之間的映射關(guān)系,形成機(jī)器人坐標(biāo)、攝像機(jī)坐標(biāo)、輸送帶坐標(biāo)之間轉(zhuǎn)換鏈的閉環(huán)鏈。在工業(yè)方面,如鄭魁敬[6]提出的基于視覺定位的機(jī)器人上下料的系統(tǒng)集成技術(shù),主要通過視覺定位技術(shù)實(shí)現(xiàn)機(jī)器人上下料;李金義[7]提出基于視覺定位的搬運(yùn)系統(tǒng)技術(shù),是對(duì)沖壓件的原料進(jìn)行搬運(yùn);還有王京[8]提出的基于視覺定位的焊接系統(tǒng),通過視覺定位技術(shù)實(shí)現(xiàn)機(jī)器人對(duì)汽車零部件的焊接等等。
本文研究的是基于視覺定位的機(jī)器人輔助鎖螺絲技術(shù),將視覺定位、機(jī)器人、鎖螺絲三者結(jié)合起來,實(shí)現(xiàn)鎖螺絲工藝的自動(dòng)化。
根據(jù)鎖螺絲的工藝流程,設(shè)計(jì)整體的工藝方案,可以分為機(jī)器人搬運(yùn)物料系統(tǒng)、圖像采集和處理系統(tǒng)、鎖螺絲及輸送機(jī)構(gòu)系統(tǒng)以及集成控制系統(tǒng)。機(jī)器人搬運(yùn)物料系統(tǒng)主要包括KUKA機(jī)器人、夾具、電磁閥、吸盤以及氣路系統(tǒng);鎖螺絲機(jī)及輸送機(jī)構(gòu)系統(tǒng)包括振動(dòng)盤、墊片和螺釘輸送機(jī)構(gòu)、以及鎖螺絲機(jī)構(gòu);圖像采集和處理系統(tǒng)包括MV-12MG-E工業(yè)相機(jī)、光源和工控機(jī),以及圖像處理VISIONGO軟件。VISIONGO軟件是上海視谷圖像技術(shù)有限公司研發(fā)的面向終端客戶的機(jī)器視覺平臺(tái)軟件。
集成控制系統(tǒng)是將PLC作為主控制器,連接鎖螺絲機(jī)、機(jī)器人和工控機(jī),進(jìn)行相互之間的通訊。KUKA機(jī)器人KRC4控制器與工控機(jī)可以通過GENICAM協(xié)議,也支持Modbus通訊、DI/O通訊、串口通訊和網(wǎng)口通訊。
首先將攝像頭安裝在鎖螺絲機(jī)構(gòu)框架上,攝像頭朝下固定,光源打開,通過KUKA機(jī)器人搬運(yùn)物料至攝像頭下方,傳輸信號(hào)給工控機(jī),由攝像頭對(duì)螺絲孔圖像進(jìn)行采集,將采集到的圖像傳輸?shù)焦た貦C(jī)中,由軟件進(jìn)行圖像的處理,將螺絲孔的中心坐標(biāo)提取出來,經(jīng)過轉(zhuǎn)換后,發(fā)送至機(jī)器人,再由機(jī)器人根據(jù)接收到的中心坐標(biāo),將工件上的指定螺絲孔對(duì)準(zhǔn)鎖螺絲機(jī)正下方進(jìn)行鎖螺絲。
系統(tǒng)方案如圖1所示。
圖1 系統(tǒng)方案圖
相機(jī)的標(biāo)定是為了建立相機(jī)成像的幾何模型,獲取相機(jī)的內(nèi)參和外參的矩陣,假設(shè)相機(jī)拍攝的圖片與三維空間物體存在一種簡單的線性關(guān)系,可以通過相機(jī)拍攝的圖片來還原空間中的物體[8]。通過相機(jī)拍攝對(duì)螺絲孔的圖片,經(jīng)過圖片上的坐標(biāo)來還原世界坐標(biāo)系下螺絲孔的中心坐標(biāo)。
建立如圖2所示的坐標(biāo)系,坐標(biāo)系總共分為世界坐標(biāo)系(XW,YW,ZW)、相機(jī)坐標(biāo)系(XC,YC,ZC)、圖像物理坐標(biāo)系(X,Y)和像素坐標(biāo)系(U,V)。
圖2 三維坐標(biāo)系
建立物體從世界坐標(biāo)系到相機(jī)坐標(biāo)系的關(guān)系:
其中,R為旋轉(zhuǎn)矩陣,t為平移向量。
建立相機(jī)坐標(biāo)系,從相機(jī)坐標(biāo)系到圖像坐標(biāo)系,點(diǎn)M在相機(jī)坐標(biāo)系中,點(diǎn)P在圖像坐標(biāo)系下:
圖3 相機(jī)坐標(biāo)系
由圖3相機(jī)坐標(biāo)系可知,f為P點(diǎn)在Z軸的坐標(biāo),根據(jù)相識(shí)三角形原理可得到:
將上式轉(zhuǎn)化為齊次坐標(biāo)表示形式為:
從圖像坐標(biāo)系到像素坐標(biāo)系。像素坐標(biāo)系原點(diǎn)在圖像坐標(biāo)系下的坐標(biāo)為(u0,v0),每個(gè)像素點(diǎn)在圖像坐標(biāo)系X軸、Y軸的尺寸為dx、dy,像點(diǎn)在圖像坐標(biāo)系下的坐標(biāo)為(XC,YC):
化為齊次坐標(biāo)表示形式為:
內(nèi)參矩陣為:
由此可得到相機(jī)的內(nèi)外參數(shù),建立相機(jī)成像的幾何模型,為得到螺絲孔的準(zhǔn)確中心坐標(biāo)建立了通道。
BLOB算法是用來從背景中分離出目標(biāo),并測(cè)量任意形狀目標(biāo)物的形態(tài)參數(shù),如輪廓、斑點(diǎn)數(shù)量、面積、中心坐標(biāo)、寬度、高度、長寬比、角度和距離等[10],通過BLOB算法,可以將工件表面的螺絲孔的準(zhǔn)確位置找出來,確定螺絲孔的大小、形狀、面積以及坐標(biāo)。
在進(jìn)行BLOB分析之前,必須對(duì)圖像進(jìn)行分割處理,就是把圖像分割成為構(gòu)成斑點(diǎn)和局部背景的像素集合,將每一像素指定為目標(biāo)像素或背景像素,目標(biāo)像素賦值為1,背景像素賦值為0,還有多種技術(shù)可以進(jìn)行圖像分割,如二元閾值、空間量化誤差、軟件二元閾值和像素加權(quán)等[11]。在圖像被分割為目標(biāo)像素和背景像素后,必須進(jìn)行連通性分析,將目標(biāo)圖像聚合為目標(biāo)圖像或斑點(diǎn)的連接體。然后對(duì)每個(gè)目標(biāo)進(jìn)行特征量計(jì)算,包括面積、周長、質(zhì)心坐標(biāo)等特征,對(duì)圖像進(jìn)行特征提取。
在BLOB分析后,還有后期處理,將特征信息轉(zhuǎn)換為實(shí)際坐標(biāo)信息,再將像素坐標(biāo)系轉(zhuǎn)換為世界坐標(biāo)系。BLOB分析的主要過程如圖4所示。
圖4 BLOB分析流程圖
鎖螺絲機(jī)及輸送機(jī)構(gòu)主要包括鎖螺絲機(jī)、氣缸、墊片和螺釘?shù)妮斔蜋C(jī)構(gòu)以及振動(dòng)盤,通過PLC來控制信號(hào)的輸入輸出,具體的輸入輸出表如表1所示。
表1 PLC與鎖螺絲機(jī)及輸送系統(tǒng)的信號(hào)表
機(jī)器人與PLC可以通過以太網(wǎng)通訊,也可以通過I/O通訊來傳遞信號(hào),以太網(wǎng)通訊是以字節(jié)為單位將數(shù)據(jù)存儲(chǔ)在寄存器中進(jìn)行傳輸,I/O是通過輸入輸出信號(hào)來進(jìn)行通信。本文PLC與機(jī)器人通信點(diǎn)數(shù)較少,采用I/O通信。PLC與機(jī)器人之間的信號(hào)如表2所示。
表2 PLC與機(jī)器人的信號(hào)表
在PLC與機(jī)器人I/O連接中,通過中間繼電器來進(jìn)行隔離,PLC的Y輸出信號(hào)連接中間繼電器上,通過控制線圈的斷開和吸合來控制機(jī)器人的信號(hào)輸入;同樣,機(jī)器人的輸出信號(hào)也通過中間繼電器將信號(hào)輸入給PLC。
首先將工控機(jī)與機(jī)器人的控制器進(jìn)行連接,設(shè)置TCP/IP通訊,選擇工控機(jī)作為客戶端,在工控機(jī)視覺軟件和控制器中互相輸入對(duì)方的IP地址,在機(jī)器人控制器中打開TCP/IP端口,即完成工控機(jī)與機(jī)器人的通訊。
在VISIONGO軟件中選擇上升沿作為相機(jī)的觸發(fā)方式,通過PLC發(fā)送上升沿脈沖信號(hào)進(jìn)行觸發(fā)相機(jī),對(duì)圖像進(jìn)行采集處理,得到各項(xiàng)參數(shù),并在軟件界面中選擇中心點(diǎn)坐標(biāo)作為輸出的對(duì)象。
通過VISIONGO軟件中的BLOB分析來對(duì)圖像進(jìn)行處理分析,如圖5所示為軟件界面圖:
圖5 軟件界面調(diào)試圖
機(jī)器人可以得到轉(zhuǎn)換后螺絲孔的中心坐標(biāo)(x,y),如圖6所示,對(duì)Z軸以及角度進(jìn)行設(shè)置并保持不變。
圖6 螺絲孔中心坐標(biāo)
表3為螺絲孔中心坐標(biāo)定位數(shù)據(jù)表,由X、Y坐標(biāo)組成,將數(shù)據(jù)表中的中心點(diǎn)坐標(biāo)傳輸給KUKA機(jī)器人控制器,由機(jī)器人根據(jù)坐標(biāo)來調(diào)整姿態(tài),準(zhǔn)確的將工件搬運(yùn)到鎖螺絲孔的下方,圖7為現(xiàn)場(chǎng)裝配圖。
表3 螺絲孔中心坐標(biāo)數(shù)據(jù)表 單位(mm)
圖7 現(xiàn)場(chǎng)裝配圖
基于視覺定位的機(jī)器人輔助鎖螺絲技術(shù),是將視覺定位技術(shù)、機(jī)器人技術(shù)和鎖螺絲技術(shù)三者結(jié)合起來,視覺定位為機(jī)器人提供了準(zhǔn)確的坐標(biāo),通過機(jī)器人進(jìn)行輔助鎖螺絲,該技術(shù)為提高鎖螺絲自動(dòng)化程度、加快生產(chǎn)節(jié)拍以及減少人工成本具有重要的實(shí)際意義。