Table of Contents
Fetching ...

A ROS2 Interface for Universal Robots Collaborative Manipulators Based on ur_rtde

Alessio Saccuti, Riccardo Monica, Jacopo Aleotti

TL;DR

The paper addresses the need for a flexible ROS 2 interface to Universal Robots cobots that exposes high-level URScript commands without requiring the External Control URCap. It presents ur_ros_rtde, a ROS2 driver built on the ur_rtde library, featuring three nodes (RobotStateReceiver, CommandServer, DashBoardServer) and a plugin system that allows adding new commands and extending the robot control script. Key contributions include exposing high-level URScript commands via ROS2 actions, a scalable plugin framework with examples such as ExecuteTrajectory and MoveDownUntilForce, and an open-source release for academic and research use. Overall, this work enables high-frequency, flexible, and extensible control of UR cobots in ROS2, improving usability and reducing dependence on robot-side URCaps for experimentation and development.

Abstract

In this paper a novel ROS2 driver for UR robot manipulators is presented, based on the ur_rtde C++ library. The proposed driver aims to be a flexible solution, adaptable to a wide range of applications. The driver exposes the high-level commands of Universal Robots URScripts, and custom commands can be added using a plugin system. Several commands have been implemented, including motion execution along a waypoint-based path. The driver is published as open source.

A ROS2 Interface for Universal Robots Collaborative Manipulators Based on ur_rtde

TL;DR

The paper addresses the need for a flexible ROS 2 interface to Universal Robots cobots that exposes high-level URScript commands without requiring the External Control URCap. It presents ur_ros_rtde, a ROS2 driver built on the ur_rtde library, featuring three nodes (RobotStateReceiver, CommandServer, DashBoardServer) and a plugin system that allows adding new commands and extending the robot control script. Key contributions include exposing high-level URScript commands via ROS2 actions, a scalable plugin framework with examples such as ExecuteTrajectory and MoveDownUntilForce, and an open-source release for academic and research use. Overall, this work enables high-frequency, flexible, and extensible control of UR cobots in ROS2, improving usability and reducing dependence on robot-side URCaps for experimentation and development.

Abstract

In this paper a novel ROS2 driver for UR robot manipulators is presented, based on the ur_rtde C++ library. The proposed driver aims to be a flexible solution, adaptable to a wide range of applications. The driver exposes the high-level commands of Universal Robots URScripts, and custom commands can be added using a plugin system. Several commands have been implemented, including motion execution along a waypoint-based path. The driver is published as open source.

Paper Structure

This paper contains 9 sections, 4 figures, 1 table.

Figures (4)

  • Figure 1: Diagram of ur_ros_rtde.
  • Figure 2: Digital twin of a UR cobot.
  • Figure 3: Snippet for OnRobot sg_grip method (yellow background) and corresponding C++ code (blue background).
  • Figure 4: Forces (top) and joints' velocities (bottom) in the experiment with the MoveDownUntilForce plugin. Blue and red dots highlight the instants in which the force exceeded the threshold. At the first two instants (blue dots) the force was ignored since the force direction is not along the flange Z-axis.