본문 바로가기
필터

칼만 필터 기초 - 칼만 필터

by mokhwasomssi 2021. 8. 15.
 

칼만 필터는 어렵지 않아

이 책은 칼만 필터 자체가 어려운 것이 아니라 설명하는 방식이 불친절해 배우기 어려웠다는 문제의식에서 출발합니다. 그래서 수학적인 유도와 증명을 앞세우는 대신 칼만 필터의 핵심 알고리

book.naver.com


 

칼만 필터는 이미 오랜 세월에 걸쳐 검증된 기법이다. 

 

칼만 필터 적용 시에 생기는 문제의 대부분은 시스템 모델이 원인이고 알고리즘 자체가 원인인 경우는 별로 없다. 

따라서 유도 과정을 몰라도 써먹는 데는 지장이 없다. 

 


1. 칼만 필터 알고리즘

입력과 출력이 하나씩인 아주 간단한 구조이다. 

측정값(\(z_k\))이 입력되면 내부에서 처리한 다음, 추정값(\(\widehat{x}_k\))을 출력한다. 

 

첨차 k는 칼만 필터 알고리즘이 반복해서 수행된다는 점을 명시하기 위해 붙였을 뿐, 그 이상의 의미는 없다. 


2. 칼만 필터 알고리즘의 계산 과정

1단계 : 추정값과 오차 공분산 예측

추정값의 예측값(\(\widehat{x}_k^-\))과 오차 공분산의 예측값(\(P_k^-\))을 계산한다.

예측 단계의 계산식은 시스템 모델과 밀접하게 관련되어 있다. 

2단계 : 칼만 이득 계산

칼만 이득(\(K_k\))을 계산한다. 오차 공분산의 예측값(\(P_k^-\))이 계산에 들어간다.

H, R은 시스템 모델과 관련된 변수이다. 

3단계 : 입력된 측정값으로 추정값 계산

이 단계의 계산식은 저주파 통과 필터와 관련이 있다. 

추정값의 예측값(\(\widehat{x}_k^-\))이 계산에 들어간다. 

4단계 : 오차 공분산 계산

오차 공분산은 추정값이 얼마나 정확한지를 알려주는 척도로 사용된다. 

+ 알고리즘에 등장하는 변수

시스템 모델 변수는 설계자가 사전에 확정하는 값이고

나머지 변수들은 설계자가 임의로 변경할 수 없다. 측정되거나 알고리즘에서 계산하는 값들이다. 

변수 용도 변수
외부 입력 \(z_k\)(측정값)
최종 출력 \(\widehat{x}_k\)(추정값)
시스템 모델 A, H, Q, R
내부 계산용 \(\widehat{x}_k^-\), \(P_k^-\), \(P_k\), \(K_k\)

의미를 기준으로 : 예측과정, 추정과정

예측과정

  • 칼만 필터 알고리즘의 1단계
  • 직전 추정값(\(\widehat{x}_{k-1}\)), 직전 오차 공분산(\(P_{k-1}\)) → 예측값(\(\widehat{x}_k^-\), \(P_k^-\))
  • 시스템 모델 변수 A, Q 사용.

추정 과정

  • 칼만 필터 알고리즘의 2, 3, 4단계
  • 예측 과정의 예측값(\(\widehat{x}_k^-\), \(P_k^-\)), 측정값(\(z_k\)) → 추정값(\(\widehat{x}_k\)), 오차 공분산(\(P_k\))
  • 시스템 모델 변수 H, R 사용.

 


3. 정리

1. 시스템 모델(A, Q)를 기초로 다음 시각에 상태와 오차 공분산이 어떤 값이 될지 예측.

$$ \widehat{x}_k^-, P_k^- $$

2. 측정값과 예측값의 차이를 보정해서 새로운 추정값을 계산. 이 추정값이 칼만 필터의 최종 결과물.

$$ \widehat{x}_k, P_k $$

3. 위의 두 과정을 반복.