現有一臺工業機器人碼垛工作站,需要完成三種顏色工件的碼垛功能。使用的硬體包括工業機器人、PLC、智能相機、5*5的碼放平臺和紅黃藍三色工件。工作站採用智能相機識別工件的顏色,結果發送給PLC。PLC根據顏色信息完成碼放位置的算法,發送控制命令和放置坐標給機器人,工業機器人執行碼垛的任務。
一、碼放坐標分析
按照圖中所示的工件碼放位置,以P0(X0,Y0)點為基準點,計算P1至P5五個方格中心點相對P0點的坐標值,五個坐標點進行組合就得出25個方格中心點的坐標值。例如:P1點的X1和P4點Y4組合,得出P14點的坐標。
二、創建變量
1、在PLC中創建自定義數據塊,添加數組變量P,賦值P1至P5坐標的起始值。這個表格就是查表法中的表,工件碼放坐標值都預設在表格裡。
2、添加工件高度H,根據紅黃藍三色工件實際高度賦值起始值。
3、根據放置位置,列舉出各顏色工件碼放的行列號。以行列號組合的數值賦值起始值,個位數表示列,十位數表示行。例如:紅色行列號[1]的值是51,表示5行1列,即P51的位置。
4、三種顏色碼放完成數量的計數,賦值初始值為1。每碼放完成一個工件,對應的計數變量就加1。
三、查表法算法
根據碼放完成的數量,計算出工件放置的行列號,進而計算出碼放位置P點的坐標,就可以得出工件碼放坐標值。
以紅色工件碼放坐標計算為例,講解使用查表法計算碼放位置的方法:
定義R表示行,L表示列,X和Y表示工件放置坐標,H表示工件放置高度,T表示當前碼放位置的層數。
T=完成數量.紅色 / 每層工件數量
R=紅色行列號[ T ] / 10
L=紅色行列號[ T ] MOD 10
H=T * 工件高度
工件碼放位置X=P[R].X
工件碼放位置Y=P[L].Y
工件碼放位置Z=H
註:/ 表示除法取商,MOD表示取餘數,* 表示乘法
例如:紅色工件碼放完成數量等於1,紅色工件每層放置2個,工件高度為20,計算得出:
T=1
R=紅色行列號[1] / 10,即:R=5
L=紅色行列號[1] MOD 10 ,即:L=1
H=1 * 20,即:H=20
工件碼放位置X=P[5].X,即:工件碼放位置X=234
工件碼放位置Y=P[1].Y,即:工件碼放位置Y=26
工件碼放位置Z=H,即:工件碼放位置Z=20
PLC示例程序:
四、數據傳輸與執行
PLC把計算得出的工件碼放位置發送工業機器人,工業機器人以P0為基準點,進行XYZ方向偏移,完成工件碼放功能。
定義PutX表示碼放坐標X,PutY表示碼放坐標Y,PutZ表示碼放的高度。
以ABB機器人使用計算出的碼放位置為例,說明機器人怎麼進行坐標的偏移。
機器人示例程序:
個人覺得查表法相對比較簡單,後期進行坐標數值的修改的也比較方便。
您覺得哪種方法比較好用呢,歡迎留言討論!