Skip to content

Commit 9bd11c4

Browse files
author
Felix Exner
authored
Merge pull request #408 from UniversalRobots/staging
Adds new features to the driver: - Cartesian position-based control - Cartesian twist-based control - Trajectory forwarding for execution on robot - More documentation and examples
2 parents e9366f6 + ca2b11c commit 9bd11c4

File tree

76 files changed

+1906
-1567
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+1906
-1567
lines changed

.noetic.rosinstall

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,3 @@
22
uri: https://github.com/ros-industrial/universal_robot.git
33
local-name: universal_robot
44
version: melodic-devel-staging
5-
- git:
6-
uri: https://github.com/ros-industrial/ur_msgs.git
7-
local-name: ur_msgs
8-
version: melodic-devel

README.md

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,5 @@
11
[![Build badge](https://github.com/UniversalRobots/Universal_Robots_ROS_Driver/workflows/Industrial%20CI%20pipeline/badge.svg?branch=master&event=push)](https://github.com/UniversalRobots/Universal_Robots_ROS_Driver/actions)
22

3-
---
4-
**Beta version** available on a [separate
5-
branch](https://github.com/UniversalRobots/Universal_Robots_ROS_Driver/tree/staging) with
6-
7-
- Cartesian trajectory control
8-
- Robot-side trajectory interpolation
9-
- and more..
10-
11-
---
12-
133
# Universal_Robots_ROS_Driver
144
Universal Robots have become a dominant supplier of lightweight, robotic manipulators for industry, as well as for scientific research and education. The Robot Operating System (ROS) has developed from a community-centered movement to a mature framework and quasi standard, providing a rich set of powerful tools for robot engineers and researchers, working in many different domains.
155

@@ -80,6 +70,13 @@ If you need help using this driver, please see the ROS-category in the [UR+ Deve
8070
recovery from safety events can be done using ROS service- and action calls. See the driver's
8171
[dashboard services](ur_robot_driver/doc/ROS_INTERFACE.md#ur_robot_driver_node) and the
8272
[robot_state_helper node](ur_robot_driver/doc/ROS_INTERFACE.md#robot_state_helper) for details.
73+
* Use **on-the-robot interpolation** for both Cartesian and
74+
joint-based trajectories. This is extremely helpful if your application can
75+
not meet the real-time requirements of the driver. Special types of
76+
[passthrough
77+
controllers](https://github.com/fzi-forschungszentrum-informatik/cartesian_ros_control/tree/beta-testing/pass_through_controllers)
78+
forward the trajectories directly to the robot, which then takes
79+
care of interpolation between the waypoints to achieve best performance.
8380

8481
Please see the external [feature list](ur_robot_driver/doc/features.md) for a listing of all features supported by this driver.
8582

@@ -91,8 +88,6 @@ This repository contains the new **ur_robot_driver** and a couple of helper pack
9188
commands sent from ROS.
9289
* **ur_calibration**: Package around extracting and converting a robot's factory calibration
9390
information to make it usable by the robot_description.
94-
* **ur_controllers**: Controllers introduced with this driver, such as speed-scaling-aware
95-
controllers.
9691
* **ur_robot_driver**: The actual driver package.
9792

9893
## Requirements
@@ -256,6 +251,9 @@ sudo apt install ros-<ROS-DISTRO>-rqt-joint-trajectory-controller
256251
```
257252
where ROS-DISTRO will be replaced with your version of ROS.
258253

254+
For a more elaborate tutorial on how to get started, please see the
255+
[usage example](ur_robot_driver/doc/usage_example.md).
256+
259257
### Replacing the robot description
260258

261259
In a real-world scenario you will want to replace the robot description with a description
@@ -359,3 +357,14 @@ mode](ur-robot-driver/README.md#remote-control-mode) to accept certain calls on
359357
See [Available dashboard
360358
commands](https://www.universal-robots.com/articles/ur-articles/dashboard-server-cb-series-port-29999/)
361359
for details.
360+
361+
### Passthrough controllers: The robot does not fully reach trajectory points even though I have specified the path tolerance to be 0
362+
If you are using a control modes that forwards trajectories to the robot, currently the path tolerance is ignored. The corresponding interface on the robot and client-library level exists in the form of a "blend radius", but is not utilized by this ROS driver. For more information see this [issue](https://github.com/UniversalRobots/Universal_Robots_ROS_Driver/issues/352).
363+
364+
### Can I use the Cartesian controllers together with MoveIt!?
365+
Not directly, no. MoveIt! plans a Cartesian path and then creates a joint trajectory out of that for
366+
execution, as the common interface to robot drivers in ROS is the
367+
[FollowJointTrajectory](http://docs.ros.org/en/noetic/api/control_msgs/html/action/FollowJointTrajectory.html)
368+
action.
369+
370+
For supporting Cartesian controllers inside MoveIt! changes would have to be made to MoveIt! itself.

controller_stopper/LICENSE

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
Copyright 2019 FZI Forschungszentrum Informatik
21

32
Apache License
43
Version 2.0, January 2004

controller_stopper/include/controller_stopper/controller_stopper.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
// -- BEGIN LICENSE BLOCK ----------------------------------------------
44
// Copyright 2019 FZI Forschungszentrum Informatik
5+
// Created on behalf of Universal Robots A/S
56
//
67
// Licensed under the Apache License, Version 2.0 (the "License");
78
// you may not use this file except in compliance with the License.

controller_stopper/src/controller_stopper.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
// -- BEGIN LICENSE BLOCK ----------------------------------------------
44
// Copyright 2019 FZI Forschungszentrum Informatik
5+
// Created on behalf of Universal Robots A/S
56
//
67
// Licensed under the Apache License, Version 2.0 (the "License");
78
// you may not use this file except in compliance with the License.

controller_stopper/src/controller_stopper_node.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
// -- BEGIN LICENSE BLOCK ----------------------------------------------
44
// Copyright 2019 FZI Forschungszentrum Informatik
5+
// Created on behalf of Universal Robots A/S
56
//
67
// Licensed under the Apache License, Version 2.0 (the "License");
78
// you may not use this file except in compliance with the License.

ur_calibration/LICENSE

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
Copyright 2019 FZI Forschungszentrum Informatik
21

32
Apache License
43
Version 2.0, January 2004

ur_calibration/include/ur_calibration/calibration.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
// -- BEGIN LICENSE BLOCK ----------------------------------------------
44
// Copyright 2019 FZI Forschungszentrum Informatik
5+
// Created on behalf of Universal Robots A/S
56
//
67
// Licensed under the Apache License, Version 2.0 (the "License");
78
// you may not use this file except in compliance with the License.

ur_calibration/include/ur_calibration/calibration_consumer.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
// -- BEGIN LICENSE BLOCK ----------------------------------------------
44
// Copyright 2019 FZI Forschungszentrum Informatik
5+
// Created on behalf of Universal Robots A/S
56
//
67
// Licensed under the Apache License, Version 2.0 (the "License");
78
// you may not use this file except in compliance with the License.

ur_calibration/src/calibration.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
// -- BEGIN LICENSE BLOCK ----------------------------------------------
44
// Copyright 2019 FZI Forschungszentrum Informatik
5+
// Created on behalf of Universal Robots A/S
56
//
67
// Licensed under the Apache License, Version 2.0 (the "License");
78
// you may not use this file except in compliance with the License.

0 commit comments

Comments
 (0)