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

Valkyrie INS 8.0

Прошивка ArduPlane 4.7.0 для CUAV-X7: взлёт и навигация без GPS — на ИНС (IMU) + воздушной скорости (ПВД) + редких операторских фиксах позиции (CMD 43003). Счисление ведут два независимых эстиматора — EKF3 (ExtNav) и DCM с фильтром Калмана ветра/масштаба ПВД; любой из них может быть первичным.

GPS-denied инвариант

GPS в полёте не используется — ни как primary, ни как fallback. Позиция приходит только от оператора (CMD 43003), высота — барометр, курс — компас, скорость и ветер — из ИНС + ПВД. Полёт всегда в AUTO. Поэтому исправный ПВД критичен.

Концепция

  1. Холодный старт без GPS. EKF3 инициализируется и борт армится при EK3_SRC1_POSXY = ExtNav (стоковый ArduPlane без 3D-фикса GPS стартовать самолёту не даёт).
  2. Выставка. Оператор задаёт SET_GPS_GLOBAL_ORIGIN + DO_SET_HOME + позицию (CMD 43003); первый фикс вводит фильтры в абсолютную навигацию.
  3. Счисление (coast). Между фиксами позиция держится по ПВД + курсу + ветру; «гейт коаста» не даёт EKF3 сбросить horiz_pos_abs. Ветер и масштаб ПВД обучаются на окнах между фиксами (DCM-KF и ADR-окно EKF3).
  4. Страховка. Монитор FS_EKF_FWINT сверяет EKF3 с независимым DCM+baro и при грубом расхождении форсит DCM.

Что изменено относительно стоковой 4.7

Блок Суть
Init-байпас EKF3 стартует без GPS при EK3_SRC1_POSXY=ExtNav/Beacon
Гейт коаста horiz_pos_abs удерживается во время air-data DR под операторским фиксом (_has_forced_position)
DCM-навигация 3-state фильтр Калмана (ветер N/E + масштаб ПВД) поверх счисления DCM, обучается на операторских фиксах — архитектура
ADR-ветер EKF3 оценка ветра по air-data dead-reckoning на скользящем окне между фиксами (EK3_WIND_*)
Компенсация задержки фикса timestamp в CMD 43003 (param1/param2) либо AHRS_DR_FIXLAG + буфер позиции 10 с
Внешний ветер CMD 43004 пишется в оба эстиматора (set_external_wind_estimate) и мгновенно применяется
Деклинация из origin таблица WMM засевается из операторского origin для некалиброванного компаса
Свежий фикс для взлёта AUTO-взлёт без GPS требует инъекцию CMD 43003 свежее последнего disarm
FS_EKF_FWINT независимая проверка EKF3 → откат на DCM при грубом сбое

Всё gated на ExtNav-источник / _has_forced_positionGPS-сборки бит-идентичны стоку.

Разделы

Статус валидации

Прошивка валидирована SITL-кампанией: 2 прогона × 48 полётов (взлёт от коррекции, re-arm в воздухе, коаст 6 мин, спам, реалистичные фиксы, переключение ветра) по трём конфигурациям эстиматора — числа и методика. На реальной плате дополнительно проверяются калибровки датчиков и абсолютная точность в реальной атмосфере.