Universal Robots Forum

RTDE - Move Joints not TCP. Also, URP Source?

I have successfully translated the RTDE Python code included in the RTDE guide into a C# socket module.

However, there is a lot of documentation missing about what the Input variables do. In the Python code, through experimentation I was able to learn that the 6 double values represent Cartesian XYZ position and Radial XYZ orientation.

What we really want to do is control the individual joint rotations, not the Tool Control Point (TCP).

This is so we can plan our own IK and pathfinding solutions. The URP file that is distributed with the guide is a binary file. Could we get access to the original script to modify it? Also, the fact the script stops running if the watchdog value isn’t set quick enough can cause issues, especially for debugging.

In summary, my requests in order of importance:
Access or way to modify the RTDE URP script.
If that is not possible, a way to control the joint positions via RTDE.
A way to disable the script stop so that debugging is easier.
More documentation on what the RTDE Input parameters do.

Thank you!

So, I figured out how to load the URP on the robot itself. That largely solves my problem above, I just need to become familiar with the API.

Is there an editor for these files for the desktop? Even a Notepad++ Extension?

Is there documentation on the UR Script API?

Hi Brad,
The answer might be too late for you, but it might be helpfull for other users.

To download the URScript documentation (called Script manual), follow this link :

You can send data as input_float or input_integer to your robot and then use them on your URScript to control your robot.
To get the data on your URScript use these funtions read_input_integer_register() and read_input_float_register().

Float and integer are not the only types available.

Then you can control the joint position of the robot with servoj().