Machine ARM
[機器手臂程式設計實作] 3維陣列演練
一、情境描述
模擬讓機器手臂取物,並在平面上依照 3*3 的矩陣位置,放置物品。
整個動作會依序如下 :
- 前往指定的原點。
- 移動到物品來源位置進行取物。
- 移動到工作區域的原點。
- 移動到指定的擺放位置完成物品置放。
- 再回到物品來源位置進行取物。
- 重複步驟4和步驟5直到完成指定的工作次數。
- 回到指定的原點。
二、程式筆記
(一)、完整範例程式
(二)、程式解說
1.宣告 pint 變數,作為描述各軸角度或坐標,來描述位置。
>> E6POINT pint
2.宣告 3 個整數變數作為動作迴圈使用
>>INT A,B,C
3.宣告編號為1的數位輸出,值為 "True"。以夾爪為例,表示張開。
>>$DO[1] = TRUE
4.進行點到點的運動到P0 (自己預設的原點)
>>PTP P0 CONT Vel=100% Acc=50% TOOL[0] BASE[0]
Vel : 速度,若用於PTP運動,表示法為可移動最大速度之百分比。
Acc : 加速度,若用於LIN、CIRC運動,表示法為mm/s。
5.迴圈設定
C迴圈表示以高度的順序排列。
B迴圈表示以行的順序排列。
A迴圈表示以列的順序排列。
6.取物動作描述
移到物品來源所在之位置上方
>>LIN P2 CONT Vel=2000mm/s Acc=50% TOOL[0] BASE[0]
下移 15 公分
>>LIN_REL{Z -150}
夾爪閉合 (夾物)
>>$DO[1] = FALSE
等待0.5秒
>>WAIT SEC 0.5
上移15公分回到原來位置
>>LIN_REL{Z 150}
7.移動到工作區域
移動到設定的工作點 P1
>>PTP P1 FINE Vel=100% Acc=50% TOOL[0] BASE[0]
將 P1的值存到 變數pint
>> pint = P1
隨著迴圈的不同次數,有序地移動位置。
pint.X=pint.X + 50*A
pint.Y=pint.Y + 50*B
pint.Z=pint.Z + 20*C
8.定義夾爪動作
移到每次要置物的點 (會隨迴圈數字改變,同步更新位置)
>>LIN pint CONT Vel=2000mm/s Acc=50% TOOL[0] BASE[0]
夾爪向下移動15公分
>>LIN_REL{Z -150}
夾爪張開 (釋放物體)
>> $DO[1] = TRUE
等待0.5秒
>>WAIT SEC 0.5
上移15公分回到原來位置
>>LIN_REL{Z 150}
---
參考資料 :
0 留言