王鈺
(天津職業(yè)技術(shù)師范大學,天津 300222)
工業(yè)機器人綜合了機械、計算機、數(shù)學、自動控制以及傳感等多門學科,是現(xiàn)代自動化控制領(lǐng)域的先進技術(shù)。隨著新技術(shù)的不斷完善,工業(yè)機器人在自動控制上取得了飛速發(fā)展,在運行準確性和穩(wěn)定性上得到了極大的提高。相比人力而言,機器人擁有可重復勞動、抓舉力量大等優(yōu)點,被廣泛應(yīng)用在多種工業(yè)領(lǐng)域中,其中利用ABB 機器人進行工料抓取就是一種常見技術(shù)。操縱ABB 機器人目標定位與抓取實現(xiàn)一般是通過機器視覺引導和編程控制2 種方法實現(xiàn)[1]。編程控制方法操作簡單,但是缺點也十分明顯,當工況發(fā)生變化時就會產(chǎn)生錯誤,需要重新校對,嚴重降低了工作的靈活性和適應(yīng)性[2]。采用機器視覺引導方法可以通過視覺引導獲得工料中心坐標,再轉(zhuǎn)換成機器人坐標以指導機器人實現(xiàn)定位抓取。
機器視覺的應(yīng)用主要包括引導、識別、測量和檢查4 類。機器視覺引導是在工業(yè)環(huán)境中引導機器人。在任何機器視覺引導中,第一步都是使用模式匹配技術(shù)在相機的視野內(nèi)定位特征物體,而特征物體的定位通常決定機器視覺引導的成功或失敗[3-5]。機器視覺引導是使用機器視覺來報告特征物體的位置和方向。機器視覺系統(tǒng)可以定位組件的位置和方向,將組件與指定的公差進行比較,并確保特征物體處于正確的角度,機器視覺引導將特征物體的位置和方向報告給機器控制器,使機器人能夠定位特征物體[6]。
機器視覺引導方法的本質(zhì)是通過選擇的相機獲取工料的圖像,并將相機視域進行劃分形成固定坐標系,通過相關(guān)校準方法和轉(zhuǎn)換公式,將由相機獲取到的坐標轉(zhuǎn)換成工料的真實坐標。相機獲取視域的坐標系通過像素進行劃分,即獲得相機中工料的像素坐標,在確定工料像素坐標和現(xiàn)實坐標的坐標軸平行的前提下,通過選擇數(shù)個標的物進行檢測校準,獲得其分別對應(yīng)的像素坐標和現(xiàn)實長度,進而建立兩者之間的聯(lián)系。
由于坐標轉(zhuǎn)換和校準過程中存在部分誤差,可結(jié)合相機安裝位置相對關(guān)系通過多參照物標定實現(xiàn)坐標轉(zhuǎn)換運算,達到將相機獲得位置坐標轉(zhuǎn)換成現(xiàn)實坐標進而指導機器人實現(xiàn)定位抓取的目的。采用這種方法可以大大提高企業(yè)的經(jīng)濟效益,對工業(yè)機器人的研究也具有十分重要的指導意義。
系統(tǒng)的主要組成部分包括海康威視攝像頭、瑞士ABB IRB 120 機器人型六軸工業(yè)機器人、控制器和電腦。其中采用的海康威視攝像頭生產(chǎn)于杭州海康機器人技術(shù)有限公司,其是面向全球的移動機器人和機器視覺產(chǎn)品提供商。
公司依托近千人專家級的研發(fā)團隊,布局移動機器人、機器視覺等業(yè)務(wù)領(lǐng)域,通過對軟硬件產(chǎn)品及平臺的研發(fā)創(chuàng)新,致力于持續(xù)推動智能化,引領(lǐng)智能制造進程。其研制的工業(yè)相機搭載了優(yōu)異的圖像傳感器,動態(tài)范圍高、信噪比好、圖像質(zhì)量優(yōu)異,具備出色的功耗設(shè)計,兼容機器視覺標準協(xié)議和GenlCam 標準,可以滿足多種工業(yè)需求。
IRB 120 機器人是ABB 第四代機器人系列的最新產(chǎn)品,僅重25 kg,荷重3 kg(垂直腕為4 kg),工作范圍達580 mm。在尺寸大幅縮小的情況下,IRB 120繼承了該系列機器人的所有功能和技術(shù),為縮減機器人工作站占地面積創(chuàng)造了良好條件。緊湊的機型結(jié)合輕量化的設(shè)計,成就了IRB 120 卓越的經(jīng)濟性與可靠性,具有低投資、高產(chǎn)出的優(yōu)勢。IRB 120 的最大工作行程為411 mm,底座下方拾取距離112 mm,廣泛適用于多種工業(yè)領(lǐng)域。綜合來看,IRB 120 具有敏捷、緊湊、輕量的特點,控制精度與路徑精度都較高,是物料搬運與裝配應(yīng)用的理想選擇。
將通過攝像頭獲得的視域?qū)ζ溥M行處理,通過軟件編程確定工料中心并將確定出的結(jié)果轉(zhuǎn)換成像素坐標傳達出去。為了完成視覺引導,利用多參照物標定的方法將通過攝像頭獲得的像素坐標與現(xiàn)實坐標進行聯(lián)系,可以利用相關(guān)的計算公式進行坐標轉(zhuǎn)換。將像素坐標經(jīng)過計算轉(zhuǎn)換成現(xiàn)實坐標后傳遞給ABB 機器人控制器,進而控制機器人實現(xiàn)定位抓取。
在機器視覺引導之前,特征物體定位是最關(guān)鍵的第一步。如果圖案匹配軟件工具無法準確定位圖像中的特征物體,則它將無法啟動和識別特征物體。雖然特征物體定位聽起來很簡單,但在現(xiàn)實生產(chǎn)環(huán)境中,組件外觀的差異可能會使這一步驟變得非常具有挑戰(zhàn)性。
由于照明或遮擋引起的外觀變化可能使特征物體定位困難,盡管視覺系統(tǒng)經(jīng)過培訓,基于圖案識別組件,但即使是最嚴格控制的過程也允許組件外觀有一些變化。組件呈現(xiàn)或姿勢失真效應(yīng)也可能導致組件定位變得困難,為了獲得準確、可靠、可重復的結(jié)果,視覺系統(tǒng)的特征物體定位工具必須足夠智能,以便快速將培訓圖案與在生產(chǎn)線上移動的實際項目進行比較[7-8]。
在攝像頭獲得工料視域后通過自帶后處理軟件對獲得的視域進行處理,重點獲得工料中心的位置,采用兩分法對視域內(nèi)的圖像進行處理并獲得工料中心的像素坐標。為了將像素坐標轉(zhuǎn)換成現(xiàn)實坐標,分別建立4 個坐標系,即攝像頭坐標系、像素坐標系、現(xiàn)實坐標系和世界坐標系。
其中像素坐標系以(0,0)的像素點為原點,記為Op,X軸記為u,Y軸記為v,坐標系內(nèi)任一點的坐標為(u,v),單位為像素。現(xiàn)實坐標系以對應(yīng)像素坐標系的點為原點,記為O,X軸記為x,Y軸記為y,坐標系內(nèi)任一點的坐標為(x,y),單位為mm。
像素坐標系與現(xiàn)實坐標系的關(guān)系如圖1 所示。

