Перейти к содержимому
67
Режимы полёта мультиротора

Режимы полёта мультиротора #13

Mission Planner для технического персонала · Урок 13 из 43 · Модуль 2. Ввод аппарата в эксплуатацию

Что делает автопилот в каждом режиме, какие датчики ему для этого нужны и как стик пилота превращается в команду управления.

Режим определяет не «уровень автоматики вообще», а конкретную величину, которую задаёт ваш стик: угол, скорость или точку на карте. Отсюда следуют все различия в поведении.

Содержание

1. Цели урока

После этого урока вы будете понимать:

  • какую физическую величину задаёт стик в каждом режиме;
  • какие режимы работают без GPS, а какие требуют навигационного решения;
  • точную разницу между LOITER и POSHOLD — не «на ощущениях», а по механике управления;
  • что такое компенсация ветра в POSHOLD и почему её нет в описаниях;
  • когда SMART_RTL безопаснее обычного RTL;
  • назначение служебных режимов BRAKE, LAND и AUTOTUNE.
↑ К оглавлению

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

Режим полёта — это набор правил, определяющих, как автопилот интерпретирует положение стиков и какие контуры управления задействует. Смена режима не меняет настройки PID и не влияет на калибровки: она переключает верхний уровень логики.

Главный вопрос: что задаёт стик

Чтобы не запоминать режимы списком, задайте себе один вопрос: какую величину задаёт отклонение стика? Ответ полностью определяет поведение аппарата.

Стик задаётЧто происходит при отпусканииРежимы
Угловую скорость (град/с) Вращение прекращается, аппарат остаётся в текущем положении — даже вверх ногами ACRO
Угол наклона (градусы) Аппарат выравнивается в горизонт, но продолжает лететь по инерции и сносится ветром STABILIZE, ALT_HOLD, SPORT, POSHOLD
Скорость перемещения (м/с) Автопилот активно тормозит до нуля и удерживает точку LOITER
Ничего — цель задана заранее Аппарат выполняет программу независимо от стиков AUTO, RTL, SMART_RTL, LAND, BRAKE
Ключ ко всему уроку: LOITER и POSHOLD оба удерживают точку, но лежат в разных строках этой таблицы. В LOITER стик задаёт скорость, в POSHOLD — угол наклона. Всё остальное — следствия. Подробный разбор в разделе 4.

Режимы ArduCopter, сгруппированные по тому, какую величину задаёт стик пилота

Режимы сгруппированы по тому, какую величину задаёт стик. POSHOLD стоит в одной колонке со STABILIZE, потому что стик здесь задаёт угол наклона, а не скорость, как в LOITER

Три уровня управления

Внутри автопилота команда проходит через вложенные контуры. Режим определяет, на каком уровне в эту цепочку вклинивается человек:

  1. Контур угловых скоростей — самый быстрый и работает всегда. Сюда попадают команды ACRO.
  2. Контур углов — надстройка над первым. Сюда подают STABILIZE, ALT_HOLD, POSHOLD.
  3. Контур положения и скорости — требует навигационного решения EKF. Сюда подают LOITER, AUTO, RTL.

Чем выше уровень, тем больше датчиков задействовано и тем больше способов получить отказ в активации. Поэтому диагностику всегда начинают снизу (с первого контура).

STABILIZE — эталон для диагностики: Если аппарат нормально держится в STABILIZE, но плохо ведёт себя в LOITER, проблема в навигации: GPS, компас, EKF. Если он плох уже в STABILIZE — проблема в механике, вибрациях или PID. Это первое разветвление в любом разборе.
↑ К оглавлению

3. Режимы без GPS

Эти режимы работают на показаниях гироскопов, акселерометров и барометра. Спутники им не нужны, поэтому они остаются доступны при отказе навигации.

РежимЧто удерживает автопилотЧто делает пилот
STABILIZE Углы крена и тангажа Полностью управляет газом вручную. При отпускании стиков аппарат выравнивается, но сохраняет скорость и сносится ветром
ACRO Только угловые скорости Пилотирует как акробатическую модель: аппарат остаётся в том положении, в которое его поставили
ALT_HOLD Углы и высоту (барометр) Управляет наклоном; центральное положение стика газа удерживает высоту, отклонение задаёт вертикальную скорость
DRIFT Скоординированный разворот Управляет «как самолётом»: крен автоматически связан с рысканием
FLIP Выполняет переворот сам Кратковременный автоматический манёвр, затем возврат в исходный режим
ALT_HOLD — первый режим с внешним датчиком: Здесь появляется зависимость от барометра. Если он обдувается потоком от винтов или на него светит солнце, высота начинает «плавать» именно в ALT_HOLD, хотя в STABILIZE всё было нормально. Барометр закрывают поролоном — это штатное решение, а не костыль.
↑ К оглавлению

