Skip to content

Commit 1d926ce

Browse files
committed
Fix formatting issues across multiple documentation files and source code
1 parent 25aa716 commit 1d926ce

12 files changed

Lines changed: 84 additions & 86 deletions

File tree

LICENSE

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,4 +200,3 @@
200200
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201201
See the License for the specific language governing permissions and
202202
limitations under the License.
203-

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![ros-model CI](https://github.com/ipa320/ros-model/actions/workflows/build.yml/badge.svg)](https://github.com/ipa320/ros-model/actions/workflows/build.yml)
44

5-
The main purpose of this effort is to combine the advantages of [ROS](http://wiki.ros.org/) and Model-Driven-Engineering techniques. This repository holds a family of metamodels defined as Ecore models and their corresponding Xtext-based DSLs (Domain Specific Language) implementation.
5+
The main purpose of this effort is to combine the advantages of [ROS](http://wiki.ros.org/) and Model-Driven-Engineering techniques. This repository holds a family of metamodels defined as Ecore models and their corresponding Xtext-based DSLs (Domain Specific Language) implementation.
66
The resulted models allow the description of ROS and ROS2 concepts and properties, like packages, artifacts, nodes, interfaces types, parameters... Moreover a complete system as composition of ROS components can be also modelled.
77

88
The models have associated tools, the following are some examples:
@@ -58,7 +58,7 @@ Publications:
5858
- Combine components to form a ROS System
5959
- [Create manually a new RosSystem description](docu/RosSystemModelDescription.md)
6060
- [Visualize a system using PlantUML](docu/PlantUML.md)
61-
61+
6262
- Examples:
6363
- [Simple publisher-subscriber](docu/Example_PubSub.md)
6464
- [Turtlesim](docu/Example_Turtlesim.md)

docu/Example_PubSub.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Tutorial: How to create a simple Publisher-Subscriber example.
22

3-
In this tutorial we just want to show how the models can be used to define ROS nodes.
3+
In this tutorial we just want to show how the models can be used to define ROS nodes.
44
For this we will see how two simple nodes can be defined, one that acts as a publisher of a "Hello World!" message and another that receives it as a subscriber.
55

66
This tutorial is fictitious, it is not based on any existing ROS node. The ROS example is reflected in the models of the example [pub_sub_ros2](https://github.com/ipa-nhg/ros-model-examples/tree/main/pub_sub_ros2).
@@ -24,7 +24,7 @@ publisher_package:
2424
2525
```
2626

27-
Then we need the artifact, a runnable to execute the node. As every YAML format file we have to add identantion to the secon line. Then pressing the keys "Ctrl"+Space bar the menu will suggest us as an option the text "artifacts:". We select it and go to the next line.
27+
Then we need the artifact, a runnable to execute the node. As every YAML format file we have to add identantion to the secon line. Then pressing the keys "Ctrl"+Space bar the menu will suggest us as an option the text "artifacts:". We select it and go to the next line.
2828

2929
In the third line we must add a douple identation, we will create an object under artifacts. The next object will be a name for the artifact, for example "pub_artifact":
3030

@@ -42,7 +42,7 @@ publisher:
4242
pub_artifact:
4343
node: pub_node
4444
```
45-
Now that we have the node, we can define the interfaces that offers this node as inputs and output to connect to it. In our case we want to create a publisher, which the type **String** .
45+
Now that we have the node, we can define the interfaces that offers this node as inputs and output to connect to it. In our case we want to create a publisher, which the type **String** .
4646

4747
![alt text](images/pubsub_tutorial3.gif)
4848

@@ -79,7 +79,7 @@ Now that we have already the components we can compose them. For that we have to
7979

8080
In [RosSystem description](RosSystemModelDescription.md) we explain the format of a system and the editor will support you to write the model properly.
8181

82-
The first that must be given is a name and then a ":" is required. In the next line you must add identation and you can press the keys "Ctrl" + Space bar for help.
82+
The first that must be given is a name and then a ":" is required. In the next line you must add identation and you can press the keys "Ctrl" + Space bar for help.
8383
Then we will define the nodes that compose the system. Here under "from" we will link our previously created nodes, the grammar for the references is **PackageName.NodeName**.
8484

8585
![alt text](images/pubsub_tutorial5.gif)
@@ -131,4 +131,4 @@ my_system:
131131
-[ HelloWorldPublisher, HelloWorldSubscriber]
132132
```
133133

134-
With this very basic example we hope you have understood how the models can be used and what kind of attributes they allow to represent.
134+
With this very basic example we hope you have understood how the models can be used and what kind of attributes they allow to represent.

docu/Example_Turtlesim.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ Now that we have already the components we can compose them. For that we have to
6262

6363
In [RosSystem description](RosSystemModelDescription.md) we explain the format of a system and the editor will support you to write the model properly.
6464

65-
The first that must be given is a name and then a ":" is required. In the next line you must add identation and you can press the keys "Ctrl" + Space bar for help.
65+
The first that must be given is a name and then a ":" is required. In the next line you must add identation and you can press the keys "Ctrl" + Space bar for help.
6666
Firstly, we will add the 2 nodes that compose our system.
6767

6868
![alt text](images/turtlesim_tutorial1.gif)
@@ -123,7 +123,7 @@ source /opt/ros/ROSDISTRO/setup.bash
123123
ros2 launch PATH_TO_LAUNCH_PY_FILE
124124
```
125125

126-
Using the terminal of the keyboard node you can use the arrows to send new commands to the turtle.
126+
Using the terminal of the keyboard node you can use the arrows to send new commands to the turtle.
127127

128128
![alt text](images/turtlesim_tutorial4.gif)
129129

docu/NewCommunicationObjects.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ my_msgs:
199199
msgs:
200200
hello:
201201
message
202-
String data
202+
String data
203203
srvs:
204204
hello
205205
request

docu/ParametersAPI.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
The types of parameters supported by the ROS tooling are the following:
44

55
* Boolean (true or false)
6-
* Integer
6+
* Integer
77
* Double
88
* String
99
* Base64
10-
* List
10+
* List
1111
* Array
1212
* Struct
1313

14-
and their description is allowed at ROS and ROSSystem model level.
14+
and their description is allowed at ROS and ROSSystem model level.
1515

1616
For the complete definition of parameters the user has to open the ROS model editor, where the language format is the following:
1717
```
@@ -25,9 +25,9 @@ For example (for a .ros2 file):
2525

2626
```
2727
test_parameters:
28-
artifacts:
28+
artifacts:
2929
test_parameters:
30-
node: params_example
30+
node: params_example
3131
parameters:
3232
string_test:
3333
type: String
@@ -78,8 +78,7 @@ test:
7878
value: ["hello", "hola", "hallo"]
7979
- test_st: "test_parameters::struct_test"
8080
value: [
81-
hello: 1
81+
hello: 1
8282
what: "test"]
8383
```
8484
The model definition of parameters is also consider for the autogeneration of launch files and the component interfaces. Complementarily, and because of the complexity of the format, the .ros, the .componentinterface and the .rossystem language validators contain rules to check that the value given to the parameter has the correct type and also help messages that together with the auto-complete function (Ctrl+Space) facilitate to the user the creation of parameters.
85-

docu/RosModelDescription.md

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,22 @@ my_awesome_pkg: #Name of the package
1414
**artifacts:**
1515
awesome: # Name of the artifact (as it is named in the CMakeLists)
1616
**node:** awesome_node # Name of the node
17-
**publishers:** # (Optional) List of publishers
17+
**publishers:** # (Optional) List of publishers
1818
awesome_pub:
1919
**type:** "std_msgs/msg/Bool"
20-
**subscribers:** # (Optional) List of subscribers
20+
**subscribers:** # (Optional) List of subscribers
2121
awesome_sub:
2222
**type:** "std_msgs/msg/Bool"
23-
**serviceclients:** # (Optional) List of service clients
23+
**serviceclients:** # (Optional) List of service clients
2424
awesome_client:
2525
**type:** "std_srvs/srv/Empty"
26-
**serviceservers:** # (Optional) List of service servers
26+
**serviceservers:** # (Optional) List of service servers
2727
awesome_server:
2828
**type:** "std_srvs/srv/Empty"
29-
**actionclients:** # (Optional) List of action clients
29+
**actionclients:** # (Optional) List of action clients
3030
awesome_action:
3131
**type:** "control_msgs/action/JointTrajectory"
32-
**actionservers:** # (Optional) List of action servers
32+
**actionservers:** # (Optional) List of action servers
3333
awesome_action:
3434
**type:** "control_msgs/action/JointTrajectory"
3535
**parameters:** # (Optional) List of parameters
@@ -39,7 +39,7 @@ my_awesome_pkg: #Name of the package
3939
```
4040

4141

42-
The format is based the YAML file format. All the words marked in the template with '**' are keywords that compose the model, they can't be modified.
42+
The format is based the YAML file format. All the words marked in the template with '**' are keywords that compose the model, they can't be modified.
4343

4444

4545
See the following model exmaple for the known teleop ROS package:
@@ -54,7 +54,7 @@ teleop:
5454
type: "geometry_msgs/msg/Twist"
5555
subscribers:
5656
joy:
57-
type:"sensor_msgs/msg/Joy"
57+
type:"sensor_msgs/msg/Joy"
5858
```
5959

6060
## ROS 2
@@ -69,67 +69,67 @@ my_awesome_pkg:
6969
**publishers:**
7070
awesome_pub:
7171
**type:** "std_msgs/msg/Bool"
72-
**qos:**
72+
**qos:**
7373
**depth:** 10
7474
**durability:** volatile
7575
**history:** keep_all
7676
**profile:** default_qos
77-
**reliability:** best_effort
77+
**reliability:** best_effort
7878
**subscribers:**
7979
awesome_sub:
8080
**type:** "std_msgs/msg/Bool"
81-
**qos:**
81+
**qos:**
8282
**depth:** 10
8383
**durability:** transient_local
8484
**history:** keep_last
8585
**profile:** sensor_qos
86-
**reliability:** reliable
86+
**reliability:** reliable
8787
**serviceclients:**
8888
awesome_client:
8989
**type:** "std_srvs/srv/Empty"
90-
**qos:**
90+
**qos:**
9191
**depth:** 10
9292
**durability:** volatile
9393
**history:** keep_all
9494
**profile:** services_qos
95-
**reliability:** best_effort
95+
**reliability:** best_effort
9696
**serviceservers:**
9797
awesome_server:
9898
**type:** "std_srvs/srv/Empty"
99-
**qos:**
99+
**qos:**
100100
**depth:** 10
101101
**durability:** volatile
102102
**history:** keep_all
103103
**profile:** services_qos
104-
**reliability:** best_effort
104+
**reliability:** best_effort
105105
**actionclients:**
106106
awesome_action:
107107
**type:** "control_msgs/action/JointTrajectory"
108-
**qos:**
108+
**qos:**
109109
**depth:** 10
110110
**durability:** volatile
111111
**history:** keep_all
112112
**profile:** default_qos
113-
**reliability:** best_effort
113+
**reliability:** best_effort
114114
**actionservers:**
115115
awesome_action:
116116
**type:** "control_msgs/action/JointTrajectory"
117-
**qos:**
117+
**qos:**
118118
**depth:** 10
119119
**durability:** volatile
120120
**history:** keep_all
121121
**profile:** default_qos
122-
**reliability:** best_effort
122+
**reliability:** best_effort
123123
**parameters:**
124124
awesome_param:
125125
**type:** String
126126
**default:** "Hello"
127-
**qos:**
127+
**qos:**
128128
**depth:** 10
129129
**durability:** volatile
130130
**history:** keep_all
131131
**profile:** parameter_qos
132-
**reliability:** best_effort
132+
**reliability:** best_effort
133133
```
134134

135135
The only remarkable difference with the ROS 1 model is that the quality of service can be defined for all the different interfaces. The quality of service atrributes are optional and they allow the following options:
@@ -141,7 +141,7 @@ The only remarkable difference with the ROS 1 model is that the quality of servi
141141
- reliability: best_effort / reliable
142142

143143
The type of supported parameters are:
144-
- Boolean
144+
- Boolean
145145
- Double
146146
- String
147147
- Integer

docu/RosSystemModelDescription.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ Below we analyze each part that makes up the system and how it is formed:
3939
- from: reference to the instantiated node description. It is given by the name of the package that contains it and the name of the original node.
4040
- interfaces: list of all the interfaces of the node. Here it is not mandatory to list of the interfaces (again) as they are already on the .ros2 file. Only the renamed interfaces must be added, as well as, interfaces that will form a connection with other components. A referenced interface is given by: **NewName: Type -> ref_artifact_name::ref_interface_name** where `ref_artifact_name` and `ref_artifact_name` come from the ros2 file. And the Type can be pub, sub, sc, ss, ac, or as.
4141
- parameters: it is used to pass a value to a parameter. Every parameter shall have a name (my_param) in the example, and the reference to an existing parameter, given by 'artifact_name::param_name' frpm a .ros2 file. Then under value, a new value can be given to the parameter.
42-
42+
4343
- (Optional) Connections: describe the connections between the nodes. They are given by `[name_of_the_output, name_of_the_input]` the outputs and inputs musst be previously created, they musst have the same communication pattern (topic, service or action) and the same type of communication object (for example std_msgs/String). Otherwise, the validator will give an error.
4444

4545
The Editor of the models contains validators and the auto-complete function, which can be called with the combination of the keys `Ctrl` and space bar.
Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<projectDescription>
3-
<name>de.fraunhofer.ipa.ros.sirius</name>
4-
<comment></comment>
5-
<projects>
6-
</projects>
7-
<buildSpec>
8-
<buildCommand>
9-
<name>org.eclipse.jdt.core.javabuilder</name>
10-
<arguments>
11-
</arguments>
12-
</buildCommand>
13-
<buildCommand>
14-
<name>org.eclipse.pde.ManifestBuilder</name>
15-
<arguments>
16-
</arguments>
17-
</buildCommand>
18-
<buildCommand>
19-
<name>org.eclipse.pde.SchemaBuilder</name>
20-
<arguments>
21-
</arguments>
22-
</buildCommand>
23-
</buildSpec>
24-
<natures>
25-
<nature>org.eclipse.pde.PluginNature</nature>
26-
<nature>org.eclipse.jdt.core.javanature</nature>
27-
</natures>
3+
<name>de.fraunhofer.ipa.ros.sirius</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>org.eclipse.jdt.core.javabuilder</name>
10+
<arguments>
11+
</arguments>
12+
</buildCommand>
13+
<buildCommand>
14+
<name>org.eclipse.pde.ManifestBuilder</name>
15+
<arguments>
16+
</arguments>
17+
</buildCommand>
18+
<buildCommand>
19+
<name>org.eclipse.pde.SchemaBuilder</name>
20+
<arguments>
21+
</arguments>
22+
</buildCommand>
23+
</buildSpec>
24+
<natures>
25+
<nature>org.eclipse.pde.PluginNature</nature>
26+
<nature>org.eclipse.jdt.core.javanature</nature>
27+
</natures>
2828
</projectDescription>

plugins/de.fraunhofer.ipa.ros.sirius/plugin.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@
88
</component>
99
</extension>
1010

11-
11+
1212
</plugin>

0 commit comments

Comments
 (0)