PX4
Кратко
PX4 — открытый автопилот, наряду с ArduPilot определяющий облик открытой беспилотной экосистемы. Родился как исследовательский проект ETH Zürich, сегодня развивается под эгидой Dronecode Foundation (Linux Foundation). Распространяется под разрешительной лицензией BSD-3 — её выбирают производители, встраивающие автопилот в коммерческие продукты без обязательства открывать свой код.
Для чего используется
- коммерческие аппараты: разрешительная лицензия и стандартизованное железо (Pixhawk);
- исследования и университеты: модульная архитектура удобна для экспериментов с алгоритмами;
- аппараты всех основных схем: мультироторы, самолёты, VTOL, наземные и надводные;
- проекты с бортовым компьютером: связка с ROS 2 и компьютерным зрением.
Как работает
Архитектура PX4 подчёркнуто модульная. Прошивка работает поверх встраиваемой ОС реального времени NuttX (на контроллерах STM32) или на Linux; внутри автопилот состоит из независимых модулей — драйверы сенсоров, оценка состояния (EKF2), контуры управления, коммандер режимов. Модули обмениваются через внутреннюю шину публикации/подписки uORB: каждый публикует свои данные (например, «оценка ориентации»), другие подписываются. Такую систему легко расширять — новый алгоритм подключается как ещё один модуль.
Внешний мир взаимодействует с PX4 несколькими путями:
- наземные станции — по MAVLink; станция по умолчанию — QGroundControl;
- приложения — через MAVSDK: высокоуровневые библиотеки для управления аппаратом из своего кода;
- робототехнические стеки — мост в ROS 2, открывающий доступ к топикам автопилота из узлов ROS;
- симуляция — SITL с Gazebo и другими симуляторами: полная отработка миссий без железа.
Полётные режимы аналогичны ArduPilot по сути (ручные, ассистированные, автономные), отличаясь названиями и логикой переключения; failsafe покрывает потерю связи, GNSS и низкий заряд.
Основные компоненты
- прошивка с модульной архитектурой поверх NuttX/Linux;
- EKF2 — оценка состояния; uORB — внутренняя шина;
- профили аппаратов (airframes) под типовые схемы;
- MAVSDK, мост ROS 2, SITL-симуляция;
- экосистема Dronecode: QGroundControl, стандарты Pixhawk, MAVLink.
Примеры
- Серийные коммерческие мультироторы на PX4 + Pixhawk.
- Исследовательский аппарат: PX4 + бортовой компьютер с ROS 2 и визуальной навигацией.
- Разработка алгоритма посадки в Gazebo-симуляции до первого реального полёта.
Связанные темы
Источники
- PX4 User Guide — архитектура, uORB, режимы, MAVSDK, ROS 2, симуляция.