📡 Фільтр Калмана
Оптимально поєднайте зашумлені вимірювання з моделлю руху. Еліпс коваріації зростає на кроці передбачення і стискається на кроці оновлення; оцінка Калмана випереджає і вимірювання, і модель — біжуче RMSE це доводить.
Схожі симуляції
Про фільтр Калмана
Фільтр Калмана, розроблений Рудольфом Калманом у 1960 році, — це оптимальний рекурсивний лінійний оцінювач стану, що поєднує зашумлену модель процесу із зашумленими вимірюваннями сенсора, щоб отримати оцінку прихованого стану з мінімальною середньоквадратичною похибкою. Він працює у два змінні етапи: Передбачення (поширення оцінки стану та зростання коваріації невизначеності за допомогою моделі процесу) і Оновлення (врахування нового вимірювання, щоб зменшити коваріацію та скоригувати оцінку через коефіцієнт підсилення Калмана K = P·Hᵀ·(H·P·Hᵀ + R)⁻¹). Він живив навігаційну систему бортового комп'ютера «Аполлона» і повсюдно застосовується в GPS, робототехніці та фінансових часових рядах.
Симуляція відстежує ціль, що рухається за простою моделлю сталої швидкості. Ви можете налаштовувати коваріацію шуму процесу Q (невизначеність моделі) та коваріацію шуму вимірювання R (шум сенсора), і спостерігати, як еліпс коваріації розширюється на кроці передбачення та стискається при кожному оновленні вимірювання. Лічильник RMSE порівнює оцінку Калмана із сирими вимірюваннями та безшумною справжньою траєкторією.
Часті запитання
Що означає коефіцієнт підсилення Калмана K?
Коефіцієнт підсилення Калмана K = P⁻·Hᵀ·(H·P⁻·Hᵀ + R)⁻¹ — це вагова матриця, яка визначає, наскільки довіряти новому вимірюванню порівняно з передбаченням. Коли шум вимірювання R малий, K наближається до H⁻¹ і оцінка різко зміщується до вимірювання. Коли R великий, K наближається до нуля, і оцінка майже не змінюється. Це елегантно поєднує довіру до моделі та до сенсора на кожному кроці.
Яка різниця між Q і R у фільтрі Калмана?
Q — матриця коваріації шуму процесу, що відображає невизначеність моделі динаміки системи — наприклад, невідомі прискорення в системі навігації транспортного засобу. R — коваріація шуму вимірювання, що відображає неточність сенсора (наприклад, точність GPS). Збільшення Q змушує фільтр більше довіряти вимірюванням і швидше реагувати на маневри; збільшення R згладжує шум сенсора, але сповільнює реакцію на реальні зміни стану.
Коли фільтр Калмана дає оптимальну оцінку?
Фільтр Калмана оптимальний (мінімальна СКП) коли система лінійна, шум процесу гаусівський з коваріацією Q, шум вимірювання гаусівський з коваріацією R, а початкова оцінка стану та її коваріація правильні. Порушення будь-якого з цих припущень погіршує роботу, що мотивує розширення на кшталт розширеного фільтра Калмана (EKF) для нелінійних систем та фільтрів частинок для негаусівського шуму.
Що таке розширений фільтр Калмана (EKF)?
EKF обробляє нелінійні системи, лінеаризуючи функції переходу стану та вимірювання навколо поточної оцінки за допомогою їхніх матриць Якобі. Хоча він не є справді оптимальним (лінеаризація вносить похибки), його широко використовують у робототехніці (SLAM), аерокосмічній навігації та доповненій реальності. Його головна слабкість — розбіжність при сильній нелінійності або поганій початковій оцінці.
Що таке безслідовий фільтр Калмана (UKF)?
UKF поширює невеликий набір ретельно обраних сигма-точок через справжні нелінійні функції замість лінеаризації, даючи точніше наближення другого порядку апостеріорного розподілу. Зазвичай він перевершує EKF на сильно нелінійних задачах за подібної обчислювальної вартості й є переважним вибором у багатьох аерокосмічних та робототехнічних застосуваннях.
Чим фільтр Калмана відрізняється від фільтра частинок?
Фільтр частинок (послідовний Монте-Карло) представляє розподіл стану як зважений набір випадкових вибірок (частинок), не роблячи гаусівського припущення. Він може обробляти довільні нелінійні, негаусівські системи, але потребує сотень-тисяч частинок і є значно дорожчим обчислювально. Фільтри родини Калмана домінують там, де припущення лінійності й гаусівського шуму є прийнятними.
Що таке стаціонарний фільтр Калмана?
Для стаціонарних лінійних систем коефіцієнт підсилення Калмана K сходиться до сталого стаціонарного значення при t → ∞, яке можна обчислити заздалегідь, розв'язавши дискретне алгебричне рівняння Ріккаті (DARE). Використання цього фіксованого коефіцієнта усуває потребу онлайн-оновлення матриці коваріації, зводячи обчислення до простого множення матриці на вектор — важливо для вбудованих систем з високою частотою.
Що таке сенсорне злиття і як фільтр Калмана його забезпечує?
Сенсорне злиття поєднує показання кількох сенсорів (наприклад, акселерометр + GPS + барометр), щоб отримати оцінки кращі за будь-який окремий сенсор. Фільтр Калмана природно з цим справляється: кожен сенсор надає рівняння вимірювання H з відповідною коваріацією шуму R; послідовні оновлення (або спільний вектор вимірювання) оптимально враховують усі сенсори на кожному кроці. Це основа інерціальних навігаційних систем у літаках і автономних транспортних засобах.
Чи справді фільтр Калмана використовувався в місіях «Аполлон»?
Так. Бортовий комп'ютер «Аполлона» використовував варіант фільтра Калмана для визначення орбіти та наведення при посадці на Місяць. Калман представив алгоритм у 1960 році; Стенлі Шмідт з NASA адаптував його для нелінійної задачі оцінки траєкторії у 1961 році, створивши те, що стало відомим як фільтр Шмідта-Калмана. Це одне з найзначніших застосувань теорії керування в історії.