1. 칼만 필터의 기초 용어
ㅇ 상태 : 시스템이 현재 어떤 상태인지 나타내는 값 (위치,속도,자세 등)
ㅇ 관측 : 센서가 직접 측정한 값 (실제 상태에 잡음이 섞여 있을 수 있음)
ㅇ 예측 / 추정 : 상태와 관측을 바탕으로 계산된, 가장 그럴듯한 값
- 예측 : 현재까지의 데이터로 미래 시각의 상태를 예측
- 추정 : 기지의 데이터로 미지의 상태를 통계적으로 추론
ㅇ 불확실성 : 상태 추정값이 실제값과 얼마나 벗어날 수 있는지에 대한 정도를 나타냄
- 공분산 행렬(P)로 수치화되며, 예측,갱신 단계마다 갱신되어 불확실성을 줄여나감
ㅇ 잡음 (Noise) : 외부에서 시스템에 들어오는, 불확실성의 원인
- 사전에 잡음 모델로 정의되며, 설계자가 Q, R 값으로 설정됨
ㅇ 오차 (Error) : 추정값과 실제값의 차이로써, 불확실성의 결과
- 추정 후 사후적으로 정의되며, 필터가 줄이려고 노력하는 대상임
2. 칼만 필터의 작동 원리 : 현재 상태(위치 등)를 동적 추정하기 위함
ㅇ 예측 단계 (Prediction) : 현재 상태와 시스템 모델을 이용해 다음 상태를 예측
ㅇ 갱신 단계 (Update) : 실제 관측값을 반영하여 상태 예측값을 보정
※ 이 과정을 순차적으로 반복 : (즉, 반복적 동적 추정기)
3. 칼만 필터의 내부 모델
ㅇ 시스템 모델 : 시스템의 (운동) 동작을 수학적으로 모델링한 것
ㅇ 측정 모델 : 상태 변수와 센서 관측값 사이의 오차 관계를 모델링
4. 칼만 필터의 기지량과 미지량 : (기지량으로부터 미지량을 추정하게 됨)
ㅇ 기지량 : 불확실하고 근사화된 수학적 모델식, 잡음 모델식, 측정 데이터
- 시스템 모델에 대한 수학적 모델식
- 잡음 모델에 대한 수학적 모델식
- 측정 데이터 : 측정값에 내재된 오류 정도를 확률적으로 묘사
ㅇ 미지량 : 시스템의 상태변수, 파라미터
- 상태 변수 : 시시각각 변하는 상태에 대한 변수 형태 (위치,속도,온도 등)
- 파라미터 : 대체적으로 일정한 상수 형태 (주로, 필터의 입력 파라미터 Q,R)
5. 칼만 필터의 추정 방식
ㅇ Prediction (예측) : 현재까지의 데이터로 미래 시각의 상태를 예측
ㅇ Filtering (필터링) : 현재 상태의 실시간 추정 (Online)
ㅇ Smoothing (스무딩) : 축적된 과거,미래 측정 데이터의 후처리를 통한 추정 (Offline)
※ Estimation (추정) : 기지의 데이터로 미지의 상태를 통계적으로 추론
- (위 예측,필터링,스무딩 모두 포함하는 상위의 개념)
6. 칼만 필터의 오차
ㅇ 초기화 오차 : 초기 상태 추정값 및 공분산을 잘못 설정할 경우 발생하는 오차.
- 대개, 필터가 수렴하면서 자연히 줄어들지만, 초기값이 극단적이면 발산 가능
ㅇ 예측 오차 : 현재 상태를 예측할 때 발생하는 오차
ㅇ 필터링 오차 : 예측값과 측정값을 융합하여 얻은 최종 추정값과 실제 상태 사이의 오차
ㅇ 잔차 : 실제 측정값(관측값)과 예측 측정값의 차이로, 보정에 사용됨
ㅇ 모델 불일치 오차 : 시스템 모델이 실제 시스템과 완전히 일치하지 않아 발생하는 오차
ㅇ 오차 공분산 : 상태 추정 오차의 불확실성 (퍼짐 정도 및 상관성 표현)
ㅇ 오차 공분산 행렬 : 상태 추정 오차의 불확실성을 나타내는 행렬 (예측,갱신 과정에서 갱신됨)
7. 칼만 필터의 갱신 단계
ㅇ 갱신 단계 (Update Step) : 측정값을 반영하여 상태를 보정하는 단계
ㅇ 측정 갱신 (Measurement Update) : 센서 데이터를 이용한 상태 수정
ㅇ 사전 추정값 (Prior Estimate) : 측정값 반영 전, 예측 단계에서 구한 상태 추정값
ㅇ 사후 추정값 (Posterior Estimate) : 측정 반영 후, 보정된 최종 상태 추정값
ㅇ 칼만 이득 (Kalman Gain) : 측정값과 예측값의 신뢰도를 반영하여 두 값을 조합하는 가중치 비율
- 즉, (칼만 이득) = 센서를 얼마나 믿을지 결정하는 가중치
. 새 추정값 = 예측값 + K × (측정값 - 예측값)
- 만일, K → 1 : 센서를 더 신뢰, K → 0 : 예측 모델을 더 신뢰
- 한편, K는 오차 공분산으로 자동 계산됨
ㅇ 혁신 단계 (Innovation/Residual) : 관측값과 예측값 간의 차이 (잔차)
- 이 차이가 클수록 보정에 더 많은 가중치 부여
8. 칼만 필터의 수학적 요소
ㅇ 상태 벡터 ({#x_k#}) : 추정하고 싶은 상태 변수들을 모아 놓은 벡터
ㅇ 상태 천이 행렬 ({#A#} 또는 {#F#}) : 이전 상태가 다음 상태로 어떻게 변하는지 나타냄
ㅇ 관측 행렬 ({#H#}) : 상태 벡터 중 어떤 부분이 측정과 연결되는지 나타냄
ㅇ 입력 벡터 ({#u#}), 입력 행렬 ({#B#} : 외부 제어 입력이 있을 때 이를 반영하는 요소
ㅇ 프로세스 잡음 ({#w#}), 공분산 ({#Q#}) : 시스템 모델 자체의 불확실성을 나타냄
ㅇ 측정 잡음 ({#v#}), 공분산 ({#R#}) : 센서 오차의 크기로써, 불확실성을 나타냄
ㅇ 오차 공분산 행렬 ({#P#}) : 상태 추정 오차의 불확실성을 나타내는 행렬
- 예측 단계 : P_pred = A·P·Aᵀ + Q
- 갱신 단계 : P = (I - K·H)·P_pred
ㅇ 확률 모델 (Probabilistic Model) : 상태와 잡음을 확률적으로 표현하는 모델
9. 칼만 필터의 알고리즘 유형
ㅇ 칼만 필터 (KF) : 선형 시스템 (기본)
ㅇ 확장 칼만 필터 (EKF) : 비선형 → 선형화 (약한 비선형)
ㅇ 무향 칼만 필터 (UKF) : 시그마 포인트 사용 (강한 비선형)
ㅇ 파티클 필터 : 확률 분포 샘플링 (복잡한 환경)
ㅇ 적응형 칼만 필터 (Adaptive Kalman Filter) : 잡음 특성을 실시간 조정하는 필터
ㅇ 칼만 스무더 (Kalman Smoother, RTS Smoother) : 전체 데이터를 후처리해 과거 상태를 재추정