IMU(Inertial Measurement Unit, 관성 측정 장치)는 3축 가속도계와 3축 자이로스코프로 물체의 가속도와 회전 속도를 재는 센서입니다. 이 두 값을 합치면 물체가 얼마나 기울어 있고 어느 쪽으로 돌고 있는지 계산할 수 있습니다. 가속도계와 자이로만 있으면 6축 IMU, 여기에 지자기 센서(나침반)를 더하면 9축 IMU라고 부릅니다. 스마트폰 화면 회전, 드론 수평 유지, 휴머노이드와 4족 보행 로봇의 균형 잡기가 모두 IMU로 돌아갑니다.
IMU 안의 센서는 각각 무엇을 재나
관성 항법 장비 제조사 벡터나브는 IMU를 “관성 항법 시스템의 바탕이 되는 센서 부분으로, 3축 가속도계와 3축 자이로스코프를 묶은 것”으로 설명합니다(VectorNav, What is an IMU?).
- 가속도계: X·Y·Z 세 방향의 직선 가속도를 잽니다. 가만히 있을 때도 중력(약 9.8m/s²)을 재기 때문에, 중력이 어느 방향으로 걸리는지 보면 기울기(롤·피치)를 알 수 있습니다.
- 자이로스코프: 세 축을 중심으로 도는 각속도(초당 몇 도 도는지)를 잽니다. 이 값을 시간에 따라 더하면(적분하면) 얼마나 돌았는지가 나옵니다.
- 지자기 센서(9축일 때): 지구 자기장 방향을 재서 북쪽 기준 방위(요, yaw)를 잡습니다.
로봇과 드론에 쓰는 IMU는 대부분 MEMS(미세전자기계시스템)라는 반도체 공정으로 만든 작은 칩입니다. 예를 들어 보쉬 센서텍의 BMI088은 드론·로봇용으로 나온 6축 IMU로, 가속도는 ±3g~±24g, 회전 속도는 ±125~±2,000°/s 범위에서 고를 수 있고 진동에 강한 것을 특징으로 내세웁니다(Bosch Sensortec, BMI088).
IMU 하나로는 위치를 정확히 못 잡는 이유
IMU는 재는 값 자체가 ‘변화량’입니다. 각도는 각속도를 한 번 적분해서, 위치는 가속도를 두 번 적분해서 얻어야 하는데, 이 과정에서 작은 오차가 계속 쌓입니다. 이것을 드리프트(drift)라고 합니다.
- 자이로의 바이어스: 가만히 있어도 0이 아닌 값이 조금씩 나옵니다. 이를 적분하면 각도가 시간이 갈수록 한쪽으로 흘러갑니다. 벡터나브는 이 성능을 ‘자이로 바이어스 불안정성’으로 표시하며, 산업용 VN-100은 약 10°/h, 전술급 VN-110은 1°/h 이하라고 밝힙니다.
- 가속도계의 두 번 적분: 위치는 오차가 시간의 제곱으로 커져서, 저가 MEMS IMU만으로는 몇 초만 지나도 위치가 크게 어긋납니다.
- 온도: 바이어스는 온도에 따라 바뀝니다. 그래서 고급 IMU는 제품마다 온도별로 보정해서 출고합니다(벡터나브는 -40~85°C 구간을 개별 보정).
이 때문에 실제 시스템은 IMU를 다른 센서와 섞어 씁니다. 기울기는 가속도계(오래 보면 정확하지만 진동에 흔들림)와 자이로(빠르지만 흘러감)를 섞어 서로의 약점을 메우고, 방위는 지자기 센서나 카메라로, 위치는 GPS·바퀴 엔코더·라이다로 바로잡습니다. 이 섞는 계산을 센서 퓨전이라 하고, 칼만 필터나 상보 필터를 많이 씁니다.
IMU, AHRS, INS는 출력이 다르다
센서를 살 때 이름이 비슷해 헷갈리는 세 가지입니다.
- IMU: 가속도와 각속도 원시값만 줍니다. 자세 계산은 사용자 쪽에서 해야 합니다.
- AHRS(자세·방위 기준 장치): IMU에 계산 칩을 더해 롤·피치·요 자세를 바로 출력합니다. 보쉬 BNO055처럼 9축 센서와 퓨전 계산을 한 칩에 넣은 제품이 여기에 가깝습니다. 다만 BNO055는 2026년 10월 19일 기준 보쉬 공식 페이지에 ‘신규 설계 비권장’으로 표시돼 있어(Bosch Sensortec, BNO055), 새로 설계한다면 대안을 함께 검토하는 편이 안전합니다.
- INS(관성 항법 장치): IMU 값에 GPS 같은 외부 정보를 필터로 섞어 위치·속도·자세를 시각과 함께 출력합니다. 자율주행차와 측량 장비가 씁니다.
6축과 9축 중 무엇을 고를까
- 6축으로 충분한 경우: 기울기와 빠른 회전만 알면 되는 곳입니다. 드론 자세 안정, 로봇 몸체 기울기, 넘어짐 감지가 여기에 해당합니다. 방위는 다른 센서(카메라, 라이다, GPS)가 잡아 줄 때 6축을 많이 씁니다.
- 9축이 필요한 경우: 다른 센서 없이 북쪽 기준 방위를 알아야 할 때입니다. 웨어러블 동작 추적, 단순한 방향 표시가 예입니다.
- 9축의 약점: 지자기 센서는 모터, 철골, 전선 근처에서 자기장이 왜곡돼 방위가 틀어집니다. 모터가 많은 로봇 몸속이나 공장 실내에서는 9축의 방위 값을 그대로 믿기 어렵습니다.
로봇은 IMU를 어디에 쓰나
- 균형 잡기: 휴머노이드와 4족 보행 로봇은 몸통의 IMU로 기울기와 회전 속도를 수백 Hz 이상으로 읽어 넘어지지 않게 관절을 조정합니다. 4족 로봇의 보행 원리는 4족 보행 로봇 글에 정리했습니다.
- 위치 추정 보조: 로봇청소기와 자율주행차는 바퀴 엔코더·라이다·카메라로 위치를 잡고, 그 사이 짧은 순간의 움직임을 IMU로 메웁니다. 바퀴 회전을 재는 센서는 엔코더 원리 글에서 다뤘습니다.
- 라이다·카메라 보정: 움직이면서 찍은 라이다 점군은 찍는 동안 로봇이 움직여 휘어 보입니다. IMU 값으로 이 휘어짐을 펴 줍니다.
실무에서 바이어스를 잡는 방법은 로봇 IMU 바이어스·드리프트 보정 글, 다리 로봇에서 IMU와 발 접촉을 함께 쓰는 상태 추정은 휴머노이드 상태 추정 글에서 자세히 다뤘습니다.
사양표에서 볼 다섯 가지
- 축 수: 6축인지 9축인지, 9축이라면 설치 위치 근처에 모터·철판이 있는지.
- 측정 범위: 가속도(g)와 각속도(°/s). 충격이 큰 다리 로봇은 넓은 범위가 필요합니다.
- 바이어스 불안정성과 노이즈: 드리프트 크기를 정합니다. 단위(°/h, °/s/√Hz)를 맞춰 비교합니다.
- 출력 속도(Hz)와 인터페이스(SPI, I2C, UART, CAN): 제어 주기와 맞아야 합니다.
- 공장 보정 여부와 온도 범위: 보정 안 된 칩은 직접 보정해야 합니다.