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/benchmarking/memo_prof/index.md
+1-2Lines changed: 1 addition & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,7 @@ Results show that the total memory consumption of the Client is higher than that
29
29
30
30
## Memory management of the micro-ROS stack
31
31
32
-
micro-ROS’ [target devices](https://micro-ros.github.io/docs/overview/hardware/) are low-to-mid range Microcontroller Units (MCUs) with highly constrained resources, so that it is critical to assess the Client’s memory consumption to help users selecting the optimal library configuration for their application and the adequate platform on which to run it.
32
+
micro-ROS’ [target devices](/docs/overview/hardware/) are low-to-mid range Microcontroller Units (MCUs) with highly constrained resources, so that it is critical to assess the Client’s memory consumption to help users selecting the optimal library configuration for their application and the adequate platform on which to run it.
33
33
34
34
Given the limited memory resources of these devices, the possibility to manipulate and tune its memory consumption is key. micro-ROS tries to address the memory management issue by prioritizing the use of static memory instead of dynamic memory as much as possible, and by optimizing the memory footprint of the applications by tuning a set of configuration parameters related with the memory resources at compile-time.
Copy file name to clipboardExpand all lines: _docs/concepts/build_system/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
@@ -64,6 +64,6 @@ source install/local_setup.bash
64
64
ros2 run micro_ros_agent micro_ros_agent [OPTIONS]
65
65
```
66
66
67
-
**Tip 1:** To learn use of the micro_ros_setup build system hands-on, please see the [core tutorials](https://micro-ros.github.io/docs/tutorials/core/first_application_rtos/).
67
+
**Tip 1:** To learn use of the micro_ros_setup build system hands-on, please see the [core tutorials](/docs/tutorials/core/first_application_rtos/).
68
68
69
69
**Tip 2 :** Remember that the micro-ROS Agent can be also be used with this simple Docker command: `docker run -it --rm -v /dev:/dev --privileged --net=host microros/micro-ros-agent:$ROS_DISTRO [OPTIONS]`
* [SLD2021]<a name="SLD2021"></a> J. Staschulat, R. Lange and D. N. Dasari, "Budget-based real-time Executor for Micro-ROS", arXiv Pre-Print, May 2021. [[paper](https://arxiv.org/abs/2105.05590)]
733
733
734
-
* [L2020]<a name="L2020"></a> Ralph Lange: Advanced Execution Management with ROS 2, ROS-Industrial Conference, Dec 2020 [[Slides]](https://micro-ros.github.io/download/2020-12-16_Advanced_Execution_Management_with_ROS_2.pdf)
734
+
* [L2020]<a name="L2020"></a> Ralph Lange: Advanced Execution Management with ROS 2, ROS-Industrial Conference, Dec 2020 [[Slides]](/download/2020-12-16_Advanced_Execution_Management_with_ROS_2.pdf)
735
735
736
736
* [SLL2020]<a name="SLL2020"></a> J. Staschulat, I. Lütkebohle and R. Lange, "The rclc Executor: Domain-specific deterministic scheduling mechanisms for ROS applications on microcontrollers: work-in-progress," 2020 International Conference on Embedded Software (EMSOFT), Singapore, Singapore, 2020, pp. 18-19. [[Paper]](https://ieeexplore.ieee.org/document/9244014) [[Video]](https://whova.com/embedded/session/eswe_202009/1145800/)
Comparison of micro-ROS features with ROS 2 features. The following list has been compiled from [https://docs.ros.org/en/rolling/The-ROS2-Project/Features.html](https://docs.ros.org/en/rolling/The-ROS2-Project/Features.html) and [https://docs.ros.org/en/rolling/The-ROS2-Project/Roadmap.html](https://docs.ros.org/en/rolling/The-ROS2-Project/Roadmap.html), and the features have been organized into sub-tables according to the macrocategories defined in the [Features and Architecture page](https://micro-ros.github.io//docs/overview/features/).
6
+
Comparison of micro-ROS features with ROS 2 features. The following list has been compiled from [https://docs.ros.org/en/rolling/The-ROS2-Project/Features.html](https://docs.ros.org/en/rolling/The-ROS2-Project/Features.html) and [https://docs.ros.org/en/rolling/The-ROS2-Project/Roadmap.html](https://docs.ros.org/en/rolling/The-ROS2-Project/Roadmap.html), and the features have been organized into sub-tables according to the macrocategories defined in the [Features and Architecture page](/docs/overview/features/).
7
7
8
8
<style>
9
9
.status_flag {
@@ -56,20 +56,20 @@ Comparison of micro-ROS features with ROS 2 features. The following list has bee
| Build system | <spanclass="status_flag">✓</span> | micro-ROS provides two ways of building a micro-ROS application. The first uses the [micro_ros_setup](https://github.com/micro-ROS/micro_ros_setup) tool integrated in a ROS 2 workspace. With this approach, the build systems of NuttX, FreeRTOS, and Zephyr are integrated with colcon. The other provides micro-ROS as a component for external development frameworks (e.g., ESP-IDF and Zephyr build system). |
59
-
| Supported hardware | <spanclass="status_flag">✓</span> | micro-ROS officially supports four boards. For the moment, all official ports are based on the STM32 series from ST and on the ESP32 from Espressif. Find more info [here](https://micro-ros.github.io/docs/overview/hardware/). More ports have been carried out by users, check the [complete list](https://github.com/micro-ROS/micro_ros_setup#supported-platforms). |
59
+
| Supported hardware | <spanclass="status_flag">✓</span> | micro-ROS officially supports four boards. For the moment, all official ports are based on the STM32 series from ST and on the ESP32 from Espressif. Find more info [here](/docs/overview/hardware/). More ports have been carried out by users, check the [complete list](https://github.com/micro-ROS/micro_ros_setup#supported-platforms). |
60
60
| Supported Operating Systems | <spanclass="status_flag">✓</span> | micro-ROS is supported by the RTOSes FreeRTOS, Zephyr, NuttX, in addition to Linux and Windows. |
| Demos of an all-ROS 2 mobile robot | <spanclass="status_flag">✓</span> | Demos of several ROS 2 + micro-ROS robots available. See [https://micro-ros.github.io/docs/tutorials/demos/](https://micro-ros.github.io/docs/tutorials/demos/). |
66
+
| Demos of an all-ROS 2 mobile robot | <spanclass="status_flag">✓</span> | Demos of several ROS 2 + micro-ROS robots available. See [/docs/tutorials/demos/](/docs/tutorials/demos/). |
67
67
| Support for real-time code | <spanclass="status_flag">✓</span> | Real-time behaviour is key to micro-ROS typical usages. The [rclc Executor](https://github.com/ros2/rclc/tree/master/rclc) provides mechanisms for implementing real-time-critical applications. At lower levels, the Micro XRCE-DDS library exhibits real-timeness and determinism for being dynamic memory free and for providing functions to perform tasks within well-defined periods of time. |
68
68
| Support for "bare-metal" microcontrollers | <spanclass="status_flag">✓</span> | Bringing ROS 2 onto MCUs is all that micro-ROS is about. The standard approach to micro-ROS assumes an RTOS underneath (e.g., [FreeRTOS](https://www.freertos.org/), [Zephyr](https://www.zephyrproject.org/), or [NuttX](http://nuttx.apache.org/)). Recent developments aim at loosening this requirement, with the integration into [Arduino IDE](https://github.com/micro-ROS/micro_ros_arduino) being a first step towards true micro-ROS bare-metal support. |
69
69
| Continuous Integration | <spanclass="status_flag">✓∘</span> | Currently, the CI for micro-ROS is distributed to GitHub and GitLab. *Until the end of 2020, all CI should be moved migrated completely to the new CI actions of GitHub.* Please note that those packages that are released for standard ROS 2 are also built and tested on [build.ros2.org](http://build.ros2.org/). |
70
-
| Documentation | <spanclass="status_flag">✓</span> | High-level documentation at [micro-ros.github.io](https://micro-ros.github.io/). For detailed information please consult the README.md files in the relevant micro-ROS repositories at [github.com/micro-ROS/](https://github.com/micro-ROS/). For information on the middleware implementation, take a look at the [Micro XRCE-DDS documentation](https://micro-xrce-dds.docs.eprosima.com/en/latest/). |
70
+
| Documentation | <spanclass="status_flag">✓</span> | High-level documentation at [the micro-ROS website](/). For detailed information please consult the README.md files in the relevant micro-ROS repositories at [github.com/micro-ROS/](https://github.com/micro-ROS/). For information on the middleware implementation, take a look at the [Micro XRCE-DDS documentation](https://micro-xrce-dds.docs.eprosima.com/en/latest/). |
71
71
| Peer-to-peer functionality | <spanclass="status_flag">✓∘</span> | Prototypical peer-to-peer functionality implemented over broadcast. No QoS available for the moment. *Roadmap: improve prototype to achieve true point-to-point connection.*|
72
-
| Memory footprint | <spanclass="status_flag">✓</span> | A comprehensive profiling of the memory consumption of typical micro-ROS applications can be found [here](https://micro-ros.github.io/docs/concepts/benchmarking/memo_prof/). |
72
+
| Memory footprint | <spanclass="status_flag">✓</span> | A comprehensive profiling of the memory consumption of typical micro-ROS applications can be found [here](/docs/concepts/benchmarking/memo_prof/). |
73
73
74
74
Below, you can find the legend of the symbols used in the tables above.
Copy file name to clipboardExpand all lines: _docs/overview/rtos/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
@@ -37,11 +37,11 @@ Even though recent developments aim at loosening this requirement, with the inte
37
37
To date, micro-ROS is supported by the RTOSes FreeRTOS, Zephyr, NuttX, in addition to Linux and Windows.
38
38
All three RTOSes are downloaded natively with the [micro-ROS build system](https://github.com/micro-ROS/micro_ros_setup), and can be chosen when creating
39
39
a new firmware workspace.
40
-
Dedicated tutorials for running your first micro-ROS application on each of these Operating Systems can be found [here](https://micro-ros.github.io/docs/tutorials/core/first_application_rtos/).
40
+
Dedicated tutorials for running your first micro-ROS application on each of these Operating Systems can be found [here](/docs/tutorials/core/first_application_rtos/).
41
41
The features common to all supported RTOSes are an API compliant with POSIX to some degree, extremely low-to-low memory footprint, and availability of different scheduling algorithms to ensure determinism in micro-ROS apps behavior.
42
42
43
43
Find more details about each of the supported RTOSes below.
44
-
For a more comprehensive explanation regarding the choice of working with Real-Time Operating Systems, and for a more technical comparison among these three RTOSes, please refer to the [RTOS page in the Concepts section](https://micro-ros.github.io/docs/concepts/rtos/), as the present page is meant to solely provide a schematic overview.
44
+
For a more comprehensive explanation regarding the choice of working with Real-Time Operating Systems, and for a more technical comparison among these three RTOSes, please refer to the [RTOS page in the Concepts section](/docs/concepts/rtos/), as the present page is meant to solely provide a schematic overview.
45
45
46
46
47
47
## Real-Time Operating Systems officially supported by the project
@@ -72,7 +72,7 @@ FreeRTOS is distributed under the MIT license. It is known particularly for its
72
72
<b>FreeRTOS & micro-ROS:</b>
73
73
<ul>
74
74
<li><a href="https://www.freertos.org/2020/09/micro-ros-on-freertos.html">micro-ROS on FreeRTOS</a></li>
75
-
<li><a href="https://micro-ros.github.io/docs/tutorials/core/first_application_rtos/freertos/">First micro-ROS Application on FreeRTOS</a></li>
75
+
<li><a href="/docs/tutorials/core/first_application_rtos/freertos/">First micro-ROS Application on FreeRTOS</a></li>
76
76
</ul>
77
77
</div>
78
78
</div>
@@ -109,8 +109,8 @@ Zephyr is a fairly new open-source RTOS, developed in a Linux Foundation Project
109
109
<b>Zephyr & micro-ROS:</b>
110
110
<ul>
111
111
<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>
112
-
<li><a href="https://micro-ros.github.io/docs/tutorials/core/first_application_rtos/zephyr/">First micro-ROS Application on Zephyr</a></li>
113
-
<li><a href="https://micro-ros.github.io/docs/tutorials/core/zephyr_emulator/">First micro-ROS Application on Zephyr Emulator</a></li>
112
+
<li><a href="/docs/tutorials/core/first_application_rtos/zephyr/">First micro-ROS Application on Zephyr</a></li>
113
+
<li><a href="/docs/tutorials/core/zephyr_emulator/">First micro-ROS Application on Zephyr Emulator</a></li>
114
114
</ul>
115
115
</div>
116
116
</div>
@@ -142,7 +142,7 @@ NuttX emphasizes its compliance with standards - including POSIX - and small foo
142
142
</ul>
143
143
<b>NuttX & micro-ROS:</b>
144
144
<ul>
145
-
<li><a href="https://micro-ros.github.io/docs/tutorials/core/first_application_rtos/nuttx/">First micro-ROS Application on NuttX</a></li>
145
+
<li><a href="/docs/tutorials/core/first_application_rtos/nuttx/">First micro-ROS Application on NuttX</a></li>
This tutorial explains the procedure for creating micro-ROS entities using fully configurable QoS settings. The micro-ROS default middleware (Micro XRCE-DDS Client) allows the user to take two different approaches for creating ROS 2 (DDS) entities in the micro-ROS Agent (Please check the [architecture section](https://micro-ros.github.io/docs/overview/) for detailed information):
9
+
This tutorial explains the procedure for creating micro-ROS entities using fully configurable QoS settings. The micro-ROS default middleware (Micro XRCE-DDS Client) allows the user to take two different approaches for creating ROS 2 (DDS) entities in the micro-ROS Agent (Please check the [architecture section](/docs/overview/) for detailed information):
10
10
- By XML (the default option in micro-ROS RMW)
11
11
- By reference
12
12
@@ -70,7 +70,7 @@ But these QoS configurations may not fit some user's requirements. For these cas
70
70
Additionally, using references will also reduce the memory consumption of the micro-ROS client inside the MCU. This is because the parts of the code where XML are handled are just not build with the references approach.
71
71
72
72
Let's see how to create a micro-ROS node that creates entities with custom QoS. First of all, independently of which RTOS you have selected in [First micro-ROS Application on an RTOS
73
-
](https://micro-ros.github.io/docs/tutorials/core/first_application_rtos/) tutorial, you should have an app configuration file named `app-colcon.meta`.
73
+
](/docs/tutorials/core/first_application_rtos/) tutorial, you should have an app configuration file named `app-colcon.meta`.
74
74
75
75
Inside this `app-colcon.meta` file we can set application specific CMake options for the micro-ROS packages that are going to be crosscompiled. So, let's setup the `rmw_microxrcedds` in order to use references; your `app-colcon.meta` should look like this:
0 commit comments