Overview

This driver collaborates closely with other ROS packages:

ur_calibration

Package containing the calibration extraction program that will extract parameters for correctly parametrizing the URDF with calibration data from the specific robot.

ur_controllers

Controllers specifically made for UR manipulators.

ur_dashboard_msgs

Message packages used for the dashboard communication.

ur_moveit_config

MoveIt! configuration for a plain robot. This is good as a starting point, but for a real application you would rather create your own MoveIt! configuration package containing your actual robot environment.

ur_description (separate repository)

URDF description for UR manipulators

Feature list and roadmap

Feature

ROS2 Driver

joint-position-based control

yes

scaled joint-position-based control

yes (ur_controlers/ScaledJointTrajectoryController)

joint-velocity-based control

yes1

Cartesian position-based control

no

Cartesian twist-based control

no

Trajectory forwarding for execution on robot

yes (ur_controllers/PassthroughTrajectoryController)

reporting of tcp wrench

yes

pausing of programs

yes

continue trajectories after EM-Stop resume

yes

continue trajectories after protective stop

yes

panel interaction in between possible

yes

get and set IO states

yes (ur_controllers/GPIOController)

use tool communication forwarder on e-series

yes (Setting up the tool communication on an e-Series robot)

use the driver without a teach pendant necessary

yes

support of CB1 and CB2 robots

no

trajectory extrapolation on robot on missing packages

yes

use ROS as drop-in for TP-programs

yes

headless mode

yes (Headless mode)

extract calibration from robot

yes (ur_calibration)

send custom script commands to robot

yes (ur_controllers/GPIOController)

Reconnect on a disconnected robot

yes

Freedrive Mode

yes (ur_controllers/FreedriveModeController)

Tool Contact mode

yes (ur_controllers/ToolContactController)

Force Mode

yes (ur_controllers/ForceModeController)

1 Velocity-based joint control is implemented in the driver, the velocity-based joint trajectory controller would need tweaking of the gain parameters for each model.