Skip to content
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

A new structure of the control.ros.org #49

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions design_drafts/2022-01-control.ros.org-doc-restructure
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Restructuring the documentation on control.ros.org

The goal of this document is to provide a place for discussion of documentation restructuring on control.ros.org.
The document should result with a list of actions that have to be done to make the documentation better.

## Motivation

Current state of documentation is very messy, there is no clear structure and it is hard to find anything there.


## Goals/Targets to achieve with documentation

### 1. We need better starting page
This page should explain in shortly what is ros2_control and what is its purpose.
A graphical representaiton of three main parts of the framework: *hardware interfaces/abstraction*, *managers (resouce and controller)*, and *controllers*.
For sure a graphics would be very, very useful there.


### 2. ros2_control concepts should be shown in a clear structure
The above-mentioned three concepts should be individually explained and shown in the left menu.
Each of the concepts should have multiple subpages showing details about (see the structure below).




### Proposal of the new structure

This is a page-structure from the perspecitve of the left menu.

Main page (when logo is clicked or control.ros.org navigated) - landing/starting/introduction page

Architecture - shows the overall architecture of the framework; explaines differnet repositories

1. Hardware Interface - explaines the hardware abstraction concepts:
- What is the purpose of Hardware Interface and concept of Componets
- Hardware Lifecycle
- How to utilize different concepts, e.g., Handling erorrs

2. "ros2_control Managers":
- Controller Manager: purpose, functionality and how can be configured and interacted with
- Resouce Manager: purpose, functionality and how can be configured and interacted with
destogl marked this conversation as resolved.
Show resolved Hide resolved

3. Controllers - explaines the controllers concept:
- What is the purpose and how controllers work
- Controllers Lifecycle
- How to utilize differnet concepts, e.g., interface assignement, resetting values
- Standard controllers - details on standard controllers in the ros2_control repository

4. How-To Guides (for definition see [MoveIt documentation](https://moveit.picknik.ai/main/doc/concepts/how_to_guide.html)
- Writing `<ros2_control>` part of URDF for a robot
- Writing Hardware Interfaces
- Writing Controllers
- Migration Guides:
- migration tutorial for different versions

5. Tutorials
- "Setting up ros2_control for a robot"

6. Examples
- Integration ros2_control_demos repository

7. Resources

8. Contributing:
- Pull Requests (current page)
- Code (Rules for repsitories): some general implementation details
- Documentation

9. Acknowledgements