ArduPilot
Кратко
ArduPilot — один из двух ведущих открытых автопилотов (второй — PX4): программный комплекс, превращающий полётный контроллер в полноценную систему автоматического управления. Проект развивается сообществом с конца 2000-х, распространяется под лицензией GPLv3 и покрывает практически все типы аппаратов — от мультироторов до подводных.
Для чего используется
ArduPilot выбирают, когда нужен зрелый автопилот без привязки к производителю:
- промышленные и исследовательские БПЛА: картография, мониторинг, доставка;
- самодельные и мелкосерийные аппараты любых схем;
- образование и разработка: открытый код позволяет изучать и модифицировать любую подсистему;
- не только авиация: наземные роверы, катера, подводные аппараты, антенные трекеры.
Как работает
ArduPilot — это семейство прошивок на общей кодовой базе:
- Copter — мультироторы и вертолёты;
- Plane — самолёты и VTOL (QuadPlane);
- Rover — наземные и надводные аппараты;
- Sub — подводные аппараты;
- AntennaTracker — наведение антенны на аппарат.
Ядро автопилота одинаково: показания сенсоров комплексируются расширенным фильтром Калмана (EKF) в оценку положения и ориентации, поверх работают контуры управления и библиотека полётных режимов — от ручной стабилизации (Stabilize) до полностью автономных (Auto — полёт по миссии, RTL — возврат домой, Loiter — удержание точки). Развитая система failsafe реагирует на потерю связи, GNSS, разряд батареи.
Прошивка работает на десятках полётных контроллеров (типовое железо — стандарты Pixhawk на STM32), а также на Linux-платах. Обмен с наземными станциями — по протоколу MAVLink; штатная станция настройки — Mission Planner, поддерживается и QGroundControl. Автоматизация — скрипты Lua прямо на борту либо внешние программы через MAVLink (pymavlink, DroneKit). Для разработки есть SITL — программная симуляция аппарата без железа.
Основные компоненты
- прошивки Copter / Plane / Rover / Sub / AntennaTracker;
- общее ядро: EKF-навигация, контуры управления, failsafe, логирование;
- наземные станции: Mission Planner, MAVProxy, QGroundControl;
- SITL-симуляция и инструменты анализа логов;
- экосистема: документация, форум, ежегодные конференции разработчиков.
Примеры
- Картографический квадроплан: Plane/QuadPlane, автовзлёт, съёмка по сетке, автопосадка.
- Съёмочный октокоптер на Copter с дублированными сенсорами и failsafe на отказ мотора.
- Учебный ровер на Rover — освоение автопилота без риска полётов.
Связанные темы
Источники
- ArduPilot Documentation — прошивки, режимы, EKF, failsafe, поддерживаемое железо, SITL.