본문으로 바로가기

HOME / KNOWLEDGE / Motion & Tracking

Motion & Tracking · TECHNICAL GUIDE

Invariant Extended Kalman Filter가 비선형 자세추정에서 일반 EKF보다 안정적인 이유

비선형 자세 추정의 새로운 표준 불변 확장 칼만 필터 이해하기 로봇 공학이나 드론, 자율주행 자동차와 같은 현대 기술에서 자신의 위치와 방향을 정확히 파악하는 것은 가장 핵심적인 과제입니다. 이를 위해 우리는 센서 데이터를 융합하는 필터 알고리즘을 사용하는데, 가장 대표적인 것이 바로 확장 칼만 필터(EKF)입니다. 하지만 시스템이 복잡해지고 비선형성이 강해질수록 기존의 EKF는 종종 불안정한 모습을 보입니다. 이러한...

NALDA FACTORYXR · Motion · Digital Twin
Creative Technology

비선형 자세 추정의 새로운 표준 불변 확장 칼만 필터 이해하기

로봇 공학이나 드론, 자율주행 자동차와 같은 현대 기술에서 자신의 위치와 방향을 정확히 파악하는 것은 가장 핵심적인 과제입니다. 이를 위해 우리는 센서 데이터를 융합하는 필터 알고리즘을 사용하는데, 가장 대표적인 것이 바로 확장 칼만 필터(EKF)입니다. 하지만 시스템이 복잡해지고 비선형성이 강해질수록 기존의 EKF는 종종 불안정한 모습을 보입니다. 이러한 한계를 극복하기 위해 등장한 것이 바로 불변 확장 칼만 필터(Invariant Extended Kalman Filter, IEKF)입니다. 이번 글에서는 IEKF가 왜 기존 EKF보다 더 뛰어난 안정성을 제공하는지, 그리고 왜 이것이 차세대 자세 추정의 표준으로 자리 잡고 있는지 자세히 살펴보겠습니다.

확장 칼만 필터가 가진 태생적 한계

전통적인 확장 칼만 필터(EKF)는 비선형 시스템을 다루기 위해 특정 지점에서 테일러 급수를 이용한 선형화를 수행합니다. 이 방식은 시스템이 평형점 근처에서 작동할 때는 매우 효과적이지만, 자세 추정과 같이 회전 운동이 포함된 시스템에서는 문제가 발생합니다. 회전 행렬은 그 자체로 비선형성이 매우 강하며, 시간이 지남에 따라 오차가 누적되면 선형화된 모델이 실제 물리적 시스템과 괴리되기 시작합니다.

특히 EKF는 상태 추정 오차를 계산할 때 단순히 뺄셈(덧셈) 연산을 사용합니다. 하지만 공간상의 회전은 덧셈 연산으로 정의되지 않습니다. 이로 인해 추정된 오차가 실제 물리적인 회전 공간의 구조를 반영하지 못하게 되고, 결과적으로 필터가 발산하거나 잘못된 자세를 출력하는 현상이 발생합니다. 이것이 바로 우리가 더 정교한 도구를 찾아야 하는 이유입니다.

불변 확장 칼만 필터가 작동하는 원리

IEKF의 핵심 아이디어는 시스템이 가진 기하학적 구조를 필터 설계에 직접 반영하는 것입니다. 이를 위해 리 그룹(Lie Group) 이론이라는 수학적 도구를 활용합니다. 리 그룹은 회전이나 이동과 같은 변환을 수학적으로 우아하게 다룰 수 있는 공간입니다. IEKF는 일반적인 뺄셈 대신 리 그룹상의 연산을 통해 오차를 정의합니다.

이 방식의 가장 큰 장점은 시스템의 상태가 어떻게 변하든 관계없이, 오차 방정식이 상태 값 자체에 의존하지 않게 된다는 점입니다. 이를 ‘불변성(Invariance)’이라고 합니다. 기존 EKF에서는 시스템이 움직일 때마다 선형화 지점이 계속 바뀌어 오차 모델이 매번 변했지만, IEKF에서는 오차 모델이 고정되어 있습니다. 이 덕분에 필터는 훨씬 더 넓은 운용 범위에서 일관된 성능을 유지할 수 있습니다.

