Simple Pallet Example
Last updated
Last updated
HMI Panel File
Robot Program File
# pick and place simulation on two pallets
picking = False
placing = False
buffering = False
pick_status = [True, True, True, True, True, True, True, True, True]
place_status = [False, False, False, False, False, False, False, False, False]
# positions on the pallets
pick_positions = [p[0.393, -0.755, 0.391, -2.22, 2.22, 0.00],
p[-0.177, -0.553, 0.391, -0.00, 3.14, 0.00],
p[-0.177, -0.956, 0.391, -0.00, 3.14, 0.00],
p[0.195, -0.553, -0.010, -0.00, 3.14, 0.00],
p[0.195, -0.956, -0.010, -0.00, 3.14, 0.00],
p[-0.375, -0.754, -0.010, -2.22, 2.22, 0.00],
p[-0.164, -0.956, -0.412, -0.00, 3.14, -0.00],
p[-0.164, -0.568, -0.412, -0.00, 3.14, 0.00],
p[0.394, -0.766, -0.412, -2.22, 2.22, 0.00]]
place_positions = [p[0.393, 0.755, -0.409, -2.22, 2.22, -0.00],
p[-0.177, 0.553, -0.409, -0.00, 3.14, 0.00],
p[-0.177, 0.956, -0.409, -0.00, 3.14, 0.00],
p[0.195, 0.553, -0.010, -0.00, 3.14, 0.00],
p[0.195, 0.956, -0.010, -0.00, 3.14, 0.00],
p[-0.375, 0.754, -0.010, -2.22, 2.22, 0.00],
p[-0.164, 0.956, 0.388, -0.00, 3.14, -0.00],
p[-0.164, 0.568, 0.388, -0.00, 3.14, 0.00],
p[0.394, 0.766, 0.388, -2.22, 2.22, 0.00]]
# motion functions
def pick():
picking = True
placing = False
buffering = False
pick_status[i] = False
movej(pose_trans(pick_positions[i], p[0, 0, -0.6, 0, 0, 0]))
movel(pick_positions[i])
movel(pose_trans(pick_positions[i], p[0, 0, -0.6, 0, 0, 0]))
end
def place():
picking = False
placing = True
buffering = False
place_status[i] = True
movej(pose_trans(place_positions[i], p[0, 0, -0.5, 0, 0, 0]))
movel(place_positions[i])
movel(pose_trans(place_positions[i], p[0, 0, -0.5, 0, 0, 0]))
end
def buffer():
picking = False
placing = False
buffering = True
movej([0.08, -1.86, -1.40, -1.45, 1.57, 0.08])
end
def home():
movej([0.08, -1.86, -1.40, -1.45, 1.57, 0.08])
end
# main loop program
i = 0
while i < 9:
home()
pick()
buffer()
place()
i = i + 1
end