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: _docs/concepts/client_library/decision_paper/index.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -46,7 +46,7 @@ From the past discussions and developments in 2018, we assume that a [rosserial]
46
46
47
47
In the [EU project OFERA](http://ofera.eu/), a list of high-level requirements to the whole micro-ROS stack including the client library has been compiled in the Deliverable [D1.7 Reference Scenarios and Technical System Requirements Definition](http://ofera.eu/storage/deliverables/OFERA_D1.7_Requirements.pdf). Import requirements immediately linked to the client library are:
48
48
49
-
*ROS2 lifecycle: micro-ROS nodes should support the node lifecycle defined for ROS2 nodes.
49
+
*ROS 2 lifecycle: micro-ROS nodes should support the node lifecycle defined for ROS 2 nodes.
50
50
* Dynamic component parameters: micro-ROS shall provide mechanisms for dynamic management of component parameters, compatible with ROS mechanisms.
51
51
* Time precision: Clock synchronization between main micro-processor and MCU should be precise, with precision not less than 1ms.
52
52
* No-copy: Communication between nodes on the same MCU should be effective (no-copy).
@@ -76,7 +76,7 @@ Questions:
76
76
77
77
Only very basic concepts (node, subscription and publisher) implemented so far. Whole library has just 500 LoC in sum.
78
78
79
-
Has OSRF plans for it in the midterm? They have mentioned it on the roadmap, [ROS2 roadmap](https://github.com/micro-ROS/rclc/tree/feature/api_documentation).
79
+
Has OSRF plans for it in the midterm? They have mentioned it on the roadmap, [ROS 2 roadmap](https://github.com/micro-ROS/rclc/tree/feature/api_documentation).
80
80
81
81
## Dynamic Memory Management in ROS 2
82
82
@@ -109,7 +109,7 @@ For curiosity, the numbers for Fast-RTPS:
109
109
110
110
### Current work on ROS 2
111
111
112
-
Currently there is an active interest in making ROS2 a real "real time" platform. These interest have strive to a set of developments regarding the amount of dynamic memory used along the full stack. From eProsima side they are making a big effort changing Fast RTPS dynamic memory to a static system. This eProsima approach aligns with the idea of two-steps: 1) reserve all memory needed and then 2) work with the pre-allocated memory and avoid new allocations.
112
+
Currently there is an active interest in making ROS 2 a real "real time" platform. These interest have strive to a set of developments regarding the amount of dynamic memory used along the full stack. From eProsima side they are making a big effort changing Fast RTPS dynamic memory to a static system. This eProsima approach aligns with the idea of two-steps: 1) reserve all memory needed and then 2) work with the pre-allocated memory and avoid new allocations.
113
113
114
114
To develop this mechanism currently there are to main changes, all regarding STL containers:
Copy file name to clipboardExpand all lines: _docs/concepts/client_library/embedded_tf/index.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,7 +33,7 @@ The Embedded TF design is documented at: [github.com/microROS/geometry2/blob/ro
33
33
34
34
## Implementation of tf2_filter
35
35
36
-
Implementation of tf2_filter for ROS2 and micro-ROS can be found at: [github.com/microROS/geometry2/blob/ros2/tf2_filter/](https://github.com/microROS/geometry2/blob/ros2/tf2_filter/).
36
+
Implementation of tf2_filter for ROS 2 and micro-ROS can be found at: [github.com/microROS/geometry2/blob/ros2/tf2_filter/](https://github.com/microROS/geometry2/blob/ros2/tf2_filter/).
In the implementation of these transformation libraries, the user needs to be able to serialisation/deserialisation ROS2 messages.
19
+
In the implementation of these transformation libraries, the user needs to be able to serialisation/deserialisation ROS 2 messages.
20
20
Also, an NGSIv2 serialisation/deserialisation mechanism will be used.
21
21
22
-
The FIROS2 package provides a standard NGSIv2 serialisation/deserialisation mechanisms, but ROS2 serialisation/deserialisation is not offered due to its dependencies with the message type.
22
+
The FIROS2 package provides a standard NGSIv2 serialisation/deserialisation mechanisms, but ROS 2 serialisation/deserialisation is not offered due to its dependencies with the message type.
23
23
24
24
For solving this issue, various methods to get it are proposed:
25
25
26
26
#### Use serialisation/deserialisation method provided by the middleware layer
27
27
28
28
This is currently the method used in micro-ROS - FIROS 2 integration.
29
29
30
-
In this case, the transformation library will use user selected middleware interface to serialise/deserialise the bridged ROS2 messages.
30
+
In this case, the transformation library will use user selected middleware interface to serialise/deserialise the bridged ROS 2 messages.
31
31
This method requires to get the message typesupport for the bridged message type.
32
32
This method is straightforward to implement as it does not require additional source code development.
33
-
Also, the abstraction from the middleware implementation makes it more compatible with others ROS2 workspaces.
33
+
Also, the abstraction from the middleware implementation makes it more compatible with others ROS 2 workspaces.
34
34
35
35
This is a portion of code used in the transformation library implementation.
36
36
@@ -40,7 +40,7 @@ This is a portion of code used in the transformation library implementation.
In the case of ROS2/micro-ROS workspaces, there are tools which generate those IDL files.
84
-
The rosidl_gen package is the package micro-ROS/ROS2 could use to create IDL from ROS2 interfaces.
83
+
In the case of ROS 2 / micro-ROS workspaces, there are tools which generate those IDL files.
84
+
The rosidl_gen package is the package micro-ROS/ROS2 could use to create IDL from ROS 2 interfaces.
85
85
86
86
### Integration proposals
87
87
@@ -112,7 +112,7 @@ Each ROS 2 topic type should have a corresponding transformation library configu
112
112
113
113
This approach is a specialisation of the following one, where all the configuration and transformation libraries are centralised in a single node.
114
114
115
-
This proposal requires transformation library development, but the integration will be the same as a regular ROS2 node, so no micro-ROS specific development should be expected.
115
+
This proposal requires transformation library development, but the integration will be the same as a regular ROS 2 node, so no micro-ROS specific development should be expected.
116
116
117
117
**Architecture**
118
118
@@ -130,7 +130,7 @@ This approach would require more nodes on the network and individual configurati
130
130
131
131
This approach is the one followed by micro-ROS, and it is limited due to current FIROS 2 implementation.
132
132
133
-
This proposal requires transformation library development, but the integration will be the same as a regular ROS2 node, so no micro-ROS specific development should be expected.
133
+
This proposal requires transformation library development, but the integration will be the same as a regular ROS 2 node, so no micro-ROS specific development should be expected.
134
134
135
135
**Workflow**
136
136
@@ -195,7 +195,7 @@ sudo docker-compose up
195
195
196
196
> **Note:** After this execution a FIWARE Orion server will be running at the localhost address and port 1026.
197
197
198
-
1.**Build FIROS2 in a ROS2 workspace and run it**
198
+
1.**Build FIROS2 in a ROS 2 workspace and run it**
199
199
200
200
To compile FIROS2, micro-ROS Agent side set of packages will be used.
Copy file name to clipboardExpand all lines: _docs/overview/index.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,15 +4,15 @@ permalink: /docs/overview/
4
4
redirect_from: /docs/
5
5
---
6
6
7
-
[micro-ROS](https://cordis.europa.eu/project/rcn/213167_en.html) puts ROS2 onto microcontrollers, making them first class participants of the ROS 2 environment.
7
+
[micro-ROS](https://cordis.europa.eu/project/rcn/213167_en.html) puts ROS 2 onto microcontrollers, making them first class participants of the ROS 2 environment.
8
8
9
9
## Tutorials
10
10
11
11
See [Tutorial List](/docs/tutorials/).
12
12
13
13
## Architecture
14
14
15
-
We're basically following the ROS2 architecture and make use of its middleware pluggability to use [DDS-XRCE](https://www.omg.org/spec/DDS-XRCE/), which is suitable for microcontrollers. Moreover, we use an RTOS (NuttX) instead of Linux. On microcontrollers many different RTOS's are used, so we also add an RTOS abstraction layer (AL), to make porting to other RTOS possible.
15
+
We're basically following the ROS 2 architecture and make use of its middleware pluggability to use [DDS-XRCE](https://www.omg.org/spec/DDS-XRCE/), which is suitable for microcontrollers. Moreover, we use an RTOS (NuttX) instead of Linux. On microcontrollers many different RTOS's are used, so we also add an RTOS abstraction layer (AL), to make porting to other RTOS possible.
Copy file name to clipboardExpand all lines: _docs/tutorials/basic/getting_started/index.md
+14-14Lines changed: 14 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ Table of contents
9
9
10
10
*[Running Micro XRCE-DDS example using prebuilt Docker](#Micro-XRCE-DDS-prebuilt-Docker)
11
11
*[Running micro-ROS example using prebuilt Docker](#micro-ROS-prebuilt-Docker)
12
-
*[Running rclc and rclcpp examples in your ROS2 workspace](#rclc-rclcpp-ROS2-ws)
12
+
*[Running rclc and rclcpp examples in your ROS 2 workspace](#rclc-rclcpp-ROS2-ws)
13
13
14
14
## Introduction
15
15
@@ -37,13 +37,13 @@ At docker repo, we have one folder for each.
37
37
----------------
38
38
39
39
40
-
## Running rclc and rclcpp examples in your ROS2 workspace {#rclc-rclcpp-ROS2-ws}
40
+
## Running rclc and rclcpp examples in your ROS 2 workspace {#rclc-rclcpp-ROS2-ws}
41
41
42
42
There are also available examples that you could run building the code at your Linux or Windows computer.
43
43
44
44
### Previous step
45
45
46
-
To run all the demonstrations, you need to set up the ROS2 environment and build all the required packages.
46
+
To run all the demonstrations, you need to set up the ROS 2 environment and build all the required packages.
47
47
Click [here](https://github.com/microROS/micro-ROS-doc) to read further about how to do this previous step.
48
48
49
49
### Package clusters
@@ -56,12 +56,12 @@ The repository contains the below packages clusters:
56
56
57
57
###### Int32_publisher
58
58
59
-
The purpose of the package is to publish one of the most basic ROS2 messages and demonstrate how Micro-ROS layers (rcl, typesupport and rmw) handle it.
59
+
The purpose of the package is to publish one of the most basic ROS 2 messages and demonstrate how Micro-ROS layers (rcl, typesupport and rmw) handle it.
60
60
For each publication, the message value increases in one unit order to see in the subscriber side the message variations.
61
61
62
62
###### Int32_subscriber
63
63
64
-
The purpose of the package is to subscribe to one of the most basic ROS2 messages and demonstrate how Micro-ROS layers (rcl, typesupport and rmw) handle it.
64
+
The purpose of the package is to subscribe to one of the most basic ROS 2 messages and demonstrate how Micro-ROS layers (rcl, typesupport and rmw) handle it.
65
65
66
66
##### Run demonstration (Linux)
67
67
@@ -129,12 +129,12 @@ int32_subscriber_c.exe
129
129
130
130
###### String_publisher
131
131
132
-
The purpose of the package is to publish a simple string ROS2 message and demonstrate how Micro-ROS layers (rcl, typesupport and rmw) handle it.
132
+
The purpose of the package is to publish a simple string ROS 2 message and demonstrate how Micro-ROS layers (rcl, typesupport and rmw) handle it.
133
133
For each publication, the message string number increases in one unit order to see in the subscriber side the message variations.
134
134
135
135
###### String_subscriber
136
136
137
-
The purpose of the package is to subscribe to a simple string ROS2 message and demonstrate how Micro-ROS layers (rcl, typesupport and rmw) handle it.
137
+
The purpose of the package is to subscribe to a simple string ROS 2 message and demonstrate how Micro-ROS layers (rcl, typesupport and rmw) handle it.
138
138
139
139
##### Run string demonstration (Linux)
140
140
@@ -202,7 +202,7 @@ string_subscriber_c.exe
202
202
###### complex_msg
203
203
204
204
One of the purposes of the package is to demonstrate how typesupport code is generated for a complex message.
205
-
Also, the generation of a complex ROS2 structure message is used to demonstrate how the different layers (rcl, typesupport and rmw) handle it.
205
+
Also, the generation of a complex ROS 2 structure message is used to demonstrate how the different layers (rcl, typesupport and rmw) handle it.
206
206
The message structure contains the following types:
207
207
208
208
- All primitive data types.
@@ -211,12 +211,12 @@ The message structure contains the following types:
211
211
212
212
###### Complex_msg_publisher
213
213
214
-
The purpose of the package is to publish a complex ROS2 message and demonstrate how Micro-ROS layers (rcl, typesupport and rmw) handle it.
214
+
The purpose of the package is to publish a complex ROS 2 message and demonstrate how Micro-ROS layers (rcl, typesupport and rmw) handle it.
215
215
For each publication, the message values increases in one unit order to see in the subscriber side the message variations.
216
216
217
217
###### Complex_msg_subscriber
218
218
219
-
The purpose of the package is to subscribe to a complex ROS2 message and demonstrate how Micro-ROS layers (rcl, typesupport and rmw) handle it.
219
+
The purpose of the package is to subscribe to a complex ROS 2 message and demonstrate how Micro-ROS layers (rcl, typesupport and rmw) handle it.
220
220
221
221
##### Run complex demonstration (Linux)
222
222
@@ -282,7 +282,7 @@ complex_msg_subscriber_c.exe
282
282
283
283
This purpose of the packages is to demonstrate Micro-ROS stack can be used in a real application scenario.
284
284
In this demonstration, an altitude control system is simulated.
285
-
The primary purpose of this is to demonstrate how Micro-ROS communicates with ROS2 nodes.
285
+
The primary purpose of this is to demonstrate how Micro-ROS communicates with ROS 2 nodes.
286
286
287
287
##### Real application packages
288
288
@@ -312,7 +312,7 @@ The mission of this node is to read altitude values and send to the actuator eng
312
312
It also publishes the status (OK, WARNING or FAILURE) as a DDS topic.
313
313
The status depends on the altitude value.
314
314
315
-
The node is built using the ROS2 middleware packages (rmw_fastrtps and rosidl_typesupport_fastrtps).
315
+
The node is built using the ROS 2 middleware packages (rmw_fastrtps and rosidl_typesupport_fastrtps).
316
316
317
317
It is meant to be running in on a regular PC, and it is directly connected to de DDS world.
0 commit comments