자율주행

🔄 Day 23: 확장 칼만필터(EKF) 원리

Tech Knowledge Note 2025. 9. 19. 21:00
반응형

안녕하세요! ✨
앞서 Day 22에서는 Python으로 1D 칼만필터 구현을 해봤습니다.
오늘은 그 한계를 넘어, 비선형 시스템에서도 활용 가능한 확장 칼만필터(EKF: Extended Kalman Filter) 를 소개합니다.

확장 칼만필터(EKF) 원리


🔍 왜 EKF가 필요한가?

  • 기본 칼만필터(KF)는 선형 시스템에서만 최적의 성능을 발휘합니다.
  • 하지만 실제 자율주행 환경은 대부분 비선형 시스템입니다.
    • 차량의 이동 (x, y 좌표 변환)
    • GPS 좌표 → 차량 위치 변환
    • 레이더 측정(거리, 각도) → 차량 속도 추정

👉 이런 상황에서는 EKF(Extended Kalman Filter) 가 필요합니다.


⚙️ EKF 기본 아이디어

  • KF 수식에서 선형 행렬(A, H) 대신, 비선형 함수 f(·), h(·) 를 사용합니다.
  • 예측과 업데이트 과정에서 Jacobian(야코비안 행렬) 으로 선형 근사를 합니다.

🧮 EKF 단계별 수식

1. 예측 단계 (Prediction)

r
 
x(k|k-1) = f( x(k-1), u(k) )
P(k|k-1) = F(k-1) · P(k-1) · F(k-1)^T + Q
 
  • f(·) : 비선형 상태 전이 함수
  • F(k-1) : f(·)의 Jacobian (x에 대해 선형화)

2. 업데이트 단계 (Update)

mathematica
 
K(k) = P(k|k-1) · H(k)^T · ( H(k) · P(k|k-1) · H(k)^T + R )^-1
x(k) = x(k|k-1) + K(k) · ( z(k) - h(x(k|k-1)) )
P(k) = ( I - K(k) · H(k) ) · P(k|k-1)
  • h(·) : 비선형 관측 함수
  • H(k) : h(·)의 Jacobian (x에 대해 선형화)

🚘 자율주행에서 EKF 활용 사례

  1. GPS + IMU 융합
    • GPS는 저주파(위치) 정보, IMU는 고주파(가속도) 정보 → EKF로 융합
  2. Radar Tracking
    • 레이더가 극좌표(거리, 각도)를 제공 → 이를 직교좌표(x, y)로 변환 시 EKF 필요
  3. SLAM (Simultaneous Localization and Mapping)
    • 로봇·차량이 동시에 위치 추정 + 지도 작성

📊 EKF의 한계

  • 선형 근사(Jacobian) 때문에 큰 비선형에서는 오차 발생
  • 연산량이 많아 실시간 적용 시 최적화 필요
  • 이를 개선한 UKF(Unscented Kalman Filter) 도 존재

📌 정리

  • EKF는 비선형 시스템에서 칼만필터를 확장한 기법
  • 핵심: f(·), h(·) 같은 비선형 모델을 Jacobian으로 선형 근사
  • 자율주행에서 GPS+IMU 융합, 레이더 추적, SLAM에 활용
반응형

🚀 다음 글 예고

다음 글에서는 [Day 24: EKF로 비선형 상태 추정 실습] 을 다룹니다.
실제 Python 코드와 ROS2 환경에서 EKF를 적용해 비선형 시스템 추정을 실습해보겠습니다.


✅ 오늘 글이 도움이 되셨다면 좋아요와 공유 부탁드립니다.


반응형