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.
