王麗君 陳羅鳳 重慶市農(nóng)業(yè)機(jī)械化學(xué)校
ABB 工業(yè)機(jī)器人應(yīng)用程序是用 RAPID 編程語言的特定詞匯和語法編寫而成的。它所包含的指令可以移動機(jī)器人、設(shè)置輸出、讀取輸入,實現(xiàn)決策、重復(fù)其他指令,構(gòu)造程序與系統(tǒng)操作員實現(xiàn)人機(jī)交流等功能。本文運用數(shù)組來實現(xiàn)碼垛編程的簡便化。
ABB 機(jī)器人從傳送帶上取來產(chǎn)品,以 2×2 陣列,碼放到固定工作平臺。產(chǎn)品長寬高為220×100×60 mm,間隙20mm,如圖1 所示。
目前大部分碼垛程序是按照這樣來分析的,第一,在解決任何一個碼垛問題的時候一定要有效地對物體的抓取點和位置點全面進(jìn)行計算。第二點,在計算的過程中尤其需要找到每個步驟之間循環(huán)的關(guān)系和內(nèi)部的規(guī)律。計算涉及到XYZ 三個方向,夾具的旋轉(zhuǎn)方向,同層間的間距,上下層的間距,放置物體的次數(shù),同層中某個方向的移動次數(shù),層數(shù)多少等,并需要對其建立計算公式,很容易出錯和不好理解。
從圖1 中可以看出,從下層到上層按照順序碼上產(chǎn)品,吸取點位置是產(chǎn)品上表面中心,而放置點的擺放位置是實時發(fā)生變化。因此在編寫本案例程序時,關(guān)鍵就是機(jī)器人運動至放置點的位置的計算。
如圖1,四個產(chǎn)品的放置點需要計算。以第1 個產(chǎn)品的放置點進(jìn)行示教作為放置基準(zhǔn)點(placebase),由于產(chǎn)品搬運過程中有旋轉(zhuǎn)動作,所以選擇RelTool 偏移指令,利用對placebase 的偏移來確定第2 個、第3 個、第4 個產(chǎn)品的放置點。偏移參數(shù)有X、Y、Z 方向的值和旋轉(zhuǎn)的角度值R,故定義數(shù)組的數(shù)據(jù)類型為num(數(shù)字型數(shù)據(jù)),數(shù)組名為placeN,變量,維度二維,陣列{4,4}。利用ABB Robot Studio軟件的測量工具,測量n-1 個產(chǎn)品相對于第1 個產(chǎn)品(placebase)的距離,測量方式通過菜單建模-測量-點到點,捕捉方式為面捕捉和捕捉中心,可得到X、Y、Z 偏移的距離值。要注意的是:測量工具得到的測量值是相對于大地坐標(biāo)系各軸向給出的,而RelTool 偏移XYZ 方向的距離值是相對于工具坐標(biāo)系下給出的,工具坐標(biāo)系XY與大地坐標(biāo)系XY反向,Z 同向。這里分別測得第2、3、4 個產(chǎn)品在X、Y、Z 方向上相對于第1 個產(chǎn)品的距離,將數(shù)值分別填寫在數(shù)組元素上。
Var num placeN{4,4}:={[0,0, 0, 90] 第一個位置偏移數(shù)據(jù)X0,Y0,Z0,R90
[0,120,0, 90] 第二個位置偏移數(shù)據(jù)X0,Y120,Z0,R90
[60,60,-60, 0] 第三個位置偏移數(shù)據(jù)X60,Y60,Z-60,R0
[-60,60,-60, 0]} 第四個位置偏移數(shù)據(jù)X-60,Y60,Z-60,R0
第1、2、3、4 個產(chǎn)品位置計算的編程如下:
Place:=RelTool(placebase,placeN{n,1},placeN{n,2},placeN{n,3}Rz:= placeN{n,4})
其中的n 為變量,代表第幾個產(chǎn)品。
PROC rMADUO !碼垛程序
……
n:=1;!計數(shù)復(fù)位,從第1 個產(chǎn)品開始處理
WHILE n<5 DO
rPICK;!調(diào)用拾取產(chǎn)品程序
rPLACE;!調(diào)用放置產(chǎn)品程序
n:= n+1;!計數(shù)累計加1
WaitTime 0.5;
ENDWHILE
……
ENDPROC
PROC rPLACE!放置程序
Place:=RelTool(placebase,placeN{n,1},placeN{n,2},placeN{n,3} Rz:= placeN{n,4});
!計算第n 次的放置位置
MoveJ offs (place,0,0,120)V300 Z100 ToolxfWObj:=Workobject_MD ;
!利用MoveJ 運動至第n 次放置位置的正上方
MoveL place V100 Zfine ToolxfWObj:=Workobject_MD;
!利用MoveL 運動至第n 次放置后的位置
……
ENDPROC
若需要碼垛更多的產(chǎn)品 ,只需要修改數(shù)組的陣列值即可,當(dāng)碼垛的位置發(fā)生改變時,只需要重新示教placebase,程序無需改變。
該編程數(shù)值獲得充分利用Robot Studio 軟件,利用數(shù)組編寫程序,簡潔、清晰,可讀性強(qiáng),減輕了編程難度,可迅速完成工業(yè)機(jī)器人碼垛編程。