Отказоустойчивость (failsafe)
Кратко
Failsafe (буквально «безопасный при отказе») — принцип проектирования, при котором система в случае отказа автоматически переходит в заранее определённое безопасное состояние. У БПЛА это набор защитных механизмов автопилота: при потере радиосигнала, разряде батареи или сбое навигации аппарат сам возвращается домой, садится или зависает — вместо того чтобы неуправляемо улететь.
Для чего используется
Летающий аппарат нельзя «остановить и посмотреть, что сломалось», поэтому автопилот заранее готов к типовым отказам:
- Потеря радиоуправления — пилот выключил передатчик, аппарат вышел из зоны покрытия, отказал приёмник.
- Потеря связи с наземной станцией — оборвался канал телеметрии, по которому шло управление.
- Разряд батареи — литий-полимерные аккумуляторы нельзя разряжать глубоко, а на возврат домой нужен запас энергии.
- Сбой навигации — противоречивые данные датчиков или потеря спутникового решения GNSS.
- Выход за границы — пересечение виртуального периметра (geofence).
Во всех случаях цель одна: минимизировать ущерб — не потерять аппарат и не уронить его на людей.
Как работает
Идея fail-safe старше авиации: железнодорожный светофор при обрыве питания показывает запрещающий сигнал, а тормоза лифта срабатывают при обрыве троса. Система строится так, чтобы отказ сам по себе приводил её в безопасное состояние.
У автопилота каждый failsafe устроен по одной схеме: условие → выдержка времени → действие.
- Условие. Автопилот непрерывно следит за признаками отказа. Например, приёмник радиоуправления сигнализирует о потере связи двумя способами: «проваливает» канал газа ниже рабочего диапазона (low-throttle) или просто перестаёт выдавать импульсы (no-signal).
- Выдержка. Чтобы секундная помеха не срывала полёт, условие должно продержаться заданное время: в ArduPilot потеря радиосигнала засчитывается после таймаута (по умолчанию 1 с), падение напряжения батареи — после 10 с ниже порога.
- Действие. Настраивается пилотом — от предупреждения до посадки. В PX4 действия выстроены по нарастанию серьёзности: предупреждение → зависание (Hold) → возврат (Return) → посадка (Land) → отключение моторов (Disarm) → прекращение полёта (Flight termination). Если сработали сразу два failsafe, выполняется более серьёзное действие.
Есть и различия в философии. PX4 перед действием выдерживает настраиваемую паузу в режиме зависания — у пилота есть время заметить проблему и перехватить управление. ArduPilot после срабатывания остаётся в аварийном режиме, даже если связь восстановилась, — обратно режим переключает только пилот: автопилот не «дёргает» аппарат туда-обратно на границе зоны приёма.
В гоночной прошивке Betaflight failsafe двухстадийный: первая стадия (по умолчанию 1,5 с) наступает уже после 100 мс без сигнала — каналы получают заранее заданные значения, стабилизация продолжает работать; вторая стадия по умолчанию просто отключает моторы. Для лёгкого гоночного FPV-квадрокоптера упасть на трассе безопаснее, чем неуправляемо улететь; при наличии GPS-модуля вместо падения можно включить возврат домой (GPS Rescue).
Основные компоненты
- Источники условий: приёмник радиоуправления, канал связи с наземной станцией, монитор напряжения и израсходованной ёмкости батареи, система оценки навигационного решения полётного контроллера.
- Настройки — пороги и действия задаются параметрами автопилота. В ArduPilot: действие при потере радио (FS_THR_ENABLE), двухступенчатые пороги батареи (BATT_LOW_VOLT / BATT_CRT_VOLT и аналоги по ёмкости) с отдельным действием на каждую ступень.
- Исполнительные режимы: возврат домой (RTL / Return), посадка (Land), зависание (Hold), «умный» возврат по пройденному пути (SmartRTL).
- Крайние средства: парашют, прекращение полёта (отключение регуляторов), независимый watchdog.
Примеры
- Типовая настройка ArduPilot Copter: потеря радио → RTL; первая ступень батареи (low) → RTL, вторая (critical) → Land. Если аппарат ещё на земле и не заармлен, failsafe не сработает — ложных взлётов не будет.
- PX4: у батареи три порога — предупреждение, failsafe и аварийный; типовая реакция — предупреждение в QGroundControl, затем возврат, на аварийном пороге — немедленная посадка.
- Betaflight: гоночный квадрокоптер при потере видеосигнала и управления через 1,6 с (0,1 + 1,5 с) отключает моторы и падает на трассу.
- Законодательство РФ: Федеральные правила использования воздушного пространства (пост. Правительства № 138, пункт 16(2), введён постановлением № 1133 от 31.07.2025) разрешают полёты по маршрутам БВС только аппаратам, оснащённым в том числе системой экстренного прекращения полёта — failsafe здесь не опция, а требование закона.
Связанные темы
Источники
- ScienceDirect Topics: Fail-Safe Design — принцип fail-safe проектирования и классические примеры.
- ArduPilot Documentation — виды failsafe Copter, radio и battery failsafe, параметры и рекомендуемые настройки.
- PX4 User Guide: Safety Configuration — типы failsafe PX4, иерархия действий, задержка реакции.
- Betaflight Documentation: Failsafe — двухстадийный failsafe, GPS Rescue.
- Постановление Правительства РФ № 138 (ФП ИВП) — требования к оснащению БВС для полётов по маршрутам.