Перейти к содержанию

В GCS перед взлётом

Что показывает Mission Planner / QGroundControl, как это читать и интерпретировать.

EKF_STATUS_REPORT — флаги

Главный индикатор «здоровья» EKF. Передаётся раз в секунду. Биты:

Бит Имя Что значит
0 (1) ATTITUDE Tilt/heading OK. Минимум для FBWA.
1 (2) VELOCITY_HORIZ Горизонтальная скорость доступна
2 (4) VELOCITY_VERT Вертикальная скорость доступна
3 (8) POS_HORIZ_REL Относительная позиция (от origin)
4 (16) POS_HORIZ_ABS Абсолютная позиция (с глобальной привязкой). Это и нужно для нав.
5 (32) POS_VERT_ABS Абсолютная высота
6 (64) POS_VERT_AGL Высота над землёй (требует rangefinder)
7 (128) CONST_POS_MODE EKF в режиме «застрял» — нет источников, держит константу
8 (256) PRED_POS_HORIZ_REL Предиктивная rel-позиция
9 (512) PRED_POS_HORIZ_ABS Предиктивная abs-позиция
10 (1024) UNINITIALIZED EKF ещё не инициализирован
11 (2048) GPS_GLITCHING GPS-глюк (не применимо к нашей конфигурации)

Целевые состояния по фазам

После Boot (до SET_GPS_GLOBAL_ORIGIN)

flags = ATTITUDE
       (или UNINITIALIZED первые секунды)

Бит POS_HORIZ_ABS отсутствует — это нормально. Origin не установлен, EKF только tilt считает.

После SET_GPS_GLOBAL_ORIGIN

flags = ATTITUDE | POS_HORIZ_REL

POS_HORIZ_REL появился — origin есть, относительная позиция (от origin) валидна. Но POS_HORIZ_ABS пока нет, потому что первой CMD 43003 ещё не было.

После первой CMD 43003 (готов к arm)

flags = ATTITUDE | POS_HORIZ_REL | POS_HORIZ_ABS

Это целевое состояние перед arm. Все три бита есть. POS_VERT_ABS тоже должен быть (от барометра).

В полёте с регулярными коррекциями

То же самое. Variances должны быть низкие:

Параметр Норма Тревога
velocity_variance < 0.5 > 1.0
pos_horiz_variance < 1.0 > 5.0
pos_vert_variance < 0.5 > 2.0
compass_variance < 0.3 > 0.8

В coast (без коррекций)

flags = ATTITUDE | POS_HORIZ_REL | POS_HORIZ_ABS | PRED_POS_*
       (или флаги те же, но variances растут)

pos_horiz_variance будет постепенно расти — это нормально, EKF честно сообщает что оценка устаревает. До 25^2 = 625 (квадрат EK3_GLITCH_RAD) — оценка ещё считается валидной. После — EKF может сообщить о проблеме.

Pre-arm сообщения

Нормальные (можно лететь)

  • EKF3 IMU0 is using GPS — на нашей конфигурации не должно быть (это для GPS-конфига). Если видишь — значит SRC=GPS, стоп.
  • EKF3 IMU0 ready — нормально, EKF поднят.

Нормальные временно (подождать)

  • Waiting for ekf origin — после boot, до SET_GPS_GLOBAL_ORIGIN. Норма.
  • EKF3 yaw alignment is poor — компас ещё не сошёлся. Прокрутить самолёт по yaw в разные стороны, обычно проходит за 30 секунд.

Тревожные (НЕ лететь)

  • EKF3 init failure: No GPS lockEK3_SRC1_POSXY ≠ 6. Конфиг ошибка.
  • EKF3: origin already set — попытка переустановить origin. Нужен reboot.
  • PreArm: AHRS: EKF3 not started — серьёзная ошибка инициализации. Лог .bin для разбора.
  • PreArm: EKF3 attitude not OK — attitude не сошёлся. IMU плохо откалиброван или вибрация на стенде.
  • PreArm: GPS Configuration — попытка использовать GPS которого нет. Проверить GPS_TYPE.

Карта на главном экране

В Mission Planner на карте должна появиться иконка борта в точке origin (после шага 2 процедуры). Если иконка не появилась или находится в другом месте:

  • Origin не установлен → икона в (0,0) — посреди океана
  • Origin установлен в неправильную точку → икона не в твоей реальной точке старта

Иконка борта = твоя «синтетическая позиция» которую считает EKF. Она не следует за GPS, потому что GPS не используется. Она следует за CMD 43003 коррекциями.

Telemetry в окне Status / Tuning

Полезные поля:

  • GPS HDOP — на нашей конфигурации не имеет значения (GPS не используется), но Mission Planner всё равно покажет. Игнорируй.
  • GPS Status: NO_GPS / NO_FIX — нормально для нашей конфигурации.
  • EKF Pos Var / EKF Vel Var / EKF Mag Var — те самые variance, следить за ними в полёте.
  • Airspeed — обязательно работающий, иначе EKF не сможет инициализировать wind и coast'ить.

Что показывать диспетчеру / руководителю

Главный «зелёный свет» — три флага в EKF_STATUS_REPORT:

✅ ATTITUDE       (1)
✅ POS_HORIZ_REL  (8)
✅ POS_HORIZ_ABS  (16)

Сумма 25 = 0x19 в hex — это и есть индикатор «готов к взлёту». Если хочешь это в команде один параметром:

mavproxy: status EKF_STATUS_REPORT
flags = 0x39 (or 0x1B with vertical)