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
Copy file name to clipboardExpand all lines: doc/contributing/contributing.rst
+16-12Lines changed: 16 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -73,19 +73,23 @@ We use the following naming conventions for branches.
73
73
74
74
**Development branch**:
75
75
76
-
- Name: ``master``
77
-
- CI rule for merge:
78
-
- must: ``semi-binary`` (working against development branch of ros2_control)
79
-
- good: ``binary`` (working against the same stable branch of other ros2_control repositories)
80
-
- ``source`` build each day check against master branches of ROS 2
76
+
* Name: ``master``
77
+
* CI rule for merge:
78
+
79
+
* must: ``semi-binary`` (working against development branch of ros2_control)
80
+
* good: ``binary`` (working against the same stable branch of other ros2_control repositories)
81
+
82
+
* ``source`` build each day check against master branches of ROS 2
81
83
82
84
**Stable branches**:
83
85
84
-
- Name: ``<ros_distro>`` (e.g., foxy, galactic)
85
-
- CI rule for merge:
86
-
- must: ``semi-binary`` (working against the same stable branch of other ros2_control repositories)
87
-
- must: ``binary`` (working against released versions of ros2_control) - except for adding new non-braking features
88
-
- ``source`` build each day against distribution branches
86
+
* Name: ``<ros_distro>`` (e.g., foxy, galactic)
87
+
* CI rule for merge:
88
+
89
+
* must: ``semi-binary`` (working against the same stable branch of other ros2_control repositories)
90
+
* must: ``binary`` (working against released versions of ros2_control) - except for adding new non-braking features
91
+
92
+
* ``source`` build each day against distribution branches
89
93
90
94
91
95
CI configuration
@@ -94,10 +98,10 @@ Three build stages are checking the current and future compatibility of the fram
94
98
95
99
1. ``binary`` - against released packages (main and testing) in ROS distributions. This Shows that direct local build is possible.
96
100
97
-
1. ``semi-binary`` - against released core ROS packages (main and testing), but the immediate dependencies are pulled from the source.
101
+
2. ``semi-binary`` - against released core ROS packages (main and testing), but the immediate dependencies are pulled from the source.
98
102
This shows that local build with dependencies is possible, and if it fails there, we can expect that after the next package sync, we will not be able to build.
99
103
100
-
1. ``source`` - also core ROS packages are build from source. It shows potential issues in the mid future.
104
+
3. ``source`` - also core ROS packages are build from source. It shows potential issues in the mid future.
@@ -51,18 +59,18 @@ This functionality should replace some high-level components currently used, e.g
51
59
52
60
The main functionalities for the components and goals of the project are:
53
61
54
-
- Defining a scenario in form of a multi-robot and multi-tool configuration and its behavior that serves as a benchmark.
55
-
- Extending controller_manager with status publisher, providing all needed data to a mission-control component.
56
-
- Adding status topics to all standard controllers.
57
-
- Defining format of a YAML file where users can configure controller presets.
58
-
- Implementing the mission-control module/script that sets the controller_manager, i.e., the ros2_control framework, in a specific configuration/state.
62
+
* Defining a scenario in form of a multi-robot and multi-tool configuration and its behavior that serves as a benchmark.
63
+
* Extending controller_manager with status publisher, providing all needed data to a mission-control component.
64
+
* Adding status topics to all standard controllers.
65
+
* Defining format of a YAML file where users can configure controller presets.
66
+
* Implementing the mission-control module/script that sets the controller_manager, i.e., the ros2_control framework, in a specific configuration/state.
59
67
60
68
----
61
69
62
70
|Skills required/preferred:
63
71
64
-
- Good C++ skills
65
-
- Basic understanding of ROS and/or ROS 2
72
+
* Good C++ skills
73
+
* Basic understanding of ROS and/or ROS 2
66
74
67
75
|Possible mentors: Bence Magyar, Denis Štogl
68
76
|Expected size of project: 350 hours
@@ -75,23 +83,23 @@ Add support for hardware semantic components
75
83
76
84
The ros2_control framework relies on simple command and state interfaces in the form of double values to exchange data between hardware components and controllers. It is desired however to provide good C++ data structures both on the hardware component and the controller side which improves code readability and maintainability.
77
85
78
-
Earlier in the project, the concept of semantic components were introduced which essentially provides a grouping for these values and a semantic-specific API to use them. For instance, an IMU sensor will typically report 9 values, 3 values for each axis of the acelerometer, gyroscope and compass sensor parts respectively. Such values can be grouped and served through an API as a ROS IMU message or as a C++ struct for both input and output of these values while the ros2_control framework maintains it's low-profile communication interfaces internally.
86
+
Earlier in the project, the concept of semantic components were introduced which essentially provides a grouping for these values and a semantic-specific API to use them. For instance, an IMU sensor will typically report 9 values, 3 values for each axis of the accelerometer, gyroscope and compass sensor parts respectively. Such values can be grouped and served through an API as a ROS IMU message or as a C++ struct for both input and output of these values while the ros2_control framework maintains it's low-profile communication interfaces internally.
79
87
80
88
The goal of this project is to add semantic components that are relevant for hardware components.
81
89
Additionally, this project includes extending the existing simulation tools with a set of common semantic components to support different sensors and actuators.
82
90
83
91
Related design document and code implementations:
84
92
85
-
- [Few idea about Semantic Components for hardware](https://github.com/ros-controls/roadmap/pull/45)
86
-
- [Semantic Components for Controllers](https://github.com/ros-controls/ros2_control/tree/master/controller_interface/include/semantic_components)
93
+
* `Few idea about Semantic Components for hardware<https://github.com/ros-controls/roadmap/pull/45>`__
94
+
* `Semantic Components for Controllers<https://github.com/ros-controls/ros2_control/tree/master/controller_interface/include/semantic_components>`__
87
95
88
96
----
89
97
90
98
|Skills required/preferred:
91
99
92
-
- Good C++ skills
93
-
- Basic understanding of ROS and/or ROS 2
94
-
- Basic understanding of the Gazebo simulator
100
+
* Good C++ skills
101
+
* Basic understanding of ROS and/or ROS 2
102
+
* Basic understanding of the Gazebo simulator
95
103
96
104
|Possible mentors: Bence Magyar, Denis Štogl
97
105
|Expected size of project: 175 hours
@@ -109,21 +117,21 @@ This work will consist of reviewing the two versions of the two controllers and
0 commit comments