mirror of
https://gitlab.com/obbart/universal_robots_ros_driver.git
synced 2026-04-10 10:00:48 +02:00
Merge branch 'update_documentation' into release
This commit is contained in:
82
README.md
82
README.md
@@ -74,59 +74,12 @@ For using the *ur_rtde_driver* with a real robot you need to install the
|
||||
**Note**: For installing this URCap a minimal PolyScope version of 3.7 or 5.1 (in case of eSeries) is
|
||||
necessary.
|
||||
|
||||
To install it you first have to copy it to the robot's **programs** folder which can be done either
|
||||
via scp or using a USB stick. The installation process is similar for CB3 and eSeries robots and
|
||||
will be shown side-to-side in this guide.
|
||||
For installing the necessary URCap and creating a program, please see the individual tutorials on
|
||||
how to [setup a CB3 robot](ur_rtde_driver/doc/install_urcap_cb3.md) or how to [setup an e-Series
|
||||
robot](ur_rtde_driver/doc/install_urcap_e_series.md).
|
||||
|
||||
<tr>
|
||||
<td> <img src="ur_rtde_driver/doc/initial_setup_images/cb3_01_welcome.png" alt="Welcome screen of CB3" style="width: 45%;"/> </td>
|
||||
<td> <img src="ur_rtde_driver/doc/initial_setup_images/es_01_welcome.png" alt="Welcome screen of eSeries" style="width: 45%;"/> </td>
|
||||
</tr>
|
||||
|
||||
On the welcome screen select *Setup Robot* and then *URCaps* to enter the URCaps installation screen
|
||||
(For eSeries click on the hamburger menu in the top-right corner to get to the setup menu). There,
|
||||
click the little plus sign at the bottom to open the file selector. There you should see all urcap
|
||||
files stored inside the robot's programs folder or a plugged USB drive. Select and open the
|
||||
**externalcontrol-1.0.urcap** file and click *open*. Your URCaps view should now show the
|
||||
**External Control** in the list of active URCaps and a notification to restart the robot. Do that
|
||||
now.
|
||||
|
||||
<tr>
|
||||
<td> <img src="ur_rtde_driver/doc/initial_setup_images/cb3_05_urcaps_installed.png" alt="URCaps screen with installed
|
||||
urcaps" style="width: 45%;"/> </td>
|
||||
<td> <img src="ur_rtde_driver/doc/initial_setup_images/es_05_urcaps_installed.png" alt="URCaps screen with installed
|
||||
urcaps" style="width: 45%;"/> </td>
|
||||
</tr>
|
||||
|
||||
After the reboot you should find the **External Control** URCaps inside the *Installation* section.
|
||||
For this select *Program Robot* on the welcome screen, select the *Installation* tab and select
|
||||
**External control** from the list.
|
||||
|
||||
<tr>
|
||||
<td> <img src="ur_rtde_driver/doc/initial_setup_images/cb3_07_installation_excontrol.png" alt="Installation screen of URCaps" style="width: 45%;"/> </td>
|
||||
<td> <img src="ur_rtde_driver/doc/initial_setup_images/es_07_installation_excontrol.png" alt="Installation screen of URCaps" style="width: 45%;"/> </td>
|
||||
</tr>
|
||||
|
||||
Here you'll have to setup the IP address of the external PC which will be running the ROS driver.
|
||||
Note that the robot and the external PC have to be in the same network, ideally in a direct
|
||||
connection with each other to minimize network disturbances. The custom port should be left
|
||||
untouched for now.
|
||||
|
||||
To use the new URCaps, create a new program and insert the **External Control** program node into
|
||||
the program tree:
|
||||
|
||||
<tr>
|
||||
<td> <img src="ur_rtde_driver/doc/initial_setup_images/cb3_10_prog_structure_urcaps.png" alt="Insert the external control node" style="width: 45%;"/> </td>
|
||||
<td> <img src="ur_rtde_driver/doc/initial_setup_images/es_10_prog_structure_urcaps.png" alt="Insert the external control node" style="width: 45%;"/> </td>
|
||||
</tr>
|
||||
|
||||
If you click on the *command* tab again, you'll see the settings entered inside the *Installation*.
|
||||
Check that they are correct, then save the program.
|
||||
|
||||
<tr>
|
||||
<td> <img src="ur_rtde_driver/doc/initial_setup_images/cb3_11_program_view_excontrol.png" alt="Program view of external control" style="width: 45%;"/> </td>
|
||||
<td> <img src="ur_rtde_driver/doc/initial_setup_images/es_11_program_view_excontrol.png" alt="Program view of external control" style="width: 45%;"/> </td>
|
||||
</tr>
|
||||
To setup the tool communication on an e-Series robot, please consider the [tool communication setup
|
||||
guide](ur_rtde_driver/doc/setup_tool_communication.md).
|
||||
|
||||
### Prepare the ROS PC
|
||||
For using the driver make sure it is installed (either by the debian package or built from source
|
||||
@@ -178,15 +131,24 @@ To create a new package, go to your catkin_workspace's src folder and call
|
||||
|
||||
It is recommended to adapt the new package's *package.xml* with a meaningful description.
|
||||
|
||||
#### Start the robot driver
|
||||
#### Quick start
|
||||
Once the driver is built and the **externalcontrol** URCap is installed on the robot, you are good
|
||||
to go ahead starting the driver. (**Note**: We do recommend, though, to calibrate your robot first.)
|
||||
|
||||
To actually start the robot driver use one of the existing launchfiles
|
||||
|
||||
$ roslaunch ur_rtde_driver <robot_type>_bringup.launch robot_ip:=192.168.56.101 \
|
||||
|
||||
where **<robot_type>** is one of *ur3, ur5, ur10, ur3e, ur5e, ur10e*. Note that in this example we
|
||||
load the calibration parameters for the robot "ur10_example".
|
||||
|
||||
If you calibrated your robot before, pass that calibration to the launch file:
|
||||
|
||||
$ roslaunch ur_rtde_driver <robot_type>_bringup.launch robot_ip:=192.168.56.101 \
|
||||
kinematics_config:=$(rospack find ur_calibration)/etc/ur10_example_calibration.yaml
|
||||
|
||||
where **<robot_type>** is one of *ur3, ur5, ur10, ur3e, ur5e, ur10e*. Note that in this example we
|
||||
load the calibration parameters for the robot "ur10_example". If the parameters in that file don't
|
||||
match the ones reported from the robot, the driver will output an error during startup.
|
||||
If the parameters in that file don't match the ones reported from the robot, the driver will output
|
||||
an error during startup, but will remain usable.
|
||||
|
||||
For more information on the launchfile's parameters see its own documentation.
|
||||
|
||||
@@ -195,16 +157,14 @@ execute it. From that moment on the robot is fully functional. You can make use
|
||||
function or even stop the program. Simply press the play button again and the ROS driver will
|
||||
reconnect.
|
||||
|
||||
#### Use the action server
|
||||
After starting up the robot as described in the last section a scaled position based trajectory
|
||||
controller is started. It's action-server is located at
|
||||
To control the robot using ROS, use the action server on
|
||||
|
||||
```bash
|
||||
/scaled_pos_traj_controller/follow_joint_trajectory
|
||||
```
|
||||
|
||||
Use this with any client interface such as MoveIt! or simply the joint_trajectory_controller rqt
|
||||
gui:
|
||||
Use this with any client interface such as [MoveIt!](https://moveit.ros.org/) or simply the
|
||||
`rqt_joint_trajectory_controller` gui:
|
||||
|
||||
```
|
||||
rosrun rqt_joint_trajectory_controller rqt_joint_trajectory_controller
|
||||
|
||||
34
ur_rtde_driver/doc/features.md
Normal file
34
ur_rtde_driver/doc/features.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# Feature comparison and roadmap
|
||||
|
||||
| Feature | ur_modern_driver | this_driver |
|
||||
| --- | --- | --- |
|
||||
| position-based control | yes | yes |
|
||||
| scaled position-based control | - | yes |
|
||||
| velocity-based control | yes | planned |
|
||||
| reporting of tcp wrench | yes | yes |
|
||||
| reporting of tcp wrench in tcp link | - | yes |
|
||||
| pausing of programs | - | yes |
|
||||
| continue trajectories after EM-Stop resume | - | yes |
|
||||
| continue trajectories after protective stop | - | yes |
|
||||
| panel interaction in between possible | no<sup>1</sup> | yes |
|
||||
| get and set IO states | yes | yes |
|
||||
| use tool communication on e-series | - | yes |
|
||||
| use the driver without a teach pendant necessary | - | planned |
|
||||
| support of CB2 robots | yes | - |
|
||||
| trajectory extrapolation on robot on missing packages | no<sup>2</sup> | yes |
|
||||
| use ROS as drop-in for TP-programs | - | yes |
|
||||
| extract calibration from robot | - | yes |
|
||||
| send custom script commands to robot | yes | yes |
|
||||
| ROS 2 support | ? | (planned)<sup>3</sup> |
|
||||
| Reconnect on a disconnected robot | yes | yes |
|
||||
|
||||
<sup>1</sup> Depending on the mode the driver is running the panel won't react or using the panel
|
||||
will stop the program without notifying the ROS user.
|
||||
|
||||
<sup>2</sup> In velocity mode this is implicitly given.
|
||||
|
||||
<sup>3</sup> There is no specific plan to do this inside of the first driver development. However,
|
||||
it is structured in a way so that a ROS2 driver should be developed as easy as possible by keeping
|
||||
as much as possible in a ros-independent library.
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 61 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 40 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 64 KiB |
44
ur_rtde_driver/doc/install_urcap_cb3.md
Normal file
44
ur_rtde_driver/doc/install_urcap_cb3.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# Installing a URCap on a CB3 robot
|
||||
|
||||
For using the *ur_rtde_driver* with a real robot you need to install the
|
||||
**externalcontrol-1.0.urcap** which can be found inside the **resources** folder of this driver.
|
||||
|
||||
**Note**: For installing this URCap a minimal PolyScope version of 3.7 is necessary.
|
||||
|
||||
To install it you first have to copy it to the robot's **programs** folder which can be done either
|
||||
via scp or using a USB stick.
|
||||
|
||||
On the welcome screen select *Setup Robot* and then *URCaps* to enter the URCaps installation
|
||||
screen.
|
||||
|
||||

|
||||
|
||||
There, click the little plus sign at the bottom to open the file selector. There you should see
|
||||
all urcap files stored inside the robot's programs folder or a plugged USB drive. Select and open
|
||||
the **externalcontrol-1.0.urcap** file and click *open*. Your URCaps view should now show the
|
||||
**External Control** in the list of active URCaps and a notification to restart the robot. Do that
|
||||
now.
|
||||
|
||||

|
||||
|
||||
After the reboot you should find the **External Control** URCaps inside the *Installation* section.
|
||||
For this select *Program Robot* on the welcome screen, select the *Installation* tab and select
|
||||
**External Control** from the list.
|
||||
|
||||

|
||||
|
||||
Here you'll have to setup the IP address of the external PC which will be running the ROS driver.
|
||||
Note that the robot and the external PC have to be in the same network, ideally in a direct
|
||||
connection with each other to minimize network disturbances. The custom port should be left
|
||||
untouched for now.
|
||||
|
||||

|
||||
|
||||
To use the new URCaps, create a new program and insert the **External Control** program node into
|
||||
the program tree
|
||||
|
||||

|
||||
|
||||
If you click on the *command* tab again, you'll see the settings entered inside the *Installation*.
|
||||
Check that they are correct, then save the program. Your robot is now ready to be used together with
|
||||
this driver.
|
||||
43
ur_rtde_driver/doc/install_urcap_e_series.md
Normal file
43
ur_rtde_driver/doc/install_urcap_e_series.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# Installing a URCap on a s-Series robot
|
||||
|
||||
For using the *ur_rtde_driver* with a real robot you need to install the
|
||||
**externalcontrol-1.0.urcap** which can be found inside the **resources** folder of this driver.
|
||||
|
||||
**Note**: For installing this URCap a minimal PolyScope version of 5.1 is necessary.
|
||||
|
||||
To install it you first have to copy it to the robot's **programs** folder which can be done either
|
||||
via scp or using a USB stick.
|
||||
|
||||
On the welcome screen click on the hamburger menu in the top-right corner and select *Settings* to enter the robot's setup. There select *System* and then *URCaps* to enter the URCaps installation screen.
|
||||
|
||||

|
||||
|
||||
There, click the little plus sign at the bottom to open the file selector. There you should see
|
||||
all urcap files stored inside the robot's programs folder or a plugged USB drive. Select and open
|
||||
the **externalcontrol-1.0.urcap** file and click *open*. Your URCaps view should now show the
|
||||
**External Control** in the list of active URCaps and a notification to restart the robot. Do that
|
||||
now.
|
||||
|
||||

|
||||
|
||||
After the reboot you should find the **External Control** URCaps inside the *Installation* section.
|
||||
For this select *Program Robot* on the welcome screen, select the *Installation* tab and select
|
||||
**External Control** from the list.
|
||||
|
||||

|
||||
|
||||
Here you'll have to setup the IP address of the external PC which will be running the ROS driver.
|
||||
Note that the robot and the external PC have to be in the same network, ideally in a direct
|
||||
connection with each other to minimize network disturbances. The custom port should be left
|
||||
untouched for now.
|
||||
|
||||

|
||||
|
||||
To use the new URCaps, create a new program and insert the **External Control** program node into
|
||||
the program tree
|
||||
|
||||

|
||||
|
||||
If you click on the *command* tab again, you'll see the settings entered inside the *Installation*.
|
||||
Check that they are correct, then save the program. Your robot is now ready to be used together with
|
||||
this driver.
|
||||
48
ur_rtde_driver/doc/setup_tool_communication.md
Normal file
48
ur_rtde_driver/doc/setup_tool_communication.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# Setting up the tool communication on an e-Series robot
|
||||
The Universal Robots e-Series provides an rs485 based interface at the tool flange that can be used
|
||||
to attach an rs485-based device to the robot's tcp without the need to wire a separate cable along
|
||||
the robot.
|
||||
|
||||
This driver enables forwarding this tool communication interface to an external machine for example
|
||||
to start a device's ROS driver on a remote PC.
|
||||
|
||||
This document will guide you through installing the URCap needed for this and setting up your ROS
|
||||
launch files to utilize the robot's tool communication.
|
||||
|
||||
## Robot setup
|
||||
For setting up the robot, please install the **rs485-1.0.urcap** found in the **resources** folder.
|
||||
Installing a URCap is explained in the [setup guide](install_urcap_e_series.md) for the **external-control** URCap.
|
||||
|
||||
After installing the URCap the robot will expose its tool communication device to the network.
|
||||
|
||||
## Setup the ROS side
|
||||
In order to use the tool communication in ROS, simply pass the correct parameters to the bringup
|
||||
launch files:
|
||||
|
||||
```bash
|
||||
$ roslaunch ur_rtde_driver ur<3|5|10>e_bringup.launch \
|
||||
use_tool_communication:=true \
|
||||
tool_voltage:=24 \ # can be 0, 12 or 24
|
||||
tool_parity:=0 \ # 0: none, 1: odd, 2: even
|
||||
tool_baud_rate:=115200 \
|
||||
tool_stop_bits:=1 \
|
||||
tool_rx_idle_chars:=1.5 \
|
||||
tool_tx_idle_chars:=3.5 \
|
||||
tool_device_name:=/tmp/ttyUR # remember that your user needs to have the rights to write that file handle
|
||||
```
|
||||
|
||||
The `tool_device_name` is an arbitrary name for the device file at which the device will be
|
||||
accessible in the local file system. Most ROS drivers for rs485 devices accept an argument to
|
||||
specify the device file path. With the example above you could run the `rs485_node` from the package
|
||||
`imaginary_drivers` using the following command:
|
||||
|
||||
```bash
|
||||
$ rosrun imaginary_drivers rs485_node device:=/tmp/ttyUR
|
||||
|
||||
```
|
||||
|
||||
You can basically choose any device name, but your user has to have the correct rights to actually
|
||||
create a new file handle inside this directory. Therefore, we didn't use the `/dev` folder in the
|
||||
example, as users usually don't have the access rights to create new files there.
|
||||
|
||||
For all the other tool parameters seen above, please refer to the Universal Robots user manual.
|
||||
Reference in New Issue
Block a user