Robot Operating System (ROS) — это гибкая фреймворк-экосистема с открытым исходным кодом, предназначенная для разработки программного обеспечения в области робототехники. ROS предоставляет набор библиотек и инструментов, упрощающих создание модульных и распределённых приложений для мобильных роботов, манипуляторов и других автоматизированных систем. В основе ROS лежат концепции узлов (nodes), сообщений и сервисов, которые обеспечивают обмен данными и координацию между отдельными компонентами системы, а также средства для управления пакетами, сборки и отладки.
Проект зародился как исследовательская и инженерная инициатива для повышения повторного использования кода и ускорения разработки робототехнических приложений. ROS поддерживает абстракции для работы с аппаратурой, моделями сенсоров и планирования поведения, что позволяет разработчикам сосредоточиться на алгоритмах высокого уровня. Архитектура ROS ориентирована на расширяемость: компоненты можно развертывать на одной машине или распределять по вычислительной сети, обеспечивая интеграцию разнообразных датчиков, приводов и симуляторов.
- Коммуникация между узлами: реализация публикации/подписки, циклы запрос-ответ и трансляция данных для синхронизации модулей.
 - Пакеты и метапакеты: организация кода, зависимостей и конфигурации для повторного использования и совместного развития.
 - Инструменты сборки и управления: утилиты для компиляции, тестирования и развёртывания программного обеспечения в роботах.
 - Абстракции аппаратуры: интерфейсы для интеграции драйверов сенсоров, приводов и контроллеров.
 - Библиотеки алгоритмов: модули для локализации, картографирования, планирования траекторий и управления движением.
 - Поддержка симуляции: возможности интеграции с моделями и симуляторами для тестирования и отладки без физического робота.
 - Средства визуализации и отладки: инструменты для мониторинга топологии системы, потоков сообщений и состояния датчиков/приводов.
 - Межплатформенная совместимость: архитектурные решения, позволяющие запускать компоненты на различных аппаратных и программных платформах.