micro-ROS

Бесплатно
Открытый исходный код
Windows
macOS
Linux

Сайт: micro.ros.org

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 для упрощения интеграции с существующими робототехническими приложениями.
Подробнее