王 琰,高麗華
(南京科技職業(yè)學(xué)院電氣與控制工程學(xué)院,南京 210048)
在“中國(guó)制造”向“中國(guó)智造”轉(zhuǎn)變的背景下,推動(dòng)智能制造、提高企業(yè)產(chǎn)線的智能化水平已是大勢(shì)所趨。PLC、機(jī)器視覺(jué)及工業(yè)機(jī)器人等核心技術(shù)已成為先進(jìn)制造業(yè)中不可替代的重要裝備[1-3]。
隨著智能制造在包裝工程領(lǐng)域的應(yīng)用,藥瓶灌裝包裝生產(chǎn)線智能化已經(jīng)達(dá)到了一定的水平,如孟靜靜等[4]融合工業(yè)機(jī)器人與PLC技術(shù)實(shí)現(xiàn)生產(chǎn)線智能包裝,并通過(guò)觸摸屏實(shí)現(xiàn)上位機(jī)監(jiān)視與控制。馬曉燕等[5-6]提出一種基于機(jī)器視覺(jué)的末端執(zhí)行器定位方法,提高包裝搬運(yùn)機(jī)器人的定位精度。陳偉卓等[7-8]采用工業(yè)機(jī)器人并結(jié)合RFID(無(wú)線射頻識(shí)別)技術(shù)完成藥瓶包裝貼標(biāo)和信息寫(xiě)入,實(shí)現(xiàn)藥品的可追溯性。在已有研究中,搬運(yùn)包裝貼標(biāo)部分標(biāo)簽存放位置固定且需要人工擺放,通過(guò)機(jī)器人程序中的位置偏移獲取標(biāo)簽位置信息,不利于機(jī)器人對(duì)標(biāo)簽的高精度、智能化抓取,且對(duì)于PLC、機(jī)器視覺(jué)和工業(yè)機(jī)器人三者之間的編程研究還不夠深入。
在已有的研究基礎(chǔ)上,本文作者針對(duì)藥瓶灌裝生產(chǎn)線的包裝單元,以PLC為控制核心,通過(guò)控制標(biāo)簽臺(tái)的震動(dòng)自動(dòng)提供包裝標(biāo)簽,標(biāo)簽無(wú)需人工固定擺放。引入機(jī)器視覺(jué)技術(shù)實(shí)時(shí)檢測(cè)包裝標(biāo)簽信息并與工業(yè)機(jī)器人通訊,工業(yè)機(jī)器人在PLC的控制下更高精度地實(shí)現(xiàn)藥瓶的智能化包裝,通過(guò)實(shí)驗(yàn)調(diào)試來(lái)驗(yàn)證該系統(tǒng)的有效性,取得了較好的實(shí)驗(yàn)效果。
藥瓶包裝控制系統(tǒng)主要包含機(jī)器人搬運(yùn)、視覺(jué)檢測(cè)以及PLC控制三大模塊,系統(tǒng)硬件布局如圖1所示。機(jī)器人搬運(yùn)模塊用于執(zhí)行藥瓶包裝動(dòng)作,由ABBIRB120六軸機(jī)器人、IRC5控制器、機(jī)器人末端執(zhí)行器、包裝臺(tái)升降機(jī)構(gòu)、藥瓶檢測(cè)及輸送機(jī)構(gòu)組成。視覺(jué)檢測(cè)模塊用于識(shí)別包裝標(biāo)簽信息,由標(biāo)簽振動(dòng)臺(tái)、相機(jī)及鏡頭、環(huán)形光源、視覺(jué)控制器組成。PLC控制模塊是系統(tǒng)的核心,以匯川H2U-3232MTPLC為主控單元,控制機(jī)器人和其他元器件有序工作。PLC與ABB機(jī)器人D652板卡進(jìn)行點(diǎn)位數(shù)據(jù)交互,控制機(jī)器人末端執(zhí)行器完成智能包裝過(guò)程。工業(yè)機(jī)器人、機(jī)器視覺(jué)以及計(jì)算機(jī)之間通過(guò)工業(yè)以太網(wǎng)交換機(jī)實(shí)現(xiàn)連接,并將三者IP地址設(shè)置在同一網(wǎng)關(guān)下。
圖1 系統(tǒng)設(shè)備布局
藥瓶包裝控制系統(tǒng)工作流程如圖2所示。藥瓶瓶蓋顏色檢測(cè)后送入輸送帶末端,等待機(jī)器人搬運(yùn)。PLC控制包裝臺(tái)升降機(jī)構(gòu)準(zhǔn)備好包裝盒和包裝蓋,控制機(jī)器人按“裝瓶—加蓋—貼標(biāo)”順序執(zhí)行包裝動(dòng)作。機(jī)器人首先從輸送帶末端抓取藥瓶,依次放入包裝盒的4個(gè)工位中。接著從包裝臺(tái)的盒蓋升降機(jī)構(gòu)上吸取盒蓋,蓋在包裝盒上。最后完成貼標(biāo)簽動(dòng)作,機(jī)器人接收來(lái)自視覺(jué)發(fā)送的數(shù)據(jù),若數(shù)據(jù)正常則從標(biāo)簽振動(dòng)臺(tái)上吸取藍(lán)色和白色標(biāo)簽并貼放在盒蓋的對(duì)應(yīng)位置上,標(biāo)簽顏色與盒內(nèi)瓶蓋對(duì)應(yīng)位置的顏色一致,貼完4個(gè)標(biāo)簽即完成一次包裝任務(wù)。若數(shù)據(jù)異常則向PLC反饋,PLC控制標(biāo)簽振動(dòng)臺(tái)震動(dòng)將標(biāo)簽重新震落和震散,供視覺(jué)系統(tǒng)重新識(shí)別。
圖2 藥瓶包裝控制系統(tǒng)工作流程
選用邁科誠(chéng)工業(yè)視覺(jué)系統(tǒng)識(shí)別標(biāo)簽信息,該系統(tǒng)主要由MK800視覺(jué)控制器、24 V環(huán)形光源及控制器、300萬(wàn)像素相機(jī)及鏡頭等構(gòu)成。機(jī)器視覺(jué)處理流程如圖3所示。首先以當(dāng)前相機(jī)采集到的標(biāo)簽圖像作為圖像源,設(shè)定標(biāo)簽振動(dòng)臺(tái)為搜索區(qū)域,選取環(huán)形學(xué)習(xí)區(qū)域和輪廓匹配模式,設(shè)定藍(lán)色和白色標(biāo)簽?zāi)繕?biāo)輸出數(shù)量均為2,進(jìn)行目標(biāo)識(shí)別。然后對(duì)識(shí)別到的目標(biāo)輪廓進(jìn)行視覺(jué)標(biāo)定,得到標(biāo)簽在機(jī)器人坐標(biāo)系下的坐標(biāo)。設(shè)置坐標(biāo)數(shù)據(jù)輸出格式為3位整數(shù)位和2位小數(shù)位,并以兩藍(lán)兩白坐標(biāo)順序完成數(shù)據(jù)合并。最后添加網(wǎng)口通訊功能模塊連接機(jī)器人,最終發(fā)送數(shù)據(jù)到工業(yè)機(jī)器人。
圖3 機(jī)器視覺(jué)處理流程
因待檢測(cè)標(biāo)簽均為規(guī)則的圓形,采用輪廓匹配模式。輪廓匹配的原理是利用輪廓的旋轉(zhuǎn)、縮放和平移的不變性特征來(lái)判斷輪廓之間的相似度[9-11]。利用Hu矩方法對(duì)環(huán)形目標(biāo)輪廓進(jìn)行輪廓匹配,首先計(jì)算樣本輪廓M的Hu矩,然后分別計(jì)算分割后圖像中所有輪廓(m1,m2,…,mn)的Hu矩,并且與樣本輪廓M的Hu矩進(jìn)行比較,得到匹配系數(shù)?n,式(1)中:和分別為M和m n的7個(gè)Hu矩,匹配系數(shù)?n(M,m n)越小,輪廓相似度越高。在噪聲和背景條件要求不高的應(yīng)用中,當(dāng)匹配系數(shù)小于給定閾值時(shí),匹配得到目標(biāo)輪廓。
標(biāo)定轉(zhuǎn)換即手眼標(biāo)定,在視覺(jué)中起著至關(guān)重要的作用,其目的是求取機(jī)器人與相機(jī)之間的變換矩陣,將視覺(jué)識(shí)別的結(jié)果轉(zhuǎn)換到機(jī)器人坐標(biāo)系下,從而實(shí)現(xiàn)準(zhǔn)確吸取[12-13]。采用與標(biāo)簽臺(tái)尺寸相同的自制標(biāo)定板,相機(jī)識(shí)別出標(biāo)定板左上、左下、右上、右下4個(gè)圓點(diǎn)位置,得到相機(jī)坐標(biāo)系下4個(gè)點(diǎn)的坐標(biāo)(u,v),然后將工業(yè)機(jī)器人末端工具依次移動(dòng)到這4個(gè)位置,得到機(jī)器人坐標(biāo)系下4個(gè)點(diǎn)的坐標(biāo)(X w,Y w)。根據(jù)針孔成像模型,構(gòu)建反映機(jī)器人坐標(biāo)系與相機(jī)坐標(biāo)系之間轉(zhuǎn)換關(guān)系的超定方程:
由于待吸取的標(biāo)簽均位于同一平面,所以設(shè)定圓心坐標(biāo)Zw=0,基于最小二乘法原理計(jì)算得到式(2)的變換矩陣M-1:
M-1即標(biāo)簽的相機(jī)坐標(biāo)與機(jī)器人坐標(biāo)的轉(zhuǎn)換關(guān)系,將式(3)代入方程(2)可得到被檢標(biāo)簽在機(jī)器人坐標(biāo)系下的坐標(biāo),從而實(shí)現(xiàn)機(jī)器人的準(zhǔn)確吸取。
添加網(wǎng)口通訊,連接機(jī)器人IP192.168.0.120和端口8000。通過(guò)視覺(jué)內(nèi)部的PLC程序調(diào)用通訊模塊,主要功能為執(zhí)行“讀取M”命令,接收機(jī)器人發(fā)送的觸發(fā)拍照信號(hào)M,啟動(dòng)視覺(jué)處理流程。若拍照正常,執(zhí)行“拍照OK”命令,發(fā)送給機(jī)器人兩藍(lán)兩白標(biāo)簽坐標(biāo);若拍照失敗,即沒(méi)有識(shí)別到兩藍(lán)兩白標(biāo)簽,執(zhí)行“拍照NG”命令,發(fā)送給機(jī)器人NG信號(hào),網(wǎng)口通訊命令格式如表1所示。按照?qǐng)D3視覺(jué)處理流程檢測(cè)出兩藍(lán)兩白標(biāo)簽如圖4所示。
表1 網(wǎng)口通訊命令格式
圖4 檢測(cè)出兩藍(lán)兩白標(biāo)簽
采用多功能工業(yè)機(jī)器人末端夾具,如圖5所示。其中,選用手爪工具抓取瓶子,選用吸盤(pán)工具吸取標(biāo)簽和搬運(yùn)包裝盒蓋。吸盤(pán)工具與手爪工具夾角為0°,吸盤(pán)工具可滿足同時(shí)吸取兩個(gè)標(biāo)簽。為提高機(jī)器人吸取標(biāo)簽的精度,創(chuàng)建工具坐標(biāo)tool1和tool2,采用四點(diǎn)法標(biāo)定,手動(dòng)操縱機(jī)器人使當(dāng)前TCP點(diǎn)以4種不同姿態(tài)與固定尖銳的定點(diǎn)相碰,修改相應(yīng)位置,獲取當(dāng)前TCP點(diǎn)(tool1、tool2)相對(duì)機(jī)器人法蘭盤(pán)中心點(diǎn)(tool0)的X、Y、Z方向的偏移量,得到tool1和tool2工具坐標(biāo)數(shù)據(jù)為:
圖5 工業(yè)機(jī)器人多功能末端夾具
機(jī)器人在tool1和tool2工具坐標(biāo)下使用吸盤(pán)工具依次完成兩個(gè)標(biāo)簽的吸取,在默認(rèn)的tool0工具坐標(biāo)下使用手爪工具完成瓶搬運(yùn)、使用吸盤(pán)工具完成蓋搬運(yùn)和放標(biāo)簽動(dòng)作。
利用示教器使機(jī)器人末端夾具到達(dá)預(yù)期位置并記錄位置數(shù)據(jù),采用坐標(biāo)偏移法獲取相近坐標(biāo)位置,減少機(jī)器人示教位置提高機(jī)器人的位置精度[14]。機(jī)器人完成“裝瓶—加蓋—貼標(biāo)”動(dòng)作共需6個(gè)工位,如圖6(a)所示。分別是G1取瓶,G2放瓶,G3取盒蓋,G4放盒蓋,G5取標(biāo)簽,G6貼標(biāo)簽。
機(jī)器人軌跡如圖6(b)所示,在瓶搬運(yùn)軌跡中,需示教原點(diǎn)pHome、過(guò)渡點(diǎn)pQ1和pQ2、取瓶點(diǎn)pPickQ以及放瓶偏移基礎(chǔ)點(diǎn)pPlaceBaseQ。pPlaceQ代表4個(gè)放瓶位置,通過(guò)pPlaceBaseQ位置偏移所得。在盒蓋搬運(yùn)軌跡中,需示教過(guò)渡點(diǎn)pQ3、取盒蓋點(diǎn)pPickLid和蓋盒蓋點(diǎn)pCoverLid。在標(biāo)簽搬運(yùn)軌跡中,需示教過(guò)渡點(diǎn)pQ4以及2個(gè)貼標(biāo)簽位pPaste1和pPaste2。取標(biāo)簽點(diǎn)位pBule和pWhite通過(guò)讀取視覺(jué)檢測(cè)數(shù)據(jù)獲得,標(biāo)簽1和標(biāo)簽2代表讀取的藍(lán)色或白色標(biāo)簽坐標(biāo),標(biāo)簽顏色由PLC和機(jī)器人控制程序確定。機(jī)器人軌跡圖中所有的安全點(diǎn)均為位置偏移所得。
圖6 機(jī)器人工位及軌跡示意圖
將ABB機(jī)器人D652板卡與匯川H2U-3232MT PLC點(diǎn)對(duì)點(diǎn)連接通信,I/O地址分配如表2所示。
表2 PLC與機(jī)器人I/O地址分配表
按照“裝瓶—加蓋—貼標(biāo)”包裝動(dòng)作順序設(shè)計(jì)PLC和機(jī)器人通訊程序,當(dāng)滿足動(dòng)作條件時(shí),PLC將相應(yīng)的輸出信號(hào)置1,向機(jī)器人發(fā)送動(dòng)作啟動(dòng)信號(hào)。當(dāng)機(jī)器人執(zhí)行完動(dòng)作后,向PLC反饋動(dòng)作執(zhí)行情況,也將相應(yīng)的輸出信號(hào)置1。PLC收到動(dòng)作完成信號(hào)后,進(jìn)行數(shù)據(jù)處理或向機(jī)器人發(fā)送下一個(gè)動(dòng)作啟動(dòng)信號(hào)。在簽搬運(yùn)環(huán)節(jié),PLC需根據(jù)瓶蓋顏色向機(jī)器人發(fā)送標(biāo)簽顏色信息,機(jī)器人根據(jù)標(biāo)簽顏色信息讀取視覺(jué)系統(tǒng)發(fā)送的數(shù)據(jù),機(jī)器人每吸取一個(gè)標(biāo)簽或放一次標(biāo)簽就向PLC反饋一次,PLC收到一次反饋信號(hào)就發(fā)送一次標(biāo)簽顏色信息。機(jī)器人每吸取滿2個(gè)標(biāo)簽后執(zhí)行一次放標(biāo)簽動(dòng)作,執(zhí)行2次放標(biāo)簽動(dòng)作即貼完了4個(gè)標(biāo)簽后,機(jī)器人回原點(diǎn)。PLC與機(jī)器人通訊及程序流程如圖7所示。
圖7 PLC與機(jī)器人通訊程序流程
ABB機(jī)器人通過(guò)Socket通信與視覺(jué)系統(tǒng)發(fā)送和接收數(shù)據(jù)[15],根據(jù)表1命令格式,視覺(jué)以字符串的格式發(fā)送給機(jī)器人數(shù)據(jù)并以“|”號(hào)間隔開(kāi)。如識(shí)別到兩藍(lán)兩白標(biāo)簽,視覺(jué)發(fā)送的命令格式為“OK|”&{兩藍(lán)兩白標(biāo)簽坐標(biāo)},其中“OK|”長(zhǎng)度為3,{兩藍(lán)兩白標(biāo)簽坐標(biāo)}共8個(gè)坐標(biāo)數(shù)據(jù),每個(gè)數(shù)據(jù)長(zhǎng)度為6,格式為3位整數(shù)位+1個(gè)小數(shù)點(diǎn)+2位小數(shù)位,利用ABB機(jī)器人的StrPart、StrFind指令循環(huán)提取獲得。機(jī)器人與視覺(jué)系統(tǒng)通訊程序流程如圖8所示。
圖8 機(jī)器人與視覺(jué)系統(tǒng)通訊程序流程
首先創(chuàng)建套接字,與視覺(jué)建立連接。發(fā)送字符“M”給視覺(jué),通過(guò)視覺(jué)網(wǎng)口通訊模塊觸發(fā)視覺(jué)處理流程。機(jī)器人將接收到的數(shù)據(jù)存入字符串變量result中,判斷re?sult的前2位字符是否為“OK”,如果是,開(kāi)始循環(huán)提取坐標(biāo)數(shù)據(jù)。使用StrFind指令從result的第startbit位字符開(kāi)始查找間隔符“|”,將其位數(shù)存入endbit中,然后使用StrPart指令提取result中從第startbit位開(kāi)始的6個(gè)字符存入data{i}數(shù)組中。因標(biāo)簽坐標(biāo)數(shù)據(jù)從result的第4位開(kāi)始,故第一次提取時(shí)startbit初始為4,endbit為10。按此方法循環(huán)8次,依次提取到兩藍(lán)兩白標(biāo)簽的8個(gè)坐標(biāo)數(shù)據(jù)后,關(guān)閉套接字。如果result的前2位字符不是“OK”,機(jī)器人將異常信息反饋給PLC,PLC控制振動(dòng)臺(tái)震動(dòng)重新提供標(biāo)簽,機(jī)器人收到PLC發(fā)送的允許再次拍照信號(hào)后,將重新觸發(fā)視覺(jué)開(kāi)始檢測(cè)。
為驗(yàn)證藥瓶包裝控制系統(tǒng)功能,在實(shí)驗(yàn)設(shè)備上對(duì)系統(tǒng)軟硬件進(jìn)行調(diào)試。經(jīng)多次調(diào)試和優(yōu)化,PLC控制系統(tǒng)穩(wěn)定運(yùn)行,視覺(jué)處理系統(tǒng)能實(shí)時(shí)準(zhǔn)確檢測(cè)出兩藍(lán)兩白4個(gè)標(biāo)簽且與機(jī)器人成功通訊,機(jī)器人能按照預(yù)定動(dòng)作順序準(zhǔn)確執(zhí)行藥瓶的包裝,如圖9所示。
圖9 機(jī)器人包裝過(guò)程
文中融合PLC技術(shù)、機(jī)器視覺(jué)以及工業(yè)機(jī)器人設(shè)計(jì)并實(shí)現(xiàn)了一種藥瓶包裝智能控制系統(tǒng)。詳細(xì)介紹了系統(tǒng)硬件結(jié)構(gòu)、機(jī)器視覺(jué)處理流程、機(jī)器人示教、模塊間通訊及程序設(shè)計(jì)方法等。設(shè)備調(diào)試結(jié)果表明,各模塊通訊正常,在PLC控制下,機(jī)器人實(shí)現(xiàn)了對(duì)藥瓶的“裝瓶-加蓋-貼標(biāo)”包裝過(guò)程,系統(tǒng)運(yùn)行穩(wěn)定。該藥瓶包裝控制系統(tǒng)滿足實(shí)際生產(chǎn)包裝要求,對(duì)實(shí)現(xiàn)智能化藥瓶包裝具有一定的實(shí)用價(jià)值。