圖1 像素坐標系與現(xiàn)實坐標系的關(guān)系
現(xiàn)實坐標系在ABB 機器人底座坐標點以O(shè)w為參照點建立坐標系,坐標系中任一點坐標為(xw,yw,zw),單位為mm。在攝像頭坐標系中,利用成像原理,攝像頭中心與光軸一致,即像素坐標系和圖像坐標系的水平軸和垂直軸與成像面的水平軸和垂直軸是平行的,任一點的坐標為(xc,yc,zc),單位為mm。
現(xiàn)實坐標系與攝像頭坐標系的轉(zhuǎn)換一般都是聯(lián)立平移和旋轉(zhuǎn)來完成,用數(shù)學公式表達為:

式(1)中:R為現(xiàn)實坐標系和攝像頭坐標系的轉(zhuǎn)換矩陣;Pw為現(xiàn)實坐標系中一坐標;T為現(xiàn)實坐標系和攝像頭坐標系之間原點的差值。
通過成像系統(tǒng)轉(zhuǎn)換將攝像頭系統(tǒng)變成像素系統(tǒng),其模型關(guān)系是S/FOV=f/WD,其中S、FOV、f和WD分別代表傳感器尺寸、視域、焦距和物距。當ABB 機器人工作時,它的工作距離zc就是工料據(jù)它的距離。工料中心的現(xiàn)實點與像素點的相對數(shù)學關(guān)系為:

也就是說現(xiàn)實坐標系和像素坐標系的數(shù)學關(guān)系為:

根據(jù)工作臺安裝位置的固有因素,確定zc和zw為常數(shù),保持不變。所以,可以進一步得到:

