Skip to content

Latest commit

 

History

History
139 lines (115 loc) · 7.31 KB

File metadata and controls

139 lines (115 loc) · 7.31 KB
title Integration into External Tools
permalink /docs/overview/ext_tools/
<style> .extplatcontainer { height: 300px; display: flex; flex-direction: row; justify-content: flex-start; flex-wrap: wrap; } .extplatitem_image { width: 35%; display: flex; align-items: center; justify-content: center; } .extplatitem_description { width: 65%; } .extplatitem_image img { max-width: 100%; } </style>

micro-ROS aims to bring ROS 2 to microcontrollers to allow having first-class ROS 2 entities in the embedded world.

One of the approaches offered by micro-ROS to build an application for embedded platforms consists in a ROS-specific build system comprising modules which integrate the software for cross-compiling said apps on the supported plaforms, both hardware and firmware-wise. A different approach consists in generating standalone modules and components allowing to integrate micro-ROS into external or custom development frameworks, made possible by a tool dedicated to compiling micro-ROS as a standalone library.

The configuration of the generated micro-ROS libraries is based on a colcon.meta file.

The modules that exist up to date for integrating into external build systems are the following:

Vulcanexus micro-ROS element

Vulcanexus is an all-in-one ROS 2 tool set for easy and customized robotics development. It offers natively integrated solutions for ROS 2 networks in terms of performance improvement, simulation, cloud/edge communication, and microcontroller integration. The latter relies on micro-ROS. Vulcanexus is free and open source, and available as a Docker image for Humble and Iron. All components enjoy continuous updates so users benefit from the latest features at all times.

micro-ROS component for the ESP-IDF

ESP-IDF is the official development framework for the ESP32, ESP32-S and ESP32-C Series SoCs. To date, it has been tested in ESP-IDF v4.1 and v4.2 with ESP32 and ESP32-S2. The micro-ROS component for the ESP-IDF allows the user to integrate the micro-ROS API and utilities in an already created ESP-IDF project just by cloning or copying a folder. The current ports support Serial (UART), WiFi, and Ethernet.
Resources:

micro-ROS module for the Zephyr build system

Zephyr is a scalable RTOS built with security in mind, and based on a small-footprint kernel designed for use on resource-constrained systems. The Zephyr kernel supports multiple hardware architectures, including ARM Cortex-M, Intel x86, ARC, Nios II, Tensilica Xtensa, and RISC-V, and can count with large number of supported boards. The micro-ROS module for Zephyr allows to integrate the micro-ROS API and utilities in an existing Zephyr-based project just by cloning or copying a folder.
Resources:

micro-ROS for Arduino

Arduino is an open-source platform based on an I/O board and a development environment that implements the Processing/Wiring language, intended to enable users to easily generate interactive projects. A CLI is also offered, which aims to be an all-in-one solution providing the tools needed to use any Arduino compatible platform from the command line. The micro-ROS for Arduino support package is a special bare-metal port of micro-ROS provided as a set of precompiled libraries for specific platforms.
Resources:

micro-ROS for STM32CubeMX

The STM32CubeMX is a graphical tool by ST for configuring STM32 microcontrollers and microprocessors. It enables to optimally program and manipulate the software thanks to a set of utilities that help setting up pinouts, peripherals, and middleware stacks. micro-ROS for STM32CubeMX can be configured using the static library builder docker image and allows micro-ROS to be virtually supported by the full set of boards offered by STMicroelectronics, in turn enabling the seamless integration of micro-ROS into any STM32 controller based project.
Resources:

{% include logos_disclaimer.md %}