I have a UR10 CB3 robot that palletizes cardboard boxes weighing around 5 kg. The boxes have a height tolerance of about 10-15 mm, and I’m facing issues during the palletizing process.
When I create the drop points on the pallet using smaller boxes, the robot collides when larger boxes are introduced due to the difference in height. On the other hand, if I set the points for the larger boxes, the smaller boxes are dropped from a height, causing them to fall improperly. This issue worsens as we go up each layer on the pallet, with a total of 5 layers.
I’ve tried dropping the box with a vertical offset and stopping upon detecting a force, but it hasn’t worked perfectly. Has anyone faced a similar problem and found a solution?
I guess there’s a reason you don’t make two palletizing programs - one for each box?
If above is the case, then I would advise you to get used to using variables instead. It will give you many more options to work with when doing palletizing.
Use counters for X, Y and Z directions and then multiply them with the box length, width and height to achieve new positions.
It might sound a little complicated if you have not worked in variables before, but I think that’s the right way to go.
You should read up on position variables (p[x,y,z,rx,ry,rz]) and waypoint variables.
I was able to fix the same issue using a home-made seek using force, it works well on the CB3 but not at all on our e-series UR10’s. You can try something like what I did, see below. It doesn’t move super-fast, but it works for our 20 seconds/box cycle time very easily.
zPlaceForce=z+0.004 #z=calculated place position
forceset=30 # Force set point
sleep(0.02)
zero_ftsensor()
if(force()<forceset):
while force()<forceset:
zPlaceForce=zPlaceForce-0.003
PlaceForceSense= (p[x,y,zPlaceForce,RxPlace,RyPlace,RzPlace])
movel(PlaceForceSense, 0.1,0.125,0,0)
sleep(0.02)
zero_ftsensor()
end
end