通過選擇多個標的物的參照點做對照,可以得到像素坐標系和現(xiàn)實坐標系的轉(zhuǎn)換,利用Matlab 軟件進行計算可得到轉(zhuǎn)換矩陣為:

ABB 機器人傳輸實數(shù)數(shù)據(jù)的方式大致可以分為2種:①使用模擬量輸出信號傳輸實數(shù)數(shù)據(jù)。由于模擬量信號自身抗干擾性能差,并且需要加裝模量信號擴展模塊,因此,在傳輸大量的實數(shù)數(shù)據(jù)的場合中,一般很少使用模擬量信號。②使用組輸出信號傳輸實數(shù)數(shù)據(jù)。組輸出信號不僅可以通過加裝數(shù)字量I/O 信號擴展模塊實現(xiàn),也可以通過加裝現(xiàn)場通信模塊的方式實現(xiàn)。
利用編程軟件將攝像頭獲得的數(shù)據(jù)與ABB 機器人進行交互。首先是攝像頭向處理器輸送出通過攝像頭獲得的工料中心點的像素坐標,處理器將收到的工料中心點像素坐標通過數(shù)學計算公式轉(zhuǎn)換成現(xiàn)實坐標系的現(xiàn)實坐標,并傳送到ABB 機器人進而知道其抓取實現(xiàn)。通過ProfiBus 現(xiàn)場總線通信的形式來傳輸機器人當前位置數(shù)據(jù),首先,將讀取的機器人當前位置數(shù)據(jù)使用PackRawBytes 指令按照Float 形式進行打包;然后,將其存放到已經(jīng)聲明的rawbyte 類型容器變量的連續(xù)四個字節(jié)中;最后,使用FOR 指令進行循環(huán)解包操作,即將打包好的數(shù)據(jù)使用UnpackRawBytes 指令解包到聲明的byte 類型四維數(shù)組變量中,每一個字節(jié)對應(yīng)數(shù)組變量中的一維byte 元素。
視覺引導對工作臺目標工料持續(xù)關(guān)注,在收到數(shù)據(jù)后將數(shù)據(jù)輸送給ABB 機器人目標工料的現(xiàn)實位置坐標,ABB 機器人根據(jù)獲得的抓取點坐標進行移動,到達目標工料的現(xiàn)實中心坐標后,通過控制末端控制ABB 機器人對目標工料進行抓取實現(xiàn),將目標工料放置在放置處,完成一次工作流程。待本次抓取任務(wù)實現(xiàn)以后,會再等待進行下次任務(wù)目標工料信息,待收到目標指令后,進而完成新的一輪循環(huán)工作,直至任務(wù)結(jié)束。
抓取實現(xiàn)后,還要對運行的結(jié)果進行精準度的驗證,就是通過驗證坐標轉(zhuǎn)換確保目標定位的精準度,選擇新的標的物坐標點進行計算。首先在現(xiàn)實坐標系中選擇一點取得其現(xiàn)實坐標,再利用攝像頭獲取該點在像素坐標系中的像素坐標,通過數(shù)學公式轉(zhuǎn)換計算,可以得到該像素坐標點的理論計算現(xiàn)實坐標,將其與最初的現(xiàn)實坐標進行對比,計算其偏差大小,判斷是否在允許范圍內(nèi)。
對大量實驗結(jié)果進行模擬計算,得到不同標的點的實際坐標和定位坐標以及其坐標偏差,分別如表1和表2 所示。從表1 和表2 的統(tǒng)計和計算結(jié)果可以看出,X和Y方向的偏差最大值為0.812 mm,均值為0.645 1 mm,標準差為0.006 01,基本滿足目標抓取要求。

表1 多次模擬的坐標結(jié)果

表2 不同標的點的坐標偏差
隨著工業(yè)技術(shù)的不斷進步,機器人被廣泛應(yīng)用在機械加工、搬運等工業(yè)領(lǐng)域中。利用ABB 機器人結(jié)合機器視覺進行定位和抓取,并通過多點標定得到坐標轉(zhuǎn)換模型,設(shè)計出一種ABB 機器人的目標定位與抓取實現(xiàn)。通過編寫軟件實現(xiàn)數(shù)據(jù)交互將標定坐標轉(zhuǎn)換成現(xiàn)實坐標指導機器人實現(xiàn)工料抓取。并經(jīng)過數(shù)次實驗獲得相關(guān)數(shù)據(jù)進行分析后確定定位誤差在允許范圍內(nèi),實用性強。通過這種方法可以大大提高經(jīng)濟效益,對工業(yè)機器人的研究也具有十分重要的指導意義。