EKF3 объединяет данные gyro, accelerometer, GPS, compass, barometer и других источников в оценку положения, скорости и ориентации. Поэтому «GPS видит спутники» ещё не означает готовность к Loiter или RTL. Нужна согласованность источников и отсутствие необъяснимых pre-arm сообщений.

Проверь GPS до ARM
Выйди на открытое место и дождись устойчивого 3D fix. Смотри не только число спутников, но и показатели точности, скорость при неподвижной модели и стабильность координат. Home должен установиться рядом с реальным стартом. Если позиция скачет или скорость ненулевая в покое, не разрешай навигационные режимы временем ожидания.

Проверь направление
Сравни heading на карте с физическим направлением носа. Поверни модель на известный угол и убедись, что курс меняется в правильную сторону. Затем оцени его при безопасной нагрузке силовой части без пропеллеров. Сдвиг под током указывает на magnetic interference, а не на проблему GPS.
Читайте pre-arm messages буквально
Pre-arm checks проверяют калибровки, sensor consistency, позицию, питание и конфигурацию. Не отключай весь набор из-за одного сообщения. Зафиксируй точный текст, найди соответствующий датчик или параметр и исправь причину. Временное исчезновение ошибки после reboot не доказывает исправность.
Оцени EKF3
В Mission Planner и DataFlash смотри статус EKF, variances/innovations и сообщения о lane switching или source changes. Innovation показывает расхождение измерения с прогнозом фильтра; устойчивое превышение порога может означать вибрацию, магнитную помеху, плохой GPS или неверную конфигурацию источников. Не меняй пороги только для получения зелёного индикатора.
Если используются несколько IMU, GPS или compass, проверь, какой источник primary и почему система переключилась. Резервирование полезно только когда датчики независимо исправны и правильно ориентированы.
Лестница допуска
- Стабильные sensors и отсутствие необъяснимых pre-arm.
- Короткий полёт в Stabilize/AltHold.
- Короткое включение Loiter с немедленным pilot takeover.
- Разбор DataFlash и только затем тест RTL.
Если Loiter уходит, сначала сохрани DataFlash и tlog, а не правь десяток параметров. Связь EKF с действиями отказа описана в матрице failsafe. Общий порядок — в руководстве ArduPilot Copter.