Сообщение «Unhealthy AHRS» в Mission Planner появляется на вкладке HUD или в логе событий, когда контроллер полёта не может вычислить корректную ориентацию аппарата в пространстве — чаще всего из-за несогласованных данных гироскопа, акселерометра, компаса или GPS. Пока флаг активен, арминг в режимах, зависящих от навигации (Loiter, Auto, RTL), будет заблокирован, а попытка взлёта в Stabilize с нестабильной оценкой ориентации чревата неконтролируемым поведением дрона.

Аббревиатура AHRS расшифровывается как Attitude and Heading Reference System — система определения курса и пространственного положения. В прошивках ArduPilot за неё отвечает фильтр EKF (расширенный фильтр Калмана), который объединяет показания нескольких датчиков. Если входные данные противоречат друг другу или отсутствуют, система объявляет себя «нездоровой» — и это защитная мера, а не сбой самого по себе.

Что означает статус Unhealthy AHRS

Фильтр EKF постоянно сравнивает показания сенсоров: угловые скорости от гироскопа, ускорения от акселерометра, магнитный курс от компаса, скорость и позицию от GPS. Когда расхождение между ними превышает допустимые пороги, оценка ориентации признаётся недостоверной, и Mission Planner отображает предупреждение Unhealthy AHRS.

Важно различать ситуации: иногда сообщение появляется на короткое время при подключении питания и исчезает после инициализации фильтра — это нормально. Тревожным признаком считается устойчивое сообщение, которое не пропадает спустя минуту после включения и блокирует арминг.

Обратите внимание на сопутствующие сообщения: EKF variance, Bad Compass Health, PreArm: AHRS not healthy. Их комбинация подсказывает, какой именно датчик подаёт некорректные данные.

Основные причины ошибки

Причин у статуса несколько, и они различаются по частоте встречаемости. Перед любыми действиями полезно просмотреть список предполётных сообщений на вкладке Messages или в окне PreArm-проверок.

  • 🧭 Некорректная калибровка компаса или сильные магнитные помехи рядом с силовыми проводами и моторами.
  • 📡 Отсутствие GPS-fix или малый уровень сигнала при включённой зависимости EKF от GPS.
  • 🔄 Неверная ориентация полётного контроллера — параметр AHRS_ORIENTATION не соответствует реальной установке платы.
  • 📊 Не откалиброван акселерометр либо калибровка выполнялась на неровной поверхности.
  • 🔌 Проблемы с питанием или шлейфами — нестабильное напряжение сбивает работу IMU.
  • 🌡️ Резкие вибрации рамы, выводящие показания гироскопа за пределы допустимого диапазона.
⚠️ Внимание: не пытайтесь обойти предполётные проверки, отключая параметры ARMING_CHECK, чтобы «просто взлететь». При неисправном AHRS дрон может потерять ориентацию сразу после отрыва от земли.
📊 Когда у вас появляется Unhealthy AHRS?
Сразу при подключении батареи
После калибровки компаса
Только в помещении без GPS
Случайно, без закономерности

Быстрая диагностика: с чего начать

Начните с самого простого: перезагрузите контроллер и подождите 60–90 секунд на открытом пространстве или у окна. Если статус исчез — фильтру просто требовалось время на инициализацию и захват спутников. Если сообщение держится, переходите к пошаговой проверке.

Откройте в Mission Planner окно Quick View или графики Status и сравните показания: курс по компасу должен примерно совпадать с реальным направлением носа аппарата, значения accx/accy в покое — быть близки к нулю, а accz — около −9.8. Сильные отклонения указывают на проблемный датчик.

☑️ Первичная диагностика Unhealthy AHRS

Выполнено: 0 / 5

Если аппарат недавно разбирался или перепрошивался, первым делом проверьте ориентацию платы. Несовпадение параметра AHRS_ORIENTATION с фактической установкой — частая причина после ремонта или смены прошивки.

Калибровка компаса и акселерометра

Калибровка акселерометра выполняется через пункт меню Initial Setup → Mandatory Hardware → Accel Calibration. Аппарат поочерёдно устанавливается в шесть положений, при этом поверхность должна быть ровной, а сам дрон — неподвижным в момент подтверждения каждой позиции.

Компас калибруется через Initial Setup → Mandatory Hardware → Compass. Во время процедуры вращайте аппарат плавно, вдали от металлических предметов, арматуры в стенах и включённых силовых нагрузок. Если используется внешний компас в GPS-модуле на мачте, убедитесь, что его ориентация задана верно, а внутренний компас контроллера при необходимости отключён в настройках приоритета.

