Universal Robots Forum

URx Library vs. ROS driver?

This library provides Python access to a UR arm.

This library provides a ROS driver for a UR arm.

Why do you need the driver? How do you choose between the library the library? What’s the difference?

Depends on how you are writing your program. The python library allows you to control a UR with a python program. The other library is if you are using ROS to control the robot.

It depends on what you need.

The Universal_Robots_ROS_Driver is good at providing an interface to the robot from the ROS side.
The same goes for the Universal_Robots_ISAAC_Driver providing an interface to the Nvidia ISAAC sdk.
Both of them are/will be based on the Universal_Robots_Client_Library.
Universal_Robots_Client_Library is a a C++ library providing basic functionality to communicate with the robot.
We are also working on a ROS2 version with are also based on this library, hopefully we will soon have a beta version ready with some basic functionalities.

If you would like to play a bit with the robot using python, maybe the ur_rtde packet could also be interesting. It is a Library made and maintained by the University of Southern Denmark for there research in mind. See https://sdurobotics.gitlab.io/ur_rtde/index.html

Both the ROS and ur_rtde support the ExternalControl_URCap. The external control is a URCap that enables you use the external programmed behavior into the UR node program. Enable you to combine the to worlds.
Maybe look at this video from 2019 where we release the first version: https://youtu.be/EfEfkXUJwP8?t=45