OpenEmbedded layers for integrating ROS 1 and ROS 2 into Yocto Project-based embedded Linux systems.
meta-ros is a collection of OpenEmbedded layers that enable the integration of Robot Operating System (ROS) 1 and ROS 2 distributions into embedded Linux systems built with the Yocto Project. It solves the problem of creating custom, Linux-based robotic systems by providing recipes and build configurations that combine ROS capabilities with Yocto's flexibility. This allows developers to produce tailored embedded releases for robotics applications.
Embedded Linux developers and robotics engineers who need to build custom Linux distributions for robotic systems using the Yocto Project and want to integrate ROS frameworks seamlessly.
Developers choose meta-ros because it provides a standardized, community-supported way to integrate ROS into Yocto-based embedded Linux, offering long-term support for various ROS and Yocto release combinations, and enabling the creation of highly customized robotic systems.
OpenEmbedded Layers for ROS 1 and ROS 2
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports multiple ROS 1 and ROS 2 distributions like Noetic, Humble, Jazzy, and Kilted, as detailed in the compatibility table, allowing flexibility for different project needs.
Features a bi-weekly working group, forum discussions, and contribution guidelines, fostering collaborative maintenance and long-term support, as mentioned in the community section.
Includes a common layer (meta-ros-common) and distro-specific subdirectories with recipes and bbappends, providing a clear and maintainable codebase for integration.
Provides support for LTS releases of both Yocto (e.g., Kirkstone, Scarthgap) and ROS (e.g., Humble, Jazzy), ensuring stability for embedded systems, as shown in the EOL table.
Requires using tools like kas or mcf for environment setup, which adds overhead and learning curve compared to standard ROS installations, as noted in the Getting Started section.
Some configurations are only 'best-effort' supported, meaning build failures might not be promptly fixed, as per the support levels table, leading to potential instability.
The last official milestone was in 2022, which could indicate slower updates for new ROS or Yocto releases, relying on community contributions for recent changes.