4. LOITER и POSHOLD: в чём разница

Оба режима удерживают точку и высоту, оба требуют GPS. Разница не в «ощущениях», а в том, куда попадает сигнал вашего стика.

Как работает LOITER

Отклонение стика преобразуется в желаемое ускорение, которое передаётся контроллеру положения. Дальше всем управляет контроллер: он сам решает, под каким углом наклонить аппарат, чтобы выдержать заданную скорость.

  • Пилот управляет скоростью, а не наклоном. Отклонили стик наполовину — аппарат летит с половиной максимальной скорости и держит её.
  • Скорость ограничена параметром LOIT_SPEED (в 4.7+ LOIT_SPEED_MS, в м/с вместо см/с).
  • При отпускании стика включается активное торможение: контроллер наклоняет аппарат против движения, гасит скорость до нуля и фиксирует точку.
  • Ветер компенсируется автоматически, потому что контроллер видит смещение по GPS и парирует его.

Ощущение «как на рельсах»: аппарат движется ровно, останавливается предсказуемо, но реагирует чуть отстранённо — между стиком и наклоном стоит контур навигации.

Как работает POSHOLD

Отклонение стика задаёт угол наклона напрямую — точно так же, как в STABILIZE. Контроллер положения в этот момент вообще не участвует в управлении.

В комментарии к исходному коду режима это сформулировано так: PosHold пытается улучшить обычный loiter, смешивая ввод пилота с контроллером удержания. Механика смешивания — конечный автомат из пяти состояний, причём крен и тангаж живут в нём независимо друг от друга:

СостояниеЧто происходитКогда наступает
PILOT_OVERRIDE Стик задаёт угол напрямую, как в STABILIZE Пилот отклонил стик
BRAKE Автопилот наклоняет аппарат против движения, гася скорость Стик отпущен
BRAKE_READY_TO_LOITER Ось затормозила и ждёт вторую Торможение по этой оси завершено
BRAKE_TO_LOITER Плавный переход: торможение смешивается с удержанием, 1,5 с Обе оси готовы
LOITER Работает обычный контроллер удержания точки Переход завершён

Обратный переход тоже сглажен: когда пилот вновь трогает стик, режим уходит в CONTROLLER_TO_PILOT_OVERRIDE и за 0,5 с плавно передаёт управление от автопилота пилоту, чтобы не было рывка.

Независимость осей — практическое следствие: Можно отклонить стик только по тангажу: аппарат полетит вперёд, при этом по крену он продолжит удерживать позицию, парируя боковой снос. В LOITER такое невозможно — там контроллер работает с вектором скорости целиком.

Угол торможения ограничен параметром PHLD_BRAKE_ANGLE (в 4.7+ PHLD_BRK_ANGLE), скорость возврата к горизонту — PHLD_BRAKE_RATE (в 4.7+ PHLD_BRK_RATE).

Внимание при переходе на 4.7: Параметры PosHold не только переименованы, но у одного из них сменились единицы. PHLD_BRAKE_ANGLE задавался в сотых долях градуса (диапазон 2000–4500), а PHLD_BRK_ANGLE — в градусах (диапазон 20–45). При ручном переносе значение нужно разделить на 100: \( 3000\;\mathrm{cdeg} \Rightarrow 30^\circ \). Прошивка при штатном обновлении конвертирует автоматически.

Прямое сравнение

ПризнакLOITERPOSHOLD
Что задаёт стик Скорость перемещения Угол наклона
Кто управляет при отклонённом стике Контроллер положения Пилот напрямую
Максимальная скорость Ограничена LOIT_SPEED / LOIT_SPEED_MS Ограничена только максимальным углом наклона
Оси крена и тангажа Связаны, общий вектор скорости Независимы, у каждой своё состояние
При отпускании стика Торможение контроллером, задержка LOIT_BRK_DELAY Торможение по углу, затем переход в удержание
Ощущение «На рельсах», плавно и предсказуемо Как STABILIZE, но с автостопом при отпускании
Реакция на резкое движение стика Сглаживается контуром навигации Мгновенная, как в ручном режиме

