EKF의 경우 state 자체를 구하는 것이 목적이고, ESKF의 경우 이전 state와 predict state의 Error term state를 0으로 만드는 것이 목적이다!
오차 상태 칼만 필터(Error State Kalman Filter, ES-EKF)는 명목 상태(예측 상태)와 실제 상태 간의 오차 상태를 추정하는 방식으로 동작합니다. 오차 상태를 추정하는 이유는 비선형 시스템에서 명목 상태와 실제 상태 간의 차이가 상대적으로 작다고 가정할 수 있을 때, 이 오차 상태를 선형 근사화하여 보다 정확하고 안정적인 상태 추정을 수행할 수 있기 때문입니다.
오차 상태 추정의 이유
-
오차 상태의 선형화:
- ES-EKF에서는 실제 상태 (x)를 명목 상태 (x^)와 오차 상태 (δx)의 합으로 나타냅니다:
[x=x^+δx]
- 여기서 ( \delta x )는 명목 상태와 실제 상태 간의 차이로, 보통 작은 값이라고 가정합니다. 이러한 가정은 오차 상태가 작을 때 비선형 시스템을 선형 근사화하는 데 도움이 됩니다.
-
공분산 행렬과 오차 상태:
- 공분산 행렬 (P)는 오차 상태 (δx)의 불확실성을 나타냅니다. EKF에서는 공분산 행렬이 오차 상태의 분포를 설명하며, 이는 상태 추정의 불확실성을 정량화하는 데 사용됩니다.
- ES-EKF는 예측 단계와 업데이트 단계에서 공분산 행렬을 예측하고 업데이트합니다. 이 과정에서 시스템 모델의 자코비안(편미분)이 사용되며, 이는 오차 상태의 변화에 대한 선형 근사를 제공합니다.
-
선형화의 안정성:
- 오차 상태를 기반으로 한 선형화는 명목 상태 주변의 작은 오차만을 고려하기 때문에, 비선형 시스템에서도 선형 근사의 정확성을 유지할 수 있습니다. 이는 특히 시스템 모델의 비선형성이 크지 않거나 오차 상태가 작은 경우에 유리합니다.
오차 상태 추정과 공분산 행렬의 관계
-
예측 단계:
[δxk+1∣k=Fkδxk∣k+Gkwk]
여기서 ( F_k )는 상태 전이 행렬의 자코비안, (Gk)는 잡음 입력에 대한 자코비안입니다.
-
오차 공분산 예측:
[Pk+1∣k=FkPk∣kFkT+GkQkGkT]
-
업데이트 단계:
[δx^k+1∣k+1=Kk+1yk+1]
[Pk+1∣k+1=(I−Kk+1Hk+1)Pk+1∣k]
공분산 행렬 ( P )는 오차 상태 ( \delta x )의 불확실성을 나타내며, 시스템 모델과 관측 모델의 자코비안을 통해 이 오차 상태의 변화를 설명합니다. 이러한 자코비안은 오차 상태의 작은 변화를 근사화하여, 필터가 시스템의 비선형성에 대처할 수 있게 합니다.
따라서, ES-EKF는 공분산 행렬과 자코비안을 사용하여 오차 상태를 추정하고, 이를 통해 명목 상태를 보정하는 방식으로 작동합니다. 이 과정은 비선형 시스템에서도 상태 추정을 안정적이고 정확하게 만들 수 있습니다.