Skip to content

Commit 80666b8

Browse files
committed
Add controller_stopper documentation
1 parent 557645d commit 80666b8

File tree

3 files changed

+35
-2
lines changed

3 files changed

+35
-2
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
.. _controller_stopper:
2+
3+
Controller stopper
4+
==================
5+
6+
As explained in the section :ref:`robot_startup_program`, the robot needs to run a program in order
7+
to receive motion commands from the ROS driver. When the program is not running, commands sent to
8+
the robot will have no effect.
9+
10+
To make that transparent, the ``controller_stopper`` node mirrors that state in the ROS
11+
controller's state. It listens to the ``/io_and_status_controller/robot_program_running`` topic and
12+
deactivates all motion controllers (or any controller not explicitly marked as "consistent", see
13+
below)when the program is not running.
14+
15+
Once the program is running again, any previously active motion controller will be activated again.
16+
17+
This way, when sending commands to an inactive controller the caller should be transparently
18+
informed, that the controller cannot accept commands at the moment.
19+
20+
In the same way, any running action on the ROS controller will be aborted, as the controller gets
21+
deactivated by the controller_stopper.
22+
23+
Parameters
24+
----------
25+
26+
- ``~consistent_controllers`` (list of strings, default: ``[]``)
27+
28+
A list of controller names that should not be stopped when the program is not running. Any
29+
controller that doesn't require the robot program to be running should be in that list.

ur_robot_driver/doc/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,4 @@ ur_robot_driver
1818
hardware_interface_parameters
1919
dashboard_client
2020
robot_state_helper
21+
controller_stopper

ur_robot_driver/doc/usage/startup.rst

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,12 +71,12 @@ Depending on the :ref:`robot control mode<operation_modes>` do the following:
7171
* When the driver is started with ``headless_mode:=true`` nothing is needed. The driver is running
7272
already.
7373

74-
.. _continuation_after_interruptions:
74+
75+
.. _verify_calibration:
7576

7677
Verify calibration info is being used correctly
7778
-----------------------------------------------
7879

79-
.. _verify_calibration:
8080

8181
If you passed a path to an extracted calibration via the *kinematics_params_file*
8282
parameter, ensure that the loaded calibration matches that of the robot by inspecting the console
@@ -98,9 +98,12 @@ Alternatively, search for the term *checksum* in the console output after launch
9898
Verify that the printed checksum matches that on the final line of your extracted calibration file.
9999

100100

101+
.. _continuation_after_interruptions:
102+
101103
Continuation after interruptions
102104
--------------------------------
103105

106+
104107
Whenever the *External Control URCap* program gets interrupted, it has to be unpaused / restarted.
105108

106109
If that happens, you will see the output ``Connection to reverse interface dropped.``

0 commit comments

Comments
 (0)