Introduction to the micro-ROS Framework

May 18, 2020Tech

micro-ROS is a robotic framework targeting embedded and deep-embedded robot components with extremely constrained computational resources. These devices have special characteristics: a minimum real-time operating system or no operating system, battery-powered, wireless low bandwidth connections, and intermittent operation with sleep periods.

micro-ROS is compatible with Robot Operating System (ROS 2.0), the de facto standard for robot application development. In turn, it puts ROS 2 onto microcontrollers.

micro-ROS enables the interoperability of traditional robots with IoT sensors and devices, creating truly distributed robotic systems using a common framework. micro-ROS empowers these computational devices with constrained resources to become first-class participants of the ROS ecosystem, allowing the creation of smaller robots using the same tools as well as taking advantage of the increasing overlapping between robotics, smart embedded devices, and IoT.

micro-ROS follows the ROS 2 architecture and makes use of its middleware pluggability to use DDS-XRCE, which is suitable for microcontrollers.

The dark blue components shown in the architecture are developed specifically for micro-ROS. The light blue components, on the other hand, are taken from the standard ROS 2 stack. In order to better understand the differences between micro-ROS and other approaches, the project has conducted an analysis of several related approaches; ROSSerial and RIOT-ROS2, in order to provide an accurate comparison.

The whole stack that is necessary to implement ROS features in microcontrollers that are lacking an operating system like Linux or Windows, which are prerequisites to operate ROS2, is being developed in a particular stack that is interoperable with ROS 2, totally and fully integrated.

If you are dealing with real-time, with microcontrollers, or extremely resource-constrained environments, micro ROS will offer what you need to implement standard solutions that avoid continuous implementation of ad-hoc features.

The integration with FIWARE relies on the usage of SOSS FIWARE in combination with the ROS2Agent.

Still not familiar with FIWARE for Robotics? We are running a series of webinars on the development of FIWARE NGSI Robotics Interfaces and how FIWARE enablers accelerate the implementation of powerful smart robotics applications. Following up on the webinar presented on 6 May: ‘How to Develop FIWARE NGSI Interfaces for Robots’ (click here to revisit the webinar), we now present to you a series of blog posts acting as an introduction to the micro-ROS world, including topics such as architecture, middleware, tutorials, and demo cases. This way, you will be up to speed for our next webinars that will dive deeper into core real-time technologies from the smallest robotic devices to agile manufacturing environments.

Related articles