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
Improved controller usage documentation adding a dedicate page for
* Position and Velocity related controllers
* Force Torque related controllers
* Utility controller page for all others controllers
And
* Add a Test verifying that all the controllers have been mentioned
* Document tcp_pose_broadcaster in more detail
---------
Co-authored-by: Felix Exner <feex@universal-robots.com>
This help page describes the different controllers available for the ``ur_robot_driver``. This
9
9
should help users finding the right controller for their specific use case.
10
10
11
-
Where are controllers defined?
12
-
------------------------------
11
+
Available Controllers
12
+
---------------------
13
+
.. toctree::
14
+
:maxdepth:2
13
15
14
-
Controllers are defined in the ``config/ur_controllers.yaml`` file.
16
+
position_velocity_control
17
+
force_torque_control
18
+
utility_controllers
15
19
16
20
How do controllers get loaded and started?
17
21
------------------------------------------
18
22
19
23
As this driver uses `ros2_control <https://control.ros.org>`_ all controllers are managed by the
20
-
controller_manager. During startup, a default set of running controllers is loaded and started,
21
-
another set is loaded in stopped mode. Stopped controllers won't be usable right away, but they
22
-
need to be started individually.
24
+
controller_manager. During startup, a default set of running controllers is loaded and activated,
25
+
another set is loaded in inactive mode. Inactive controllers won't be usable right away, but they
26
+
need to be activated individually.
23
27
24
28
Controllers that are actually writing to some command interfaces (e.g. joint positions) will claim
25
29
those interfaces. Only one controller claiming a certain interface can be active at one point.
26
30
27
31
Controllers can be switched either through the controller_manager's service calls, through the
28
-
`rqt_controller_manager <https://control.ros.org/rolling/doc/ros2_control/controller_manager/doc/userdoc.html#rqt-controller-manager>`_ gui or through the ``ros2 control`` verb from the package ``ros-${ROS_DISTRO}-ros2controlcli`` package.
It uses the robot's speed scaling information and thereby the safety compliance features, like pause on safeguard stop. In addition, it also makes it possible to adjust execution speed using the speed slider on the teach pendant or set the program in pause and restart it again.
Allows setting target joint efforts (torques) directly. The user is therefore responsible for sending commands that are achievable. This controller is useful when implementing compliance or force control strategies.
Allows setting target joint velocities directly. The user is therefore responsible for sending commands that are achievable. This controller is particularly useful when doing servoing such as ``moveit_servo``.
Allows setting target joint positions directly. The robot tries to reach the target position as fast as possible. The user is responsible for sending commands that are achievable. This controller is particularly useful when doing servoing such as ``moveit_servo``.
0 commit comments