Прив'язування фільтрів Кальмана


9

Моя команда будує робота, щоб самостійно орієнтуватися у зовнішніх умовах. Нещодавно ми отримали новий інтегрований датчик IMU / GPS, який, очевидно, робить деяку розширену фільтрацію Kalman на мікросхемі. Це дає швидкість нахилу, кочення та пронизування, швидкості на північ, схід та вниз, а також широту та довготу.

Однак у нас також є деякі кодери, прикріплені до наших коліс, які забезпечують лінійну та кутову швидкість. Перш ніж ми отримали цей новий датчик IMU / GPS, ми створили власний EKF, щоб оцінити стан за допомогою кодерів та деяких інших датчиків низької вартості. Ми хочемо використовувати фільтр цього нового датчика на мікросхемі, але також включити наші кодери в суміш.

Чи є якась проблема з ланцюжком фільтрів? Я маю на увазі те, що ми використовуємо висновок датчика IMU / GPS на мікросхемі EKF як оновлення до власного EKF так само, як ми використовуємо дані, прочитані з кодерів, як оновлення до нашого EKF. Мені це здається розумним, але мені було цікаво, що зазвичай слід зробити в цьому випадку.


Чи можете ви внести виправлення / кошториси в "чорну скриньку" EKF?
Демієн

@Damien ні, мабуть, немає способу це зробити.
Робз

Відповіді:


4

Ви можете використовувати INS / GPS як оновлення до результатів свого першого EKF. Це насправді не ланцюжок, а просто обумовлення оцінки на основі додаткової інформації з INS / GPS.

Припустимо, у нас є такі функції:

xt+1|t , = EKF_PREDICT ( , , ), для входів у вигляді стану , коваріації та керуючих входів (оцінюється за одометрією) .Pt+1|txtPtutxPut

і

xt+1|t+1 , = EKF_UPDATE ( , , ). Pt+1|t+1xt+1|tPt+1|tx^t+1

Оцінками датчиків є . У нас є такі речі, як:x^t+1

x^t+1gps=f(GPS)

x^t+1map=f(map)

x^t+1ins=f(INS)

і т. д. для всіх інших способів оцінки стану робота. Тож функція EKF_UPDATE для всіх цих сенсорів є досить хорошою.

Ваш цикл буде приблизно таким:

за весь часt

  • Нехай - поточна оцінка одометрії / кінематики пози, а - шум цієї оцінки.utRu

  • xt+1|t , = EKF_PREDICT ( , , , )Pt+1|txtPtutRu

  • для всіх датчиків ,S

    • Нехай - оцінка пози від цього датчика, а - шум від цієї оцінкиx^t+1SRS

    • xt+1|t+1 , = EKF_UPDATE ( , , ). Pt+1|t+1xt+1|tPt+1|tx^t+1,RS

    • кінець-для

  • кінець-для

Деякі застереження:

  • Оскільки ми використовуємо EKF, немає гарантії, що оцінка не залежить від впорядкування оновлень. Тобто, якщо ви робите INS, то GPS, отримана оцінка може бути іншою, ніж якщо ви оновлюєте GPS, то INS. Це в основному не є великою справою, але для фільтра потрібно буде значно більше налаштування.

  • Зауважте, що ваш INS має ухил і дрейф, що може вплинути на вашу довгострокову надійність. GPS може вам тут дуже допомогти . Більшість літератури одночасно оцінює зміщення та дрейф в INS.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.