Study/칼만필터

[칼만필터] Chap.4 칼만필터(Kalman filter)

고냥정권 2022. 1. 9. 15:13
"칼만필터는 어렵지않아" 개인공부
 
 

Chap.4 칼만필터(Kalman filter)

1960년대에 나온 이론이기때문에 충분히 검증되어있다. 
실무적으로 필요한 내용만을 위한 책이다. 
 
칼만 필터와 lowpass 필터의 개념은 서로 연결되어있다. 

칼만필터 변수

용도 변수
외부입력 \(z_{k}\)
최종출력 \(\hat{x}_{k} \)
시스템모델 \(A, H, Q, R \)
내부계산용 \(\hat{x}_{k}^{-}, P_{k}^{-}, P_{k}, K_{k} \)
사용자는 오직 시스템모델의 4개의 변수만을 조정할 수 있다. 
이 모델 변수를 어떻게 설계하느냐에 따라 성능이 결정된다. 
 
 
 

칼만필터 알고리즘 계산


 


0단계: 초기값 설정
\(\hat {x}_0, P_0 \) 
 
 
1단계: 추정값과 오차 공분산 예측
\(\hat{x}_{k}^{-}=A \hat{x}_{k-1} \)
\(\hat{P}_{k}^{-}=A P_{k-1} A^{T} + Q \)
 
-는 예측값이며 시스템 모델과 관련되어있음.
\(\hat{x}_{k}^{-}, \hat{P}_{k}^{-} \) 를 계산함
 
2단계: 칼만 이득 계산
\(K_k = P_{k}^{-} H^{T}(H P_{k}^{-}H^{T}+ R)^{-1}\)
 
\(H\), \(R\): 칼만필터 알고리즘 밖에서 미리 결정됨
 
 
3단계: 추정값 계산
\(\hat{x}_{k}= \hat{x}_{k}^{-}+ K_{k}(z_{k} - H\hat{x}_{k}^{-}) \)
 
측정값: \(z_{k}\)
추정값: \(\hat{x}_{k} \)
 
입력된 측정값으로 추정값을 계산함.
이 단계의 계산식은 Lowpass필터와 관련있다. 
 
 
4단계: 오차 공분산 계산
\(P_{k}= P_{k}^{-} - K_{k} H P_{k}^{-} \)
 
추정값이 얼마나 정확한지를 알려주는 척도. 
오차 공분산을 검토해서 추정값을 믿고쓸지, 버릴지 판단한다.
 
 
위의 칼만필터 알고리즘을 의미적으로 구분하면 2가지가 된다.
 

예측과정

1단계 해당
입력값: 직전 추정값(\(\hat{x}_{k-1}\))과 오차 공분산(\(P_{k-1}\))
출력값: 예측값(\(\hat{x}_{k}^{-}, P_{k} \))
시스템 모델변수(A, Q) 사용
 

추정과정

2,3,4 단계
입력값: 예측과정에서 얻어진 예측값(\(\hat{x}_{k}^{-}, P_{k}^{-} \)), 측정값(\(z_{k}\))을 사용.
출력값: 추정값(\(\hat{x}_{k}\))과 오차공분산(\(P_{k}\)). 
시스템 모델변수 (H, R) 사용
 

칼만필터 알고리즘의 큰 그림

 
1. 시스템 모델(A, Q)을 기초로 다음 시각에 상태와 오차공분산이 어떤 값이 될지를 예측
\[(\hat{x}_{k}^{-}, P_{k}^{-} )\]
 
2. 측정값과 예측값의 차이를 보정해서 새로운 추정값을 계산.
\[(\hat{x}_{k}, P_{k} )\]
 
3. 1~ 2번 반복
 
반응형