💡

После калибровки компаса отнесите аппарат на улицу и сравните курс в HUD с компасом на телефоне. Расхождение более 15–20 градусов — повод повторить процедуру или проверить магнитные помехи от проводки.

⚠️ Внимание: не калибруйте компас рядом с работающими моторами, автомобилями, железными столами и внутри зданий с металлоконструкциями. «Успешная» калибровка в таких условиях зафиксирует искажённое магнитное поле, и ошибка вернётся в полёте.

Проверка GPS и параметров EKF

В стандартной конфигурации ArduPilot фильтр EKF использует GPS как источник скорости и позиции. Если спутников мало или приёмник не подключён, оценка AHRS может оставаться нездоровой — особенно в помещении. Это ожидаемое поведение, а не неисправность.

Проверьте на вкладке Flight Data число спутников и значение HDOP. Для стабильной работы желательно дождаться уверенного 3D-fix на открытом воздухе. Если полёт планируется в помещении без GPS, конфигурацию источников EKF нужно менять осознанно — с пониманием, какие режимы при этом станут недоступны.

СимптомВероятная причинаЧто проверить
Ошибка только в помещенииНет GPS-fixПоведение на улице, число спутников
Ошибка после перепрошивкиСброшенные калибровки или ориентация платыAHRS_ORIENTATION, повторная калибровка
Курс в HUD «прыгает»Магнитные помехиРасположение компаса, силовая проводка
Ошибка вместе с EKF varianceРассогласование данных датчиковВибрации рамы, крепление контроллера
Ошибка при подключении USBИнициализация фильтраПодождать 1–2 минуты, проверить питание
Что такое EKF variance и почему он связан с AHRS

EKF variance — это метрика неопределённости оценки фильтра Калмана. Когда показания компаса, GPS и IMU противоречат друг другу, дисперсия растёт, контроллер выдаёт предупреждение EKF variance и одновременно помечает AHRS как нездоровый. Устранение первопричины (компас, вибрации, GPS) снимает оба сообщения.

Вибрации, питание и аппаратные факторы

Сильные вибрации рамы — недооценённый источник проблем. Гнутые пропеллеры, ослабленные винты моторов, жёсткая установка контроллера без демпфирования искажают показания IMU. Проверить это можно через логи: значения VibeX, VibeY, VibeZ в логе полёта или при работе моторов на земле.

Отдельно проверьте питание контроллера. Просадки напряжения от неисправного BEC или окисленных разъёмов способны сбрасывать IMU. Признак — спонтанные перезагрузки контроллера или появление ошибки при резком изменении газа.

💡

Unhealthy AHRS — это симптом, а не диагноз. В подавляющем большинстве случаев причина лежит в компасе, калибровках, ориентации платы или отсутствии GPS-fix, и устраняется без замены оборудования.

Когда стоит обратиться к логам и документации

Если базовые шаги не помогли, скачайте лог с контроллера через DataFlash Logs и изучите показания IMU, компаса и GPS в момент появления ошибки. Анализ логов — самый информативный метод для неочевидных случаев.

Точные названия параметров и пунктов меню могут отличаться между версиями Mission Planner и прошивок ArduPilot (Copter, Plane, Rover). Сверяйтесь с официальной документацией ArduPilot для вашей версии прошивки, прежде чем менять параметры EKF — некорректные значения способны ухудшить работу фильтра.

💡

Перед изменением любых параметров EKF сохраните текущую конфигурацию через функцию сохранения параметров в файл — это позволит откатить настройки одной загрузкой.

Частые вопросы

Можно ли летать с ошибкой Unhealthy AHRS?

Нет, это небезопасно. Контроллер не имеет достоверной оценки ориентации, поэтому режимы с автонавигацией будут заблокированы, а ручные режимы могут вести себя непредсказуемо. Сначала устраните причину.

Почему ошибка появляется только дома, а на улице исчезает?

Наиболее вероятная причина — отсутствие GPS-fix в помещении при конфигурации EKF, зависящей от GPS. Это нормальное поведение, а не неисправность.

Поможет ли перепрошивка контроллера?

Сама по себе — вряд ли. Если причина в калибровках, ориентации платы или помехах, перепрошивка их не устранит, а после неё калибровки придётся выполнять заново.

Что делать, если калибровка компаса завершается ошибкой?

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

Где посмотреть, какой именно датчик вызывает проблему?

Изучите сообщения PreArm на вкладке Messages и сравните показания датчиков на вкладке Status в Mission Planner. Для глубокого анализа используйте DataFlash-логи контроллера.