Дельта от 4.5¶
Минимальный точечный список параметров для перевода с 4.5 на 4.6.3 V1.2.0.
Если нужен полный конфиг РД-7.02.5
Этот раздел — концептуальный «что менять». Готовый .param файл с миграцией всех 1110 параметров (включая переименования GPS_* → GPS1_*/GPS2_* и удалённые параметры) — здесь: Полный baseline — РД-7.02.5.
Шесть параметров¶
EK3_SRC1_POSXY = 6 # было 3 (GPS) → ExtNav
EK3_SRC1_VELXY = 0 # было 3 (GPS) → None
EK3_SRC1_VELZ = 0 # было 3 (GPS) → None
AHRS_OPTIONS = 32 # было 0 → бит 0 (DisableDCMFallbackFW)
EK3_WIND_P_NSE = 0.05 # было 0.1 → медленнее уход ветра
EK3_EXTNAV_DRIFT = 1.0 # новый параметр (отсутствовал в 4.5)
Построчно — почему¶
EK3_SRC1_POSXY = 6¶
Активирует EXTNAV как primary XY-источник. Это ключ ко всему: все кастомные патчи прошивки гейтятся на это значение. На 3 (GPS) патчи молчат — прошивка ведёт себя как обычная сток 4.6.3.
EK3_SRC1_VELXY = 0, EK3_SRC1_VELZ = 0¶
Раньше в 4.5 скорость приходила в составе GPS_INPUT (поля vn/ve/vd) — EKF видел её как GPS-velocity и фьюзил. CMD 43003 несёт только позицию, не скорость.
Если оставить 3 (GPS), EKF будет ждать velocity-данные через GPS-канал, не получит их и пойдёт по таймауту. None явно говорит фильтру: «velocity выводи из IMU + airspeed». Именно поэтому pitot теперь критичен — это единственный velocity-аналог в системе.
AHRS_OPTIONS = 32¶
Бит 0 = DisableDCMFallbackFW. Без него, при «нездоровом» EKF, AHRS молча переключается на DCM. Для нашей задачи это опасно: DCM не знает про ExtNav, и плане будет навигироваться DCM dead-reckoning'ом без коррекций.
Бит 0 — единственный мы включаем. Биты 1 (DisableDCMFallbackVTOL) и 2 (DontDisableAirspeedUsingEKF) — не нужны.
EK3_WIND_P_NSE = 0.05¶
Process noise ветра в EKF state. По умолчанию 0.1. Снижаем до 0.05 — ветер дрейфует медленнее за такт, оценка устойчивее при шумном TAS. См. common/wind.
EK3_EXTNAV_DRIFT = 1.0¶
Новый параметр, идёт от коммита d04f9d1 (Zholobov latch). В 4.5 его не было. Default 1.0 m/s. См. tech/architecture/zholobov.
Что не меняем¶
Из твоего 4.5-baseline:
ARMING_CHECK = 771810— биты GPS lock / INS / Compass / All уже выключены. ⇒ уже подготовлено для GPS-denied.EK3_GLITCH_RAD = 25— keep. Soft-correction обходит проблему drift'а вместо отключения glitch protection.EK3_POS_I_GATE = 500,EK3_VEL_I_GATE = 500,EK3_EAS_I_GATE = 400— keep.EK3_BETA_MASK = 0— keep. Sideslip auto-promotion наis_dead_reckoningработает корректно.EK3_NOAID_M_NSE = 10— keep. Релевантно только при AID_NONE, чего мы избегаем.EK3_EAS_M_NSE = 1.4— keep. Понижать только после калибровкиARSPD_RATIO.- IMU калибровки, RC, servo, TECS, L1 — все остаются.
Что сбрасываем в дефолт¶
Из твоего 4.5-baseline:
AHRS_WND_ENBL = 1→ 0AHRS_WND_SPD = 5→ 0AHRS_WND_DIR = 180→ 0
Эти параметры пишут только в DCM _wind. С AHRS_OPTIONS = 32 DCM не используется, ⇒ параметры — dead code. Держим в 0 для чистоты конфига. См. common/wind.
Сводка как .parm¶
EK3_SRC1_POSXY,6
EK3_SRC1_VELXY,0
EK3_SRC1_VELZ,0
AHRS_OPTIONS,32
EK3_WIND_P_NSE,0.05
EK3_EXTNAV_DRIFT,1.0
AHRS_WND_ENBL,0
AHRS_WND_SPD,0
AHRS_WND_DIR,0
Можно загрузить через Mission Planner: Config → Full Parameter List → Load from file. Или через MAVProxy: param load delta.parm.
Это только дельта, не полный baseline
Не загружай этот файл на чистую прошивку — это перезапишет только 9 параметров. Полный baseline см. в baseline. Также убедись что ARMING_CHECK уже подготовлен (бит 3 GPS выключен).