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.

For rotation symmetric object (like gear), there are several different orientation that can be detected by the camera.

It can cause annoying situation with the gripper approaching from a random direction to pick the object.


Here is a proposal to control picking approach of rotation symmetric objects.

1/Define working plan referential

The referential of the working plan is used to calculate object orientation angle.

2/Define object referential with the camera (mode 0)

When detecting an object the camera set the object referential. It can be accessed through the variable “object_location”.

3/Define object center relative to object referential (mode 1)

Defining the position of the center of the object helps to change the orientation of its referential.

The object referential used by the camera is the mass center of edges which in most of the case is not the center of the object.

We manually teach the robot the position of the object center relative to the edge mass center. Like this the robot will be able to provide the position of the object center when it is detected by the camera.

3/Define the picking position relative to object center (mode 2)

4/Measure the orientation of the object center according to working plan referential. (mode 3)

5/Adjust object center orientation (mode 3)

The object center orientation is adjusted to pick from the desired orientation.


6/Pick the object (mode 3)

The program is build to run in several different mode. Each mode run one after the other. The program stop after executing a mode. This allow robot manipulation between each program execution.

An installation variable called “mode” is used to define the execution mode of the program.

  • Mode=0: The robot detect the object and save its referential.
  • Mode=1 : The robot register the current TCP position as object center relative to object referential. Then the robot switch to mode=1 and stop.
  • Mode=2 : The robot register the current TCP position as the picking point relative to object center. Then the robot switch to mode=2 and stop.
  • Mode=3 : The robot execute the picking.

A feature plan representing the working plan is define before the execution of the program.

Here below are program features:


Here below are installation variables:


Here below is the program:



Here are program files.