Зачем рассчитывать якобиан в экф-шлеме
Я знаю, что это очень простой вопрос, но я хочу знать, почему мы вычисляем матрицы Якоби в EKF-SLAM, я так старался понять это, ну, это не так сложно, но я хочу это знать. Мне было интересно, может ли кто-нибудь помочь мне в этом.
1 ответ
Фильтр Калмана работает на линейных системах. Шаги обновляют две части параллельно: состояние x
и ковариации ошибок P
, В линейной системе мы предсказываем следующее x
от Fx
, Оказывается, вы можете вычислить точную ковариацию Fx
как FPF^T
, В нелинейной системе мы можем обновить x
как f(x)
, но как мы обновляем P
? Есть два популярных подхода:
- В EKF мы выбираем линейное приближение
f()
вx
, а затем использовать обычный методFPF^T
, - В UKF мы строим приближение распределения
x
с ковариациейP
, Аппроксимация представляет собой набор точек, называемых сигма-точками. Затем мы распространяем эти состояния через наш реальныйf(sigma_point)
и мы измеряем полученную дисперсию распределения.
Вы обеспокоены EKF (случай 1). Что такое хорошее линейное приближение функции? Если вы увеличиваете масштаб кривой, она начинает выглядеть как прямая линия с наклоном, который является производной от функции в этой точке. Если это звучит странно, посмотрите на серию Тейлора. Многовариантный эквивалент называется якобианом. Таким образом, мы оцениваем якобиан f()
в x
чтобы дать нам F
, Сейчас Fx != f(x)
, но это нормально, пока изменения, которые мы вносим в x
малы (достаточно малы, чтобы наши F
не сильно изменится до и после).
Основная проблема с EKF-приближением состоит в том, что когда мы используем аппроксимацию для обновления распределений после шага измерения, это приводит к получению ковариации P
слишком низко. Он действует как исправление "работает" линейно. Фактическое обновление будет немного отличаться от линейного приближения и будет не таким хорошим. Это небольшое количество чрезмерной уверенности накапливается по мере итерации KF и должно быть компенсировано добавлением некоторого фиктивного шума процесса Q
,