Universal Robots Forum

Implement External Force/Torque sensor FT-AXIA 80 in customscript

Hi,

I have a robot.script file running on one of our UR10e robots and use an external computer connected via RTDE to control the robot and since we just bought a FT-AXIA 80 force torque sensor by SCHUNK, I would like to receive its data on my computer through that RTDE connection. According to some documentation, this should be possible by overriding the control box’s internal force data and using the “actual_TCP_force” variable.

Nevertheless, I found a lot of information on how to develop a URCAPS with an RTDE client but how do you actually use an existing URCAPS for that sensor to override the internal force data of the UR such that I can get the force data even when just my robot.script is running?

I should mention that I am very new to URCAPS, but as far as I understood it, it is just a .script file running such that it’s functionality is not available in my custom script.

Thanks in advance,
Max

EDIT: When I created an .urp file that includes some of the functions of the URCAP and saved it, I was able to take a look at the generated .script file. Inside I found of course the commands I was asking for and also the whole URCAPS. So if I am not mistaken, I have to copy the URCAPS into my script to be able to use the functions? Is there some “smarter” alternative, because the URCAPS itself has about 1500 lines of code

1 Like

Okay, I found a bug, fixed it, am still confused, but it is working now. Let me explain:

When I executed one of the provided demo programs for the sensor with the corresponding URCAPS installed, the sensor was already attached to the robot. The program worked perfectly fine, but what I didn’t notice: the force data actually came from the internal force measurements of the UR and not the sensor. This led to the wrong conclusion that the force sensor was actually working. The force sensor did not work because I messed up the IP configuration of the sensor such that the control box did not receive anything from the sensor and instead used its internal force measurements.

After I corrected the IP configuration of the sensor, it started working. More than that, I am now able to receive the force sensor’s data instead of the internal force sensor’s through the RTDE variable “actual_TCP_force”. I believe that this is possible because of the installed URCAPS of the sensor since I did not change anything else.

But I am still confused about the working principle of URCAPS: as long as they are installed, they are part of the installation file of the control box hence already “active”? But I still do not know how to excess the functionality of the URCAPS inside my own custom script.

Thanks.

EDIT: I am getting even more confused now. After a restart, the external sensor is not over writing the internal force sensor anymore. I had to run a program containing functions of the corresponding URCAPS.
I understand it like the registers to over write the internal force sensor is written temporarily and reset after a reboot?