You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: ur_robot_driver/README.md
+9-40Lines changed: 9 additions & 40 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,8 +4,6 @@ This package contains the actual driver for UR robots. It is part of the *univer
4
4
repository and requires other packages from that repository. Also, see the [main repository's
5
5
README](../README.md) for information on how to install and startup this driver.
6
6
7
-
## ROS-API
8
-
The ROS API is documented in a [standalone document](doc/ROS_INTERFACE.rst).
9
7
10
8
## Technical details
11
9
The following image shows a very coarse overview of the driver's architecture.
@@ -41,7 +39,7 @@ The robot won't accept script code from a remote source unless the robot is put
41
39
*remote_control-mode*. However, if put into *remote_control-mode*, the program containing the
42
40
**External Control** program node can't be started from the panel.
43
41
For this purpose, please use the **dashboard** services to load, start and stop the main program
44
-
running on the robot. See the [ROS-API documentation](doc/ROS_INTERFACE.rst) for details on the
42
+
running on the robot. See the [Dashboard client documentation](doc/dashboard_client.rst) for details on the
45
43
dashboard services.
46
44
47
45
For using the **tool communication interface** on e-Series robots, a `socat` script is prepared to
@@ -55,42 +53,13 @@ recommend using the controllers from the `ur_controllers` package. See it's
55
53
available using the controllers from `ur_controllers`**
56
54
57
55
## A note about modes
58
-
The term **mode** is used in different meanings inside this driver.
59
-
60
-
### Remote control mode
61
-
On the e-series the robot itself can operate in different command modes: It can be either in **local control
62
-
mode** where the teach pendant is the single point of command or in **remote control mode**, where
63
-
motions from the TP, starting & loading programs from the TP activating the freedrive mode are
64
-
blocked. Note that the **remote control mode** has to be explicitly enabled in the robot's settings
65
-
under **Settings** -> **System** -> **Remote Control**. See the robot's manual for details.
66
-
67
-
The **remote control mode** is needed for many aspects of this driver such as
68
-
* headless mode (see below)
69
-
* sending script code to the robot
70
-
* many dashboard functionalities such as
71
-
* restarting the robot after protective / EM-Stop
72
-
* powering on the robot and do brake release
73
-
* loading and starting programs
74
-
* the `set_mode` action, as it uses the dashboard calls mentioned above
75
-
76
-
### Headless mode
77
-
Inside this driver, there's the **headless** mode, which can be either enabled or not. When the
78
-
[headless mode](./doc/ROS_INTERFACE.rst#headless_mode-default-false) is activated, required script
79
-
code for external control will be sent to the robot directly when the driver starts. As soon as
80
-
other script code is sent to the robot either by sending it directly through this driver or by
81
-
pressing any motion-related button on the teach pendant, the script will be overwritten by this
82
-
action and has to be restarted by using the
83
-
[resend_robot_program](./doc/ROS_INTERFACE.rst#resend_robot_program-std_srvstrigger) service. If this
84
-
is necessary, you will see the output `Connection to robot dropped, waiting for new connection.`
85
-
from the driver. Note that pressing "play" on the TP won't start the external control again, but
86
-
whatever program is currently loaded on the controller. This mode doesn't require the "External
87
-
Control" URCap being installed on the robot as the program is sent to the robot directly. However,
88
-
we recommend to use the non-headless mode and leverage the `set_mode` action to start program
89
-
execution without the teach pendant. The **headless** mode might be removed in future releases.
90
-
91
-
**Note for the e-Series:** In order to leverage the **headless** mode on the e-Series the robot must
92
-
be in **remote_control_mode** as explained above.
56
+
The term **mode** is used in different meanings inside this driver. See [Operation
57
+
Modes](doc/operation_modes.rst) for details.
93
58
94
59
## controller_stopper
95
-
A small helper node that stops and restarts ROS controllers based on a boolean status topic. When the status goes to `false`, all running controllers except a set of predefined *consistent_controllers* gets stopped. If status returns to `true` the stopped controllers are restarted.
96
-
This is done by Subscribing to a robot's running state topic. Ideally this topic is latched and only publishes on changes. However, this node only reacts on state changes, so a state published each cycle would also be fine.
60
+
A small helper node that stops and restarts ROS controllers based on a boolean status topic. When
61
+
the status goes to `false`, all running controllers except a set of predefined
62
+
*consistent_controllers* gets stopped. If status returns to `true` the stopped controllers are
63
+
restarted. This is done by Subscribing to a robot's running state topic. Ideally this topic is
64
+
latched and only publishes on changes. However, this node only reacts on state changes, so a state
0 commit comments