1. 칼만 필터 (Kalman Filter)
ㅇ 불확실한 상황에서, 동적시스템의 상태를 추정하는, 효과적인 알고리즘 (이론, 매커니즘)
- 현재 위치를 추정하기 위해, 예측 단계와 갱신 단계를 반복하게 됨
. 모델이 주어지고, 순차적인 상태 예측 및 측정이 가능한 경우에 유용
* 잡음이 많은 센서 데이터로부터 유용한 정보를 추출하여 최적의 추정값을 제공하는 필터
ㅇ 루돌프 칼만 (Rudolf E. Kalman, 1930~2016)
- "A New Approach to Linear Filtering and Prediction Problems" (1960년, ACME 저널)
2. 칼만 필터의 특징
ㅇ 궤환 구조를 갖음
ㅇ 최적화 알고리즘 임
ㅇ 동적 추정기 임
- 상태 방정식을 이용한 동적 추정기 임
ㅇ (편집중)
3. 칼만 필터의 추정 방식
ㅇ 가용 정보로부터 미지량을 추정하게 됨
- 가용 정보 : 불확실하고 근사화된 수학적 모델식, 노이즈 모델식, 측정 데이터
. 수학적 모델식
. 노이즈 모델식
. 측정 데이터 : 측정값에 내재된 오류 정도를 확률적으로 묘사
- 미지량 : 시스템의 상태변수, 파라미터
. 상태변수 : 시시각각 변하는 변수 형태
. 파라미터 : 대체적으로 일정한 상수 형태(변수도 가능)
ㅇ 3가지 추정 방식 모두를 지원하는 수학적 도구를 제공
- Estimation : 과거,현재 데이터를 기반으로 미래 특정 시각의 상태를 추정
- Filtering : 현재 상태의 실시간 추정 (Online)
- Smoothing : 축적된 과거,미래 측정 데이터의 후처리를 통한 추정 (Offline)
4. 칼만 필터의 알고리즘
ㅇ 초기값 선정
ㅇ 추정값과 오차 공분산 예측 (예측 단계)
ㅇ 칼만 이득 계산
ㅇ 추정값 계산
ㅇ 오차 공분산 계산
ㅇ (편집중)
5. [참고사항]
ㅇ 구성 요소
- 시스템 모델 : 시스템의 동작을 수학적으로 모델링한 것
- 측정 모델 : 센서의 측정 오차를 모델링한 것
- 상태 벡터 : 시스템의 상태(위치,속도 등)를 나타내는 벡터
- 측정 벡터 : 센서로부터 얻은 측정값을 나타내는 벡터
- 칼만 이득 : 관측값과 예측값의 상대적인 신뢰도를 나타내는 가중치
. 측정값과 예측값의 신뢰도를 반영하여 두 값을 조합하는 비율
ㅇ 시스템 모델
- 상태 벡터 : 시스템의 상태 변수(위치,속도,온도 등)들의 벡터 ({#x_k#})
- 상태 천이 행렬 : 이전 상태로부터 현재 상태를 예측하는 선형 변환 행렬 ({#T_k#})
. {# x_k = T_kx_{k-1} + w_k #} ({#w_k#} : 과정 잡음/불확실성)
- 관측 벡터 : 실제 측정값을 포함하는 벡터 ({#z_k#})
- 관측 행렬 : 상태 벡터를 관측값으로 변환하는 선형 변환 행렬 ({#H_k#})
. {# z_k = H_kx_{k-1} + v_k #} ({#v_k#} : 측정 잡음)
ㅇ 오차
- 예측 오차 : 현재 상태를 예측할 때 발생하는 오차
- 필터링 오차 : 예측값과 측정값을 융합하여 얻은 최종 추정값과 실제 상태 사이의 오차
- 모델 불일치 오차 : 시스템 모델이 실제 시스템과 완전히 일치하지 않아 발생하는 오차
- 오차 공분산 행렬 : 상태 추정 오차의 불확실성을 나타내는 행렬
. 예측 및 갱신 과정에서 갱신됨
- 잔차 : 관측값과 예측값의 차이로, 보정에 사용됨
ㅇ 필터 동작 단계
- 예측 단계 : 이전 상태를 바탕으로 현재 상태를 예측하는 단계
- 갱신 단계 : 관측값을 사용해 상태를 보정하는 단계
. 실제 측정된 값과 예측 값을 비교하여 예측 값을 수정
* 이 두 단계를 반복하면서 점차 정확한 상태 추정값을 얻을 수 있
ㅇ 필터 동작 목표
- 상태 추정 : 시스템의 현재 상태를 가능한 한 정확하게 추정
- 불확실성 최소화 : 오차 공분산 을 줄이는 방향으로 필터가 작동
- 최적화 : 최소 분산 추정량을 제공
. 가우시안 잡음이 존재할 때, 칼만 필터는 최적의 선형 추정기를 보장