10.67 쿼터니언의 IMU 센서 융합 응용
1. IMU 센서 융합의 개요
IMU(Inertial Measurement Unit)는 자이로스코프, 가속도계, 자력계를 포함하는 복합 센서이다. 각 센서는 고유의 장점과 한계를 가지므로, 이들을 융합하여 정확하고 안정적인 자세 추정을 얻는다. 쿼터니언은 이러한 센서 융합의 표준 자세 표현이다.
본 절에서는 IMU 센서 융합의 원리와 쿼터니언 기반 알고리즘을 다룬다.
2. IMU 센서의 구성
2.1 자이로스코프
3축 각속도를 측정한다.
- 장점: 짧은 시간의 정확한 각속도
- 단점: 편향 드리프트, 장기간의 오차 누적
- 잡음: 백색 잡음 + 랜덤 워크
2.2 가속도계
3축 선형 가속도(중력 + 본체 가속도)를 측정한다.
- 장점: 정지 상태에서 중력의 정확한 측정 (롤과 피치 참조)
- 단점: 본체 가속도와 중력의 구분이 어려움
- 잡음: 백색 잡음 + 편향
2.3 자력계
3축 자기장을 측정한다.
- 장점: 지자기의 방향 참조 (요 참조)
- 단점: 자기 간섭에 취약, 편향
- 잡음: 백색 잡음 + 주변 자기 간섭
3. 센서 융합의 원리
각 센서의 장점을 활용하고 단점을 보완하는 것이 센서 융합의 목표이다.
3.1 자이로스코프의 드리프트 보정
자이로스코프만으로는 장시간 자세가 드리프트한다. 가속도계의 중력 참조와 자력계의 지자기 참조로 드리프트를 보정한다.
3.2 가속도계의 동적 처리
본체가 가속하는 동안 가속도계는 단순히 중력만 측정하지 않는다. 자이로스코프와 결합하여 동적 상황에서도 정확한 자세를 얻을 수 있다.
3.3 자력계의 간섭 처리
자력계는 자기 간섭에 취약하다. 가속도계와 자이로스코프로 간섭을 감지하고 보정한다.
4. 상보적 필터
상보적 필터(complementary filter)는 단순하고 효율적인 센서 융합 기법이다.
4.1 원리
자이로스코프는 고주파수에서 신뢰할 수 있고, 가속도계와 자력계는 저주파수에서 신뢰할 수 있다. 두 소스를 주파수 영역에서 결합한다.
\hat{\mathbf{q}} = \alpha\mathbf{q}_{\text{gyro}} + (1 - \alpha)\mathbf{q}_{\text{accmag}}
여기서 \alpha는 가중치이다. \alpha가 1에 가까우면 자이로스코프 의존도가 높고, 0에 가까우면 가속도계/자력계 의존도가 높다.
4.2 단순 쿼터니언 상보 필터
def complementary_filter(q_prev, omega, accel, mag, dt, alpha):
# 자이로스코프 기반 예측
dq = quaternion_from_angular_velocity(omega, dt)
q_gyro = q_prev * dq
# 가속도계/자력계 기반 측정
q_acc_mag = compute_from_accel_mag(accel, mag)
# SLERP 블렌딩
q_new = slerp(q_acc_mag, q_gyro, alpha)
return q_new
4.3 장점
- 구현이 단순
- 계산 비용이 낮음
- 실시간 성능 우수
4.4 단점
- 가정에 의존 (가속도가 중력만, 자기장이 지자기만)
- 매개변수 튜닝 필요
- 엄밀한 통계적 최적성 없음
5. Madgwick 필터
Madgwick 필터(2010)는 쿼터니언 기반 IMU 센서 융합의 유명한 알고리즘이다. 경사 하강법으로 자세를 최적화한다.
5.1 원리
가속도계와 자력계 측정값이 참조 방향(중력과 자기장)과 일치하도록 쿼터니언을 최적화한다.
5.2 목적 함수
F = \frac{1}{2}\lVert\mathbf{q}^*\otimes\mathbf{r}\otimes\mathbf{q} - \mathbf{s}\rVert^2
여기서 \mathbf{r}은 참조 방향(월드 좌표계), \mathbf{s}는 측정 방향(본체 좌표계)이다.
5.3 경사 하강법
쿼터니언을 목적 함수의 경사 방향으로 업데이트한다.
\mathbf{q}_{\nabla} = \mathbf{q}_{\text{gyro}} - \beta\nabla F
여기서 \beta는 학습률이다.
5.4 특징
- 낮은 계산 비용
- Open source 구현 널리 사용
- 드론과 로봇에 표준
6. Mahony 필터
Mahony 필터는 비례-적분 기반의 센서 융합 알고리즘이다.
6.1 원리
가속도계의 중력 참조를 사용하여 자이로스코프의 편향을 보정한다.
\dot{\hat{\mathbf{q}}} = \frac{1}{2}\hat{\mathbf{q}}\otimes(\boldsymbol{\omega} - \hat{\mathbf{b}} + k_p\mathbf{e})
여기서 \mathbf{e}는 측정 방향과 참조 방향의 차이(외적으로 표현)이고, \hat{\mathbf{b}}는 편향 추정이다.
6.2 편향 적응
편향은 적분 항으로 추정된다.
\dot{\hat{\mathbf{b}}} = -k_i\mathbf{e}
6.3 특징
- 편향 자동 보정
- 간단하면서도 견고
- PX4 비행 제어기에서 사용
7. 확장 칼만 필터 (EKF)
EKF는 전통적인 통계 기반 센서 융합 기법이다.
7.1 상태 벡터
\mathbf{x} = \begin{bmatrix}\mathbf{q} \\ \mathbf{b}_g\end{bmatrix}
쿼터니언과 자이로스코프 편향이다.
7.2 예측
자이로스코프 측정으로 쿼터니언을 전파한다.
7.3 업데이트
가속도계와 자력계 측정으로 칼만 필터 업데이트를 수행한다.
7.4 장점
- 통계적으로 최적
- 불확실성 추정
7.5 단점
- 쿼터니언의 단위 노름 처리 필요
- 선형화 오차
8. 오차 상태 칼만 필터 (ESKF)
ESKF는 EKF의 개선 형태로, 쿼터니언 자세 추정에 특히 적합하다.
8.1 명목 상태와 오차 상태
명목 자세는 쿼터니언으로 곱셈적으로 업데이트되며, 오차 상태는 작은 회전 벡터로 선형화된다.
8.2 IMU 센서와의 결합
- 자이로스코프: 예측 단계의 각속도 입력
- 가속도계: 중력 참조 측정
- 자력계: 지자기 참조 측정
8.3 성능
ESKF는 센서 융합의 표준 기법이다. 특히 고성능 응용에서 사용된다.
9. IMU 센서 융합의 주요 알고리즘
9.1 TRIAD 알고리즘
두 벡터 측정으로부터 자세를 즉시 계산하는 결정적 방법이다. 초기화에 사용된다.
9.1.1 입력
- 중력 방향 참조와 측정
- 자기장 방향 참조와 측정
9.1.2 출력
자세 쿼터니언
9.2 QUEST 알고리즘
가중 최소 자승법으로 자세를 추정한다. TRIAD보다 정확하다.
9.3 TRAD + EKF
TRIAD로 초기화하고 EKF로 시간에 따라 업데이트한다.
10. 구체적 응용
10.1 드론 자세 추정
드론은 빠른 자세 제어가 필요하다. IMU 센서 융합이 필수이다.
10.1.1 사용되는 필터
- PX4/ArduPilot: Madgwick 또는 Mahony 필터
- 고급 드론: EKF 또는 ESKF
10.2 로봇 자세 추정
이동 로봇과 보행 로봇의 자세 추정에 IMU 융합이 사용된다.
10.3 휴대폰과 웨어러블
스마트폰의 자세 추정에 IMU 융합이 사용된다. 낮은 전력 소비가 중요하므로 단순 알고리즘이 선호된다.
10.4 가상 현실 (VR)
VR 헤드셋의 자세 추적은 IMU 기반이다. 낮은 지연이 중요하므로 Madgwick 같은 단순 필터가 사용된다.
10.5 우주선 자세 제어
우주선의 자세 제어에는 고성능 IMU와 MEKF가 결합되어 사용된다.
11. 센서 융합의 성능 평가
11.1 정적 정확도
정지 상태에서 추정된 자세가 실제 자세와 얼마나 일치하는지 측정한다.
11.2 동적 정확도
움직이는 상태에서의 정확도이다. 본체 가속도가 있을 때 특히 중요하다.
11.3 드리프트
장시간의 오차 누적률이다. 장시간 작동이 필요한 응용에서 중요하다.
11.4 잡음 거부
센서 잡음에 대한 반응이다.
11.5 지연
측정부터 추정까지의 시간이다. 실시간 제어에 중요하다.
12. 센서 융합의 튜닝
각 필터의 매개변수를 튜닝해야 한다.
12.1 상보적 필터의 \alpha
자이로스코프 가중치이다. 높이면 드리프트가 증가하고, 낮추면 동적 응답이 느려진다.
12.2 Madgwick 필터의 \beta
학습률이다. 높이면 수렴이 빠르지만 잡음에 민감해진다.
12.3 Mahony 필터의 k_p, k_i
비례와 적분 이득이다. 편향 추정 속도와 정확도를 결정한다.
12.4 EKF/ESKF의 공분산
공정 잡음과 측정 잡음 공분산을 튜닝한다. 필터의 전체 거동에 영향을 준다.
13. 실시간 구현
13.1 높은 주기
IMU는 일반적으로 100-1000 Hz의 주기로 데이터를 출력한다. 필터도 이 주기로 작동해야 한다.
13.2 효율적 쿼터니언 연산
쿼터니언 곱, 지수 사상 등의 연산이 효율적으로 구현되어야 한다.
13.3 메모리 효율
임베디드 시스템에서 메모리 사용이 제한된다.
13.4 고정 소수점 구현
낮은 전력 프로세서에서는 부동 소수점 대신 고정 소수점 연산을 사용할 수 있다.
14. 오픈 소스 구현
14.1 PX4
PX4는 오픈 소스 드론 비행 제어 소프트웨어이다. 쿼터니언 기반 자세 추정을 포함한다.
14.2 ArduPilot
ArduPilot도 오픈 소스이며 EKF 기반 자세 추정을 사용한다.
14.3 imu_filter_madgwick (ROS)
ROS의 Madgwick 필터 구현이다.
14.4 imu_complementary_filter (ROS)
ROS의 상보적 필터 구현이다.
15. 결론
IMU 센서 융합은 쿼터니언을 자세 표현으로 사용하여 자이로스코프, 가속도계, 자력계의 측정값을 결합한다. 상보적 필터, Madgwick 필터, Mahony 필터, EKF, ESKF 등 다양한 알고리즘이 있으며, 응용의 요구에 따라 선택된다. 드론, 로봇, 휴대폰, VR/AR 등 다양한 분야에서 필수적인 기술이며, 쿼터니언의 짐벌 락 회피 특성이 매우 유용하다.
16. 참고 문헌
- Madgwick, S. O. H. (2010). “An Efficient Orientation Filter for Inertial and Inertial/Magnetic Sensor Arrays.” Technical Report, University of Bristol.
- Mahony, R., Hamel, T., & Pflimlin, J. M. (2008). “Nonlinear Complementary Filters on the Special Orthogonal Group.” IEEE Transactions on Automatic Control, 53(5), 1203–1218.
- Kok, M., Hol, J. D., & Schön, T. B. (2017). “Using Inertial Sensors for Position and Orientation Estimation.” Foundations and Trends in Signal Processing, 11(1-2), 1–153.
- Markley, F. L., & Crassidis, J. L. (2014). Fundamentals of Spacecraft Attitude Determination and Control. Springer.
- Sola, J. (2017). “Quaternion Kinematics for the Error-State Kalman Filter.” arXiv:1711.02508.
version: 1.0