micro-ROS/micro_ros_setup
Support macros for building micro-ROS-based firmware.
What it solves
It provides a streamlined entry point for developers to build micro-ROS applications on various embedded platforms and microcontrollers. It simplifies the process of cross-compiling micro-ROS, which typically requires complex toolchains, by allowing developers to use common ROS 2 tools to create, configure, build, and flash firmware.
How it works
The package uses a four-step workflow to manage firmware deployment:
- Creating:
create_firmware_ws.shsets up a workspace with the necessary code and dependencies for a specific RTOS (e.g., FreeRTOS, Zephyr) and platform (e.g., ESP32, STM32). - Configuring:
configure_firmware.shallows users to set transport methods (UDP, Serial) and agent connection details (IP, port). - Building:
build_firmware.shcompiles the firmware into a platform-specific binary. - Flashing:
flash_firmware.shuploads the binary to the target hardware.
Additionally, it can be used to build the micro-ROS-Agent, which acts as the bridge between the micro-ROS clients on embedded devices and the rest of the ROS 2 network.
Who it’s for
It is primarily designed for ROS 2 developers who are new to microcontrollers and embedded systems, as well as those looking for a quick way to integrate micro-ROS into their robotics projects across different RTOS and hardware platforms.
Highlights
- Broad Platform Support: Supports a wide range of platforms including ESP32, STM32 Nucleo boards, Crazyflie 2.1, and Android.
- RTOS Integration: Compatible with FreeRTOS and Zephyr RTOS.
- Agent Setup: Includes built-in tools to create and build the micro-ROS-Agent.
- Extensible: New platform and RTOS combinations can be added via simple configuration scripts.
Related
- Project
- Project
- Project
- Project
- Project