선형성 가정
칼만 필터는 시스템이 선형적이라는 가정하에 설계되었다. 즉, 시스템의 상태 변화는 선형 동역학 방정식으로 표현되며, 관측 모델 역시 선형적 관계를 가정한다. 이를 수식으로 표현하면 다음과 같다:
여기서, \mathbf{F}_k는 상태 전이 행렬(state transition matrix), \mathbf{B}_k는 제어 입력 행렬(control input matrix), \mathbf{H}_k는 관측 행렬(observation matrix)이다. \mathbf{w}_k와 \mathbf{v}_k는 각각 시스템 노이즈와 관측 노이즈를 나타낸다.
선형성 가정은 현실 세계의 많은 시스템에 대해 근사적으로만 성립할 수 있다. 예를 들어, 대부분의 물리적 시스템은 본질적으로 비선형적이다. 선형 모델로 근사화하면 시스템의 동작이 충분히 설명되지 않거나, 필터 성능이 저하될 수 있다. 이는 칼만 필터의 주된 한계 중 하나로, 선형화 과정에서 발생하는 오차는 필터링 결과에 직접적인 영향을 미칠 수 있다.
가우시안 분포 가정
칼만 필터는 상태 변수와 관측 노이즈가 모두 가우시안 분포를 따른다고 가정한다. 즉, 시스템의 상태 \mathbf{x}_k와 관측치 \mathbf{z}_k가 모두 정규 분포로 모델링된다:
여기서 \hat{\mathbf{x}}_k와 \mathbf{P}_k는 상태 변수의 추정치와 그 공분산 행렬, \hat{\mathbf{z}}_k와 \mathbf{R}_k는 관측치의 추정치와 그 공분산 행렬이다.
이 가정이 중요한 이유는 칼만 필터가 가우시안 분포의 특성을 활용해 상태 추정 문제를 해결하기 때문이다. 그러나 실제 응용에서 모든 노이즈가 가우시안 분포를 따르는 것은 아니다. 예를 들어, 센서 고장이나 극단적인 외부 요인은 비정규 분포를 초래할 수 있다. 이러한 경우, 가우시안 가정이 성립하지 않아 필터의 성능이 크게 저하될 수 있다.
노이즈 백색성(White Noise) 가정
칼만 필터는 시스템 노이즈 \mathbf{w}_k와 관측 노이즈 \mathbf{v}_k가 서로 독립적이며, 시간에 대해 상관성이 없는 백색 가우시안 노이즈(white Gaussian noise)라고 가정한다. 이를 수식으로 표현하면:
여기서 \mathbf{Q}_k와 \mathbf{R}_k는 각각 시스템 노이즈와 관측 노이즈의 공분산 행렬이다.
이 가정은 노이즈가 시간에 따라 상관성을 가지는 경우, 즉, 노이즈가 유색 노이즈(colored noise)일 경우 적합하지 않는다. 현실에서는 시간적으로 상관된 노이즈가 자주 발생하며, 이러한 노이즈를 제대로 모델링하지 않으면 필터의 정확성이 떨어질 수 있다.
모델의 정확성 가정
칼만 필터는 시스템 모델과 노이즈 특성이 정확히 알려져 있다는 가정하에 설계된다. 즉, 상태 전이 행렬 \mathbf{F}_k, 관측 행렬 \mathbf{H}_k, 노이즈 공분산 행렬 \mathbf{Q}_k와 \mathbf{R}_k 등이 정확하게 주어져야 한다. 그러나 실제 상황에서는 이러한 매개변수들이 불확실하거나 시간에 따라 변화할 수 있다.
모델 불확실성이나 매개변수 추정의 부정확성은 필터의 성능에 치명적인 영향을 미칠 수 있다. 특히, 시스템 모델이 변화하거나 노이즈 특성이 시간에 따라 변동하는 경우, 칼만 필터의 상태 추정치는 신뢰할 수 없는 결과를 초래할 수 있다.
모델링 오차의 영향
칼만 필터는 시스템의 상태를 추정하기 위해 모델 기반 접근 방식을 사용한다. 이 과정에서 시스템의 동적 모델이 정확하게 정의되어 있어야 하지만, 현실에서는 항상 이상적인 모델을 얻기 어렵다. 모델링 오차는 칼만 필터의 성능에 큰 영향을 미칠 수 있다.
모델링 오차의 종류
모델링 오차는 여러 가지 형태로 나타날 수 있다. 주요 오차 유형은 다음과 같다.
-
구조적 오차: 시스템의 물리적 동작을 설명하는 모델이 실제 시스템을 충분히 반영하지 못할 때 발생한다. 예를 들어, 선형 시스템으로 가정한 모델이 실제로는 비선형적일 수 있다.
-
파라미터 오차: 모델의 파라미터가 정확하게 추정되지 않거나 시간이 지남에 따라 변할 때 발생한다. 예를 들어, 마찰 계수, 질량 등의 물리적 파라미터가 변화하는 경우가 있다.
-
외란 오차: 시스템에 외부에서 가해지는 예상치 못한 외란이 존재할 때 발생한다. 이러한 외란은 모델링 과정에서 포함되지 않을 수 있으며, 그 결과 필터의 추정이 부정확해질 수 있다.
모델링 오차가 필터에 미치는 영향
모델링 오차는 칼만 필터의 성능을 저하시킬 수 있다. 특히 다음과 같은 방식으로 영향을 미친다.
-
추정 편향: 시스템 모델이 잘못되면 필터의 추정치가 지속적으로 편향될 수 있다. 이는 필터가 상태를 잘못 추정하게 만들며, 장기적으로는 시스템의 안정성에 문제가 발생할 수 있다.
-
추정 오차의 증가: 모델링 오차는 추정 오차 공분산 행렬 \mathbf{P}_k의 증가로 이어질 수 있다. 이는 필터가 점점 더 큰 불확실성을 가지게 만들며, 결국 필터가 더 이상 신뢰할 수 없는 상태로 변할 수 있다.
-
필터 발산: 심각한 모델링 오차는 필터의 발산으로 이어질 수 있다. 이 경우 필터는 상태 추정을 전혀 하지 못하고, 무의미한 결과를 도출하게 된다.
모델링 오차에 대한 대응 방안
모델링 오차를 효과적으로 다루기 위해서는 다양한 접근 방법이 필요하다.
-
모델 갱신 및 학습: 시스템의 동적 모델을 지속적으로 갱신하거나 학습하는 방법이 있다. 이를 통해 필터가 점진적으로 모델링 오차를 줄이고 보다 정확한 추정을 수행할 수 있다.
-
적응형 필터: 모델링 오차에 대응하기 위해 적응형 필터를 사용할 수 있다. 적응형 칼만 필터는 실시간으로 모델 파라미터를 조정하여, 모델링 오차를 최소화하려는 접근 방식이다.
-
다중 모델 접근법: 하나의 모델로 모든 시스템의 동작을 설명하는 것이 어렵다면, 여러 개의 모델을 동시에 사용하여 시스템을 추정할 수 있다. 이는 모델링 오차를 분산시키고, 필터의 성능을 개선하는 데 도움이 된다.
오차 감지 및 교정
칼만 필터가 잘못된 상태 추정을 하고 있는지 모니터링하는 것이 중요하다. 이를 위해 오차 감지 기법을 사용할 수 있으며, 필터의 성능이 떨어질 때 경고를 발생시켜 교정할 수 있다.
-
잔차 분석: 잔차(residual)란 예측된 관측값과 실제 관측값의 차이이다. 잔차가 일정한 임계값을 초과하면, 필터가 모델링 오차로 인해 잘못된 추정을 하고 있다는 신호로 볼 수 있다.
-
필터 리셋: 잔차 분석을 통해 필터의 성능이 저하되었음을 감지하면, 필터를 재초기화(reset)하거나 리셋 시점을 정하여 필터의 상태를 교정할 수 있다. 이 방법은 필터가 심각한 오차로 인해 발산하기 전에 추정을 다시 안정화시킬 수 있다.
비가우시안 잡음의 처리 한계
칼만 필터는 관측 잡음과 시스템 노이즈이 모두 가우시안 분포를 따르는 것으로 가정한다. 그러나 실제 환경에서는 잡음이 가우시안 분포를 따르지 않는 경우가 많으며, 이를 비가우시안 잡음이라고 한다.
비가우시안 잡음의 발생 원인
- 센서 오작동: 센서가 일시적으로 오작동하거나 과도한 노이즈가 발생하는 경우 비가우시안 잡음이 나타날 수 있다.
- 환경적 요인: 측정 환경이 매우 복잡하거나, 불규칙적인 간섭이 발생할 때 비가우시안 잡음이 나타날 수 있다.
비가우시안 잡음이 존재하는 상황에서 칼만 필터는 필연적으로 성능이 저하되며, 잘못된 상태 추정을 할 가능성이 높아진다. 가우시안 분포를 가정한 칼만 필터는 이 경우 필터링 오류를 누적하게 되며, 추정의 불확실성이 크게 증가할 수 있다.
비가우시안 잡음에 대한 대응 방안
-
로버스트 칼만 필터: 로버스트 필터링 기법은 칼만 필터의 추정을 비가우시안 잡음에 대해 더 견고하게 만든다. 이는 주로 잡음의 분포에 대한 가정을 완화하거나, 비선형 필터링 기법을 추가하는 방식으로 이루어진다.
-
비선형 필터링 기법: 입자 필터(Particle Filter)나 다른 비선형 필터는 비가우시안 잡음을 다룰 수 있는 대안적인 방법이다. 이 필터들은 다양한 잡음 분포를 효과적으로 처리할 수 있으며, 칼만 필터보다 더 나은 성능을 보일 수 있다.
모델링의 유연성
모델링의 유연성을 높이는 것은 비가우시안 잡음에 대한 하나의 대응 방안이다. 예를 들어, 상태 공간 모델에 대해 가우시안 혼합 모델(Gaussian Mixture Model)을 사용하는 것이 하나의 방법이 될 수 있다. 이는 다양한 분포의 잡음을 효과적으로 처리할 수 있도록 도와준다.
칼만 필터의 기본 가정과 그 한계
선형성 가정
칼만 필터는 시스템이 선형적으로 동작한다는 가정을 기반으로 설계되었다. 이는 시스템의 상태 변환 및 관측 모델이 선형 행렬 방정식으로 표현될 수 있다는 의미이다. 일반적으로, 시스템의 상태 \mathbf{x}_k는 다음과 같이 표현된다:
여기서 \mathbf{A}_k는 상태 전이 행렬, \mathbf{B}_k는 입력 행렬, \mathbf{u}_k는 외부 입력, \mathbf{w}_k는 시스템 노이즈을 의미한다. 이와 같은 선형 표현은 필터의 계산을 단순화하며, 선형대수와 확률 이론을 기반으로 필터를 최적화할 수 있게 한다.
그러나 실제 많은 시스템은 비선형적 특성을 지니고 있으며, 이러한 비선형성을 고려하지 않으면 칼만 필터의 성능이 크게 저하될 수 있다. 비선형 시스템에서는 확장 칼만 필터(Extended Kalman Filter)나 비선형 필터링 기법을 사용해야 하지만, 이 책에서는 이러한 주제를 다루지 않는다.
잡음의 가우시안 분포 가정
칼만 필터는 시스템 노이즈 \mathbf{w}_k와 관측 잡음 \mathbf{v}_k가 모두 가우시안 분포를 따른다고 가정한다. 각각의 잡음은 평균이 0인 가우시안 분포로 모델링되며, 다음과 같이 표현된다:
여기서 \mathbf{Q}_k는 시스템 노이즈 공분산 행렬, \mathbf{R}_k는 측정 잡음 공분산 행렬이다. 이 가정은 필터가 상태와 측정값의 확률 분포를 정확하게 예측할 수 있도록 하며, 필터링 과정에서 가우시안 확률 밀도 함수를 효과적으로 활용할 수 있게 한다.
그러나 실제 시스템에서는 잡음이 가우시안 분포를 따르지 않는 경우가 많다. 예를 들어, 비정상적인 외란이나 시스템의 복잡한 동적 특성으로 인해 비가우시안 잡음이 발생할 수 있다. 이러한 경우, 칼만 필터의 가정이 맞지 않게 되며, 필터의 추정 성능이 저하될 수 있다. 비가우시안 잡음을 처리하기 위해서는 다양한 비선형 필터링 기법이 필요하지만, 이 역시 이 책의 범위 밖이다.
시간 불변성 가정
기본 칼만 필터는 시간 불변 시스템, 즉 상태 전이 행렬 \mathbf{A}_k와 관측 행렬 \mathbf{H}_k가 시간에 따라 변하지 않는다고 가정한다. 이 가정 하에서는 시스템이 시간이 지남에 따라 동일한 방식으로 동작하며, 필터 설계가 단순해진다. 시간 불변성 가정은 다음과 같은 형태로 표현된다:
하지만 실제 응용에서는 시스템이 시간에 따라 변화할 수 있다. 예를 들어, 계절적 변화가 있는 경제 시스템이나 환경이 변화하는 로봇 제어 시스템에서는 상태 전이 행렬과 관측 행렬이 시간에 따라 변동할 수 있다. 이러한 시스템에서는 칼만 필터가 잘 동작하지 않으며, 필터의 추정 오차가 누적될 수 있다. 이러한 문제를 해결하기 위해 시간 가변 시스템에 적응할 수 있는 방법론이 필요하다.
초기 조건 가정
칼만 필터는 초기 상태 \mathbf{x}_0와 초기 오차 공분산 \mathbf{P}_0가 주어졌다고 가정한다. 초기 조건의 설정은 필터 성능에 중요한 영향을 미치며, 특히 초기 단계에서 필터의 추정치가 정확하지 않을 수 있다. 필터의 수렴 속도와 안정성은 이 초기 조건에 크게 의존한다.
초기 상태를 잘못 설정하거나 초기 오차 공분산이 부정확하면, 필터의 추정치가 불안정해질 수 있다. 따라서 초기 조건을 어떻게 설정하는지가 필터 설계에서 중요한 고려사항이 된다. 그러나 초기 조건에 대한 정보가 부족하거나 불확실한 경우, 이를 보완할 수 있는 방법이 필요하다.
상태 초기화의 민감도
칼만 필터의 성능은 초기 상태와 초기 오차 공분산 행렬 \mathbf{P}_0의 설정에 크게 의존한다. 초기화가 잘못되면 필터의 추정이 부정확하거나 발산할 수 있다.
초기 상태 추정의 중요성
칼만 필터는 초기 상태 \mathbf{x}_0를 기준으로 상태 추정을 시작한다. 이 초기 상태가 실제 상태와 크게 다를 경우, 필터는 초기 몇 단계 동안 잘못된 추정을 할 가능성이 높다. 특히, 필터가 빠르게 수렴하지 않는 경우, 이러한 초기 오차는 필터의 전체 성능에 부정적인 영향을 줄 수 있다.
-
이전 정보의 사용: 이전 데이터나 도메인 지식을 이용해 초기 상태를 추정하는 것이 중요하다. 예를 들어, 시스템이 정지 상태에서 시작한다는 가정 하에 초기 속도를 0으로 설정할 수 있다.
-
신뢰할 수 있는 초기 관측치: 초기 관측 데이터를 이용해 상태를 추정하는 방법도 유용하다. 이 경우 관측치의 노이즈를 고려하여 초기 상태를 설정해야 한다.
초기 오차 공분산 행렬 설정
\mathbf{P}_0는 초기 상태 추정의 불확실성을 나타낸다. 이 행렬의 설정은 필터의 초기 추정과 수렴 속도에 영향을 미친다.
-
낮은 신뢰도의 초기 상태: 만약 초기 상태에 대한 신뢰도가 낮다면, \mathbf{P}_0를 크게 설정해야 한다. 이는 필터가 초기 상태보다 측정 데이터에 더 의존하도록 유도한다.
-
높은 신뢰도의 초기 상태: 반대로, 초기 상태에 대한 신뢰도가 높다면, \mathbf{P}_0를 작게 설정할 수 있다. 이 경우 필터는 초기 상태를 유지하면서 점진적으로 새로운 관측치를 반영한다.
초기화에 대한 필터의 민감도
초기화의 민감도는 필터가 초기화 설정에 얼마나 의존하는지를 나타낸다. 초기화에 매우 민감한 필터는 초기 설정이 잘못될 경우 심각한 성능 저하를 겪을 수 있다. 따라서, 초기화에 대한 민감도를 줄이기 위한 여러 방법이 연구되었다.
-
무작위 초기화와 반복적 수렴: 무작위로 여러 개의 초기 상태를 설정한 뒤, 필터를 각각의 초기 상태에 대해 실행하여 평균적인 성능을 평가하는 방법이 있다. 이를 통해 초기화에 대한 민감도를 평가하고, 가장 적합한 초기 상태를 찾을 수 있다.
-
어댑티브 초기화 기법: 초기 단계에서 필터의 수렴 속도를 높이기 위해 어댑티브 초기화 기법을 사용할 수 있다. 이는 필터가 초기 몇 단계 동안 더 빠르게 상태를 추정할 수 있도록 도와준다.
초기화 오차의 실시간 교정
실제 응용에서 초기화가 잘못되었다는 것이 실시간으로 감지되면, 이를 교정하는 방법이 필요하다. 초기화 교정 기법은 필터가 초기화 오차를 극복하고 올바르게 작동하도록 돕는다.
-
재초기화: 필터가 비정상적으로 동작하는 경우, 초기 상태를 재평가하여 재초기화할 수 있다. 이는 필터가 발산하는 것을 방지할 수 있는 효과적인 방법이다.
-
다중 필터 접근법: 여러 개의 필터를 병렬로 실행하고, 그 중에서 가장 성능이 좋은 필터를 선택하는 방법도 있다. 이를 통해 초기화 오류로 인한 리스크를 분산할 수 있다.