劉廣濤 韓昊宏 柏淑軍
(長春汽車工業高等專科學校,吉林長春 130013)
工業機器人已成為智能制造的重要組成部分,為服務國家高質量發展戰略和人才強國戰略,教育部發布的《1+X工業機器人應用編程職業技能等級標準》和人社部發布的《工業機器人系統操作員國家職業技能標準》中均要求從事工業機器人系統集成人員應具備以下能力:1)基于機器視覺系統結合外圍設備等配置機器人工作站或系統參數[1];2)能夠設計機器人工作站的程序框架或系統的總控程序,完成生產聯調[2]。但在技能競賽和技能鑒定過程中,筆者發現參賽選手或考核人員所設計的程序過于臃腫,且工作效率低下,甚至難以在規定時間內完成考核任務。
ABB機器人視覺工作站是《1+X工業機器人應用編程職業技能等級標準》和《工業機器人系統操作員國家職業技能標準》考核平臺[3],同時應用于吉林省技能大賽、中國第一汽車集團有限公司機器人工種考核培訓,現已在工業機器人系統集成人員的教學、培訓、職業競賽、技能鑒定中廣泛應用。
本工作站由ABB工業機器人、快換裝置模塊、變位機模塊、立體料倉模塊和視覺檢測模塊組成:
1)快換裝置模塊:主要根據不同的實訓目標和操作對象,提供多種不同的快換工具。
2)變位機模塊:通過組態IO模塊和以太網與PLC進行信息交互,PLC最終根據機器人的命令將變位機運行到指定的位置。
3)立體料倉模塊:主要用于儲存多種零件,機器人通過數字量輸入/輸出控制,完成零件的供料和料倉監控。
4)視覺檢測模塊:對工件位置、顏色等信息進行檢測。
現以完成關節部件的裝配任務為例進行任務分析。本任務中根據法蘭顏色,機器人自動切換工具從立體料倉抓取與法蘭同顏色的關節基座和電機完成三套關節成品的裝配工作,其任務流程如圖1所示。

圖1 任務流程圖
通過PLC編程軟件實現PLC硬件組態、網絡地址設定、PLC與機器人通信程序編寫等內容。常規上視覺系統與ABB機器人采用Socket通信的方式,劣勢在于程序復雜、編程調試效率低下,不利于實際生產作業、競賽考核等。
本程序設計ABB 機器人與視覺系統采用ProfiNET通信,PLC端編寫梯形圖程序控制視覺系統數據初始化、相機拍照、顏色及角度識別,可以提高編程效率,提高機器人程序的柔性化程度[4]。
視覺系統由康耐視相機、光源及安裝相機控制軟件的計算機組成。首先正確安裝并連接相機,設置計算機和相機的通信地址,通過命令提示符窗口測試電腦與相機之間的通信;不斷調整視覺參數,直到視覺調試軟件可以清晰地顯像;觸發相機拍照,獲取相機數據,完成相機對工件形狀、位置和顏色的學習和識別,便于工業機器人抓取傳送帶上不同位置的工件;最后進行相機通信參數相關設置,保證機器人、PLC、相機三者之間通信正常。具體視覺調試流程如圖2所示。

