Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
1 change: 1 addition & 0 deletions _data/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@

- title: Advanced Tutorials
docs:
- tutorials/advanced/overview
- tutorials/advanced/microxrcedds_rmw_configuration
- tutorials/advanced/create_new_type
- tutorials/advanced/create_dds_entities_by_ref
Expand Down
2 changes: 1 addition & 1 deletion _docs/overview/rtos/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ Zephyr is a fairly new open-source RTOS, developed in a Linux Foundation Project
<ul>
<li><a href="https://www.zephyrproject.org/micro-ros-a-member-of-the-zephyr-project-and-integrated-into-the-zephyr-build-system-as-a-module/">micro-ROS on Zephyr</a></li>
<li><a href="https://micro-ros.github.io/docs/tutorials/core/first_application_rtos/zephyr/">First micro-ROS Application on Zephyr</a></li>
<li><a href="https://micro-ros.github.io/docs/tutorials/advanced/zephyr_emulator/">First micro-ROS Application on Zephyr Emulator</a></li>
<li><a href="https://micro-ros.github.io/docs/tutorials/core/zephyr_emulator/">First micro-ROS Application on Zephyr Emulator</a></li>
</ul>
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion _docs/tutorials/advanced/create_new_type/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: How to create a new micro-ROS message type
title: How to include a custom ROS message in micro-ROS
permalink: /docs/tutorials/advanced/create_new_type/
---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,4 +114,4 @@ rcl_init(0, NULL, &init_options, &context);
// ... micro-ROS code ...
```

Notice that it is also possible to set the Micro XRCE-DDS `client_key`, which would otherwise be set randomly. This feature is useful for reusing DDS entities already created on the agent side. Further information can be found [here](https://micro-xrce-dds.readthedocs.io/en/latest/deployment.html#configurate-the-publisher) and [here](https://github.com/micro-ROS/rmw-microxrcedds#rmw-micro-xrce-dds-implementation).
Notice that it is also possible to set the Micro XRCE-DDS `client_key`, which would otherwise be set randomly. This feature is useful for reusing DDS entities already created on the agent side. Further information can be found [here](https://micro-xrce-dds.docs.eprosima.com/en/latest/getting_started.html#publisher-configuration) and [here](https://github.com/micro-ROS/rmw-microxrcedds#rmw-micro-xrce-dds-implementation).
36 changes: 36 additions & 0 deletions _docs/tutorials/advanced/overview/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
title: Overview
permalink: /docs/tutorials/advanced/overview/
redirect_from:
- /docs/tutorials/advanced/
---

This chapter provides a number of advanced tutorials for those users who already have some previous micro-ROS knowledge. They are useful to interact with micro-ROS at a deeper level compared with the [**First Step Tutorials**](../../core/overview). There is no specific order recommended to take these tutorials, as each addresses a different aspect of the micro-ROS stack and toolchain.

* [**Optimizing the Middleware Configuration**](../microxrcedds_rmw_configuration/)

In this tutorial, we'll guide you through the configuration of the middleware between a microcontroller and the micro-ROS agent running on some Linux-based microprocessor, to optimize it for your specific use-case and application.

* [**How to include a custom ROS message in micro-ROS**](../create_new_type/)

This tutorial explains how to create or include a custom ROS message type in a micro-ROS application - and in particular how to bring it into the [build system](https://github.com/micro-ROS/micro_ros_setup).

* [**How to use custom QoS in micro-ROS**](../create_dds_entities_by_ref/)

This tutorial explains the procedure for creating micro-ROS entities using fully configurable QoS settings by using the ROS 2 (DDS) entities creation mode *by references* as allowed by the micro-ROS default middleware (Micro XRCE-DDS Client).

* [**Creating custom micro-ROS transports**](../create_custom_transports/)

This tutorial aims at providing step-by-step guidance for those users interested in creating micro-ROS custom transports, instead of using the ones provided by default in the micro-ROS tools set.

* [**Creating custom static micro-ROS library**](../create_custom_static_library/)

This tutorial aims at providing step-by-step guidance for those users interested in compiling micro-ROS as a standalone library in order to integrate it in custom development tools.

* [**Benchmarking with the Shadow-Builder**](../benchmarking/)

This tutorial aims at describing a specific benchmarking tooling called the *Shadow Builder*. More specifically, it explains how to create a plugin from A to Z and how to instrument the code.

* [**Getting started with ROS 2 tracing**](../tracing/)

Tracing is a method for recording run-time data which is already well integrated with operating systems. This tutorial aims to introduce our ongoing effort to instrument ROS 2 and provide trace analysis tools.
6 changes: 3 additions & 3 deletions _docs/tutorials/core/overview/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ redirect_from:
- /docs/tutorials/
---

This chapter provides you a number of tutorials to learn micro-ROS and relevant tools for the different RTOS supported by micro-ROS. We divided this chapter into two sections core tutorials and advanced tutorials.
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.

If you are new to micro-ROS, we strongly suggest that you take the tutorials in the following order:

Expand All @@ -22,6 +22,6 @@ If you are new to micro-ROS, we strongly suggest that you take the tutorials in

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.

* [**Optimizing the Middleware Configuration**](../../advanced/microxrcedds_rmw_configuration/)
* [**Zephyr Emulator**](../zephyr_emulator/)

In this tutorial, we'll guide you through the configuration of the middleware between a microcontroller and the micro-ROS agent running on some Linux-based microprocessor, to optimize it for your specific use-case an application.
In this tutorial, you'll learn the use of micro-ROS with Zephyr emulator by testing a Ping Pong application.