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
Move programming with rcl and rclc before advanced tutorials. (#339)
* Moved Programming with rcl and rclc tutorial section before Advanced tutorials.
Signed-off-by: Ralph Lange <ralph.lange@de.bosch.com>
* Added badges for distro status to individual programming with rcl and rclc tutorials.
Signed-off-by: Ralph Lange <ralph.lange@de.bosch.com>
* Fixed links to programming with rcl and rclc tutorial section.
* Updated distro status badges for rclc parameter server.
Signed-off-by: Ralph Lange <ralph.lange@de.bosch.com>
* Fix code identation
Co-authored-by: Antonio cuadros <acuadros1995@gmail.com>
Copy file name to clipboardExpand all lines: _docs/concepts/client_library/features/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
@@ -13,4 +13,4 @@ The micro-ROS Client Library, formed by standard [ROS 2 Client Support Library (
13
13
* Lifecycle
14
14
* Parameters
15
15
16
-
Most features are already available in the Foxy release. Please see our [Feature Overview page](/docs/overview/features/) for details on the status. To learn developing your own application nodes with rcl + rclc, please head to the corresponding [programming tutorial](/docs/tutorials/core/programming_rcl_rclc/).
16
+
Most features are already available in the Foxy release. Please see our [Feature Overview page](/docs/overview/features/) for details on the status. To learn developing your own application nodes with rcl + rclc, please head to the corresponding [programming tutorial](/docs/tutorials/programming_rcl_rclc/).
Copy file name to clipboardExpand all lines: _docs/tutorials/core/overview/index.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,9 +6,7 @@ redirect_from:
6
6
- /docs/tutorials/
7
7
---
8
8
9
-
This chapter provides the user with a number of tutorials to learn micro-ROS and relevant tools for the different RTOSes supported by micro-ROS. In the [**Advanced Tutorials**](../../advanced/overview/) section, you'll find more advanced tutorials to strenghten your micro-ROS knowledge.
10
-
11
-
If you are new to micro-ROS, we strongly suggest that you take the tutorials in the following order:
9
+
This chapter provides a number of tutorials to learn micro-ROS and relevant tools for the different RTOSes supported by micro-ROS. If you are new to micro-ROS, we strongly suggest that you take the tutorials in the following order:
12
10
13
11
*[**First micro-ROS application on Linux**](../first_application_linux/)
14
12
@@ -18,14 +16,16 @@ If you are new to micro-ROS, we strongly suggest that you take the tutorials in
18
16
19
17
In this tutorial, you will learn how to build the application from the previous tutorial for an Real-Time Operating System (RTOS). You will see how to flash a microcontroller board with the application and how to communicate with it from a microprocessor running ROS 2 on Linux. (The tutorial covers all three RTOS supported by micro-ROS, namely NuttX, FreeRTOS, and Zephyr. The choice is up to you!)
20
18
21
-
*[**Programming with rcl and rclc**](../programming_rcl_rclc/)
19
+
Then, at this point, you may head over to the next section [**Programming with rcl and rclc**](../../programming_rcl_rclc/), where you 'll learn the concepts of the micro-ROS C API in this tutorial in depth. If you are already familiar with the ROS 2 C++ API or even the underlying ROS Client Support Library (rcl), you'll learn this very quickly.
22
20
23
-
You'll learn the concepts of the micro-ROS C API in this tutorial in depth. If you are already familiar with the ROS 2 C++ API or even the underlying ROS Client Support Library (rcl), you'll learn this very quickly.
21
+
In case you are using the corresponding RTOS or hardware, the following basic tutorials may be interesting before switching to the [**Programming with rcl and rclc**](../../programming_rcl_rclc/) section:
24
22
25
23
*[**Zephyr Emulator**](../zephyr_emulator/)
26
24
27
25
In this tutorial, you'll learn the use of micro-ROS with Zephyr emulator by testing a Ping Pong application.
28
26
29
27
*[**Teensy with Arduino**](../teensy_with_arduino/)
30
28
31
-
In this tutorial you will learn how to connect Teensy with micro-ROS and ROS2. You will also learn how to install micro-ROS agent in linux systems to communicate with Teensy based arduino board using Arduino IDE. This tutorial will also cover a simple publisher topic published from teensy and subscribed using ROS2 interface.
29
+
In this tutorial you will learn how to connect Teensy with micro-ROS and ROS 2. You will also learn how to install micro-ROS agent in linux systems to communicate with Teensy based arduino board using Arduino IDE. This tutorial will also cover a simple publisher topic published from teensy and subscribed using ROS2 interface.
30
+
31
+
In the [**Advanced Tutorials**](../../advanced/overview/) section, you'll find more advanced tutorials to strenghten your micro-ROS knowledge.
ROS 2 nodes are the main participants on ROS 2 ecosystem. They will communicate between each other using publishers, subscriptions, services, etc. Further information about ROS 2 nodes can be found [here](https://docs.ros.org/en/galactic/Tutorials/Understanding-ROS2-Nodes.html)
In this section, you'll learn the basics of the micro-ROS C API: **rclc**.
11
9
12
10
The major concepts (publishers, subscriptions, services, timers, ...) are identical with ROS 2. They even rely on the *same* implementation, as the micro-ROS C API is based on the ROS 2 client support library (rcl), enriched with a set of convenience functions by the package [rclc](https://github.com/ros2/rclc/). That is, rclc does not add a new layer of types on top of rcl (like rclcpp and rclpy do) but only provides functions that ease the programming with the rcl types. New types are introduced only for concepts that are missing in rcl, such as the concept of an executor.
@@ -16,5 +14,5 @@ The major concepts (publishers, subscriptions, services, timers, ...) are identi
ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS2 commands. Further information about ROS 2 parameters can be found [here](https://docs.ros.org/en/galactic/Tutorials/Parameters/Understanding-ROS2-Parameters.html)
7
9
8
10
Ready to use code related to this tutorial can be found in [`rclc/rclc_examples/src/example_parameter_server.c`](https://github.com/ros2/rclc/blob/master/rclc_examples/src/example_parameter_server.c). Fragments of code from this example is used on this tutorial.
9
11
10
-
Note: micro-ROS parameter server is only supported on ROS2 galactic distribution
12
+
Note: micro-ROS parameter server is only supported on ROS 2 Galactic distribution
11
13
12
14
-[Initialization](#initialization)
13
15
-[Memory requirements](#memory-requirements)
@@ -54,6 +56,7 @@ Note: micro-ROS parameter server is only supported on ROS2 galactic distribution
54
56
```
55
57
56
58
## Memory requirements
59
+
57
60
The parameter server uses 4 services and an optional publisher, this needs to be taken into account on the `rmw-microxredds` package memory configuration:
ROS 2 publishers and subscribers are the basic communication mechanism between nodes using topics. Further information about ROS 2 publish–subscribe pattern can be found [here](https://docs.ros.org/en/foxy/Tutorials/Topics/Understanding-ROS2-Topics.html).
7
9
8
10
Ready to use code related to this concepts can be found in [`micro-ROS-demos/rclc/int32_publisher`](https://github.com/micro-ROS/micro-ROS-demos/blob/foxy/rclc/int32_publisher/main.c) and [`micro-ROS-demos/rclc/int32_subscriber`](https://github.com/micro-ROS/micro-ROS-demos/blob/foxy/rclc/int32_subscriber/main.c) folders. Fragments of code from this examples are used on this tutorial.
0 commit comments