圖2 視覺調試流程
根據工業機器人作業流程和運動軌跡進行程序設計,編寫機器人主程序和子程序[5]。
首先,以數組的形式建立一維點位數據,用數組的形式建立工業機器人運動軌跡的點位數據,有利于通過復制、粘貼的形式簡單地修改,以此加快程序編輯速度,有利于后期編輯子程序中使用形參進行調用。
其次,需要建立工業機器人工具抓放程序、工件搬運程序、工件裝配程序,本任務涉及弧口工具、平口工具、吸盤工具的抓放工序,按照常規的編程方式,僅工業機器人自動拾取工具一項便需要建立6個子程序,程序臃腫、效率低下。所以本程序設計通過數組、偏移、內部形參變量的形式將6個子程序合成1個程序即帶參子程序,不僅提高了程序柔性化程度,還可根據任務賦值參數調用子程序,實現不同的任務流程和工序。
最后,建立VAR num p、VAR num s,通過賦值變量p控制tp工具示教點位中的運動點位,通過賦值變量s到程序yv12(num p,num s)中應用TEST...CASE指令實現分支走向的判斷,其中CASE1實現快換裝置彈珠伸出,CASE2實現快換裝置彈珠縮回。子程序pt(num p,num s)在主程序調用中,通過主程序實現對于VAR num p和VAR num s的賦值,實現指定工具的抓取及放下。以工具抓放程序為例,程序如下:
PROC pt(num p,num s)//抓放工具程序
MoveAbsJ hNoEOffs, v150, z50, tool0;//回原位
MoveL Offs (tp {p},0,100,120), v150, z50,tool0;//過渡點
MoveL Offs(tp{p},0,0,120),v150,z50,tool0;
MoveL Offs(tp{p},0,0,0), v50, fine, tool0;//目標點
yv12 p,s;//快換裝置彈珠伸縮控制子程序
MoveL Offs(tp{p},0,0,120),v150,z50,tool0;
MoveL Offs (tp {p},0,100,120), v150, z50,tool0;
MoveAbsJ hNoEOffs,v150,z50,tool0;//ENDPROC
PROC yv12 (num p,num s)//快換裝置彈珠伸縮控制子程序
WaitTime 1;
TEST s//條件判斷
CASE 1://s等于1時執行
Set YV2;//信號YV2置1
Reset YV1;/信號YV2置0
CASE 2://s等于2時執行
Set YV1;//信號YV2置1
Reset YV2;//信號YV2置0
ENDTEST//條件判斷結束
WaitTime 1;ENDPROC
工業機器人根據視覺系統反饋的法蘭顏色對料倉抓取位置進行判斷時,采用TSET條件判斷指令結合系統中自定義數據datain.data1的狀態進行識別,另外因為關節底座是按照要求固定擺放,所以根據datain.data1的狀態,分別調用帶參數子程序pc(num p,num s)。比如視覺識別當前法蘭顏色為紅色,datain.dat=1,此時機器人需要抓取料倉第一排第一個庫位的紅色關節底座,所以將變量p賦值為1,變量s賦值1,調用程序(pc 1,1)。紅色關節部件成品裝配完成后按照要求需將成品放回料倉第二排第三個庫位,所以調用程序(pc 3,2)。
主程序編程如下:
PROC main()
MoveAbsJ hNoEOffs, v300, z50, tool0;//機器人回原位
pt 1,1;//抓取弧口工具
v 1,1;//觸發視覺拍照
WaitTime 2;
TEST datain.data1//判斷視覺反饋數據判斷法蘭顏色確定抓取位置
CASE 1:
pc 1, 1;//機器人抓取料倉庫位1的關節底座
CASE 2:
pc 2, 1;//機器人抓取料倉庫位2的關節底座
CASE 3:
pc 3, 1;//機器人抓取料倉庫位3的關節底座
ENDTEST
pz1 1,2;//機器人將關節底座放置到變位機
WaitTime 1;
Set EXDO2;
Reset EXDO3;//變位機氣缸伸出固定關節底座
int;//機器人工具開合信號初始化
pt 1,2;//放下弧口工具
pt 2,1;//抓取平口工具
WaitTime 2;
TEST datain.data1//判斷視覺反饋數據確定法蘭顏色
CASE 1:
pc 6,1;//機器人抓取料倉庫位6的電機CASE 2:
pc 5,1;//機器人抓取料倉庫位5的電機CASE 3:
pc 4,1;//機器人抓取料倉庫位4的電機ENDTEST
pz1 2, 2;//機器人將電機放置到變位機處關節底座中完成裝配
int;//機器人工具開合信號初始化
pt 2,2;//放下平口工具
pt 3,1;//抓取吸盤工具
pv 1,1;//抓取法蘭工件
pz2 1, 2;//機器人將法蘭放置到變位機處完成關節部件裝配
int;//機器人工具開合信號初始化
pt 3,2;//放下吸盤工具
pt 1,1;//抓取弧口工具
Set EXDO3;
Reset EXDO2;//變位機氣缸縮回釋放關節底座
WaitTime 1;
pz1 1,1;/機器人將關節成品從變位機處取回
TEST datain.data1//判斷視覺反饋數據判斷法蘭顏色確定放回位置
CASE 1:
pc 1, 2;//機器人將關節成品放回料倉庫位1
CASE 2:
pc 2, 2;//機器人將關節成品放回料倉庫位2
CASE 3:
pc 3, 2;//機器人將關節成品放回料倉庫位3
ENDTEST
int;//機器人工具開合信號初始化
pt 1,2;//放下弧口工具
MoveAbsJ hNoEOffs,v300,z50,tool0;ENDPROC
本任務來源于汽車行業真實的技能考核案例,通過設計帶參機器人程序、主站PLC程序和視覺檢測系統等,實現模塊化、標準化、柔性化地完成標準化關節部件裝配、定制化關節部件裝配和自動化裝配入庫功能。本文所設計的程序不僅可以有效提高編程調試效率,大幅度提高生產節拍,更能實現一程序多流程、一框架多場景的應用,為企業技術人員設計真實產線程序框架標準提供了較為有效的思路。