DoF - a Robotiq Community
Warning sign
The Dof Community was shut down in June 2023. This is a read-only archive.
If you have questions about Robotiq products please reach our support team.

I made a video for UR unstacking function. Check the comments below the video get details about the programming. The program can be downloaded here:

UR polyscope come with unstack wizard called "Seek". This function is documented in UR software manual (14.26 Command: Seek).

With this function it is possible to find the position of the part to unstack using for example the force sensor of the robot.

You can provide force sensing to your robot using a Robotiq FT300 or Copilote software.

Program description:


A variable named "count" give the number of parts to unstack. It is updated everytime a part is unstacked.

Before entering into the "destack node":

*The robot goes to a secure position above the unstacking area ("unstacking_entry").

*The gripper is closed to use the fingers to find the surface of the part to unstack.

*The zero of the force sensor is made to detect surface with good accuracy.

Setup of the "destack" node:

*"The next position is found when" the force detected by the force sensor is less than -10N.

*The item thickness is input. I would recommand to use a thickness a bit smaller than the real part.

*Check "Sequence after end" to add instruction to stop the program when the unstacking is completed.

The "StartPos" is place few mm above the first part to unstack. The robot will dive from this position until it find the fisrt part to unstack.

Setup "destack" node Direction:

*The condition use to stop searching for new part to unstack is when there is no part in the stack (count=0).

*FromPos and ToPos position are used to calculate the direction of the stack. Those points can be anywhere as fare as the direction between them is same as the stack.

Setup "destack" node unstacking process:

*StartPos is the pose where is located the robot when it found the part. This position is just on the surface of the first part to unstack.

*From StartPos, the robot moves out of the part, opens the gripper, goes down to have the part between its fingers, close the gripper to pick the part and move out of the stack.

*The number of part is the stack is updated.

*The part is placed on the table using UR palet wizard.

Setup "destack" "after end":

The "after end" section is executed when the unstacking is completed (count=0). In this program a Halt command is used to stop program execution.