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

Эксплуатация

Предполётная

  1. Залить прошивку CUAV-X7 (arduplane.apj) и параметры (gpsdenied_cuavx7.param + дельта выбранной конфигурации).
  2. Выставить ARSPD_TYPE под реальную трубку и снять в ARMING_CHECK биты GPS (lock + configuration).
  3. Калибровки: компас (курс критичен) и ПВД (ARSPD_RATIO). При некалиброванном по scale компасе склонение засеется из origin автоматически.
  4. Замерить задержку доставки фикса и выставить AHRS_DR_FIXLAG (см. ниже), либо обеспечить честный timestamp в param1 на стороне GCS.
  5. Проверить: ARSPD_USE=1, FS_EKF_FWINT=1, EK3_SRC1_POSXY=6, AHRS_EKF_TYPE по конфигурации.

Замер и выставление AHRS_DR_FIXLAG

Нужен только если GCS не заполняет param1 (timestamp наблюдения) в CMD 43003 — валидный param1 всегда имеет приоритет.

  1. Сделать 5–10 пробных кликов: засечь время от момента наблюдения борта оператором до доставки команды на борт (по ACK/логу).
  2. Выставить типичную задержку с точностью ±1 с (диапазон 0–8 с).
  3. Если задержка нестабильна или неизвестна — оставить 0 (фикс считается текущим): неверное значение вносит эквивалентную ему ошибку позиции.

Старт (без GPS)

  1. Питание. EKF3 поднимется без GPS (init-байпас) — дождаться готовности AHRS.
  2. SET_GPS_GLOBAL_ORIGIN — задать начало координат (точка старта).
  3. DO_SET_HOME — задать home. Обязателен для AUTO: без home миссия (и NAV_TAKEOFF) не исполняется.
  4. CMD 43003 — наземный операторский фикс точки старта (точность в param3, типично ~4 м). Первый фикс ставит _has_forced_position и вводит фильтры в абсолютную навигацию (horiz_pos_abs). Взлёт требует фикс свежее последнего disarm.
  5. (При необходимости) задать ветер CMD 43004 — применится с момента взлёта.
  6. Арм (без GPS) → взлёт в AUTO.
  7. Bootstrap-фиксы на наборе: пока ветер не выучен, слать CMD 43003 каждые ~8 с на наборе высоты — окна ≥ 8 с дают грубую оценку ветра уже в наборе, и борт входит в крейсер не с нулевым ветром.

В полёте

  • Периодически слать CMD 43003 для коррекции позиции (валидированный каденс 30–180 с) — между фиксами борт счисляет по ПВД + курсу + ветру.
  • В param3 заполнять реальную точность клика (1σ, м): стартовая точка ~4 м, клик по карте в полёте — 20–50 м. Фильтр взвешивает фикс этой точностью.
  • Фикс после манёвра информативнее. Окно, в котором была S-кривая или вираж, даёт фильтру наблюдаемость масштаба ПВД и разделяет ветер от ошибки шкалы; на чисто прямых окнах обучается только ветер. При возможности — слать фикс после смены курса.
  • Наблюдать в GCS: horiz_pos_abs держится; растущая pos_horiz_variance между фиксами — норма (падает на каждом фиксе); сообщения KF Update: ... (DCM) подтверждают принятие фиксов, DR fix outlier — отклонение выброса.
  • Полёт всегда автономный (AUTO); ручное управление стиками не предполагается.

Re-arm в воздухе

Поддерживается цикл «обесточивание в воздухе → продолжение миссии»:

  1. Disarm в воздухе.
  2. Свежий CMD 43003 — обязателен: армовая логика требует инъекцию свежее момента disarm.
  3. Режим AUTO → arm (force-arm). Миссия продолжается с текущего пункта — MISSION_START не слать (он перезапустил бы NAV_TAKEOFF в воздухе).

Особенности:

  • Высотная привязка пересчитывается при ре-арме (baro re-zero на текущую высоту): относительные высоты миссии далее отсчитываются от нового нуля — закладывать это в профиль миссии.
  • EKF3-active: выученный ветер переживает ре-арм, если ему меньше 300 с; после более длительной паузы он отбрасывается (ADR wind stale, relearning) — рекомендуется сразу после ре-арма послать CMD 43004 с актуальным ветром.

Failsafe и страховка

  • Связь: потеря < 5 мин — ничего не происходит. После 5 мин — действие по FS_LONG_ACTN (по умолчанию CONTINUE).
  • Целостность ИНС: при грубом расхождении EKF3 с DCM+baro FS_EKF_FWINT форсит AHRS на DCM (независимый горизонт и счисление, засеянные из CMD 43003) — это сохранение управляемости, не «возврат на GPS».
  • GPS не возвращается ни в каком сценарии — это инвариант.

Стенд (SITL)

Методика стендовой валидации, готовые сценарии и валидированные характеристики точности — на странице Симуляция и валидация. Кратко: ARSPD_TYPE=100, GPS1_TYPE=0, SIM_GPS1_ENABLE=0; полный операторский флоу (origin → home → 43003 → force-arm → AUTO) автоматизирован драйвером Tools/scripts/ins8_flight.py.