칼만필터
칼만 필터(Kalman Filter)는 센서 데이터처럼 잡음(노이즈)이 포함된 연속적인 데이터를 통해 실제 상태를 추정하는 알고리즘입니다. 예를 들어, 드론의 위치를 GPS나 자이로스코프 센서로 측정할 때, 실제 위치는 센서의 오차로 인해 정확히 알기 어렵습니다. 이때 칼만 필터를 사용하면 잡음을 포함한 데이터를 정리해 좀 더 정확한 추정을 할 수 있습니다.
칼만 필터는 크게 두 단계를 반복합니다.
- 예측 단계 (Prediction): 현재 상태에서 다음 상태를 예측합니다. 예를 들어, 현재 위치와 속도를 가지고 다음 위치를 예측합니다. 여기서는 모델에 기반하여 예상치를 계산하지만, 이 역시 오차가 존재합니다.
- 갱신 단계 (Update): 센서 데이터를 통해 예측 값을 보정합니다. 현재 상태를 측정하는 데이터(센서 데이터)를 이용해 예측된 값과 실제 측정된 값을 비교하고, 이 둘의 오차를 줄이도록 조정합니다. 이때, 센서의 신뢰도에 따라 예측값과 측정값에 각각 다른 가중치를 부여합니다.
이 과정을 거치며 매 순간 새로운 데이터를 받으면 예측값을 갱신해 나가면서 점점 더 정확한 상태 추정값을 얻게 됩니다.
요약
- 예측 단계: 모델을 통해 예상값 계산.
- 갱신 단계: 센서 데이터를 사용하여 예측값 보정.
칼만 필터는 드론, 로봇, 자율주행차와 같이 연속적이고 불확실한 데이터를 활용해 실제 위치나 속도를 추정하는 데 매우 유용합니다.
여기서 모델이란 시스템이 시간이 지남에 따라 어떻게 변화하는지를 나타내는 수학적 또는 물리적 규칙입니다. 칼만 필터에서 모델은 시스템의 상태(예: 위치와 속도)가 현재 상태에서 다음 상태로 어떻게 전환되는지를 정의합니다.
모델은 보통 다음 두 가지 요소로 구성됩니다.
- 상태 전이 모델 (State Transition Model): 현재 상태에서 다음 상태로 이동하는 방식을 설명합니다. 예를 들어, 위치와 속도가 주어진 상태에서, 일정 시간 후의 위치와 속도를 예측하기 위해 필요한 방정식을 제공합니다. 상태 전이 모델은 시스템의 물리적 특성에 기반하며, 예를 들어 뉴턴의 운동 법칙을 사용해 물체의 속도와 가속도로 위치를 계산할 수 있습니다.
- 측정 모델 (Measurement Model): 실제 측정값(센서 데이터)이 시스템의 실제 상태와 어떻게 연관되는지를 설명합니다. 예를 들어, GPS 센서로 드론의 위치를 측정할 때, 측정 모델은 GPS 신호의 불확실성이나 오차 특성을 고려해 측정값을 보정하도록 합니다.
예시
드론의 위치를 추적한다고 가정하면, 모델은 다음과 같은 수식으로 표현할 수 있습니다.
- **위치 (x, y)**와 속도 (vx, vy) 상태를 가정.
- 시간이 지나면서 위치와 속도는 다음 상태로 예측됩니다:
x_{next} = x_{current} + vx \times \Delta t ]
ynext=ycurrent+vy×Δty_{next} = y_{current} + vy \times \Delta t
이와 같이 현재 상태를 기반으로 다음 상태를 예측할 수 있는 수식을 상태 전이 모델이라 하고, GPS 오차를 반영한 수식을 측정 모델로 설정하여 예상치를 보정합니다.
따라서 모델은 주어진 시스템에서 상태 변화 규칙을 정의한 수식이나 방정식의 집합으로, 예측의 핵심 기반이 됩니다.