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

Параметры

Готовый набор для безопасного полёта без GPS. Файл: gpsdenied_cuavx7.param (в корне репозитория) — грузить в Mission Planner → Full Parameter List → Load from file.

1. Конфигурации эстиматора

Валидированы три конфигурации (числа); отличаются поверх общего набора ниже:

Конфигурация Первичный эстиматор Отличия параметров
dcm0 — полётный сет DCM (чистый) AHRS_EKF_TYPE 0, EK3_ENABLE 0, EK3_WIND_ADR 0, AHRS_WIND_MAX 18, FS_EKF_FWINT 1, FS_EKF_FWHGT 30, FS_EKF_FWANG 30, AHRS_OPTIONS 0, EK3_OPTIONS 0
dcm1 DCM, EKF3 фоном AHRS_EKF_TYPE 0, EK3_ENABLE 1, AHRS_WIND_MAX 18
ekf3 EKF3 (active) AHRS_EKF_TYPE 3, EK3_ENABLE 1, AHRS_WIND_MAX 18

2. Навигация без GPS (EKF3 + ExtNav)

Параметр Значение Смысл
AHRS_EKF_TYPE 3 (EKF3) / 0 (DCM) активный эстиматор по выбранной конфигурации
EK3_ENABLE 1
EK3_SRC1_POSXY 6 (ExtNav) даёт init без GPS + путь forced-position
EK3_SRC1_VELXY 0 (None) внешнего источника скорости нет — скорость из IMU + ПВД
EK3_SRC1_POSZ 1 (Baro) высота
EK3_SRC1_YAW 1 (Compass) курс — критичен для дрейфа
AHRS_OPTIONS 16 бит 4 (origin без GPS); бит 0 (DisableDCMFallbackFW) держать 0

3. ПВД — основа счисления

Параметр Значение Смысл
ARSPD_USE 1 использовать воздушную скорость
ARSPD_TYPE по железу реальная трубка (НЕ 0); 100 = только SITL-стенд

Калибровка обязательна: верный ARSPD_RATIO. Остаточную ошибку масштаба ПВД фильтр счисления выучивает в полёте (K_tas), но только на манёвренных участках — стартовать надо с честной калибровки.

4. Ветер и компенсация задержки фикса

Параметр Значение Смысл
AHRS_WIND_MAX 18 (м/с) ограничивает модуль выученного фильтром ветра; 0 = без ограничения
AHRS_DR_FIXLAG 0 (с), диапазон 0–8 предполагаемый возраст операторского фикса 43003 — см. ниже

AHRS_DR_FIXLAG — предполагаемый возраст (задержка «наблюдение → доставка на борт») фикса CMD 43003, пришедшего без валидного timestamp в param1. Применяется только в этом случае: валидный param1 всегда имеет приоритет. 0 = фикс без timestamp считается текущим.

Процедура выставления: замерить по 5–10 кликам реальную задержку от наблюдения борта оператором до доставки команды на борт и выставить значение с точностью ±1 с. Значение, не соответствующее реальной задержке, вносит эквивалентную ей ошибку позиции (фикс протягивается вперёд по счисленному пути на чужую величину) — при неизвестной задержке оставить 0.

Окно ADR-ветра EKF3 (advanced)

Для конфигурации ekf3/dcm1 оценкой ветра EKF3 управляют EK3_WIND_* (дефолты валидированы, менять не требуется):

Параметр Default Смысл
EK3_WIND_ADR 1 (Auto) 1 = ADR-окно само уточняет ветер на каждой коррекции; 0 (Hold) = ветер держится, оценка публикуется как рекомендация ADR wind rec
EK3_WIND_TWIN 60 с минимальная длительность окна до штатного закрытия
EK3_WIND_TWMAX 600 с потолок окна (принудительное перезакрытие)
EK3_WIND_EMA 0.6 базовый гейн вмешивания оценки окна
EK3_WIND_QTOL 35° допуск качества закрытия (близость к целому витку)
EK3_WIND_QFLR 0.2 пол качества — каждое закрытие хоть немного уточняет ветер
EK3_WIND_ADCAP 3000 м кап воздушного перемещения на прямом участке

5. CMD 43003 — операторский фикс позиции

MAV_CMD_EXTERNAL_POSITION_ESTIMATE (COMMAND_INT, frame GLOBAL):

Поле Содержимое
param1 timestamp наблюдения, сек. 0/пусто допустимо — фикс без timestamp (см. AHRS_DR_FIXLAG); отрицательный или NaN отклоняется (DENIED)
param2 processing time, сек — время обработки на стороне GCS; вычитается из времени param1; применим только при валидном param1
param3 точность фикса 1σ, м — вес измерения в фильтре (зажимается в 2–100 м; не задана → принимается 5 м)
param4 не используется (слать NaN)
x / y lat / lon, °·1e7
z NaN (высота не передаётся; иное значение → DENIED)

Повторная доставка фикса с тем же param1 (ретрансмит MAVLink) распознаётся и игнорируется бортом.

6. CMD 43004 — операторский ветер

MAV_CMD_EXTERNAL_WIND_ESTIMATE:

Поле Содержимое
param1 скорость ветра, м/с (≥ 0; иначе DENIED)
param2 точность 1σ, м/с — DCM-фильтр зажимает в 0.5–5, не задана → 1.0; EKF3 не задана → 2.0
param3 направление, ОТКУДА дует, град (0–360; иначе DENIED)

Применяется мгновенно обоими эстиматорами (в EKF3 на земле — отложенно, вступит в силу на взлёте); фильтры продолжают уточнять ветер от последующих фиксов 43003.

7. Монитор целостности ИНС (страховка)

Параметр Значение Смысл
FS_EKF_FWINT 1 включить монитор EKF3↔DCM+baro
FS_EKF_FWHGT 30 (м) порог грубого расхождения по высоте
FS_EKF_FWANG 30 (°) порог грубого расхождения по углам/курсу

Пороги задают грубый сбой; поднять, если ложно срабатывает. Это не comms-failsafe — оставлять включённым.

8. Comms-failsafe (потеря связи)

Политика: ничего при потере связи < 5 мин.

Параметр Значение Смысл
THR_FS_ENABLE 0 потеря RC на дальности не триггерит failsafe
FS_GCS_ENABL 1 failsafe по heartbeat GCS (0 = совсем выключить)
FS_SHORT_ACTN 3 короткий failsafe отключён
FS_LONG_TIMEOUT 300 срабатывает только после 5 мин без связи (диапазон 1–300)
FS_LONG_ACTN 0 CONTINUE — действие не предпринимается; задать своё при необходимости

9. Арминг

ARMING_CHECK — снять только биты GPS lock и GPS configuration, остальные проверки оставить (проще в UI арминг-чеков). На реальном борте 0 не ставить.

Два значения — вручную

ARSPD_TYPE (под реальную трубку) и ARMING_CHECK (минус GPS-биты) выставляются вручную — в .param-файле они закомментированы. Без верного ARSPD_TYPE при ARSPD_USE=1 счисление работать не будет.

SITL-стенд

Для софт-стенда: ARSPD_TYPE=100 (бэкенд AP_Airspeed_SITL) — даёт TAS из физики симулятора. На реальной плате тип 100 не работает (бэкенда нет). Подробнее — Симуляция и валидация.