IEKF와 EKF의 주요 차이점 비교

구분일반 EKFIEKF
오차 정의산술적 차이(단순 뺄셈)리 그룹 연산(기하학적 구조 반영)
선형화 방식상태에 의존적인 선형화상태와 무관한 불변 오차 모델
안정성빠른 변화 시 발산 위험 높음매우 안정적이며 수렴 범위가 넓음
계산 복잡도상대적으로 낮음약간 높음(리 그룹 연산 필요)

실생활에서 활용되는 분야와 중요성

IEKF는 정밀한 자세 제어가 필수적인 분야에서 그 진가를 발휘합니다. 대표적으로 다음과 같은 사례가 있습니다.

  • 드론 및 무인 항공기: 급격한 기동이나 회전이 빈번한 드론에서 IEKF는 자이로스코프와 가속도계 센서의 데이터를 더욱 신뢰성 있게 융합합니다.
  • 자율주행 자동차: 위성 항법 시스템(GPS)이 차단된 터널이나 도심 환경에서 관성 항법 장치(IMU)만을 이용해 자세를 유지해야 할 때 IEKF의 안정성은 사고 방지에 직결됩니다.
  • 증강 현실(AR) 및 가상 현실(VR): 헤드셋을 착용한 사용자의 고개가 빠르게 움직일 때, 흔들림 없는 화면을 제공하기 위해서는 매우 빠르고 정확한 자세 추정이 필요합니다.
  • 로봇 팔 및 휴머노이드: 복잡한 관절 구조를 가진 로봇이 자신의 위치를 정확히 파악하고 정밀한 작업을 수행할 때 기하학적 일관성을 유지하는 IEKF가 필수적입니다.

IEKF 사용 시 고려해야 할 실용적인 팁

IEKF를 실제 프로젝트에 적용하고자 한다면 단순히 알고리즘을 구현하는 것 이상의 세심한 접근이 필요합니다. 다음은 전문가들이 권장하는 실용적인 조언입니다.

  1. 리 그룹 라이브러리 활용: 리 그룹 수학은 복잡하기 때문에 처음부터 직접 구현하기보다는 ‘Sophus’나 ‘Manif’와 같은 검증된 오픈소스 라이브러리를 사용하는 것을 권장합니다. 이는 개발 시간을 단축하고 구현 오류를 방지합니다.
  2. 센서 노이즈 모델링의 중요성: IEKF가 수학적으로 우수하더라도 입력되는 센서 데이터의 노이즈 공분산(Covariance) 설정이 잘못되면 성능이 저하됩니다. 앨런 분산(Allan Variance) 분석 등을 통해 센서의 특성을 정확히 파악하는 것이 우선입니다.
  3. 초기화 절차의 최적화: 필터는 초기 상태에 민감할 수 있습니다. 정지 상태에서의 정렬(Static Alignment) 과정을 거쳐 초기 자세를 보수적으로 추정하고 필터를 시작하는 것이 안정적입니다.
  4. 계산 효율성 고려: 임베디드 시스템에서 IEKF를 구동할 때는 행렬 연산 최적화가 중요합니다. 불필요한 역행렬 연산을 줄이고 고정 소수점 연산이 가능하다면 이를 활용하는 전략이 필요합니다.

흔한 오해와 사실 관계

많은 개발자가 IEKF에 대해 가지는 가장 큰 오해 중 하나는 “IEKF가 EKF보다 항상 계산량이 많다”는 것입니다. 실제로 리 그룹 연산은 기본적인 덧셈보다 복잡한 것은 사실입니다. 하지만 IEKF는 오차 모델이 불변하기 때문에, 시스템의 상태가 변할 때마다 매번 복잡한 야코비안(Jacobian) 행렬을 계산할 필요가 없습니다. 즉, 특정 상황에서는 오히려 EKF보다 계산 효율이 좋을 수 있다는 것이 전문가들의 중론입니다.

