韋真光
摘要:當前工業(yè)機器人在實際工業(yè)生產(chǎn)中應(yīng)用越來越廣泛,與之相關(guān)的技術(shù)也得到了飛速的發(fā)展,將視覺技術(shù)與機器人編程技術(shù)進行融合,讓機器人擁有和人眼相似的功能,使機器人工作時更具智能化。本文介紹了一種ABB機器人視覺工作站,模擬零件搬運工作崗位,重點闡述ABB機器人系統(tǒng)與視覺系統(tǒng)之間的通訊、運用視覺軟件進行零件搬運時機器人程序編程等關(guān)鍵技術(shù),有利于增強機器人應(yīng)用實踐能力,為工業(yè)機器人技術(shù)的學(xué)員提供一些學(xué)習(xí)幫助。
關(guān)鍵詞:工業(yè)機器人;視覺;通訊;搬運
0? 引言
工業(yè)機器人在搬運作業(yè)時,如果沒有視覺反饋,給機器人提供的零件必須保持精度固定的位置和方向,為此對每一特定形狀的零件要用專門的振動抖式上料器供料,這樣才能保證機器人準確的抓取零件。但由于零件的形狀、體積、重量等原因,有時不能保證提供固定的位置和方向,或者對于多種零件、小批量的產(chǎn)品用不同的上料器是不經(jīng)濟的,這時用機器視覺系統(tǒng)完成零件的之別、定位和定向,引導(dǎo)機器人完成零件分類、取放以至裝配則是一種經(jīng)濟有效的方法。
1? ABB機器人視覺工作站功能分析
ABB機器人通過與視覺系統(tǒng)進行通訊、程序的編程和調(diào)試,可以實現(xiàn)對儲料板上零件顏色、形狀和位置進行識別和定位,完成機器人搬運作業(yè)。本文工作站的主要功能和流程如下:儲料板上有16個方形凹槽,相鄰兩個凹槽相距50mm,用于擺放16個工件。運行程序前必須保證儲料板上沒有工件,防止機器人發(fā)生碰撞。先將工件任意放置在平板上的黑框內(nèi),機器人發(fā)送信號觸發(fā)工業(yè)相機拍照,相機拍照后定位工件位置,并將位置數(shù)據(jù)傳輸給機器人控制器,機器人獲得工件位置后夾具運動到工件上表面,吸盤拾取工件,然后將工件擺放到儲料板上,完成一個工件的碼垛,總共要完成16次視覺搬運作業(yè)。
2? 機器人視覺工作站硬件組成
機器人視覺搬運工作站主要由機器人本體和視覺搬運單元兩大部分組成。機器人模塊選用ABB公司IR120型工業(yè)機器人;機器視覺模塊包括了康耐視工業(yè)相機、平板、儲料板、單吸盤夾具、綠色圓形工件。
2.1 工業(yè)機器人模塊
工業(yè)機器人是一種模擬人手臂、手腕和手功能的機電一體化裝置,可對物體運動的位置、速度和加速度進行精確控制,從而完成某一工業(yè)生產(chǎn)的作業(yè)要求。當前工業(yè)中應(yīng)用最多的第一代工業(yè)機器人主要由以下幾個部分組成:機器人本體(操作機)、控制器和示教器。
2.2 機器視覺模塊
視覺系統(tǒng)選用的是康耐視Insight 5000系列,包括鏡頭、智能相機和光源控制器三部分。系統(tǒng)中智能相機使用康耐視調(diào)試軟件In-Sight Explorer進行視像調(diào)試,和計算機之間使用網(wǎng)口連接,計算機主要用于智能相機圖片的處理、編程、程序下載、監(jiān)控等。
3? ABB機器人與視覺系統(tǒng)的通訊方法
ABB機器人和視覺系統(tǒng)是通過TCP/IP的方式實現(xiàn)通訊的,ABB機器人實現(xiàn)TCP/IP通訊的前提是必須要有616-1 PC Interface(系統(tǒng)配置)選項功能,所以,當我們在真實機器人系統(tǒng)上想實現(xiàn)TCP/IP通訊要先檢查下系統(tǒng)是否含此選項功能。TCP是因特網(wǎng)中的傳輸層協(xié)議,使用三次握手協(xié)議建立連接,過程比較復(fù)雜,實際使用中,我們可以用socket編程接口實現(xiàn)服務(wù)器與客戶端間的通訊。網(wǎng)絡(luò)上的兩個程序通過一個雙向的通訊連接實現(xiàn)數(shù)據(jù)的交換,這個雙向鏈路的一端稱為一個Socket。Socket通常用來實現(xiàn)客戶方和服務(wù)方的連接。Socket是TCP/IP協(xié)議的一個十分流行的編程界面,一個Socket由一個IP地址和一個端口號唯一確定。 機器人實現(xiàn)此功能的過程需要以下幾個步驟完成:
第一步,創(chuàng)建機器人系統(tǒng),這里要注意把616-1 PC Interface選項加入。
第二步,新建程序模塊及例行程序。通訊相關(guān)指令在Communicate指令集下就能找到。
第三步,編寫程序,參考程序如圖3所示。
第四步,運行例行程序,測試通訊。
4? 視覺搬運機器人程序設(shè)計
根據(jù)機器人運動軌跡編寫機器人程序時,首先根據(jù)控制要求繪制機器人程序流程圖,然后編寫機器人主程序和子程序。編寫子程序前要先設(shè)計好機器人的運行軌跡及定義好機器人的程序點。
4.1 設(shè)計機器人程序流程圖
根據(jù)控制功能,設(shè)計機器人程序流程圖,如圖1所示。
4.2 工業(yè)相機的調(diào)試
視覺搬運模塊中要求使用工業(yè)相機對工件進行定位,編寫機器人視覺搬運程序前,首先要對康耐視工業(yè)相機的調(diào)試,調(diào)試的方法及步驟可參照產(chǎn)品說明書。
4.3 機器人關(guān)鍵示教點和坐標系的確定
相機調(diào)試完成后,開始編寫機器人程序。視覺搬運使用單吸盤拾取和放置工件,需要建立吸盤TCP,可以命名為danxipan_t;吸盤定位工件的過程要求吸盤能沿著平板的X、Y方向偏移,需要建立一個視覺工件坐標系,命名為vision_wobj。相機實時視頻中左上角的點是視覺工件坐標系的原點,可以在平板上做好記號,然后示教該原點vision_p1。儲料板上第一個工件的位置記錄在示教點vision_p4中,如圖2所示。根據(jù)機器人關(guān)鍵示教點和坐標系,可確定其運動所需的示教點和坐標系,見表1。
4.4 機器人搬運程序的編寫
編寫機器人程序前,首先要了解機器人與康耐視相機的網(wǎng)絡(luò)通訊,機器人通過程序?qū)崿F(xiàn)與工業(yè)相機的數(shù)據(jù)交互,主要包括ConnetToInSight()、GetVisionData()兩個子程序?qū)崿F(xiàn)。
4.4.1 相機遠程連接ABB機器人的程序的編寫
首先在機器人程序上新建相機遠程設(shè)備ComSocket,然后輸入相機的遠程IP地址為“192.168.125.63”,再發(fā)送相機設(shè)備的登錄賬號,最后發(fā)送相機設(shè)備的登錄密碼。參考程序如圖3。
4.4.2 機器人獲取相機的數(shù)據(jù)的程序編寫
首先機器人發(fā)送“sw8\0d\0a”指令給相機,觸發(fā)相機拍照;然后機器人從相機設(shè)備獲取視覺坐標中的X數(shù)據(jù),最后機器人從相機設(shè)備獲取視覺坐標中的Y數(shù)據(jù)。
4.4.3 多個工件的視覺搬運程序
首先新建工件坐標系vision_wobj;然后示教工件坐標系的原點vision_p1,示教完原點可以將其注釋掉。將一個工件放在平板上的黑框識別區(qū)內(nèi),調(diào)試好相機后,機器人從相機中獲取位置數(shù)據(jù)nXOffs和nYOffs,通過偏移指令vision_p2:=Offs(vision_p1,0.25377*nXOffs+3.763,0.26* nYOffs,0);獲得工件在vision_wobj坐標系下X、Y坐標值,再通過直線運動指令使吸盤到達工件上方。在示教原點vision_p1時,要保證該點距離平板的高度大于一個工件的高度,防止工件定位時吸盤發(fā)生碰撞。對一個工件的視覺定位后,可以嘗試將工件搬運到儲料板上,并使用For循環(huán)實現(xiàn)多個工件的視覺搬運。儲料板上第一個工件的位置需要示教,示教完之后需要將其注釋掉。得到儲料板第一個工件位置后,可以通過偏移指令計算儲料板上的所有凹槽位置。
5? 結(jié)束語
加了視覺的工業(yè)機器人系統(tǒng)較好地融合了工業(yè)機器人、智能相機、以太網(wǎng)通訊等先進技術(shù),可對工業(yè)現(xiàn)場的生產(chǎn)任務(wù)靈活設(shè)計,通過調(diào)試運行有效地提高了對工業(yè)機器人控制的理解和應(yīng)用。工業(yè)機器人應(yīng)用專業(yè)院校在開發(fā)課程或舉辦技能競賽是可根據(jù)該系統(tǒng)硬件設(shè)計,將機器人的搬運碼垛編程作為開發(fā)重點,使機器人根據(jù)各種不同任務(wù)要求進行編程調(diào)試,為社會培養(yǎng)出更多高技能應(yīng)用人才。
參考文獻:
[1]趙臣,王剛.我國工業(yè)機器人產(chǎn)業(yè)發(fā)展的現(xiàn)狀調(diào)研報告[J].機器人技術(shù)與應(yīng)用,2009(4):8-13.
[2]楊杰忠,鄒火軍.工業(yè)機器人技術(shù)基礎(chǔ)[M].北京:電子工業(yè)出版社,2017.
[3]楊杰忠,王振華.工業(yè)機器人操作與編程[M].北京:機械工業(yè)出版社,2017.