Open Source Robotics

고품질 오픈소스 로봇 프로젝트, 도구 및 소프트웨어의 엄선된 컬렉션.

Complementary Filter

  • 카테고리: State estimation & navigation › Localisation
  • 태그: state-estimation, imu, attitude-estimation, sensor-fusion, filtering

상보적인 잡음을 가진 두 센서를 하나는 저역 통과 필터로, 다른 하나는 고역 통과 필터로 걸러 합치는 단순한 추정기로, 자이로스코프와 가속도계 데이터를 융합해 자세를 얻는 데 흔히 쓰인다.

정의

상보 필터(complementary filter)는 오차가 서로 다른 주파수 대역에 있는 같은 양에 대한 두 측정을 결합한다. 한 센서는 저주파에서 신뢰하여 저역 통과 필터를 통과시키고, 다른 센서는 고주파에서 신뢰하여 고역 통과 필터를 통과시키며, 두 필터는 합이 1이 되도록 골라 참 신호가 바뀌지 않고 통과하게 한다. 고전적인 예는 IMU를 이용한 자세 추정이다. 자이로스코프를 적분하면 매끄럽고 응답이 빠르지만 바이어스 때문에 드리프트하는 각도를 얻고, 가속도계로 계산한 기울기는 노이즈가 많고 진동과 가속에 교란되지만 드리프트하지 않는다. 둘을 섞으면 응답이 빠르면서도 안정적인 롤과 피치를 얻는다.

가장 단순한 이산 형태에서 필터는 각도를 θ ← α(θ + ω·Δt) + (1 − α)·θ_acc로 갱신하며, 1에 가까운 α가 교차 시간 상수를 정한다. 비선형 버전은 큰 각도에서도 유효하도록 회전 행렬이나 쿼터니언에 직접 작용한다. Mahony, Hamel, Pflimlin(2008)의 명시적 상보 필터는 적분 항을 통해 자이로스코프 바이어스도 추정하며, Madgwick 필터는 경사 하강 보정 단계를 사용한다. 중력에는 수직축에 대한 회전 정보가 없으므로 방향각은 가속도계로 보정할 수 없으며, 따라서 요에는 자력계, 비전, 또는 다른 기준이 필요하다.

핵심 가정은 시간 평균으로 볼 때 가속도계가 중력에 대한 반력을 측정한다는 것이다. 가속도계는 실제로는 비력, 즉 몸체의 가속도와 중력의 차이를 측정하므로, 긴 협조 선회처럼 지속적인 가속 중에는 기울기 기준이 편향된다. 비행 중인 멀티로터에서는 수평 가속도계 값이 기울기보다는 주로 로터 항력을 반영하며, 이것이 이 가정이 성립하는 정도를 제한한다. 칼만 필터와 비교하면 상보 필터는 이득이 고정되어 있고, 명시적인 불확실성 모델이 없으며, 계산 비용이 매우 낮다. 그래서 소형 비행 제어기와 취미용 IMU 보드에서 흔히 쓰인다. 정상 잡음을 갖는 선형 문제에서는 정상 상태 칼만 필터가 같은 상보 형태를 띠며, 이득은 잡음 모델로부터 정해진다.

중요한 이유

엔지니어가 처음 구현하는 센서 융합 방법인 경우가 많으며, 연산 자원이 빠듯하거나 단순하고 조정 가능한 자세 추정이면 충분한 곳에서는 여전히 실용적인 선택이다. 그 중력 가정을 이해하면 지속적인 가속 중에 자세 추정이 왜 나빠지는지도 설명된다.

주요 응용

  • 소형 비행 제어기와 IMU 보드에서의 자세 추정
  • 밸런싱 로봇과 역진자 플랫폼
  • 카메라 짐벌과 휴대형 기기의 기울기 감지
  • 고도와 상승률을 위한 기압계와 가속도계 데이터 융합
  • 더 복잡한 필터와 함께 쓰는 예비 자세 추정

실제 사례

두 바퀴 밸런싱 로봇이 마이크로컨트롤러의 빠른 제어 루프 안에서 6축 IMU를 읽는다. 가속도계 축으로부터 atan2로 계산한 피치 각도는 모터가 차체를 홱 움직일 때마다 튀고, 적분한 자이로스코프 각속도는 꾸준히 드리프트한다. 엔지니어는 시동 시 측정한 자이로스코프 바이어스를 빼고, 상보 필터로 둘을 섞는다. 이때 교차 시간 상수는 모터의 급격한 움직임을 무시할 만큼 길고 드리프트를 상쇄할 만큼 짧게 고른다. 같은 아이디어가 연구용 시스템에도 나타난다. 로터 고장 후 비행하는 쿼드로터에 관한 연구에서는 상보 필터가 IMU만으로 피치와 롤을 제공하고, 탑재 비전이 위치와 방향각을 제공한다.

흔한 오해

  • 가속도계는 중력을 측정한다 — 가속도계는 비력을 측정하며, 비력은 몸체가 가속하지 않을 때에만 중력에 대한 반력과 같다
  • 자이로스코프와 가속도계만으로 완전한 3D 방향을 얻을 수 있다 — 요는 중력으로부터 관측할 수 없으며 자력계나 다른 방향 기준이 없으면 드리프트한다
  • 상보 필터는 칼만 필터의 조잡한 대안이다 — 선형 문제에 대한 정상 상태 칼만 필터는 같은 구조를 가진다. 차이는 그 이득이 잡음 모델에서 나온다는 점이다

알아야 할 사람

  • 임베디드 및 비행 제어기 개발자
  • 드론과 밸런싱 로봇을 만드는 취미 제작자
  • 상태 추정 엔지니어
  • 센서 융합을 배우는 로봇공학 학생

관련 기술

  • 칼만 필터(Kalman Filter)
  • Mahony 필터(Mahony Filter)
  • Madgwick 필터(Madgwick Filter)
  • 자세 및 방위 기준 장치(Attitude and Heading Reference System, AHRS)
  • 쿼터니언 적분(Quaternion Integration)

관련 용어

  • IMU
  • Sensor Fusion
  • Extended Kalman Filter
  • Yaw / Pitch / Roll
  • UAV
  • Visual-Inertial Odometry

관련 프로젝트

  • PCL: Industry-standard C++ library for point cloud processing in robotics perception
  • OpenCat: An open-source Arduino and Raspberry Pi-based quadruped robot pet framework
  • FAST-LIVO2: Fast, direct LiDAR-inertial-visual odometry from HKU-MARS, published in IEEE T-RO
  • GTSAM: Factor-graph optimization library powering many modern SLAM backends
  • OpenVINS: The reference open platform for visual-inertial state estimation research
  • manif: Header-only C++ Lie theory library for robotics state estimation

동영상

  • Drone Control and the Complementary Filter: Brian Douglas
  • Complementary Filter Sensor Fusion between Accelerometer and Gyroscope to estimate Pitch and Roll: OtherYATC

이 웹사이트는 JavaScript가 필요합니다. 오픈소스 로봇 프로젝트를 탐색하려면 JavaScript를 활성화하세요.