Что такое режимы полёта
Режим полёта в ArduPilot — это предустановленный набор алгоритмов управления, который определяет, как летательный аппарат реагирует на команды пилота и как обрабатывает данные с датчиков. Ардупилот поддерживает более 25 режимов для коптеров и 15+ режимов для самолётов, что делает его одной из самых гибких автопилотных систем.
Каждый режим определяет:
- Как обрабатываются входные сигналы с пульта (RC)
- Какие датчики используются (гироскоп, акселерометр, барометр, компас, GPS)
- Как работают PID-контроллеры стабилизации
- Какие функции автоматизации активны (удержание позиции, возврат домой, выполнение миссии)
💡 Ключевая особенность: В отличие от других прошивок, в ArduPilot режимы можно переключать не только с пульта, но и через команды миссии, наземную станцию или скрипты MAVLink.
Как работают режимы в ArduPilot
Архитектура управления
В основе каждого режима лежит система стабилизации, которая использует данные с IMU (инерциального измерительного модуля) для удержания ориентации аппарата.
Уровни абстракции управления:
┌─────────────────────────────────┐
│ 1. Ручное управление (Manual) │ ← Прямая передача сигналов на моторы/серво
├─────────────────────────────────┤
│ 2. Стабилизация (Stabilize) │ ← PID удерживает угол крена/тангажа
├─────────────────────────────────┤
│ 3. Удержание высоты (AltHold) │ ← + барометр/сонар для контроля высоты
├─────────────────────────────────┤
│ 4. Позиционирование (Loiter) │ ← + GPS для удержания координат
├─────────────────────────────────┤
│ 5. Автономные миссии (Auto) │ ← + выполнение заранее заданных точек
└─────────────────────────────────┘
Зависимость от сенсоров
Не все режимы работают без всех датчиков. Требования к сенсорам различаются:
⚠️ Важно: Если режим требует сенсор, который недоступен или не откалиброван, ArduPilot не позволит переключиться в этот режим или автоматически переключится на более простой (см. документацию по failsafe).
Режимы для коптеров (Copter)
Базовые режимы (рекомендуются для новичков)
Stabilize
Управление: Ручное по крену/тангажу/рысканию, авто-выравнивание при отпускании стиков.
- ✅ Не требует GPS, компаса или барометра
- ✅ Идеален для обучения и тестовых полётов
- ✅ Работает в любых условиях, включая помещение
- ❌ Не удерживает позицию при ветре
Когда использовать: Первый полёт, калибровка, полёты в помещении, аварийный режим.
AltHold
Управление: Как Stabilize, но с автоматическим удержанием высоты.
- ✅ Требует только барометр (есть в большинстве полётных контроллеров)
- ✅ Позволяет сосредоточиться на горизонтальном управлении
- ✅ Полезен для съёмки с постоянной высотой
- ❌ Не компенсирует горизонтальный дрейф от ветра
Настройка: Убедитесь, что RNGFND_USE настроен, если используете сонар для низкой высоты (документация по дальномерам).
Loiter
Управление: Ручное перемещение с автоматическим возвратом в точку при отпускании стиков.
- ✅ Требует исправный GPS, компас и барометр
- ✅ Удерживает позицию с точностью 1-3 метра (зависит от качества GPS)
- ✅ Автоматически компенсирует ветер
- ❌ Не работает без 3D-фикса GPS
Совет: Для улучшения точности используйте RTK GPS или двухчастотные приёмники.
RTL — Return To Launch
Управление: Полностью автоматический возврат к точке взлёта с посадкой.
- ✅ Критически важный режим безопасности
- ✅ Автоматически поднимается на безопасную высоту перед возвратом
- ✅ Настраиваемая высота возврата (
RTL_ALT) и скорость - ❌ Требует надёжный GPS и корректно установленную точку дома
Ключевые параметры:
RTL_ALT = 1500 # Высота возврата (см)
RTL_ALT_FINAL = 0 # Финальная высота посадки
RTL_CONE_SLOPE = 3.0 # Угол конуса возврата
RTL_LOITER_TIME = 15 # Время зависания перед посадкой (сек)
(полный список параметров RTL)
Auto
Управление: Выполнение заранее загруженной миссии из точек.
- ✅ Поддерживает сложные миссии: взлёт, облёт точек, действия в точках, посадка
- ✅ Интеграция с Mission Planner и QGroundControl
- ✅ Возможность выполнения команд: съёмка, сброс груза, изменение скорости
- ❌ Требует тщательного планирования и проверки миссии
Полезные команды миссии: MAV_CMD_NAV_WAYPOINT, MAV_CMD_NAV_LOITER_TIME, MAV_CMD_DO_DIGICAM_CONTROL.
Продвинутые режимы
Acro
Управление: Полный ручной контроль по угловой скорости, без авто-выравнивания.
- ✅ Для акробатики, фристайла и гонок
- ✅ Позволяет выполнять флипы, роллы, полёт вверх ногами
- ✅ Не зависит от внешних сенсоров
- ❌ Требует высокого навыка пилотирования
Совет: Начинайте с малых углов отклонения стика и постепенно увеличивайте экспоненту (ACRO_EXPO).
Sport
Управление: Как AltHold, но сохраняет наклон при центрированных стиках.
- ✅ Более агрессивный отклик, чем в Loiter
- ✅ Полезен для динамичной съёмки и скоростных манёвров
- ✅ Сохраняет контроль высоты
- ❌ Требует настройки
ACRO_TRAINERдля безопасности
PosHold
Управление: Гибрид Loiter и ручного управления — удерживает позицию, но позволяет ручное смещение.
- ✅ Идеален для точного позиционирования (инспекция, съёмка)
- ✅ Автоматически останавливается при отпускании стиков
- ✅ Работает только с исправным GPS
- ❌ Может быть менее предсказуем, чем чистый Loiter
Brake
Управление: Мгновенная остановка и зависание в текущей точке.
- ✅ Экстренный режим для быстрой остановки
- ✅ Полезен при потере ориентации или приближении к препятствиям
- ✅ Работает с любым состоянием сенсоров (использует доступные)
- ❌ Не предназначен для длительного использования
Рекомендация: Назначьте Brake на легко доступный переключатель для быстрого доступа.
Guided
Управление: Полёт к точке, заданной с наземной станции через MAVLink.
- ✅ Управление через планшет, ноутбук или скрипт
- ✅ Интеграция с MAVSDK, dronekit
- ✅ Полезен для автоматизированных задач и исследований
- ❌ Требует стабильную телеметрию и исправный GPS
Пример команды: MAV_CMD_NAV_GUIDED_ENABLE + MAV_CMD_DO_REPOSITION.
Circle
Управление: Автоматический облёт точки перед дроном с удержанием камеры на цели.
- ✅ Идеален для кинематографичной съёмки объектов
- ✅ Настраиваемый радиус и скорость облёта
- ✅ Автоматически компенсирует ветер
- ❌ Требует исправный компас и GPS
Параметры: CIRCLE_RADIUS, CIRCLE_RATE, CIRCLE_OPTIONS.
Follow
Управление: Автоматическое следование за целью (по маяку, визуальное отслеживание).
- ✅ Поддержка MAVLink Follow Target
- ✅ Интеграция с OpenDroneID для отслеживания
- ✅ Возможность использования компьютерного зрения (требует companion computer)
- ❌ Сложная настройка, требует тестирования
Специальные режимы
Flip
Автоматический флип в заданном направлении. Только для акробатики. (документация)
Throw
Взлёт после броска дрона рукой. Только для лёгких мультироторов. (документация)
Turtle
Переворот перевёрнутого дрона в нормальное положение. Спасение после краша. (документация)
FlowHold
Позиционирование по оптическому потоку без GPS. Для полётов в помещении.
Land
Автоматическая посадка в текущей точке. Экстренная или плановая посадка. (документация)
SmartRTL
Возврат по обратному треку с облётом препятствий. Требует зону безопасности (fence) и избегание препятствий.
Режимы для самолётов (Plane)
Ручные и полуавтоматические режимы
MANUAL
Управление: Прямая передача сигналов на рулевые поверхности и газ.
- ✅ Не требует никаких датчиков
- ✅ Полный контроль для опытных пилотов
- ✅ Полезен для тестов и аварийных ситуаций
- ❌ Нет стабилизации — дрон может перевернуться при ошибке
Когда использовать: Калибровка сервоприводов, тестовые полёты, аварийное управление.
STABILIZE
Управление: Автоматическое выравнивание крыльев при отпускании стиков.
- ✅ Базовая стабилизация крена и тангажа
- ✅ Не требует внешних сенсоров
- ✅ Идеален для обучения полётам на самолёте
- ❌ Не удерживает высоту или курс автоматически
TRAINING
Управление: Как MANUAL, но с ограничением максимальных углов крена/тангажа.
- ✅ Безопасный режим для обучения
- ✅ Настраиваемые лимиты углов (
TRAINING_LEVEL) - ✅ Помогает новичкам избежать переворота
- ❌ Ограничивает манёвренность
FBWA — Fly By Wire A
Управление: Стабилизация с лимитами углов, ручное управление газом.
- ✅ Автоматическое выравнивание при отпускании стиков
- ✅ Ограничение максимального крена/тангажа
- ✅ Безопасный режим для полётов на средней высоте
- ❌ Требует исправный акселерометр и гироскоп
Рекомендуемые параметры:
LIM_ROLL_CD = 4500 # Максимальный крен (45°)
LIM_PITCH_MAX = 4500 # Максимальный тангаж вверх
LIM_PITCH_MIN = -2000 # Максимальный тангаж вниз
FBWB — Fly By Wire B
Управление: Автоматическое удержание высоты и скорости, ручное управление курсом.
- ✅ Использует TECS для управления энергией
- ✅ Автоматически компенсирует ветер и турбулентность
- ✅ Идеален для длительных полётов и съёмки
- ❌ Требует барометр, компас и корректную настройку TECS
Ключевые параметры TECS: TECS_SPDWEIGHT, TECS_PITCH_MAX, TECS_THR_DAMP. (документация по TECS)
CRUISE
Управление: Как FBWB, но с автоматическим удержанием курса по земле.
- ✅ Автоматически компенсирует боковой ветер
- ✅ Полезен для полётов по прямой на большие расстояния
- ✅ Требует исправный компас и барометр
- ❌ Менее гибкий, чем FBWB, для манёвров
Автоматические режимы
AUTO
Управление: Выполнение заранее загруженной миссии.
- ✅ Поддержка сложных миссий: взлёт, облёт точек, посадка
- ✅ Интеграция с планировщиком миссий
- ✅ Возможность выполнения команд: съёмка, сброс, изменение скорости
- ❌ Требует тщательного планирования и проверки
Полезные команды: MAV_CMD_NAV_TAKEOFF, MAV_CMD_NAV_LAND, MAV_CMD_DO_SET_CAM_TRIGG_DIST.
LOITER
Управление: Удержание круга над точкой переключения режима.
- ✅ Автоматическое удержание позиции по GPS
- ✅ Настраиваемый радиус и направление облёта
- ✅ Полезен для ожидания, разведки, съёмки
- ❌ Требует исправный компас, барометр и GPS
Параметры: LOITER_RADIUS, LOITER_DIRECTION, LOITER_SPEED.
GUIDED
Управление: Полёт к точке, заданной с наземной станции.
- ✅ Управление через GCS или скрипт
- ✅ Интеграция с MAVSDK и dronekit
- ✅ Полезен для исследовательских задач
- ❌ Требует стабильную телеметрию
RTL
Управление: Возврат к точке взлёта с автоматической посадкой.
- ✅ Критически важный режим безопасности
- ✅ Автоматически выбирает оптимальный маршрут
- ✅ Настраиваемая высота и скорость возврата
- ❌ Требует корректно установленную точку дома
Параметры: RTL_ALT, RTL_AUTOLAND, RTL_LOITER_TIME. (полный список)
TAKEOFF
Управление: Автоматический взлёт до заданной высоты.
- ✅ Полезен для взлёта с катапульты или ограниченной площадки
- ✅ Автоматически управляет газом и рулевыми поверхностями
- ✅ Интеграция с миссиями (команда MAV_CMD_NAV_TAKEOFF)
- ❌ Требует тщательной настройки и тестирования
AUTOLAND
Управление: Полностью автоматическая посадка.
- ✅ Посадка без участия пилота
- ✅ Использует LiDAR или сонар для точного приземления
- ✅ Полезен для автономных операций
- ❌ Требует идеальной настройки и подходящую площадку
Критические параметры: LAND_SLOPE_RCALC, LAND_FLARE_SEC, LAND_ABORT_THR.
Специальные режимы
ACRO
Управление: Управление угловой скоростью без лимитов.
- ✅ Для аэробатики и трюков
- ✅ Полный контроль для опытных пилотов
- ✅ Не зависит от внешних сенсоров
- ❌ Требует высокого навыка, легко перевернуть самолёт
AUTOTUNE
Управление: Автоматическая настройка PID во время полёта.
- ✅ Упрощает тюнинг без осциллографа
- ✅ Автоматически подбирает параметры для текущей конфигурации
- ✅ Полезен после изменений в конструкции
- ❌ Требует безопасное воздушное пространство и исправные сенсоры
Важно: Выполняйте AUTOTUNE только в безветренную погоду на безопасной высоте. (руководство по AUTOTUNE)
THERMAL
Управление: Автоматический поиск и использование восходящих потоков.
- ✅ Для планеризма и длительных полётов
- ✅ Использует данные вариометра для обнаружения термиков
- ✅ Автоматически выполняет спиральные манёвры
- ❌ Требует точную настройку и подходящие погодные условия
Режимы для конвертопланов (QuadPlane)
QuadPlane сочетает возможности мультиротора и самолёта, используя master firmware Plane с дополнительными режимами для вертикального взлёта/посадки (документация QuadPlane).
Специальные режимы QuadPlane
QSTABILIZE
Управление: Как Copter Stabilize, но для вертикального полёта.
- ✅ Не требует внешних сенсоров
- ✅ Идеален для взлёта, посадки и зависания
- ✅ Безопасный режим для тестов
- ❌ Не удерживает позицию при ветре
QHOVER
Управление: Удержание позиции по барометру (без GPS).
- ✅ Требует только барометр
- ✅ Полезен для зависания в помещении или при плохом GPS
- ✅ Автоматически компенсирует вертикальные движения
- ❌ Не компенсирует горизонтальный дрейф
QLOITER
Управление: Как Copter Loiter, с GPS-позиционированием.
- ✅ Удерживает позицию с точностью 1-3 метра
- ✅ Автоматически компенсирует ветер
- ✅ Идеален для точного зависания
- ❌ Требует исправный 3D-фикс GPS
QLAND
Управление: Автоматическая вертикальная посадка.
- ✅ Использует LiDAR или сонар для точной посадки
- ✅ Автоматически снижает скорость при приближении к земле
- ✅ Критически важен для безопасной посадки
- ❌ Требует корректную настройку датчиков высоты
Ключевые параметры: Q_LAND_FINAL_ALT, Q_LAND_IGNITION, RNGFND_LANDING.
QRTL
Управление: Возврат домой с вертикальной посадкой.
- ✅ Автоматически переходит в режим коптера перед посадкой
- ✅ Настраиваемая высота перехода и скорость
- ✅ Идеален для завершения миссий
- ❌ Требует исправный GPS и корректную точку дома
Параметры: Q_RTL_MODE, Q_RTL_ALT, Q_TRANSITION_MS. (документация QRTL)
QACRO
Управление: Акробатика в вертикальном режиме.
- ✅ Для трюков при висении
- ✅ Полный контроль по угловой скорости
- ✅ Не зависит от внешних сенсоров
- ❌ Требует высокого навыка, легко потерять контроль
Режимы, которых следует избегать в QuadPlane
Следующие режимы не рекомендуются для QuadPlane, так как в них не работают вертикальные моторы (документация):
- ❌ ACRO (самолётный) — нет контроля вертикальных моторов
- ❌ STABILIZE (самолётный) — используйте FBWA вместо него
- ❌ TRAINING — ограничивает манёвренность без преимуществ
✅ Вместо них используйте FBWA для ручного полёта в режиме самолёта.
Переходы между режимами
QuadPlane автоматически переключается между режимами коптера и самолёта в зависимости от скорости и команды. Параметр Q_TRANSITION_MS определяет время перехода (документация по переходам).
Ключевые параметры переходов:
Q_TRANSITION_MS = 2000 # Время перехода (мс)
Q_TAILSIT_ANGLE = 45 # Угол начала перехода (для tailsitter)
Q_TRANSITION_THR = 50 # Газ при переходе (%)
Q_LAND_FINAL_ALT = 10 # Высота перехода на посадку (м)
Настройка переключения режимов
Назначение режимов на каналы
В ArduPilot режимы назначаются через параметры FLTMODE_CH и FLTMODE1—FLTMODE6 (документация по настройке).
Базовая настройка в Mission Planner:
- Откройте
Vehicle Setup→Flight Modes - Выберите канал для переключения (обычно канал 5 или 8)
- Назначьте до 6 режимов на позиции переключателя
- Сохраните параметры
Пример конфигурации для коптера:
FLTMODE_CH = 5 # Канал 5 для переключения режимов
FLTMODE1 = 0 # Позиция 1: Stabilize
FLTMODE2 = 3 # Позиция 2: Loiter
FLTMODE3 = 6 # Позиция 3: RTL
FLTMODE4 = 4 # Позиция 4: AltHold
FLTMODE5 = 9 # Позиция 5: Auto
FLTMODE6 = 1 # Позиция 6: Acro
Полный список номеров режимов: Copter Flight Modes, Plane Flight Modes.
Использование переключателей
Рекомендации по назначению:
- 🟢 Безопасные режимы (Stabilize, FBWA) — на легко доступные позиции
- 🔴 Экстренные режимы (RTL, Brake) — на отдельный переключатель или крайнюю позицию
- 🔵 Автоматические режимы (Auto, Guided) — на защищённые позиции, чтобы избежать случайного включения
Совет: Используйте переключатель с фиксацией для критических режимов, чтобы избежать случайного переключения.
Управление через GCS
Режимы можно переключать не только с пульта, но и через наземную станцию:
Mission Planner:
- Карта → ПКМ на дроне →
Set Flight Mode - Или через виджет режимов в правом верхнем углу
QGroundControl:
- Виджет режимов на главном экране
- Или через команду
MAV_CMD_DO_SET_MODE
Программное управление:
# Пример через dronekit
vehicle.mode = VehicleMode("LOITER")
vehicle.flush()
Безопасность и failsafe
Failsafe по потере связи
ArduPilot автоматически реагирует на потерю связи с пультом или наземной станцией (документация по failsafe).
Настройка RC Failsafe:
FS_THR_ENABLE = 1 # Включить failsafe по газу
FS_THR_VALUE = 950 # Порог (ниже минимума)
FS_THR_ACTION = 2 # Действие: 2=RTL, 3=Land, 4=SmartRTL
Настройка GCS Failsafe:
FS_GCS_ENABLE = 1 # Включить failsafe по потере GCS
FS_GCS_ACTION = 2 # Действие при потере телеметрии
Дополнительные меры безопасности
Geofence
Ограничение полётов в заданной зоне:
FENCE_ENABLE = 1 # Включить геозону
FENCE_TYPE = 3 # Тип: 3=горизонтальная + вертикальная
FENCE_RADIUS = 500 # Радиус зоны (м)
FENCE_ALT_MAX = 120 # Максимальная высота (м)
Battery Failsafe
Автоматическая реакция на низкий заряд:
BATT_FS_LOW_VOLTS = 10.5 # Низкое напряжение (для 3S)
BATT_FS_CRT_VOLTS = 10.0 # Критическое напряжение
BATT_FS_LOW_ACT = 1 # Действие: 1=Warning, 2=RTL, 3=Land
BATT_FS_CRT_ACT = 2 # Действие при критическом разряде
EKF Failsafe
Реакция на сбои навигационной системы:
EKF_FAIL_ENABLE = 1 # Включить EKF failsafe
EKF_ACTION = 2 # Действие при сбое: 2=Land
Аварийное переключение режимов
Рекомендуемая стратегия:
- Всегда имейте Stabilize или FBWA на готовом переключателе
- Назначьте RTL на отдельный переключатель для быстрого возврата
- Используйте Brake для экстренной остановки
- Протестируйте failsafe на безопасной высоте перед полётами
Рекомендации по выбору режимов
Для новичков
Рекомендуемый путь обучения для коптеров:
Stabilize → AltHold → Loiter → RTL → Auto → (опционально: Acro, Follow)
Рекомендуемый путь для самолётов:
MANUAL → FBWA → FBWB → LOITER → RTL → AUTO
(руководство по обучению на самолётах)
📋 Чек-лист перед полётом
- Проверьте сенсоры:
- [ ] GPS: 3D-фикс, HDOP < 2.0
- [ ] Компас: откалиброван, нет помех
- [ ] Барометр: стабильные показания после прогрева
- [ ] Дальномер: корректные измерения высоты
- Проверьте режимы:
- [ ] Настроены 3-4 основных режима на переключателе
- [ ] RTL настроен и протестирован
- [ ] Failsafe параметры установлены корректно
- Проверьте безопасность:
- [ ] Геозона настроена (если требуется)
- [ ] Battery failsafe активен
- [ ] Точка дома установлена корректно
- Тестовый полёт:
- [ ] Взлёт в ручном режиме (Stabilize/FBWA)
- [ ] Проверка переключения режимов на безопасной высоте
- [ ] Тест RTL на малой высоте перед основным полётом
Для продвинутых пользователей
Оптимизация под задачу:
| Задача | Рекомендуемые режимы | Ключевые настройки |
|---|---|---|
| Аэрофотосъёмка | Loiter, Circle, Follow | LOITER_SPEED, CIRCLE_RADIUS, Follow параметры |
| Картография | Auto, Guided | WPNAV_SPEED, WPNAV_ACCEL, CAM_TRIGG_DIST |
| Доставка грузов | Auto, RTL, QLAND | Q_LAND_FINAL_ALT, RTL_ALT, LAND_SLOPE |
| Поисково-спасательные | Guided, Follow, SmartRTL | Follow настройки, FENCE для зоны поиска |
| Гоночные/Фристайл | Acro, Sport, Brake | ACRO_EXPO, SPORT_MODE параметры, BRAKE настройка |
| Полёты в помещении | Stabilize, FlowHold, QHOVER | OPTICAL_FLOW настройки, RNGFND для высоты |
🔧 Тюнинг под режимы
Общие рекомендации:
- Начинайте с консервативных значений PID
- Тестируйте каждый режим отдельно перед использованием в миссии
- Используйте логирование для анализа поведения
- Применяйте AUTOTUNE только после базовой настройки
Полезные инструменты:
- Mission Planner Log Analysis — анализ логов
- UAV Log Viewer — онлайн-просмотр логов
- ArduPilot SITL — симуляция для безопасного тестирования
Полезные ресурсы
Официальная документация
Общие разделы:
- Flight Modes Overview — Copter — полный список режимов коптера
- Flight Modes Overview — Plane — режимы самолётов
- QuadPlane Flight Modes — специфика конвертопланов
- Flight Mode Configuration — настройка переключения режимов
Безопасность:
- Failsafe Overview — система аварийных реакций
- Geofence Setup — настройка геозон
- Battery Failsafe — защита батареи
Тюнинг:
- PID Tuning Guide — руководство по настройке PID
- AUTOTUNE Guide — автоматическая настройка
- Log Analysis — анализ логов
🟨 Сторонние руководства
- ArduPilot Flight Modes Explained — DroneBot Workshop — видео-туториал с примерами
- Complete ArduPilot Setup Guide — Oscar Liang — пошаговая настройка с нуля
- ArduPilot Wiki — Flight Modes — техническая документация для разработчиков
🟩 Сообщество и поддержка
- ArduPilot Discourse Forum — официальное сообщество, помощь по настройке
- ArduPilot GitHub — исходный код, баг-репорты, обсуждения
- RC Groups — ArduPilot Thread — активное обсуждение пользователей
- ArduPilot Discord — чат разработчиков и пользователей
⚠️ ВАЖНО:
- Всегда тестируйте новые режимы на безопасной высоте перед использованием в миссиях
- Имейте ручной режим (Stabilize/Manual) на готовом переключателе для аварийного управления
- Проверяйте failsafe настройки перед каждым полётом
- Не переключайтесь в автоматические режимы без подтверждения исправности всех сенсоров
- Снимайте пропеллеры при настройке на земле!
Последнее обновление: 2026 | Источники: официальная документация ArduPilot, MAVLink, Mission Planner
