В 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)¶
Бит POS_HORIZ_ABS отсутствует — это нормально. Origin не установлен, EKF только tilt считает.
После SET_GPS_GLOBAL_ORIGIN¶
POS_HORIZ_REL появился — origin есть, относительная позиция (от origin) валидна. Но POS_HORIZ_ABS пока нет, потому что первой CMD 43003 ещё не было.
После первой CMD 43003 (готов к arm)¶
Это целевое состояние перед 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 lock—EK3_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:
Сумма 25 = 0x19 в hex — это и есть индикатор «готов к взлёту». Если хочешь это в команде один параметром: