칼만 필터 기초: 예측과 측정을 섞기
모델로 예측한 값과 센서로 잰 값을 각각의 불확실성에 따라 섞어 더 정확한 추정을 얻습니다. 1차원 예로 원리를 잡습니다.
아이디어
- 예측: 이전 상태와 모델로 지금 값을 짐작합니다. 시간이 지날수록 불확실성이 커집니다.
- 측정: 센서 값을 받습니다. 센서 노이즈만큼 불확실합니다.
- 갱신: 둘 중 덜 불확실한 쪽을 더 믿도록 가중 평균합니다.
1차원 칼만 필터
// 예측
P = P + Q; // Q: 모델(과정) 노이즈
// 갱신
K = P / (P + R); // R: 측정 노이즈
x = x + K * (z - x); // z: 측정값
P = (1 - K) * P;
칼만 이득 K가 0에 가까우면 예측을 믿고, 1에 가까우면 측정을 믿습니다. 노이즈 통계(Q, R)에 따라 K가 자동으로 정해진다는 점이 고정 alpha IIR과의 차이입니다.
튜닝 감각
| 키우면 | 결과 |
|---|---|
| R (측정 노이즈) | 측정을 덜 믿음 → 부드럽지만 느림 |
| Q (모델 노이즈) | 모델을 덜 믿음 → 빠르지만 노이즈 많음 |
실제로 쓰는 곳
밸런싱 로봇의 기울기 추정(자이로로 예측, 가속도계로 보정), GPS와 IMU 융합, 배터리 잔량(SOC) 추정, 센서리스 모터의 속도 추정. 상태가 여러 개면 행렬 버전을, 비선형이면 확장 칼만 필터(EKF)를 씁니다.