Перейти к содержимому

Статья

ArduPilot не армится: PreArm EKF, GPS и Compass по точному сообщению

Как разобрать Need Position Estimate, AHRS not healthy, EKF variance и Compass errors в ArduPilot, не отключая все pre-arm checks.

В ArduPilot слово PreArm — не одна ошибка, а префикс десятков защитных проверок. Решение начинается с полного текста после двоеточия: Need Position Estimate, AHRS not healthy, EKF position variance и Compass not healthy требуют разных действий. Отключение ARMING_CHECK скрывает диагноз и может разрешить взлёт с неверным положением или курсом.

ArduPilot не армится: PreArm EKF, GPS и Compass по точному сообщению — обложка WARPfly
ArduPilot не армится: PreArm EKF, GPS и Compass по точному сообщению — обложка WARPfly. Оригинальная графика WARPfly.

Зафиксируй первое точное сообщение

Сними пропеллеры, подключи Mission Planner или другую GCS по USB/телеметрии, включи аппаратуру и выполни обычную попытку арма. Первую причину GCS показывает красным в HUD; остальные сообщения повторяются примерно раз в 30 секунд. Сохрани текст, firmware version, тип аппарата и parameter file до изменений.

Не переписывай сообщение по памяти как «ошибка GPS». Например, Fence enabled, need position estimate означает, что geofence требует позиции, а Need Position Estimate — что EKF не сформировал пригодную оценку. Одинаковая иконка GPS не делает решения одинаковыми.

ArduPilot не армится: PreArm EKF, GPS и Compass по точному сообщению — карта материала
ArduPilot не армится: PreArm EKF, GPS и Compass по точному сообщению — карта материала. Оригинальная графика WARPfly.

Need Position Estimate или waiting for home

Вынеси аппарат на открытое место с обзором неба, убери VTX, передатчики и цифровые провода от GPS-антенны, дождись устойчивого 3D fix. Проверь количество спутников, HDOP, правдоподобные координаты и появление home/EKF origin. Если GPS физически отключён, но EKF source parameters всё ещё требуют GPS, ожидание не закончится — конфигурация источников должна соответствовать реально установленным датчикам.

Для режима Loiter, RTL, Auto и включённого fence позиция является частью безопасности. Переход в Stabilize только ради арма не исправляет навигационную конфигурацию, которую затем планируется использовать в воздухе.

AHRS not healthy или EKF still initialising

Поставь аппарат неподвижно и ровно, дай датчикам прогреться, затем перезагрузи. Проверь завершённую accelerometer calibration, выбранный AHRS_EKF_TYPE и источники EK3. Если сообщение остаётся, скачай DataFlash log: ожидание без лога не отделяет вибрирующий/неисправный IMU от несовместимого набора sources.

ArduPilot Issues показывают важный пограничный случай: EKF может бесконечно инициализироваться, когда GPS или compass отключён, но параметры всё ещё настроены использовать его для position, velocity или yaw. Исправление — согласовать source configuration с архитектурой аппарата, а не снимать все проверки. Для compass-less или external-navigation схем используй отдельную официальную процедуру и версию firmware, в которой поддержан выбранный источник yaw.

EKF position или velocity variance

Variance означает, что измерения не согласуются, а не просто «мало спутников». Убедись, что аппарат неподвижен, GPS velocity близка к нулю, optical flow откалиброван, barometer не продувается, а IMU не получает вибрации. Перенеси GPS от VTX и ESC, проверь питание и повтори на открытом месте.

Не взлетай только потому, что сообщение исчезло на секунду. В текущих EKF issue встречались случаи расхождения скорости без очевидного предупреждения, поэтому после нестабильной pre-arm оценки нужен просмотр лога и повторяемый холодный старт. Смена EKF или задержка инициализации по совету из форума без анализа конкретного лога не является универсальным исправлением.

Compass not healthy или inconsistent

Проверь, какие compasses обнаружены и какие отмечены Use. Сверь ориентацию внешнего модуля, отнеси его от силовых проводов, магнитов и крепежа, затем выполняй calibration на собранном аппарате. Если несколько датчиков расходятся, сравни их по отдельности; не отключай исправный compass случайно.

После любых изменений разверни аппарат по четырём направлениям и проверь, что HUD heading следует физическому курсу без скачков. Для GPS-for-yaw или dual-antenna setup обычные советы по магнитометру неприменимы — нужен статус baseline/heading и точная конфигурация EKF yaw source.

Критерий готовности

Холодный старт несколько раз подряд формирует home и EKF origin, sensor health остаётся зелёным, heading и позиция стабильны, точное PreArm-сообщение не возвращается, а нужный полётный режим допускает арминг. Общий безопасный контур описан в статье ArduPilot для FPV; если причина плавающая, используй DataFlash и tlog, а не отключение checks.

Была ли статья полезна?

#ArduPilot#PreArm#EKF#GPS#Compass#Need Position Estimate#AHRS not healthy#не армится

Примените знания на практике

Подберите совместимые комплектующие или изучите готовые сборки пилотов.