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.

Hi guys,

A lot of people are aware that the FT300 sensor comes with two useful URCaps functions: the active drive toolbar and the path recording feature. However, this post aims to show you guys how the sensor can also be used in a force feedback loop for insertion applications or for assembly type applications. Following the discussion I had with @matthewd92 and @lakshmip001 on how to program a spiral motion, I decided to write a subprogram to use a spiral search to find a hole. 

First, I move in the Z axis to find the top of the part by using a force feedback loop with a force threshold in the Z axis. Once the threshold has been met, I call the subprogram for the Spiral Search. The spiral search is based on @matthewd92 code. To resume the spiral move, the x and y values of a pos are continuously incremented at a constant rate to create the spiral trajectory. While the robot is moving in the spiral motion, I am using a thread to monitor the force in the Z axis. Basically, as soon as the force in the Z axis falls below 2.5N, I trigger an event to stop the spiral movement. The robot then moves downward in the Z axis and releases the bearing into the hole. 

This subprogram can be very useful for applications that require a precise insertion or for applications that have a vision component integrated with the cell.

Here is the video of the demonstration:

P.S. The radius and angle incrementations can be adjusted to have a finer resolution for better results!


@Enric Thanks for the feedback!!

I included the files for the program that I used for this demo.  Here is an image of the spirals with various theta incrementations and various radius incrementations. 

In this demo, I used a theta_incr value of 45degrees and a radius_incr value of 0.0001meters. You can play around with these values depending on the dimensions of the part and the bore. The image above shows that by decreasing the theta_incr and the radius_incr, you can obtain a much more circular spiral move. This would be helpful for an even tighter fit between the part and the bore.

@abeachy_HG24, No it is not a dumb question. Not every insertion application needs a search type function. In this case, the fit between the bearing and the bore is quite tight and the position of the shaft in the gripper was not constant. For this reason, the bearing would not slide into the bore and the robot would use an excessive amount of force to try to push the bearing into the bore. This was causing safety stops due to the high forces during the collision between the bearing and the housing. The spiral search can also be quite useful when you are using a vision system, since there can be variations in the location of the part during the detection. By using this type of search function, you can compensate for most variations caused by the vision system, picking inaccuracies and any external disturbances to the part's location. This function lengthen your cycle time, so it should not be used unless you are having repeatability issues or difficulties inserting the part. I hope this answers your question!


@Tyler_Berryman first of all thank you for this. It's really useful to show people what is possible with our FT300.

Furthermore there has arisen a question. We changed the skript a little bit to use this not only in a 0°-degree level. Now we can also use it to a 90° level like a wall. Our next step we want is to use it on a random level which we define by 3 points. Is there a way to force the robot to stay with the tool axis (which is the same like the z-axis of the ft300) orthogonal on the random level? And is there any longer a way to force him to make a translation along this axis of the tool?