劉廣濤 韓昊宏 柏淑軍
(長春汽車工業(yè)高等專科學(xué)校,吉林長春 130013)
工業(yè)機(jī)器人已成為智能制造的重要組成部分,為服務(wù)國家高質(zhì)量發(fā)展戰(zhàn)略和人才強(qiáng)國戰(zhàn)略,教育部發(fā)布的《1+X工業(yè)機(jī)器人應(yīng)用編程職業(yè)技能等級標(biāo)準(zhǔn)》和人社部發(fā)布的《工業(yè)機(jī)器人系統(tǒng)操作員國家職業(yè)技能標(biāo)準(zhǔn)》中均要求從事工業(yè)機(jī)器人系統(tǒng)集成人員應(yīng)具備以下能力:1)基于機(jī)器視覺系統(tǒng)結(jié)合外圍設(shè)備等配置機(jī)器人工作站或系統(tǒng)參數(shù)[1];2)能夠設(shè)計機(jī)器人工作站的程序框架或系統(tǒng)的總控程序,完成生產(chǎn)聯(lián)調(diào)[2]。但在技能競賽和技能鑒定過程中,筆者發(fā)現(xiàn)參賽選手或考核人員所設(shè)計的程序過于臃腫,且工作效率低下,甚至難以在規(guī)定時間內(nèi)完成考核任務(wù)。
ABB機(jī)器人視覺工作站是《1+X工業(yè)機(jī)器人應(yīng)用編程職業(yè)技能等級標(biāo)準(zhǔn)》和《工業(yè)機(jī)器人系統(tǒng)操作員國家職業(yè)技能標(biāo)準(zhǔn)》考核平臺[3],同時應(yīng)用于吉林省技能大賽、中國第一汽車集團(tuán)有限公司機(jī)器人工種考核培訓(xùn),現(xiàn)已在工業(yè)機(jī)器人系統(tǒng)集成人員的教學(xué)、培訓(xùn)、職業(yè)競賽、技能鑒定中廣泛應(yīng)用。
本工作站由ABB工業(yè)機(jī)器人、快換裝置模塊、變位機(jī)模塊、立體料倉模塊和視覺檢測模塊組成:
1)快換裝置模塊:主要根據(jù)不同的實訓(xùn)目標(biāo)和操作對象,提供多種不同的快換工具。
2)變位機(jī)模塊:通過組態(tài)IO模塊和以太網(wǎng)與PLC進(jìn)行信息交互,PLC最終根據(jù)機(jī)器人的命令將變位機(jī)運(yùn)行到指定的位置。
3)立體料倉模塊:主要用于儲存多種零件,機(jī)器人通過數(shù)字量輸入/輸出控制,完成零件的供料和料倉監(jiān)控。
4)視覺檢測模塊:對工件位置、顏色等信息進(jìn)行檢測。
現(xiàn)以完成關(guān)節(jié)部件的裝配任務(wù)為例進(jìn)行任務(wù)分析。本任務(wù)中根據(jù)法蘭顏色,機(jī)器人自動切換工具從立體料倉抓取與法蘭同顏色的關(guān)節(jié)基座和電機(jī)完成三套關(guān)節(jié)成品的裝配工作,其任務(wù)流程如圖1所示。
圖1 任務(wù)流程圖
通過PLC編程軟件實現(xiàn)PLC硬件組態(tài)、網(wǎng)絡(luò)地址設(shè)定、PLC與機(jī)器人通信程序編寫等內(nèi)容。常規(guī)上視覺系統(tǒng)與ABB機(jī)器人采用Socket通信的方式,劣勢在于程序復(fù)雜、編程調(diào)試效率低下,不利于實際生產(chǎn)作業(yè)、競賽考核等。
本程序設(shè)計ABB 機(jī)器人與視覺系統(tǒng)采用ProfiNET通信,PLC端編寫梯形圖程序控制視覺系統(tǒng)數(shù)據(jù)初始化、相機(jī)拍照、顏色及角度識別,可以提高編程效率,提高機(jī)器人程序的柔性化程度[4]。
視覺系統(tǒng)由康耐視相機(jī)、光源及安裝相機(jī)控制軟件的計算機(jī)組成。首先正確安裝并連接相機(jī),設(shè)置計算機(jī)和相機(jī)的通信地址,通過命令提示符窗口測試電腦與相機(jī)之間的通信;不斷調(diào)整視覺參數(shù),直到視覺調(diào)試軟件可以清晰地顯像;觸發(fā)相機(jī)拍照,獲取相機(jī)數(shù)據(jù),完成相機(jī)對工件形狀、位置和顏色的學(xué)習(xí)和識別,便于工業(yè)機(jī)器人抓取傳送帶上不同位置的工件;最后進(jìn)行相機(jī)通信參數(shù)相關(guān)設(shè)置,保證機(jī)器人、PLC、相機(jī)三者之間通信正常。具體視覺調(diào)試流程如圖2所示。
圖2 視覺調(diào)試流程
根據(jù)工業(yè)機(jī)器人作業(yè)流程和運(yùn)動軌跡進(jìn)行程序設(shè)計,編寫機(jī)器人主程序和子程序[5]。
首先,以數(shù)組的形式建立一維點(diǎn)位數(shù)據(jù),用數(shù)組的形式建立工業(yè)機(jī)器人運(yùn)動軌跡的點(diǎn)位數(shù)據(jù),有利于通過復(fù)制、粘貼的形式簡單地修改,以此加快程序編輯速度,有利于后期編輯子程序中使用形參進(jìn)行調(diào)用。
其次,需要建立工業(yè)機(jī)器人工具抓放程序、工件搬運(yùn)程序、工件裝配程序,本任務(wù)涉及弧口工具、平口工具、吸盤工具的抓放工序,按照常規(guī)的編程方式,僅工業(yè)機(jī)器人自動拾取工具一項便需要建立6個子程序,程序臃腫、效率低下。所以本程序設(shè)計通過數(shù)組、偏移、內(nèi)部形參變量的形式將6個子程序合成1個程序即帶參子程序,不僅提高了程序柔性化程度,還可根據(jù)任務(wù)賦值參數(shù)調(diào)用子程序,實現(xiàn)不同的任務(wù)流程和工序。
最后,建立VAR num p、VAR num s,通過賦值變量p控制tp工具示教點(diǎn)位中的運(yùn)動點(diǎn)位,通過賦值變量s到程序yv12(num p,num s)中應(yīng)用TEST...CASE指令實現(xiàn)分支走向的判斷,其中CASE1實現(xiàn)快換裝置彈珠伸出,CASE2實現(xiàn)快換裝置彈珠縮回。子程序pt(num p,num s)在主程序調(diào)用中,通過主程序?qū)崿F(xiàn)對于VAR num p和VAR num s的賦值,實現(xiàn)指定工具的抓取及放下。以工具抓放程序為例,程序如下:
PROC pt(num p,num s)//抓放工具程序
MoveAbsJ hNoEOffs, v150, z50, tool0;//回原位
MoveL Offs (tp {p},0,100,120), v150, z50,tool0;//過渡點(diǎn)
MoveL Offs(tp{p},0,0,120),v150,z50,tool0;
MoveL Offs(tp{p},0,0,0), v50, fine, tool0;//目標(biāo)點(diǎn)
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時執(zhí)行
Set YV2;//信號YV2置1
Reset YV1;/信號YV2置0
CASE 2://s等于2時執(zhí)行
Set YV1;//信號YV2置1
Reset YV2;//信號YV2置0
ENDTEST//條件判斷結(jié)束
WaitTime 1;ENDPROC
工業(yè)機(jī)器人根據(jù)視覺系統(tǒng)反饋的法蘭顏色對料倉抓取位置進(jìn)行判斷時,采用TSET條件判斷指令結(jié)合系統(tǒng)中自定義數(shù)據(jù)datain.data1的狀態(tài)進(jìn)行識別,另外因為關(guān)節(jié)底座是按照要求固定擺放,所以根據(jù)datain.data1的狀態(tài),分別調(diào)用帶參數(shù)子程序pc(num p,num s)。比如視覺識別當(dāng)前法蘭顏色為紅色,datain.dat=1,此時機(jī)器人需要抓取料倉第一排第一個庫位的紅色關(guān)節(jié)底座,所以將變量p賦值為1,變量s賦值1,調(diào)用程序(pc 1,1)。紅色關(guān)節(jié)部件成品裝配完成后按照要求需將成品放回料倉第二排第三個庫位,所以調(diào)用程序(pc 3,2)。
主程序編程如下:
PROC main()
MoveAbsJ hNoEOffs, v300, z50, tool0;//機(jī)器人回原位
pt 1,1;//抓取弧口工具
v 1,1;//觸發(fā)視覺拍照
WaitTime 2;
TEST datain.data1//判斷視覺反饋數(shù)據(jù)判斷法蘭顏色確定抓取位置
CASE 1:
pc 1, 1;//機(jī)器人抓取料倉庫位1的關(guān)節(jié)底座
CASE 2:
pc 2, 1;//機(jī)器人抓取料倉庫位2的關(guān)節(jié)底座
CASE 3:
pc 3, 1;//機(jī)器人抓取料倉庫位3的關(guān)節(jié)底座
ENDTEST
pz1 1,2;//機(jī)器人將關(guān)節(jié)底座放置到變位機(jī)
WaitTime 1;
Set EXDO2;
Reset EXDO3;//變位機(jī)氣缸伸出固定關(guān)節(jié)底座
int;//機(jī)器人工具開合信號初始化
pt 1,2;//放下弧口工具
pt 2,1;//抓取平口工具
WaitTime 2;
TEST datain.data1//判斷視覺反饋數(shù)據(jù)確定法蘭顏色
CASE 1:
pc 6,1;//機(jī)器人抓取料倉庫位6的電機(jī)CASE 2:
pc 5,1;//機(jī)器人抓取料倉庫位5的電機(jī)CASE 3:
pc 4,1;//機(jī)器人抓取料倉庫位4的電機(jī)ENDTEST
pz1 2, 2;//機(jī)器人將電機(jī)放置到變位機(jī)處關(guān)節(jié)底座中完成裝配
int;//機(jī)器人工具開合信號初始化
pt 2,2;//放下平口工具
pt 3,1;//抓取吸盤工具
pv 1,1;//抓取法蘭工件
pz2 1, 2;//機(jī)器人將法蘭放置到變位機(jī)處完成關(guān)節(jié)部件裝配
int;//機(jī)器人工具開合信號初始化
pt 3,2;//放下吸盤工具
pt 1,1;//抓取弧口工具
Set EXDO3;
Reset EXDO2;//變位機(jī)氣缸縮回釋放關(guān)節(jié)底座
WaitTime 1;
pz1 1,1;/機(jī)器人將關(guān)節(jié)成品從變位機(jī)處取回
TEST datain.data1//判斷視覺反饋數(shù)據(jù)判斷法蘭顏色確定放回位置
CASE 1:
pc 1, 2;//機(jī)器人將關(guān)節(jié)成品放回料倉庫位1
CASE 2:
pc 2, 2;//機(jī)器人將關(guān)節(jié)成品放回料倉庫位2
CASE 3:
pc 3, 2;//機(jī)器人將關(guān)節(jié)成品放回料倉庫位3
ENDTEST
int;//機(jī)器人工具開合信號初始化
pt 1,2;//放下弧口工具
MoveAbsJ hNoEOffs,v300,z50,tool0;ENDPROC
本任務(wù)來源于汽車行業(yè)真實的技能考核案例,通過設(shè)計帶參機(jī)器人程序、主站PLC程序和視覺檢測系統(tǒng)等,實現(xiàn)模塊化、標(biāo)準(zhǔn)化、柔性化地完成標(biāo)準(zhǔn)化關(guān)節(jié)部件裝配、定制化關(guān)節(jié)部件裝配和自動化裝配入庫功能。本文所設(shè)計的程序不僅可以有效提高編程調(diào)試效率,大幅度提高生產(chǎn)節(jié)拍,更能實現(xiàn)一程序多流程、一框架多場景的應(yīng)用,為企業(yè)技術(shù)人員設(shè)計真實產(chǎn)線程序框架標(biāo)準(zhǔn)提供了較為有效的思路。