[칼만 필터는 어렵지 않아] 04 칼만 필터

짜장범벅·2022년 10월 18일

Chapter 04 칼만필터

4.1 칼만 필터 알고리즘

칼만 필터 알고리즘은 아래의 단계로 이루어진다.
0. 초깃값 선정
1. 추정값과 오차 공분산 예측
2. 칼만 이득 계산
3. 추정값 계산

  • 측정값 input
  • 추정값 output
  1. 오차 공분산 계산

칼만 필터는 측정값 zkz_k가 입력되면 내부에서 처리한 다음 추정값 x^k\hat{x}_k를 출력한다. 변수 아래첨자인 kk는 칼만 필터 알고리즘이 반복해서 수행된다는 점을 명시하기 위해 붙여있다.

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

예측 단계

x^k=Ax^k1\hat{x}_k^-=A\hat{x}_{k-1}
Pk=APk1AT+QP_k^-=AP_{k-1}A^T+Q

예측 단계에서는 다음 단계에서 사용되는 두 변수 x^k\hat{x}_k^-PkP_k^-를 계산한다. 위첨자 '-'는 예측값을 의미한다.

칼만 이득 계산

Kk=PkHt(HPkHT+R)1K_k=P_k^-H^t(HP_k^-H^T+R)^{-1}

칼만 이득 KkK_k를 계산한다. 이 단계에서 사용되는 PkP_k^-는 예측 단계에서 계산한 값을 사용한다. 위 수식에서 사용되는 HH, RR은 칼만 필터 알고리즘 밖에서 미리 결정되는 값이다.

추정값 계산

x^k=x^k+Kk(zkHx^k)\hat{x}_k=\hat{x}_k^-+K_k(z_k-H\hat{x}_k^-)

입력된 측정값으로 추정값을 계산한다.

오차 공분산 계산

Pk=PkKkHPkP_k=P_k^--K_kHP_k^-

오차 공분산을 구한다. 오차 공분산은 추정값이 얼마나 정확한지를 알려주는 척도로 사용된다. 보통 오차 공분산을 검토해서 앞서 계산한 추정값을 믿고 쓸지 버릴지를 판단한다.

위 수식에서 시스템 모델과 관련된 네 개의 변수 AA, HH, QQ, RR은 칼만 필터를 구현하기 전에 미리 결정해야 한다. 이 값들은 대상 시스템과 칼만 필터를 사용하는 목적에 따라 설계자가 사전에 확정한다.

위 변수를 제외한 나머지 변수는 설계자가 임의로 변경할 수 없다. 따라서 칼만 필터의 성능이 원하는 만큼 나오지 않을 때, 조정할 수 있는 변수는 시스템 모델과 관련된 네 개의 변수 뿐이다.

칼만 필터를 의미를 기준으로 두 단계로 분류하면 아래와 같다.

예측 과정

수식에서는 직전 추정값인 x^k1\hat{x}_{k-1}과 직전 오차 공분산인 Pk1P_{k-1}이 입력되면 예측값인 x^k\hat{x}_k^-PkP_k를 계산한다. 여기서 사용되는 시스템 모델 변수는 AAQQ가 있다.

추정 과정

추정 과정에서는 추정값인 x^k\hat{x}_k와 오차 공분산인 PkP_k를 계산한다. 이 단계에서는 예측 과정의 예측값과 측정값 zkz_k를 전달받아 사용한다. 여기서 사용되는 시스템 모델 변수는 HHRR이다.

profile
큰일날 사람

0개의 댓글