UniversalRobots/Universal_Robots_ROS_Driver
Universal Robots ROS driver supporting CB3 and e-Series
What it solves
This project provides a stable, sustainable interface between Universal Robots (UR) manipulators and the Robot Operating System (ROS), allowing developers to control industrial robot arms through a standardized software framework rather than relying solely on the robot's native teach pendant.
How it works
The driver uses the RTDE (Real-Time Data Exchange) interface for communication and integrates with ROS-control. It requires a specific URCap (External Control) to be installed on the robot's teach pendant to handle control commands sent from the ROS side. For high-precision movement, it includes a calibration package to extract factory-specific kinematics data from the robot and apply them within ROS. To ensure stability and handle the 2ms cycle time of e-Series robots, it supports running on a Linux kernel with the PREEMPT_RT patch for real-time performance.
Who it’s for
Robot engineers, researchers, and automation developers who use Universal Robots CB3 or e-Series manipulators and want to integrate them into a ROS-based ecosystem for advanced research or industrial automation.
Highlights
- Broad Compatibility: Supports all CB3 (software >= 3.14.3) and e-Series (software >= 5.9.4) robots.
- Real-time Capability: Optimized for
PREEMPT_RTkernels to maintain robust communication cycles. - Teach Pendant Integration: Allows pausing, stopping, and resuming the robot via ROS without restarting the driver.
- Remote Management: Provides ROS services to replace common teach pendant interactions, such as starting or recovering from safety events.
- Precision Calibration: Includes tools to extract factory calibration to ensure Cartesian targets are reached accurately.
- On-Robot Interpolation: Supports forwarding trajectories directly to the robot for interpolation, reducing the real-time requirements on the host PC.
Related
- Project
- Project
- Project
- Project
- Project