Руководство по режимам полёта ArduPilot

Все статьи


Что такое режимы полёта

Режим полёта в ArduPilot — это предустановленный набор алгоритмов управления, который определяет, как летательный аппарат реагирует на команды пилота и как обрабатывает данные с датчиков. Ардупилот поддерживает более 25 режимов для коптеров и 15+ режимов для самолётов, что делает его одной из самых гибких автопилотных систем.

Каждый режим определяет:

  • Как обрабатываются входные сигналы с пульта (RC)
  • Какие датчики используются (гироскоп, акселерометр, барометр, компас, GPS)
  • Как работают PID-контроллеры стабилизации
  • Какие функции автоматизации активны (удержание позиции, возврат домой, выполнение миссии)

💡 Ключевая особенность: В отличие от других прошивок, в ArduPilot режимы можно переключать не только с пульта, но и через команды миссии, наземную станцию или скрипты MAVLink.


Как работают режимы в ArduPilot

Архитектура управления

В основе каждого режима лежит система стабилизации, которая использует данные с IMU (инерциального измерительного модуля) для удержания ориентации аппарата.

Уровни абстракции управления:

┌─────────────────────────────────┐
│ 1. Ручное управление (Manual)                                │ ← Прямая передача сигналов на моторы/серво
├─────────────────────────────────┤
│ 2. Стабилизация (Stabilize)                                         │ ← PID удерживает угол крена/тангажа
├─────────────────────────────────┤
│ 3. Удержание высоты (AltHold)                                 │ ← + барометр/сонар для контроля высоты
├─────────────────────────────────┤
│ 4. Позиционирование (Loiter)                                   │ ← + GPS для удержания координат
├─────────────────────────────────┤
│ 5. Автономные миссии (Auto)                                   │ ← + выполнение заранее заданных точек
└─────────────────────────────────┘

Зависимость от сенсоров

Не все режимы работают без всех датчиков. Требования к сенсорам различаются:

РежимКомпасБарометрGPSОптический поток
Stabilize
AltHold
Loiter
FlowHold
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 и FLTMODE1FLTMODE6 (документация по настройке).

Базовая настройка в Mission Planner:

  1. Откройте Vehicle SetupFlight Modes
  2. Выберите канал для переключения (обычно канал 5 или 8)
  3. Назначьте до 6 режимов на позиции переключателя
  4. Сохраните параметры

Пример конфигурации для коптера:

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()

(документация dronekit)


Безопасность и 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

Аварийное переключение режимов

Рекомендуемая стратегия:

  1. Всегда имейте Stabilize или FBWA на готовом переключателе
  2. Назначьте RTL на отдельный переключатель для быстрого возврата
  3. Используйте Brake для экстренной остановки
  4. Протестируйте failsafe на безопасной высоте перед полётами

Рекомендации по выбору режимов

Для новичков

Рекомендуемый путь обучения для коптеров:

Stabilize → AltHold → Loiter → RTL → Auto → (опционально: Acro, Follow)

(рекомендации для новичков)

Рекомендуемый путь для самолётов:

MANUAL → FBWA → FBWB → LOITER → RTL → AUTO

(руководство по обучению на самолётах)

📋 Чек-лист перед полётом

  1. Проверьте сенсоры:
  • [ ] GPS: 3D-фикс, HDOP < 2.0
  • [ ] Компас: откалиброван, нет помех
  • [ ] Барометр: стабильные показания после прогрева
  • [ ] Дальномер: корректные измерения высоты
  1. Проверьте режимы:
  • [ ] Настроены 3-4 основных режима на переключателе
  • [ ] RTL настроен и протестирован
  • [ ] Failsafe параметры установлены корректно
  1. Проверьте безопасность:
  • [ ] Геозона настроена (если требуется)
  • [ ] Battery failsafe активен
  • [ ] Точка дома установлена корректно
  1. Тестовый полёт:
  • [ ] Взлёт в ручном режиме (Stabilize/FBWA)
  • [ ] Проверка переключения режимов на безопасной высоте
  • [ ] Тест RTL на малой высоте перед основным полётом

Для продвинутых пользователей

Оптимизация под задачу:

ЗадачаРекомендуемые режимыКлючевые настройки
АэрофотосъёмкаLoiter, Circle, FollowLOITER_SPEED, CIRCLE_RADIUS, Follow параметры
КартографияAuto, GuidedWPNAV_SPEED, WPNAV_ACCEL, CAM_TRIGG_DIST
Доставка грузовAuto, RTL, QLANDQ_LAND_FINAL_ALT, RTL_ALT, LAND_SLOPE
Поисково-спасательныеGuided, Follow, SmartRTLFollow настройки, FENCE для зоны поиска
Гоночные/ФристайлAcro, Sport, BrakeACRO_EXPO, SPORT_MODE параметры, BRAKE настройка
Полёты в помещенииStabilize, FlowHold, QHOVEROPTICAL_FLOW настройки, RNGFND для высоты

🔧 Тюнинг под режимы

Общие рекомендации:

  • Начинайте с консервативных значений PID
  • Тестируйте каждый режим отдельно перед использованием в миссии
  • Используйте логирование для анализа поведения
  • Применяйте AUTOTUNE только после базовой настройки

Полезные инструменты:


Полезные ресурсы

Официальная документация

Общие разделы:

Безопасность:

Тюнинг:

🟨 Сторонние руководства

🟩 Сообщество и поддержка


⚠️ ВАЖНО:

  1. Всегда тестируйте новые режимы на безопасной высоте перед использованием в миссиях
  2. Имейте ручной режим (Stabilize/Manual) на готовом переключателе для аварийного управления
  3. Проверяйте failsafe настройки перед каждым полётом
  4. Не переключайтесь в автоматические режимы без подтверждения исправности всех сенсоров
  5. Снимайте пропеллеры при настройке на земле!

Последнее обновление: 2026 | Источники: официальная документация ArduPilot, MAVLink, Mission Planner

Прокрутить вверх