-
Notifications
You must be signed in to change notification settings - Fork 205
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cleanup new structure #246
Merged
destogl
merged 14 commits into
ros-controls:new-structure-of-master
from
christophfroehlich:cleanup
Mar 3, 2023
Merged
Changes from all commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
4359dc8
Remove old and obsolete demo packages
christophfroehlich ab0435d
Update maintainer
christophfroehlich 4a4f877
Add missing dependencies
christophfroehlich 8df9a40
Simplify RRbot
christophfroehlich 6eb17c7
Cleanup readme
christophfroehlich de221b2
Remove gazebo xacro/launch-file parameters
christophfroehlich f2ac9bb
Fix CI workflow
christophfroehlich 21dd393
Use .. note:: block
christophfroehlich a3002d9
Fix wrong command in readme
christophfroehlich 1abd9ee
Use CMakeLists.txt structure for overriding
christophfroehlich 7e04173
Fix ROS 2 spelling
christophfroehlich d96edfb
Add plain index.rst for control.ros.org
christophfroehlich ee3e6dc
Suggestion for docs for control.ros.org
christophfroehlich b6aaeb4
Update README.md
destogl File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,103 @@ | ||
.. _ros2_control_demos: | ||
|
||
################# | ||
Demos | ||
################# | ||
|
||
This `GitHub Repository <https://github.com/ros-controls/ros2_control_demos>`_ | ||
provides templates for the development of ros2_control-enabled robots and a simple simulations to demonstrate and prove ros2_control concepts. | ||
|
||
If you want to have a rather step by step manual how to do things with ``ros2_control`` checkout `ros-control/roscon2022_workshop <https://github.com/ros-controls/roscon2022_workshop>`_ repository. | ||
|
||
========================================== | ||
What you can find in this repository | ||
========================================== | ||
|
||
This repository demonstrates the following ``ros2_control`` concepts: | ||
|
||
* Creating a ``HardwareInterface`` for a System, Sensor, and Actuator. | ||
* Creating a robot description in the form of URDF files. | ||
* Loading the configuration and starting a robot using launch files. | ||
* Control of a differential mobile base *DiffBot*. | ||
* Control of two joints of *RRBot*. | ||
* Implementing a controller switching strategy for a robot. | ||
* Using joint limits and transmission concepts in ``ros2_control``. | ||
|
||
===================== | ||
Goals | ||
===================== | ||
|
||
The repository has two other goals: | ||
|
||
1. Implements the example configuration described in the ``ros-controls/roadmap`` repository file `components_architecture_and_urdf_examples <https://github.com/ros-controls/roadmap/blob/master/design_drafts/components_architecture_and_urdf_examples.md>`_. | ||
2. The repository is a validation environment for ``ros2_control`` concepts, which can only be tested during run-time (e.g., execution of controllers by the controller manager, communication between robot hardware and controllers). | ||
|
||
===================== | ||
Example Overview | ||
===================== | ||
|
||
* Example 1: RRBot | ||
|
||
*RRBot* - or ''Revolute-Revolute Manipulator Robot'' - a simple position controlled robot with one hardware interface. This example also demonstrates the switching between different controllers. | ||
|
||
|
||
* Example 2: DiffBot | ||
|
||
*DiffBot*, or ''Differential Mobile Robot'', is a simple mobile base with differential drive. | ||
The robot is basically a box moving according to differential drive kinematics. | ||
|
||
|
||
* Example 3: "RRBot with multiple interfaces" | ||
|
||
*RRBot* with multiple interfaces. | ||
|
||
|
||
* Example 4: "Industrial robot with integrated sensor" | ||
|
||
*RRBot* with an integrated sensor. | ||
|
||
|
||
* Example 5: "Industrial Robots with externally connected sensor" | ||
|
||
*RRBot* with an externally connected sensor. | ||
|
||
* Example 6: "Modular Robots with separate communication to each actuator" | ||
|
||
The example shows how to implement robot hardware with separate communication to each actuator. | ||
|
||
|
||
* Example 8: Using transmissions | ||
|
||
*RRBot* with an exposed transmission interface. | ||
|
||
===================== | ||
Quick Hints | ||
===================== | ||
|
||
These are some quick hints, especially for those coming from a ROS1 control background: | ||
|
||
* There are now three categories of hardware components: *Sensor*, *Actuator*, and *System*. | ||
*Sensor* is for individual sensors; *Actuator* is for individual actuators; *System* is for any combination of multiple sensors/actuators. | ||
You could think of a Sensor as read-only. | ||
All components are used as plugins and therefore exported using ``PLUGINLIB_EXPORT_CLASS`` macro. | ||
* *ros(1)_control* only allowed three hardware interface types: position, velocity, and effort. | ||
*ros2_control* allows you to create any interface type by defining a custom string. For example, you might define a ``position_in_degrees`` or a ``temperature`` interface. | ||
The most common (position, velocity, acceleration, effort) are already defined as constants in hardware_interface/types/hardware_interface_type_values.hpp. | ||
* Joint names in <ros2_control> tags in the URDF must be compatible with the controller's configuration. | ||
* In ros2_control, all parameters for the driver are specified in the URDF. | ||
The ros2_control framework uses the **<ros2_control>** tag in the URDF. | ||
* Joint names in <ros2_control> tags in the URDF must be compatible with the controller's configuration. | ||
|
||
===================== | ||
Examples | ||
===================== | ||
.. toctree:: | ||
:titlesonly: | ||
|
||
Example 1: RRBot <../example_1/doc/userdoc.rst> | ||
Example 2: DiffBot <../example_2/doc/userdoc.rst> | ||
Example 3: RRBot with multiple interfaces <../example_3/doc/userdoc.rst> | ||
Example 4: Industrial robot with integrated sensor <../example_4/doc/userdoc.rst> | ||
Example 5: Industrial Robots with externally connected sensor <../example_5/doc/userdoc.rst> | ||
Example 6: Modular Robots with separate communication to each actuator <../example_6/doc/userdoc.rst> | ||
Example 8: Using transmissions <../example_8/doc/userdoc.rst> |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Which infos should we move from README.md to this rst file? All except build instructions and build?
If someone starts from control.ros.org with installed debian packages, the
Getting started
section is maybe not necessary in the documentation but only in the readme if the repo is checked out?What about the figures in the doc folder, they are at least not up-to-date?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I made a suggestion, feel free to comment.
I had to rename the
README.rst
todoc/userdoc.rst,
because it would be excluded otherwise. Is there a reason for that?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also I think rst would be upset about the too many ###?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sphinx did not complain. I think the type of character does not matter.