또 다른 오해는 “IEKF는 비선형성을 완벽하게 제거한다”는 점입니다. IEKF 역시 근사치를 이용하는 필터입니다. 다만, 기존 EKF가 ‘선형화 과정에서 발생하는 오차’를 무시하거나 잘못 처리했던 것과 달리, IEKF는 그 오차의 기하학적 구조를 보존함으로써 오류를 최소화하는 것입니다. 즉, 완벽한 해결책이라기보다는 훨씬 더 견고한 도구라고 이해하는 것이 정확합니다.

전문가의 관점에서 본 미래 전망

로봇 공학 분야의 전문가들은 향후 자세 추정 알고리즘이 리 그룹 이론을 기반으로 한 방향으로 완전히 통합될 것으로 보고 있습니다. 단순한 자세 추정을 넘어, 복잡한 다중 센서 융합(Sensor Fusion) 환경에서 IEKF는 기존 필터들이 해결하지 못했던 발산 문제를 해결할 수 있는 강력한 대안입니다. 특히 최근에는 머신러닝과 결합하여 센서의 노이즈를 적응형으로 보정하는 ‘Adaptive IEKF’ 연구가 활발히 진행되고 있습니다.

입문자라면 먼저 기본적인 EKF를 구현해보고, 이후 발생하는 발산 문제를 해결하기 위해 IEKF로 넘어가 보는 단계를 추천합니다. 그 과정에서 왜 기하학적 구조를 보존하는 것이 중요한지 직접 경험해보는 것이 가장 좋은 학습 방법입니다. IEKF는 단순히 수학적인 이론이 아니라, 실제 물리 세계에서 기계가 더 똑똑하고 안정적으로 움직이게 만드는 실질적인 공학적 돌파구입니다.

자주 묻는 질문과 답변

질문: IEKF를 공부하기 위해 어떤 수학 지식이 필요한가요?

답변: 기본적으로 선형대수학은 필수입니다. 여기에 추가로 미분 기하학의 기초가 되는 리 군(Lie Group)과 리 대수(Lie Algebra)의 개념을 이해하면 좋습니다. 처음에는 너무 깊은 이론보다는 회전 행렬의 미분과 지수 사상(Exponential Map) 정도만 이해해도 충분히 시작할 수 있습니다.

질문: 기존 EKF를 IEKF로 바꾸면 성능이 무조건 좋아지나요?

답변: 대부분의 경우 성능 향상이 있지만, 모든 경우에 해당하는 것은 아닙니다. 시스템이 매우 단순하고 비선형성이 낮다면 EKF만으로도 충분합니다. 하지만 로봇의 회전이 크거나 센서 데이터가 불안정한 환경이라면 IEKF로 전환했을 때의 안정성 이득이 매우 큽니다.

질문: IEKF 구현 시 가장 흔한 실수는 무엇인가요?

답변: 가장 흔한 실수는 리 그룹상의 오차를 잘못 정의하거나, 업데이트 단계에서 행렬의 차원을 잘못 맞추는 것입니다. 또한, 회전 행렬을 업데이트할 때 지수 사상을 적절히 적용하지 않고 산술적으로 더해버리는 실수가 많습니다. 라이브러리를 사용하면 이러한 실수를 크게 줄일 수 있습니다.

질문: 비용 효율적으로 IEKF를 활용하는 방법은 무엇인가요?

답변: 하드웨어 성능이 제한적인 환경이라면 무리하게 모든 상태를 리 그룹으로 처리하지 마십시오. 필요한 부분(예: 자세 정보)만 IEKF를 사용하고, 위치나 속도 같은 나머지 상태는 일반적인 칼만 필터 구조로 통합하는 하이브리드 방식을 채택하는 것이 비용 대비 효과가 좋습니다.

IEKF는 현대 로봇 공학의 복잡한 문제를 해결하기 위한 매우 강력한 도구입니다. 비록 학습 곡선이 조금 존재하지만, 일단 익숙해지면 여러분이 만드는 시스템의 안정성과 신뢰성을 한 차원 높여줄 것입니다. 정밀한 제어가 필요한 프로젝트를 진행 중이라면, 지금 바로 IEKF의 세계에 발을 들여보시길 권장합니다.