Компенсация ветра в POSHOLD

Особенность, которой нет в LOITER и о которой обычно не пишут. Пока аппарат стоит в режиме удержания, POSHOLD запоминает, какой наклон требуется для противодействия ветру.

  • Оценка начинается через 1,5 с после входа в удержание и обновляется, только когда аппарат почти неподвижен.
  • Запомненный «ветровой» угол затем прибавляется к углу, который задаёт пилот, и к углу торможения.
  • Величина ограничена двумя третями максимального угла наклона — чтобы пилот всегда мог перебороть автоматику.

Практический эффект: при полёте против ветра аппарат в POSHOLD ведёт себя ровнее, чем в STABILIZE, потому что поправка на снос уже заложена в управление. При смене режима или посадке оценка сбрасывается.

Что выбрать на практике

ЗадачаРежимПочему
Съёмка, плавные проходы LOITER Постоянная скорость и мягкие остановки дают ровную картинку
Первые полёты новичка LOITER Скорость ограничена параметром, разогнаться до опасной невозможно
Динамичный полёт, работа в стеснённых условиях POSHOLD Прямое управление углом даёт мгновенную реакцию
Переучивание с STABILIZE POSHOLD Управление привычное, но аппарат сам останавливается
Точное позиционирование у объекта POSHOLD Независимые оси позволяют двигаться по одной оси, удерживая вторую
↑ К оглавлению

5. Остальные режимы с GPS

РежимПоведение
AUTO Выполняет загруженную миссию с текущего пункта
GUIDED Летит туда, куда указывает наземная станция или компаньон-компьютер
RTL Набирает высоту RTL_ALT (в 4.7+ RTL_ALT_M, в метрах), летит по прямой к точке дома, снижается и садится
SMART_RTL Возвращается по записанному упрощённому треку, повторяя пройденный путь
CIRCLE Летает по окружности вокруг точки; радиус CIRCLE_RADIUS (в 4.7+ CIRCLE_RADIUS_M, в метрах), скорость CIRCLE_RATE
FOLLOW Следует за подвижной целью — наземной станцией или другим аппаратом
ZIGZAG Челночное движение между двумя заданными точками, сельхозприменение
SPORT Скоростной режим с удержанием высоты; стик задаёт угол, ограничение углов выше обычного
THROW Запуск броском: аппарат раскручивает моторы, обнаружив свободное падение

RTL и SMART_RTL

Разница принципиальная и напрямую влияет на безопасность.

  • RTL набирает заданную высоту и идёт по прямой к точке старта. Если между аппаратом и домом здание, мачта или деревья, он полетит сквозь них.
  • SMART_RTL ведёт аппарат обратно по пройденному пути — по упрощённому треку, который прошивка записывала в полёте. Маршрут заведомо свободен, ведь аппарат уже пролетал там.
SMART_RTL может быть недоступен: Буфер точек трека ограничен по объёму. В длительном полёте он заполняется, и режим перестаёт быть доступным — переключение просто не сработает. Проверять доступность нужно до вылета, а не в момент отказа. При полётах среди препятствий — между зданиями, под мостом, в лесу — планируйте возврат заранее.
↑ К оглавлению

6. Служебные режимы

РежимНазначениеТребует GPS
LAND Снижение с постоянной скоростью и посадка с автоматическим дизармингом Нет
BRAKE Максимально быстрая остановка и удержание точки; стики игнорируются Да
AUTOTUNE Автоматический подбор коэффициентов PID Да
FLOWHOLD Удержание позиции по оптическому потоку, без GPS Нет
TURTLE Переворот аппарата, лежащего на спине, реверсом моторов Нет
BRAKE — кнопка «стоп»: Единственный режим, который полностью игнорирует стики. Тормозит максимально энергично и замирает. Удобно вешать на тумблер: если аппарат пошёл не туда, одно переключение останавливает его на месте, давая время оценить обстановку.

Плакат-справочник: все режимы полёта ArduPilot с пояснениями и таблицей сравнения

Плакат-справочник по всем режимам: как работает, когда применять, сводная таблица «GPS / удержание позиции / удержание высоты». Панель MANUAL относится к самолётам и наземным аппаратам — в ArduCopter такого режима нет, его аналог по смыслу это ACRO.

