Universal Robots ROS-Industrial Driver

ROS Control
February 14, 2019
roScan
February 14, 2019

Universal Robots has become a dominant provider of lightweight, robotic manipulators for industry, as well as for scientific research and education. Currently, there is no recommendable ROS driver for the UR robot family.

With the release of Universal Robots new e-Series, the demand for a ROS driver that supports the new manipulators and the newest ROS releases are even higher. The goal of this FTP are to develop a high performing, stable and sustainable interface between UR robots and ROS, that will enable all robot features that can be exploited within the current ROS Industrial driver paradigm.

From June 22th, the driver are released to a global beta-program with more than 30 eager beta-testers – All trying hard to push the limits of the driver, find bugs and help us improve performance.

+++ See also public announcement on ROS dscourse as of October 09, 2019 +++

We are delighted to announce, that we have launched a Universal Robots backed ROS driver!

Robot Operating System (ROS) is widely used within the industrial research and educational field, for exploring robot technology, or for developing advanced systems. Since the beginning of UR, clever minds in the research field have developed 3rd party drivers, enabling the ROS community to communicate with UR robots for various purposes. Impressively, more than 200 different forks of UR-compatible drivers filled up the ROS landscape. However UR has never supported nor developed any of these drivers. Until now!

With so many community developed ROS-drivers in the landscape, it became difficult to find out which fork had the latest features, supported the right version of your UR software, or utilized the UR functionality in the best way. To mitigate these issues, and ensure that a solid driver utilizing all the best feats of the UR was available, we partnered with the German research institute FZI 4 to cooperate on the development of an ROS driver that is backed by UR to ensure its stability and robustness.

Overview

The new ROS driver provides a number of key benefits:

  • Ease of use
    For ROS users, the driver provides an easy and plug’n’play use of UR robots.
  • Performance
    The ROS driver utilizes all the key features of the UR robot to achieve state of the art performance.
    It provides an industrial grade interface to the best extent allowed by current ROS practice.
    The driver includes the specific robot’s factory calibration data for improved accuracy.
  • Stability
    The driver is built on stable and versioned API’s, and is integrated into UR’s continuous testing engine for assured quality.
  • Community
    The driver will remain open-source and rely on future community contributions.

The ROS driver is provided through UR’s GitHub account, which allows for open collaboration within the ROS community.
There are two modes of operation for the driver:

  1. Remote Control
    Target Audience: easy programming research, embedding in OEM systems.
    In this mode, the driver works like classic ROS drivers, assuming full remote control of the robot without interaction on the teach pendant.
  2. ROS usage in URCap
    Target Audience: Developers of vision systems, force/torque control, picking algorithms or similar products, which integrate with ROS.
    In this mode, a sample URCap enables ROS control only where it is needed in the UR program. In this way it enables easier integration with ROS compatible devices into UR applications. It further enables commercialization of cutting edge technologies based on ROS.

Get started

Go check out the new ROS driver today;

Furthermore, you can check out the two accompanying URCap implementations;

What’s new?

@fmauch wrote up a good summary comparing the ur_modern_driver to the new driver:

Support and issues

If you encounter issues or bugs using the ROS driver, please use the Issue-reporting system for the respective GitHub repository.
Should you have questions to using the ROS driver, or general support requests, please use the ROS category in the Universal Robots+ community 2.