Dead Reckoning Failsafe в ArduPilot: что происходит после потери GPS

Коротко. Dead Reckoning Failsafe — это ограниченный по времени способ продолжить управляемый полёт и попытаться вернуться домой после потери оценки положения. Это не «полёт без GPS на неопределённое время»: результат зависит от ветра, оценки скорости, IMU, компаса, расстояния до Home и настроек EKF.

В этой статье разберём последовательность событий, параметры и типовые причины, почему Dead Reckoning не запускается, заканчивается раньше ожидаемого или переходит к LAND. Ниже есть интерактивная ветка диагностики.

Окно EKF variance в наземной станции ArduPilot
Проверка вариаций EKF в наземной станции. Источник: ArduPilot documentation.
⚠️ Безопасность. Не проверяй потерю GPS на реальном аппарате без заранее проверенного ручного режима, свободной зоны и готовности немедленно забрать управление. Начинай с SITL. RTL в Dead Reckoning не гарантирует возвращение: модель ветра и оценка скорости могут ошибаться.

Что именно делает Dead Reckoning

В Copter Dead Reckoning доступен начиная с версии 4.3. Он может использоваться при потере GPS или другой оценки положения, например Optical Flow. Failsafe срабатывает по тем же условиям, что и EKF failsafe: две из вариаций compass, position или velocity превышают FS_EKF_THRESH в течение примерно одной секунды.

  1. Автопилот обнаруживает ухудшение оценки положения, а не просто «мало спутников».
  2. После потери GPS аппарат ещё некоторое время продолжает управляемый полёт. В официальном описании для типового сценария указано около 7–10 секунд.
  3. В GCS появляется сообщение Dead Reckoning started, а аппарат переходит к RTL и начинает движение домой.
  4. Если за FS_DR_TIMEOUT аппарат не достиг Home, срабатывает EKF failsafe и выполняется переход к LAND согласно текущей логике.
  5. Восстановление GPS во время возврата не означает автоматический выход из RTL: режим нужно рассматривать как уже начатую защитную процедуру.
Сноска 1. Dead Reckoning опирается на оценку движения. Для коптера важна оценка ветра, а официальная настройка включает параметры drag-модели EK3_DRAG_BCOEF_X, EK3_DRAG_BCOEF_Y и EK3_DRAG_MCOEF. Их нельзя копировать между разными рамами и силовыми установками.

Параметры и подготовка

Параметр Роль Что проверить
FS_DR_ENABLE Включение и действие Dead Reckoning В официальной документации значение 2 соответствует RTL; доступные варианты сверяй с полным деревом параметров текущей сборки.
FS_DR_TIMEOUT Сколько секунд аппарат может продолжать сценарий без позиции Подбирай по реальному времени управляемого полёта и запасу до безопасной зоны; для большинства аппаратов речь идёт о десятках секунд, не о минутах.
FS_EKF_THRESH Порог вариаций EKF Не увеличивай его только для того, чтобы скрыть раннее срабатывание. Сначала проверь GPS, компас, вибрации и питание.
EK3_DRAG_BCOEF_X/Y, EK3_DRAG_MCOEF Модель сопротивления и оценка ветра Настройка зависит от рамы, массы, пропеллеров и полётных режимов. Неверная модель ухудшает прогноз возврата.
RCx_OPTION=65 Стендовый сценарий отключения GPS через AUX Используй только для контролируемого теста; канал можно выбрать другой, если это предусмотрено текущей конфигурацией.

Интерактивная диагностика

Выбери наблюдаемое событие и его уточнение. Результат не меняет параметры: он показывает, что проверить в GCS и DataFlash-логе.

Диагностика по событию

Что произошло после потери позиции?

Сначала выбери событие, затем ближайшее уточнение.

Шаг 1 из 2

1. Наблюдаемое событие




Как тестировать без риска

  1. SITL сначала. Проверь переходы, сообщение Dead Reckoning started, RTL и завершение по FS_DR_TIMEOUT в симуляторе.
  2. Реальный аппарат — только после проверки. Используй свободную площадку, заранее назначенный ручной режим и отдельный канал для контролируемого сценария потери GPS.
  3. Не тестируй рабочей батареей до критического порога. Для проверки battery failsafe и Dead Reckoning нужны разные сценарии.
  4. Сохрани DataFlash-лог. Иначе после одного срабатывания будет трудно отличить GPS-проблему от EKF, компаса или вибраций.
Сноска 2. В официальной тестовой процедуре ArduPilot используется AUX-переключатель с RC9_OPTION=65 для отключения GPS. Это пример стендового сценария, а не универсальная рекомендация для любого борта.

Что смотреть в логе

  • GCS: точное время и текст Dead Reckoning started, а также последующее сообщение о режиме.
  • MODE: был ли переход в RTL или последующий LAND.
  • GPS/XKF/NKF/VIBE: качество GPS, вариации EKF и вибрации до и после потери позиции, если эти сообщения присутствуют в конкретной прошивке.
  • Временная шкала: не исправляй всё сразу. Сначала найди первый сигнал, который вышел за норму.

Источники

Проверено 01.08.2026. Параметры и доступные действия сверяй с полной таблицей текущей прошивки и типом аппарата.

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