Universal Robots Forum

Difference RTDE(30004) and RT client(30003)


I’m currently looking at two communication methods to externally control a UR5e.

  1. Sending URscipt commands from the PC and receive data, both via the real-time interface(port 30003).

  2. Use the RTDE interface(port 30004) for communication with the external device(PC).

I feel that the second option is a more elegant solution to externally control the robot however, I have trouble understanding the fundamental difference between the rtde interface and the rt interface(30003).

In the REAL-TIME DATA EXCHANGE (RTDE) GUIDE (https://www.universal-robots.com/articles/ur/real-time-data-exchange-rtde-guide/ ): “The Real-Time Data Exchange (RTDE) interface provides a way to synchronize external applications with the UR controller over a standard TCP/IP connection, without breaking any real-time properties of the UR controller.”

My guess is that with the rtde interface the external application is real-time synchronized, as in the case of the rt(30003) the external application is not rt synchronized. However, I am not sure whether this is the fundamental difference. Could anyone explain the main difference between these two options?

Regards Niek