↑ К оглавлению

7. Практика

Задания выполняются в симуляторе SITL. Смена режима — командой mode ИМЯ в консоли MAVProxy или на карте в Mission Planner. Сам MAVProxy и его команды подробно разобраны в уроке 16.

Задание 13.1. Почувствовать разницу LOITER и POSHOLD

Выполняется в симуляторе SITL, реальный аппарат не требуется.

  • Взлетите на 20 м, перейдите в LOITER. Отклоните стик тангажа наполовину и удерживайте 5 секунд. Запишите установившуюся скорость по HUD.
  • Отпустите стик и засеките, за какое время и на какой дистанции аппарат остановился.
  • Повторите то же в POSHOLD с тем же отклонением стика. Сравните скорость: в POSHOLD она не ограничена LOIT_SPEED.
  • Объясните письменно, почему при одинаковом отклонении стика скорости получились разными.

Задание 13.2. Независимость осей в POSHOLD

Выполняется в симуляторе SITL, реальный аппарат не требуется.

  • Задайте боковой ветер: SIM_WIND_SPD = 5, SIM_WIND_DIR = 90.
  • В POSHOLD отклоните только стик тангажа и удерживайте. Наблюдайте за траекторией на карте.
  • Убедитесь, что по крену аппарат продолжает удерживать позицию, парируя снос, хотя по тангажу летит вперёд.
  • Повторите в LOITER и опишите, чем отличается траектория.
  • Верните SIM_WIND_SPD = 0.

Задание 13.3. Параметры торможения POSHOLD

Выполняется в симуляторе SITL, реальный аппарат не требуется.

  • Найдите в списке параметров PHLD_BRK_ANGLE и PHLD_BRK_RATE, запишите значения и единицы из колонки Units.
  • Разгонитесь в POSHOLD, отпустите стик и засеките дистанцию торможения.
  • Уменьшите PHLD_BRK_ANGLE до 15 и повторите. Как изменилась дистанция и почему?
  • Сравните значение и единицы с параметром PHLD_BRAKE_ANGLE из версии 4.6: во сколько раз отличается число при одинаковом физическом угле?

Задание 13.4. Отказ навигации и доступность режимов

Выполняется в симуляторе SITL, реальный аппарат не требуется.

  • В полёте в LOITER имитируйте потерю GPS: SIM_GPS1_ENABLE = 0.
  • Проследите по DATA → Messages, что сделал автопилот и в какой режим перешёл.
  • Попробуйте вручную переключиться в LOITER и в STABILIZE. Какой из переходов автопилот разрешил?
  • Верните SIM_GPS1_ENABLE = 1, дождитесь восстановления решения.
  • Сделайте вывод: почему первым в списке FLTMODE1 не стоит ставить режим, требующий GPS?
↑ К оглавлению

8. Проверьте себя

Сформулируйте ответ своими словами, прежде чем сверяться со справочником ответов.

  1. Почему STABILIZE считают эталоном при диагностике и что означает плохое поведение именно в нём?
  2. Какую величину задаёт стик в LOITER и какую в POSHOLD? Назовите три практических следствия этой разницы.
  3. Что такое компенсация ветра в POSHOLD, когда она обновляется и чем ограничена?
  4. Чем SMART_RTL отличается от RTL и в какой ситуации SMART_RTL может оказаться недоступен?
  5. Чем STABILIZE отличается от ALT_HOLD и какая новая точка отказа появляется в ALT_HOLD?
↑ К оглавлению

9. Чек-лист самопроверки

Урок освоен, если каждый пункт выполнен на практике:

  • Для любого режима могу сказать, какую величину задаёт стик
  • Разница LOITER и POSHOLD объясняется через механику, а не через ощущения
  • Проверено в SITL: в POSHOLD оси крена и тангажа работают независимо
  • Известно, какие режимы останутся доступны при отказе GPS
  • Понятно, когда SMART_RTL безопаснее RTL и когда он недоступен
  • На тумблер назначен BRAKE или другой режим быстрой остановки
Результат: все пункты выполнены — переходите к следующему уроку.
↑ К оглавлению

10. Что дальше

↑ К оглавлению
  • мод. : Вторник, 08 сентября 2026
Режимы полёта мультиротора