Skip to content

Repository files navigation

 

build status pypi DOI:10.1109/SII59315.2025.10871000
ps-3.12.1 ps-3.15.8 ps-5.5.1 ps-5.17.3

A C++ interface for controlling and receiving data from a UR robot using the Real-Time Data Exchange (RTDE) interface of the robot. The interface can also be used with python, through the provided python bindings.

[!tip] Announcements

  • PolyScopeX is now supported, when using the External Control UR Cap for PolyScopeX 🚀
  • Control the robot joint torques directly using directTorque() and get the robot Mass matrix, Jacobian, Coriolis and centrifugal forces. (From PolyScope 5.23)

Key Features

  • Fast and lightweight interface for programming UR robots.
  • Uses the Real-Time Data Exchange (RTDE) of the robot.
  • Execute with real-time priority on operating systems with a real-time kernel, see the Real-time Setup Guide
  • Available on multiple platforms (Linux, Windows, macOS)
  • Can be used from C++ and Python.
  • Relies only on STL datatypes and can be used with various robot frameworks.
  • Switchable register range (FieldBus / PLC [0..23] or external clients range [24..47])
  • Use it with the UR's ExternalControl UR Cap, download it here see how to install it on the robot here. In order to setup ur_rtde for using it see here.
  • Easy to install and setup.

Documentation

Documentation with installation and build instructions, examples and API resides at https://sdurobotics.gitlab.io/ur_rtde/

How to Cite

If you use ur_rtde in your research, please cite this paper:

@inproceedings{10871000,
  author={Lindvig, Anders Prier and Iturrate, Iñigo and Kindler, Uwe and Sloth, Christoffer},
  booktitle={2025 IEEE/SICE International Symposium on System Integration (SII)},
  title={ur_rtde: An Interface for Controlling Universal Robots (UR) using the Real-Time Data Exchange(RTDE)}, year={2025}, pages={1118-1123}, keywords={Protocols;Linux;C++ languages;System integration;Writing;Manipulators;Real-time systems;Libraries;Timing;MATLAB},
  doi={10.1109/SII59315.2025.10871000}}

Quick Install

From PPA:

If you are on Ubuntu, you can install ur_rtde with:

sudo add-apt-repository ppa:sdurobotics/ur-rtde
sudo apt-get update
sudo apt install librtde librtde-dev

From PyPi:

If you only want to the use the Python interface, you can install ur_rtde through pip:

pip3 install ur_rtde

⚠️ Notice! Make sure your pip version >=19.3, otherwise the install might fail.

Prebuilt python wheels support matrix:

macOS Intel macOS Apple Silicon Windows 64bit Windows 32bit Windows Arm64 manylinux x86_64 manylinux i686 manylinux aarch64 manylinux ppc64le manylinux s390x
CPython 3.6
CPython 3.7
CPython 3.8
CPython 3.9 ✅¹
CPython 3.10 ✅¹
CPython 3.11 ✅¹
CPython 3.12 ✅¹
PyPy 3.7 v7.3
PyPy 3.8 v7.3
PyPy 3.9 v7.3

¹ Windows arm64 support is experimental.

Dependencies

Compatible Robots

  • All CB-Series from CB3/CB3.1 software 3.3
  • All e-Series

Compatible Operating Systems

Currently tested on:

  • Ubuntu 20.04 (Focal Fossa)
  • Ubuntu 22.04 (Jammy Jellyfish)
  • Ubuntu 24.04 (Noble Numbat)
  • macOS 15 (Sequoia)
  • Windows 10 Pro x64

Contact

If you have any questions or suggestions to the interface, feel free to contact Anders Prier Lindvig anpl@mmmi.sdu.dk or create an issue here.

About

A fork of https://gitlab.com/sdurobotics/ur_rtde with modern boost support

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages