diff --git a/_data/docs.yml b/_data/docs.yml index 85f4d623..cc8fd177 100644 --- a/_data/docs.yml +++ b/_data/docs.yml @@ -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 diff --git a/_docs/overview/rtos/index.md b/_docs/overview/rtos/index.md index b0dd212d..def16752 100644 --- a/_docs/overview/rtos/index.md +++ b/_docs/overview/rtos/index.md @@ -110,7 +110,7 @@ Zephyr is a fairly new open-source RTOS, developed in a Linux Foundation Project
diff --git a/_docs/tutorials/advanced/create_new_type/index.md b/_docs/tutorials/advanced/create_new_type/index.md index 94774a10..9aa806c2 100644 --- a/_docs/tutorials/advanced/create_new_type/index.md +++ b/_docs/tutorials/advanced/create_new_type/index.md @@ -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/ --- diff --git a/_docs/tutorials/advanced/microxrcedds_rmw_configuration/index.md b/_docs/tutorials/advanced/microxrcedds_rmw_configuration/index.md index 72665429..a26c3daa 100644 --- a/_docs/tutorials/advanced/microxrcedds_rmw_configuration/index.md +++ b/_docs/tutorials/advanced/microxrcedds_rmw_configuration/index.md @@ -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). diff --git a/_docs/tutorials/advanced/overview/index.md b/_docs/tutorials/advanced/overview/index.md new file mode 100644 index 00000000..2f870d91 --- /dev/null +++ b/_docs/tutorials/advanced/overview/index.md @@ -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. diff --git a/_docs/tutorials/core/overview/index.md b/_docs/tutorials/core/overview/index.md index 032012be..a7f9e97e 100644 --- a/_docs/tutorials/core/overview/index.md +++ b/_docs/tutorials/core/overview/index.md @@ -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: @@ -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.