張寶強
(佛山市順德區(qū)胡寶星職業(yè)技術(shù)學(xué)校 廣東 佛山 528325)
首先,輸送帶將獲取托盤或貨物運送到指定位置并能準(zhǔn)確定位,以便于機器人能準(zhǔn)確抓取。其次,機器人檢測到物料準(zhǔn)確到位后,機器人通過專用夾具抓取貨物。最后,機器人經(jīng)過指定路徑將貨物按一定規(guī)律擺放的碼盤上。機器人碼垛過程是一個貨物抓取點,經(jīng)過中間路徑過渡點,有規(guī)律的多個貨物放置點。
(1)for循環(huán)指令
指令格式:for i=1 to n
;程序內(nèi)容。
endfor
指令含義:如果n=5,for循環(huán)內(nèi)的指令循環(huán)執(zhí)行5次。該指令中不需要對循環(huán)變量i進行操作,系統(tǒng)會自動遞增或遞減處理。
(2)while循環(huán)指令
指令格式:while <條件>
;程序內(nèi)容。
e
ndwhile
指令含義:當(dāng)條件為真實,即滿足條件是執(zhí)行while循環(huán)內(nèi)程序。如果條件為i<5,只要i的值小于5就執(zhí)行while內(nèi)程序,執(zhí)行到endwhile再次判斷條件是否成立,成立繼續(xù)執(zhí)行while內(nèi)程序,條件不成了跳出循環(huán)。
kuka機器人有獨立的編程語言KRL(Kuka Roboter Language),與我們熟悉的C語言、C++語言等不同,這就加大了kuka機器人編程的難度。只有對kuka機器人進行編程和控制,才能使kuka機器人按照設(shè)計、生產(chǎn)工藝要求進行工作、運行。如果機器人的編程和控制設(shè)置不好,將影響生產(chǎn),甚至不能生產(chǎn),可見機器人編程的重要性。
(1)kuka機器人碼垛路徑
機器人從生產(chǎn)線固定位置抓取物品,經(jīng)過中間一個或多個安全過渡點,到達放置點正上方,下落到放置點。整個過程只有放置點及正上方點有變化,其他路徑相同。
(2)kuka機器人碼垛編程
以簡單重疊式2×2×2碼垛為例用,物料尺寸為200×150×100,單層擺放見圖1所示,物料間隙為5mm。用while指令編程。
xfangzhi = xpos_md;xpos_md碼垛基準(zhǔn)點變量名,即1號位置點
xfangzhi10 = xpos_md10;xpos_md碼垛基準(zhǔn)點上方10mm點變量名
xfangzhi100 = xpos_md100;xpos_md碼垛基準(zhǔn)點上方100mm點變量名
i = 0
while(i<2);z軸方向擺放
j = 0
while(j<2);y軸方向擺放
k = 0
while(k<2); x軸方向擺放
PTP起點 vel=100% PDAT1;工作起點
wait for in 1;檢測物料是否到位
PTP P1 vel=100% PDAT2;抓取點正上方100mm處
LIN P2 vel=0.2m/s CPDAT1;抓取點正上方10mm處
LIN zhuaqu vel=0.05m/s CPDAT2;抓取點
wait time= 0.2 sec;等待
out 1 state=true;夾具加緊抓取物品
wait time= 0.2 sec;等待
LIN P2 vel=0.2m/s CPDAT3;抓取點正上方100mm處
PTP guodu vel=100% PDAT3;安全過渡點
xfangzhi.x=xfangzhi.x + k*205;x軸方向偏移
xfangzhi.y=xfangzhi.y + j*155;y軸方向偏移
xfangzhi.z=xfangzhi.z +i*102 ;z軸方向偏移
xfangzhi10.x=xfangzhi10.x + k*205
xfangzhi10.y=xfangzhi10.y + j*155
xfangzhi10.z=xfangzhi10.z +i*102
xfangzhi100.x=xfangzhi100.x + k*205
xfangzhi100.y=xfangzhi100.y + j*155
xfangzhi100.z=xfangzhi100.z +i*102
PTP fangzhi100 vel=100% PDAT4;放置點正上方100mm處
LIN fangzhi10 vel=0.2m/s CPDAT4; 放置點正上方10mm處
LIN fangzhi vel=0.05m/s CPDAT5;放置點
wait time= 0.2 sec;等待
out 1 state=false;夾具加緊抓取物品
wait time= 0.2 sec;等待
LIN fangzhi100 vel=0.2m/s CPDAT6; 放置點正上方100mm處
PTP qidian vel=100% PDAT5;工作起點
k = k + 1
endwhile
j = j + 1
endwhile
i = i + 1
endwhile
(3)注意事項
①變量i、j、k程序名和ini之間用decl int i,j,k語句定義,使用前要進行初始化。
②程序中指令后顯示的點名和點的變量名不同,程序中指令后顯示的點名前加x為該點變量名,如顯示點名為p1,點的變量名為xp1。
③pos_md, pos_md10, pos_md100三個點通過指令示教后刪除指令。
④fangzhi,fangzhi10,fangzhi100三個點的定義有兩種方法。
一是在date文件中定義,該方法不會定義過多不用的變量,但要熟悉KRL語言,較難掌握。定義語句為:
decl pos xfanghzi
decl pos xfanghzi10
decl pos xfanghzi100
二是通過創(chuàng)建運動指令定義。創(chuàng)建運動指令將點名稱修改為需要的點名,如fangzhi等,創(chuàng)建完刪除或注釋掉該運動語句,使其不能運行。該方法簡單易懂,但會在date文件中增加其他變量。
本文首先介紹了碼垛基本原理及方式,使讀者對碼垛過程有一定的了解。然后以簡單的重疊式碼垛為例,分析了機器人碼垛路徑特點,講解了kuka機器人編程,闡述了變量定義方法及點變量引用方法和編程的難點及注意事項,給出了kuka機器人while循環(huán)指令碼垛編程程序。
[1]宰守香,王蕾,申俊.基于VC++與Open Inventor的工業(yè)機器人切割仿真系統(tǒng)設(shè)計[J].制造技術(shù)與機床.2017(10).
[2]機器人編程1,庫卡系統(tǒng)軟件8.2,KUKA Roboter GmbH(庫卡機器人有限公司)培訓(xùn)資料,2011.11.10.