Skip to content

Commit e042de9

Browse files
author
Felix Exner
committed
Merge remote-tracking branch 'origin/main' into forward_controller
2 parents 1389c3c + 1d1f4c5 commit e042de9

File tree

19 files changed

+987
-569
lines changed

19 files changed

+987
-569
lines changed

.github/workflows/update-ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
# Create pull request
2929
- name: Create pull-request
3030
id: cpr
31-
uses: peter-evans/create-pull-request@v6
31+
uses: peter-evans/create-pull-request@v7
3232
with:
3333
branch: update-ci/pre-commit-autoupdate
3434
delete-branch: true

ur_controllers/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# ur_controllers
22

3-
This package contains controllers and hardware interface for `ros_control` that are special to the UR
3+
This package contains controllers and hardware interface for `ros2_control` that are special to the UR
44
robot family. Currently this contains
55

66
* A **speed_scaling_interface** to read the value of the current speed scaling into controllers.

ur_controllers/doc/index.rst

Lines changed: 47 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,33 @@
11
ur_controllers
22
==============
33

4-
This package contains controllers and hardware interface for ``ros_control`` that are special to the UR
4+
This package contains controllers and hardware interface for ``ros2_controllers`` that are special to the UR
55
robot family. Currently this contains:
66

77

8-
* A **speed_scaling_interface** to read the value of the current speed scaling into controllers.
9-
* A **scaled_joint_command_interface** that provides access to joint values and commands in
10-
combination with the speed scaling value.
11-
* A **speed_scaling_state_controller** that publishes the current execution speed as reported by
8+
* A **speed_scaling_state_broadcaster** that publishes the current execution speed as reported by
129
the robot to a topic interface. Values are floating points between 0 and 1.
1310
* A **scaled_joint_trajectory_controller** that is similar to the *joint_trajectory_controller*\ ,
14-
but it uses the speed scaling reported by the robot to reduce progress in the trajectory.
11+
but it uses the speed scaling reported to align progress of the trajectory between the robot and controller.
12+
* A **io_and_status_controller** that allows setting I/O ports, controlling some UR-specific
13+
functionality and publishes status information about the robot.
1514

1615
About this package
1716
------------------
1817

19-
This package contains controllers not being available in the default ``ros_control`` set. They are
20-
created to support more features offered by the UR robot family. Any of these controllers are
18+
This package contains controllers not being available in the default ``ros2_controllers`` set. They are
19+
created to support more features offered by the UR robot family. Some of these controllers are
2120
example implementations for certain features and are intended to be generalized and merged
22-
into the default ``ros_control`` controller set at some future point.
21+
into the default ``ros2_controllers`` controller set at some future point.
2322

2423
Controller description
2524
----------------------
2625

2726
This packages offers a couple of specific controllers that will be explained in the following
2827
sections.
2928

29+
.. _speed_scaling_state_broadcaster:
30+
3031
ur_controllers/SpeedScalingStateBroadcaster
3132
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3233

@@ -41,8 +42,10 @@ fields ``speed_scaling`` (which should be equal to the value shown by the speed
4142
teach pendant) and ``target_speed_fraction`` (Which is the fraction to which execution gets slowed
4243
down by the controller).
4344

44-
position_controllers/ScaledJointTrajectoryController and velocity_controllers/ScaledJointTrajectoryController
45-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
45+
.. _scaled_jtc:
46+
47+
ur_controlers/ScaledJointTrajectoryController
48+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4649

4750
These controllers work similar to the well-known
4851
`joint_trajectory_controller <https://control.ros.org/master/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.html>`_.
@@ -97,3 +100,36 @@ Under the hood this is implemented by proceeding the trajectory not by a full ti
97100
the fraction determined by the current speed scaling. If speed scaling is currently at 50% then
98101
interpolation of the current control cycle will start half a time step after the beginning of the
99102
previous control cycle.
103+
104+
.. _io_and_status_controller:
105+
106+
ur_controllers/GPIOController
107+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
108+
109+
This controller allows setting I/O ports, controlling some UR-specific functionality and publishes
110+
status information about the robot.
111+
112+
Published topics
113+
""""""""""""""""
114+
115+
* ``~/io_states [ur_msgs/msg/IOStates]``: Status of all I/O ports
116+
* ``~/robot_mode [ur_dashboard_msgs/msg/RobotMode]``: The current robot mode (e.g. ``POWER_OFF``,
117+
``IDLE``, ``RUNNING``)
118+
* ``~/robot_program_running [std_msgs/msg/Bool]``: Publishes whether **the External Control
119+
program** is running or not. If this is ``false`` no commands can be sent to the robot.
120+
* ``~/safety_mode [ur_dashboard_msgs/msg/SafetyMode]``: The robot's current safety mode (e.g.
121+
``PROTECTIVE_STOP``, ``ROBOT_EMERGENCY_STOP``, ``NORMAL``)
122+
* ``~/tool_data [ur_msgs/msg/ToolDataMsg]``: Information about the robot's tool configuration
123+
124+
Advertised services
125+
"""""""""""""""""""
126+
127+
* ``~/hand_back_control [std_srvs/srv/Trigger]``: Calling this service will make the robot program
128+
exit the *External Control* program node and continue with the rest of the program.
129+
* ``~/resend_robot_program [std_srvs/srv/Trigger]``: When :ref:`headless_mode` is used, this
130+
service can be used to restart the *External Control* program on the robot.
131+
* ``~/set_io [ur_msgs/srv/SetIO]``: Set an output pin on the robot.
132+
* ``~/set_payload [ur_msgs/srv/SetPayload]``: Change the robot's payload on-the-fly.
133+
* ``~/set_speed_slider [ur_msgs/srv/SetSpeedSliderFraction]``: Set the value of the speed slider.
134+
* ``~/zero_ftsensor [std_srvs/srv/Trigger]``: Zeroes the reported wrench of the force torque
135+
sensor.

ur_robot_driver/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ For using the **tool communication interface** on e-Series robots, a `socat` scr
4848
forward the robot's tool communication interface to a local device on the ROS PC. See [the tool
4949
communication setup guide](doc/setup_tool_communication.rst) for details.
5050

51-
This driver is using [ROS-Control](https://wiki.ros.org/ros_control) for any control statements.
52-
Therefore, it can be used with all position-based controllers available in ROS-Control. However, we
51+
This driver is using [`ros2_control`](https://control.ros.org) for any control statements.
52+
Therefore, it can be used with all position-based controllers available in `ros2_control`. However, we
5353
recommend using the controllers from the `ur_controllers` package. See it's
5454
[documentation](../ur_controllers/README.md) for details. **Note: Speed scaling support will only be
5555
available using the controllers from `ur_controllers`**

ur_robot_driver/doc/ROS_INTERFACE.rst

Lines changed: 0 additions & 264 deletions
This file was deleted.

0 commit comments

Comments
 (0)