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.
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/
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
:warning: 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 | ✅ | :x: | :x: | :x: | :x: | ✅ | ✅ | ✅ | ✅ | ✅ |
CPython 3.7 | ✅ | :x: | ✅ | :x: | :x: | ✅ | ✅ | ✅ | ✅ | ✅ |
CPython 3.8 | ✅ | :x: | ✅ | :x: | :x: | ✅ | ✅ | ✅ | ✅ | ✅ |
CPython 3.9 | ✅ | :x: | ✅ | :x: | ✅¹ | ✅ | ✅ | ✅ | ✅ | ✅ |
CPython 3.10 | ✅ | :x: | ✅ | :x: | ✅¹ | ✅ | ✅ | ✅ | ✅ | ✅ |
CPython 3.11 | ✅ | :x: | ✅ | :x: | ✅¹ | ✅ | ✅ | ✅ | ✅ | ✅ |
CPython 3.12 | ✅ | :x: | ✅ | :x: | ✅¹ | ✅ | ✅ | ✅ | ✅ | ✅ |
PyPy 3.7 v7.3 | ✅ | :x: | ✅ | :x: | :x: | ✅ | ✅ | ✅ | :x: | :x: |
PyPy 3.8 v7.3 | ✅ | :x: | ✅ | :x: | :x: | ✅ | ✅ | ✅ | :x: | :x: |
PyPy 3.9 v7.3 | ✅ | :x: | ✅ | :x: | :x: | ✅ | ✅ | ✅ | :x: | :x: |
¹ 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 16.04 (Xenial Xerus)
- Ubuntu 18.04 (Bionic Beaver)
- Ubuntu 20.04 (Focal Fossa)
- Ubuntu 22.04 (Jammy Jellyfish)
- macOS 10.14 (Mojave)
- 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.