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?

I know this post is old, but I am replying here for others with similar questions.

There is a URCap available for the FT-Axia80 sensor. It is available from both Schunk and ATI Industrial Automation. The URCap contains a function node called “Enable”. This Enable command will tell the UR to use the external F/T sensor’s data instead of the robot’s internal data. It should be run in the “Before Start” section of any program using the FT-Axia80.

There are also several other commands included in the URCap that you can access with a Script command. They must all be preceded with ati_ftsensor., as they are methods provided by the URCap, not natively available on the UR robot. For example, ati_ftsensor.get_raw_ft() will output the F/T data as read directly from the sensor. The force/torque readings are similar when using UR’s native get_tcp_force() command, but UR outputs the data in the coordinate system of the robot base. The sensor will output the data in its own coordinate frame, which aligns with the robot default TCP if you use the mechanical mounting plate provided by Schunk/ATI.

ATI provides 3 manuals about the UR Axia kit and accompanying URCap. One for installation on each UR type (CB or E), and one for programming and commands. The “UR Programming and Demo Guide” is the one to reference for Script commands that the URCap provides.