Геозона (geofence)
Кратко
Geofence (геозона, «виртуальный забор») — граница, нарисованная не на местности, а в памяти автопилота: она определяет, где аппарату можно летать, а куда нельзя. Пересёк границу — автопилот сам вмешивается: предупреждает, останавливается, возвращается домой или садится. Это страховка от улетевшего аппарата, ошибки пилота и сбоя миссии.
Для чего используется
- Ограничение полётной зоны на тренировках и демонстрациях: новичок физически не улетит за периметр.
- Соблюдение ограничений: не приближаться к запретной зоне — исключающая геозона вокруг неё (см. законодательство РФ о БПЛА).
- Страховка автономных полётов: миссия с ошибкой в координатах не уведёт аппарат за горизонт.
- Ограничение высоты — виртуальный потолок.
Как работает
Автопилот непрерывно сравнивает свою позицию (по GNSS и EKF) с загруженной геометрией зон. Зоны бывают включающие («летать только внутри») и исключающие («внутрь не влетать»), полигональные и круговые.
В ArduPilot Copter три вида ограждений, комбинируемых параметром FENCE_TYPE: цилиндр вокруг точки взлёта (образно — «консервная банка»), полигональные/круговые зоны и потолок высоты. Ключевые параметры: FENCE_RADIUS — максимум удаления от home (не менее 30 м), FENCE_ALT_MAX — потолок, FENCE_MARGIN — запас до границы, FENCE_ACTION — действие при нарушении (RTL, Land, Brake или SmartRTL). Если аппарат не успел остановиться и нарушил границу, следующее — резервное — ограждение строится на 20 м дальше: автопилот получает второй шанс. Документация предупреждает: при включённом geofence не отключайте проверку GPS перед армированием и EKF failsafe — ограждение без надёжной позиции не работает.
В PX4 два независимых механизма: простой failsafe-цилиндр (максимальные дальность и высота от точки старта) и произвольные геометрии из плана QGroundControl. Действия при нарушении — предупреждение, удержание позиции, возврат или прекращение полёта. PX4 проверяет планы заранее: геозона, не включающая точку старта, отклоняется, а миссия, конфликтующая с геозоной, не принимается ещё до взлёта.
Основные компоненты
- Геометрия зон — цилиндр/полигоны/круги, включающие и исключающие.
- Параметры поведения — запас до границы, действие при нарушении.
- Редактор в наземной станции — в QGroundControl геозоны рисуются в Plan View рядом с миссией и rally-точками.
- Протокол загрузки. Геозона — отдельный тип плана MAVLink (mission_type = FENCE): загружается той же последовательностью сообщений, что и миссия, пункты — команды MAV_CMD_NAV_FENCE_*; автопилот хранит планы разных типов раздельно.
Примеры
- Учебный полёт: включающий цилиндр FENCE_RADIUS = 100 м, FENCE_ALT_MAX = 50 м, действие RTL — аппарат вернётся сам, что бы ни делал ученик.
- Съёмка вдоль границы охраняемого объекта: исключающий полигон поверх объекта не даст залететь внутрь даже вручную.
- Автономная миссия в PX4: план с геозоной загружен из QGroundControl — миссия, выходящая за периметр, будет отклонена при проверке.
Связанные темы
- Отказоустойчивость (failsafe)
- Планирование миссий
- QGroundControl
- MAVLink
- Законодательство РФ о БПЛА
- Расширенный фильтр Калмана (EKF)
Источники
- ArduPilot: Simple Geofence — типы ограждений, параметры, резервные ограждения.
- PX4: Geofence — failsafe-цилиндр, зоны из QGC, действия, проверки планов.
- QGroundControl Guide — редактирование геозон в Plan View.
- MAVLink: Mission Protocol — геозона как отдельный тип плана.