Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

Pick up one box from a grid of boxes, at runtime

#8
That's also a valid option. I know it sounds awful, and I've been preaching for us to have a variable-based way of programming, but it won't happen tomorrow.

One thing you can do is to use Python to automatically create your 64 programs though.
Something like that:

Code:
from robodk import robolink # RoboDK API
from robodk import robomath # Robot toolbox

# Link to RoboDK
RDK = robolink.Robolink()

column = 8
row = 8
distance_x = 10
distance_y = 10
app_height = 100

RDK.Command("AddFolder", "Folder Pick Programs")

ref_target = RDK.Item("My_Reference_Target",robolink.ITEM_TYPE_TARGET)
ref_frame = RDK.Item("My_Reference_Frame",robolink.ITEM_TYPE_FRAME)
gripper = RDK.Item("My_Gripper",robolink.ITEM_TYPE_TOOL)
folder_prog = RDK.Item("Folder Pick Programs",robolink.ITEM_TYPE_FOLDER)

for i in range(column):
for j in range(row):
new_target = RDK.AddTarget("Pick_Target_"+str(i)+"_"+str(j),ref_frame)
new_target_pose = robomath.Offset(ref_target.Pose(),i*distance_x,j*distance_y,0)
new_target.setPose(new_target_pose)
new_target_app = RDK.AddTarget("App_Target_"+str(i)+"_"+str(j),ref_frame)
new_target_app_pose = robomath.Offset (new_target.Pose(),0,0,app_height)
new_target_app.setPose(new_target_app_pose)

new_prog = RDK.AddProgram("Pick_"+str(i)+"_"+str(j))
new_prog.setParent(folder_prog)
new_prog.setTool(gripper)
new_prog.setFrame(ref_frame)
new_prog.MoveJ(new_target_app)
new_prog.MoveL(new_target)
new_prog.MoveL(new_target_app)


Attached Files
.py Create array Prog.py(Size: 1.6 KB / Downloads: 112)
Find useful information about RoboDK and its features by visiting ourOnline Documentationand by watching tutorials on ourYoutube Channel.




Messages In This Thread
RE: Pick up one box from a grid of boxes, at runtime - byJeremy- 03-30-2022, 08:25 PM



Users browsing this thread:
1 Guest(s)