Один учебный маршрут вместо двух похожих страниц. Сначала посмотрите, как замыкается контур на живой модели дрона, затем разберите, из каких датчиков EKF получает оценку положения и почему она может стать неверной.
IMU и внешние датчикиОценка EKFANGLE → RATEPID и моторыДвижение дрона
Лаборатория PID-регулятора дрона
Двухкаскадная модель ANGLE → RATE: внешний контур формирует требуемую угловую скорость, внутренний PID управляет моментом. Положение аппарата на рисунке напрямую связано с физическим состоянием симуляции.
ROLL · ANGLE → RATE
Угол
0.0°
Угловая скорость
0.0°/с
Ошибка
20.0°
Выход регулятора
0%
Цель RATE
0°/с
Момент (усл.)
0.00
∫|e|dt
0.00
Перерегулирование
0.0%
Время установления
—
Что сейчас происходит
ANGLE-контур видит ошибку угла и переводит её в требуемую скорость вращения. RATE PID затем создаёт разницу тяги между сторонами.
i
Настройка устойчива.P обеспечивает реакцию, D гасит движение, I устраняет остаточную ошибку.
Мировой горизонт 0°
Стабилизация
Задание: 20°
Зажми и тяни дрон ← ROLL →
↻0°/с
Модель положения закреплена в центре: здесь показано вращение вокруг оси ROLL, а не перемещение в пространстве.
Левые
50%
Правые
50%
Попробуй виртуальный стик i
Отклони стик немного, затем до края. Сравни команду, заданный угол и требуемую скорость поворота.
Стик0%
Цель ROLL0°
Цель RATE0°/с
Как команда доходит до моторов i
1 · Ошибка ANGLE
20.0°
2 · Цель RATE
24.0°/с
3 · Ошибка RATE
24.0°/с
4 · Команда моторам
0%
Слева направо: контроллер видит отклонение угла, задаёт нужную скорость поворота, сравнивает её с гироскопом и меняет тягу моторов.
Переходный процесс — последние 12 секунд
УголЗаданиеEKFИзмерение
Ошибка активного контура
Ошибка ANGLE
Из чего складывается команда PID
PIDВыход
Как PID принимает решение i
Сначала контроллер сравнивает цель с положением дрона. Затем P реагирует на текущую ошибку, I убирает длительное смещение, а D притормаживает резкое движение. Общая команда меняет тягу моторов.
EKF3 ArduPilot: интерактивная лаборатория слияния датчиков. Разбери, как автопилот сопоставляет IMU с GPS, VIO, Optical Flow, барометром, дальномером и компасом, почему меняется источник оценки и что происходит с innovation, gate, covariance и EKF lanes.
⚠️ Важно. Это учебная модель принципов sensor fusion, а не точная копия NavEKF3 и не замена проверке реального лога ArduPilot. Перед тестами на аппарате сохраняй параметры и проверяй его со снятыми пропеллерами.
Бюджет задержки: LAT, AGE и JITTER
Цепочка: измерение → обработка → очередь/канал → команда → исполнитель.
LAT (latency) — полное время прохождения данных или команды по цепочке.
AGE (возраст данных) — насколько старым стало измерение к моменту использования в оценке или управлении.
JITTER — изменение задержки от цикла к циклу; даже при приемлемом среднем значении оно нарушает равномерность обновлений.
Не смешивайте параметры: задержка транспорта и вычислений — это не инерция моторов. Инерция описывает динамику исполнительного тракта уже после получения команды.
Как пользоваться лабораторией
Оставь режим AUTO и посмотри, какой источник выбран для XY, высоты и курса.
Отключай датчики или запускай сценарии отказа, затем следи за quality, innovation, gate, covariance и переключением lane.
Нажми Сброс, чтобы вернуть исходное состояние; CSV export сохраняет историю для разбора.
Интерактивная модель EKF3
EKF3 ArduPilot — Sensor Fusion Lab v4
GPS, VIO, Optical Flow, Compass, Barometer и Rangefinder в одной модели. Видно, какой источник EKF использует для XY / Height / Yaw, почему происходит переключение, как меняются innovation, Kalman Gain, covariance и две EKF lane.
Учебная модель принципов sensor fusion, а не точная реализация NavEKF3.
Один цикл EKF — от прогноза до решенияОстановите время и пройдите пять этапов. Значения берутся из работающей модели.
Источник—
Истина*—
Прогноз EKF—
Измерение—
Innovation / gate—
РешениеWAIT
Нажмите «Начать цикл». Модель остановится, чтобы этапы не менялись быстрее, чем вы успеваете их прочитать.
* «Истина» известна только симулятору; в реальном полёте EKF её не видит.
EKF ⓘEKF — расширенный фильтр Калмана. Он не «верит» одному датчику, а постоянно объединяет прогноз IMU с внешними измерениями и оценивает неопределённость.
OK
оценка стабильна
XY Source ⓘXY Source — источник горизонтального положения или скорости. Здесь это GPS, VIO или Optical Flow. При ухудшении источника AUTO может выбрать другой.
GPS
автовыбор
Height Source ⓘHeight Source — основной внешний источник высоты. В модели это Barometer или Rangefinder.
BARO
автовыбор
Yaw Source ⓘYaw Source — источник абсолютной ориентации по курсу. Сейчас реализован Compass; если он отключён, Yaw Source становится NONE, а курс продолжает прогнозироваться гироскопом и дрейфует.
COMPASS
ориентация
Active Lane ⓘEKF Lane — параллельная оценка состояния, обычно привязанная к своей IMU. Если основная lane становится хуже, система может переключить активную оценку на резервную.
LANE 1
IMU1
XY error
0.0 м
Найдите неисправность
Неисправность внесена скрытно. Смотрите Source Manager, innovations, covariance и lane switching.
Source Manager ⓘSource Manager сравнивает доступность и качество источников и выбирает, какой использовать для XY и высоты. В AUTO применяется приоритет и гистерезис, чтобы источник не переключался туда-сюда из-за небольших колебаний.
Какой источник выбран и почему
AUTO SELECT
GPSGOOD
Quality100%
Latency120 мс
VIOGOOD
Quality95%
Drift0.0 м
Optical FlowGOOD
Quality90%
Modevelocity
BarometerGOOD
Quality100%
Bias0.0 м
RangefinderGOOD
Quality100%
Range (flat)20.0 м
CompassGOOD
Quality100%
Bias0.0°
1. Predict ⓘPredict — быстрый прогноз следующего состояния по IMU. Между внешними измерениями EKF интегрирует гироскоп и акселерометр; при этом covariance обычно растёт.IMU1 / IMU2 → прогноз состояния
→
2. Source selection ⓘEKF должен знать, какому внешнему источнику сейчас доверять для конкретной величины. Отказ GPS не означает потерю навигации, если доступен подходящий VIO или Flow.GPS / VIO / Flow · Baro / Range
→
3. Gate / Update ⓘGate проверяет, насколько новое измерение согласуется с прогнозом. Если оно допустимо — выполняется Update; если слишком далеко — measurement отклоняется как REJECT.Innovation → ACCEPT / REJECT → K
GPS Position ⓘGPS даёт абсолютную позицию и скорость, но может иметь шум, multipath и задержку. На быстром аппарате даже правильная, но старая координата способна дать большую innovation.
5 Гц
Innovation ⓘInnovation — расхождение между новым measurement и тем, что EKF ожидал увидеть. Здесь показано нормированное значение в σ: чем оно больше, тем сильнее датчик спорит с прогнозом.0.0σ
K ⓘKalman Gain K определяет силу коррекции. Большой K — принятое measurement сильнее двигает оценку; маленький K — EKF больше опирается на свой прогноз.0.00
XYWAIT
VIO Position ⓘVIO — Visual-Inertial Odometry: движение оценивается по камере совместно с IMU. Хорошо работает без GPS, но ошибка позиции может постепенно накапливаться как drift.
30 Гц
Innovation ⓘНормированное расхождение measurement и прогноза EKF. Значение выше Gate означает, что обновление считается подозрительным.0.0σ
K ⓘKalman Gain: насколько сильно принятое измерение корректирует состояние. Он зависит от uncertainty прогноза и шума measurement.0.00
XYWAIT
Optical Flow ⓘOptical Flow оценивает движение изображения и обычно полезен для горизонтальной скорости относительно поверхности. Требует текстуры и знания масштаба/высоты.
50 Гц
Innovation ⓘНормированное расхождение measurement и прогноза EKF. Значение выше Gate означает, что обновление считается подозрительным.0.0σ
K ⓘKalman Gain: насколько сильно принятое измерение корректирует состояние. Он зависит от uncertainty прогноза и шума measurement.0.00
velocity XYWAIT
Height ⓘВысота может корректироваться разными источниками. Barometer удобен на больших высотах, а Rangefinder даёт прямую дистанцию до поверхности в своём рабочем диапазоне.
BARO 25 Гц
Innovation ⓘНормированное расхождение measurement и прогноза EKF. Значение выше Gate означает, что обновление считается подозрительным.0.0σ
K ⓘKalman Gain: насколько сильно принятое измерение корректирует состояние. Он зависит от uncertainty прогноза и шума measurement.0.00
BAROWAIT
Compass ⓘКомпас даёт абсолютный курс, но чувствителен к магнитным полям токовых проводов, моторов и металла. Ошибка сначала проявляется в yaw, а затем может портить преобразование ускорений в мировые оси.
20 Гц
Innovation ⓘНормированное расхождение measurement и прогноза EKF. Значение выше Gate означает, что обновление считается подозрительным.0.0σ
K ⓘKalman Gain: насколько сильно принятое измерение корректирует состояние. Он зависит от uncertainty прогноза и шума measurement.0.00
YawWAIT
Последнее Measurement → решение EKF
Sensor—
→
Innovation—
→
Gate4.0σ
→
ResultWAIT
Covariance активной Lane ⓘCovariance — внутренняя оценка неопределённости EKF. Здесь для удобства показана σ = √P. При потере внешних источников σ обычно растёт даже до того, как реальная ошибка стала очевидной.
σ XY0.0 м
σ Velocity0.0 м/с
σ Yaw0.0°
σ Altitude0.0 м
Lane 1 / IMU1
ACTIVE
Health100%
XY error0.0 м
Temp bias0.00
Clipping ⓘClipping — насыщение диапазона измерения IMU: реальное ускорение или вращение выходит за предел датчика, и часть информации теряется. Частый clipping — серьёзный признак вибрации/удара или неподходящего диапазона.0
Lane 2 / IMU2
STANDBY
Health100%
XY error0.0 м
Temp bias0.00
Clipping ⓘСчётчик условных насыщений IMU. В этой учебной модели он растёт при сильной вибрации.0
Почему сейчас OK?
Все активные источники согласуются.
План XY
Истина, Lane 1, Lane 2 и активный источник позиции
Yaw / Compass
Ошибка компаса и влияние throttle
Высота
True · EKF · Barometer · Rangefinder
Innovation Test Ratio
1.0 = граница Gate
Covariance
Lane Comparison
Source Quality
IMU Health
События / переключения
Учебный глоссарий EKF / Sensor Fusion
Predict Прогноз состояния по IMU между внешними измерениями.
Measurement Новое внешнее измерение: GPS, VIO, Flow, Baro, Rangefinder или Compass.
Innovation Насколько measurement отличается от ожидаемого EKF.
Gate Порог допустимого рассогласования для ACCEPT / REJECT.
Kalman Gain K Насколько сильно принятое measurement изменяет оценку.
Covariance P / σ Оценка неопределённости фильтра; σ = √P.
Lane Параллельный экземпляр оценки, связанный со своим набором IMU.
Optical Flow Оценка относительного движения по смещению изображения.
Что переносить в реальную диагностику
Модель помогает понять последовательность наблюдений, но реальные причины подтверждаются параметрами, сообщениями pre-arm и DataFlash-логом конкретной платы и версии ArduPilot. Не отключай проверки EKF и не делай вывод о неисправности датчика по одной метрике.
Проверено: август 2026. Поведение и названия параметров сверяй с документацией своей версии ArduPilot.
Главная связь: Контуры POSITION, VELOCITY и ANGLE используют оценку состояния EKF, а внутренний RATE PID получает обратную связь по угловой скорости гироскопа. Поэтому ошибки EKF и IMU по-разному влияют на управление.