Middleware (промежуточное ПО)
Middleware (промежуточное, связующее ПО) — это программный слой между операционной системой с драйверами и прикладными модулями дрона: он передаёт сообщения между камерой, IMU, полётным контроллером, навигацией и нейросетями, гарантируя доставку, порядок и задержку. В робототехнике типичные примеры — DDS и ROS 2 поверх него.
Для производителя дрона или интегратора middleware определяет, насколько легко добавить новый датчик или модуль и как система поведёт себя при перегрузке: от него зависит, дойдёт ли кадр с камеры до алгоритма облёта препятствий вовремя.
Что делает middleware
Абстрагирует транспорт: модули публикуют и получают сообщения, не зная, по UART, Ethernet или в памяти они идут. Задаёт качество обслуживания: надёжная доставка для команд, «последнее значение» для телеметрии, приоритет для навигации. Даёт обнаружение модулей, журналирование и воспроизведение данных для разбора.
- Обмен сообщениями по темам и сервисам между модулями
- Настройки надёжности и задержки для разных потоков
- Единый формат данных датчиков и команд
- Запись и воспроизведение потоков для тестирования
Место в архитектуре бортового ПО
Снизу — бортовая ОС с BSP и драйверами, сверху — прикладные модули: навигация, восприятие, исполнение задания. Middleware между ними. К полётному контроллеру подключается мост MAVLink, к наземным системам — API. В готовых продуктах middleware скрыт внутри, в собственной разработке его выбирают явно.
Как влияет на надёжность
Правильно настроенные приоритеты не дают анализу видео задержать навигацию; надёжная доставка команд исключает потерю команды посадки; изоляция модулей позволяет перезапустить упавший узел без потери полёта. Плохо настроенный middleware — источник задержек и сбоев, которые трудно воспроизвести.
Где это важно
Производителям — при проектировании бортового стека; интеграторам — при добавлении датчиков заказчика (газоанализатор, лидар) к готовой платформе; вузам — при обучении разработке робототехники. Заказчику в энергетике или нефтегазе важнее результат: предсказуемое поведение парка.
AI Captain выступает связующим слоем между полётным контроллером и полезной нагрузкой: внутри — обмен данными датчиков, навигации и восприятия с приоритетом навигационных задач, снаружи — MAVLink к контроллеру и API для сторонних систем, через который партнёры подключают свои модули и датчики.
Продукты: AI Captain
Частые вопросы
Нужен ли ROS, чтобы был middleware?
Нет: ROS 2 — одна из реализаций поверх DDS; готовые бортовые ОС используют собственные или встроенные механизмы обмена.
Влияет ли middleware на задержку облёта препятствий?
Да: от настроек приоритетов и транспорта зависит, за сколько миллисекунд кадр дойдёт до алгоритма и команда — до контроллера.
Middleware — связующий слой бортового ПО, который передаёт сообщения между датчиками, навигацией, нейросетями и полётным контроллером с нужной надёжностью и задержкой. Определяет расширяемость и предсказуемость автономного дрона.
Связанные термины: ROS (Robot Operating System), Бортовая операционная система, API, Полётный стек