micro-ROS — открытая программная платформа и набор инструментов, предназначенные для переноса функциональности робототехнической среды ROS 2 на ресурсно-ограниченные микроконтроллеры (MCU). Проект развивался с целью обеспечения совместимости распределённых робоcистем на уровне сообщений, сервисов и действий, сохраняя при этом минимальные требования к памяти и вычислительным ресурсам целевых устройств. Архитектура micro-ROS включает клиентские библиотеки для встроенных приложений, компонент агента для взаимодействия с полноценными ROS 2-ноду и средства сборки и прошивки firmware для популярных RTOS и bare-metal платформ.
micro-ROS ориентирован на сценарии, где необходимо обеспечить надёжную коммуникацию, детерминизм и управление периферией на уровне MCU при интеграции в более крупную ROS-экосистему. Проект предоставляет абстракции для топологий обмена сообщениями, синхронизации времени и управления жизненным циклом компонентов, а также механизмы для настройки транспортного уровня и средств сериализации данных с учётом ограничений памяти и полосы пропускания. Развитие платформы сопровождалось адаптацией под различные аппаратные и программные стеки, что позволяло применять её в промышленных контроллерах, автономных устройствах и распределённых сенсорных узлах.
- Клиентские библиотеки: компактные реализации ROS 2 API для MCU, обеспечивающие публикацию/подписку, клиент-серверные взаимодействия и действия.
 - Agent: компонент, выполняющий моста между микроустройствами и полноценной ROS 2-сетью, обрабатывающий маршрутизацию сообщений и преобразование протоколов.
 - Поддержка RTOS и bare-metal: адаптации для популярных реализаций реального времени и лёгких операционных сред на встраиваемых платформах.
 - Транспорт и сериализация: настраиваемые стеки передачи данных и компактные форматы сериализации, оптимизированные для ограниченных каналов связи.
 - Инструменты сборки и прошивки: утилиты для генерации прошивок, интеграции с системами сборки и автоматизации CI/CD для встроенных устройств.
 - Модульность и расширяемость: архитектура, позволяющая добавлять драйверы периферии, политики QoS и пользовательские адаптеры транспорта.
 - Совместимость с ROS 2: поддержка ключевых концепций экосистемы ROS 2 для упрощения интеграции с существующими робототехническими приложениями.