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. Поэтому исправный ПВД критичен.
Концепция¶
- Холодный старт без GPS. EKF3 инициализируется и борт армится при
EK3_SRC1_POSXY = ExtNav(стоковый ArduPlane без 3D-фикса GPS стартовать самолёту не даёт). - Выставка. Оператор задаёт
SET_GPS_GLOBAL_ORIGIN+DO_SET_HOME+ позицию (CMD 43003); первый фикс вводит фильтры в абсолютную навигацию. - Счисление (coast). Между фиксами позиция держится по ПВД + курсу + ветру; «гейт коаста» не даёт EKF3 сбросить
horiz_pos_abs. Ветер и масштаб ПВД обучаются на окнах между фиксами (DCM-KF и ADR-окно EKF3). - Страховка. Монитор
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_position → GPS-сборки бит-идентичны стоку.
Разделы¶
- Архитектура — как это работает в коде 4.7.
- Параметры — готовый набор для безопасного полёта без GPS, семантика CMD 43003/43004.
- Эксплуатация — предполётная → старт → полёт → failsafe.
- Симуляция и валидация — методика SITL-кампании и валидированные характеристики точности.
Статус валидации
Прошивка валидирована SITL-кампанией: 2 прогона × 48 полётов (взлёт от коррекции, re-arm в воздухе, коаст 6 мин, спам, реалистичные фиксы, переключение ветра) по трём конфигурациям эстиматора — числа и методика. На реальной плате дополнительно проверяются калибровки датчиков и абсолютная точность в реальной атмосфере.