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.
Annick_Mottard

Hi all,

Here is an update on how we were able to find a solution for this situation:

The templates provided in versions 1.1.15 and previous of our Force Torque Sensor legacy driver package (DFU-X.X.X), as well as our first URCaps release, will recreate this kind of situation. The TCP port we normally use with UR in our templates is 63351. However, this port continuously outputs data to the controller. Thus, when a program is paused (for instance, during the safeguard stop described in this post), the thread will also be paused. During the pause, the FT Sensor would keep on sending out data through TCP port 63351 and all of those values would be kept in a buffer.  When the program is resumed, all of those values would be read by the thread. This results in a delay in the values read in the thread and the actual forces applied to the FT Sensor. We need to use the 63350 port for the FT Sensor. This port will only return values when it is asked to. 

To do all of this with a template we provided, you need to modify the program at three places : 

- In the BeforeStart section of the program, change the TCP port from the socket_open function to : socket_open("127.0.0.1", 63350, "stream")

- In the thread that gets data from the FT Sensor, add the following line right before the socket_read_ascii_float function : socket_send_string("READ DATA", "stream")

- At the very end of the thread, make sure you use the sync() function. No Wait is necessary. 

The templates provided in our legacy driver package for Robotiq's Force Torque Sensor will be updated in a future release. Note that all of the above applies to the new URCaps software for the FT Senor. The same will be updated in a future version of the sensor's URCaps. 

If you would like to know more, please leave your question or comment below!