Skip to content

Commit

Permalink
Rearrange controllers overview page (#846) (#847)
Browse files Browse the repository at this point in the history
  • Loading branch information
mergify[bot] authored Nov 20, 2023
1 parent 71b166e commit d7c41b3
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 27 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
[![Licence](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![codecov](https://codecov.io/gh/ros-controls/ros2_controllers/branch/humble/graph/badge.svg?token=KSdY0tsHm6)](https://codecov.io/gh/ros-controls/ros2_controllers)

Commonly used and generalized controllers for ros2-control framework that are ready to use with many robots, MoveIt2 and Navigation2.
Commonly used and generalized controllers for ros2-control framework that are ready to use with many robots, MoveIt2 and Nav2.

## Build status

Expand Down
55 changes: 30 additions & 25 deletions doc/controllers_index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,9 @@
ros2_controllers
#################

`GitHub Repository <https://github.com/ros-controls/ros2_controllers>`_


Nomenclature
************

The ros2_control framework uses namespaces to sort controller according to the type of command interface they are using.
The controllers are using `common hardware interface definitions`_.
The controllers' namespaces are commanding the following command interface types:

- ``position_controllers``: ``hardware_interface::HW_IF_POSITION``
- ``velocity_controller``: ``hardware_interface::HW_IF_VELOCITY``
- ``effort_controllers``: ``hardware_interface::HW_IF_ACCELERATION``
- ``effort_controllers``: ``hardware_interface::HW_IF_EFFORT``
- ...

.. _common hardware interface definitions: https://github.com/ros-controls/ros2_control/blob/{REPOS_FILE_BRANCH}/hardware_interface/include/hardware_interface/types/hardware_interface_type_values.hpp
Commonly used and generalized controllers for ros2_control framework that are ready to use with many robots, `MoveIt2 <https://moveit.picknik.ai/main/index.html>`_ and `Nav2 <https://navigation.ros.org/>`_.

`Link to GitHub Repository <https://github.com/ros-controls/ros2_controllers>`_


Guidelines and Best Practices
Expand All @@ -36,34 +21,54 @@ Guidelines and Best Practices
*


Available Controllers
*********************
Controllers for Mobile Robots
*****************************

.. toctree::
:titlesonly:

Ackermann Steering Controller <../ackermann_steering_controller/doc/userdoc.rst>
Admittance Controller <../admittance_controller/doc/userdoc.rst>
Bicycle Steering Controller <../bicycle_steering_controller/doc/userdoc.rst>
Differential Drive Controller <../diff_drive_controller/doc/userdoc.rst>
Steering Controllers Library <../steering_controllers_library/doc/userdoc.rst>
Tricycle Controller <../tricycle_controller/doc/userdoc.rst>
Tricycle Steering Controller <../tricycle_steering_controller/doc/userdoc.rst>

Controllers for Manipulators and Other Robots
*********************************************

The controllers are using `common hardware interface definitions`_, and may use namespaces depending on the following command interface types:

- ``position_controllers``: ``hardware_interface::HW_IF_POSITION``
- ``velocity_controller``: ``hardware_interface::HW_IF_VELOCITY``
- ``effort_controllers``: ``hardware_interface::HW_IF_ACCELERATION``
- ``effort_controllers``: ``hardware_interface::HW_IF_EFFORT``

.. _common hardware interface definitions: https://github.com/ros-controls/ros2_control/blob/{REPOS_FILE_BRANCH}/hardware_interface/include/hardware_interface/types/hardware_interface_type_values.hpp


.. toctree::
:titlesonly:

Admittance Controller <../admittance_controller/doc/userdoc.rst>
Effort Controllers <../effort_controllers/doc/userdoc.rst>
Forward Command Controller <../forward_command_controller/doc/userdoc.rst>
Gripper Controller <../gripper_controllers/doc/userdoc.rst>
Joint Trajectory Controller <../joint_trajectory_controller/doc/userdoc.rst>
Position Controllers <../position_controllers/doc/userdoc.rst>
Steering Controllers Library <../steering_controllers_library/doc/userdoc.rst>
Tricycle Controller <../tricycle_controller/doc/userdoc.rst>
Tricycle Steering Controller <../tricycle_steering_controller/doc/userdoc.rst>
Velocity Controllers <../velocity_controllers/doc/userdoc.rst>


Available Broadcasters
Broadcasters
**********************

Broadcasters are used to publish sensor data from hardware components to ROS topics.
In the sense of ros2_control, broadcasters are still controllers using the same controller interface as the other controllers above.

.. toctree::
:titlesonly:

Force Torque Sensor Broadcaster <../force_torque_sensor_broadcaster/doc/userdoc.rst>
Imu Sensor Broadcaster <../imu_sensor_broadcaster/doc/userdoc.rst>
IMU Sensor Broadcaster <../imu_sensor_broadcaster/doc/userdoc.rst>
Joint State Broadcaster <../joint_state_broadcaster/doc/userdoc.rst>
Range Sensor Broadcaster <../range_sensor_broadcaster/doc/userdoc.rst>
2 changes: 1 addition & 1 deletion forward_command_controller/doc/userdoc.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
forward_command_controller
==========================

This is a base class implementing a feedforward controller. Specific implementations can be found in:
This is a base class implementing a feedforward controller. Specific implementations of this base class can be found in:

* :ref:`position_controllers_userdoc`
* :ref:`velocity_controllers_userdoc`
Expand Down

0 comments on commit d7c41b3

Please sign in to comment.