Lifelog/RC

BNO085 9축 센서

sunshout1 2026. 8. 9. 18:13
반응형

BNO085 9축 센서

BNO085는 Bosch Sensortec의 9축 물리 센서 하드웨어와 CEVA(구 Hillcrest Labs)의 센서 퓨전 펌웨어(SH-2)가 결합된 고성능 9축 System-in-Package (SiP) IMU(관성측정장치) 센서입니다.

기존 IMU 센서와 달리, 내부의 32-bit ARM Cortex-M0+ 코어가 센서 데이터를 직접 처리하므로 라즈베리 파이나 마이크로컨트롤러(MCU)의 연산 부담을 최소화합니다.

1. BNO085의 핵심 구성 (9-DOF)

BNO085 내부에는 총 3가지 센서가 하나의 칩에 집적되어 있습니다.

  • 3축 가속도계 (Accelerometer): 중력 및 직선 가속도 측정
  • 3축 자이로스코프 (Gyroscope): 회전 속도(각속도) 측정
  • 3축 지자기 센서 (Magnetometer): 지구 자기장을 이용한 방위각(절대 북쪽) 측정
  • 32-bit ARM Cortex-M0+ MCU: 내부 센서 퓨전 프로세서 (SH-2 펌웨어 내장)

2. 주요 특징 및 강점

1) 온칩 센서 퓨전 (On-Chip Sensor Fusion)

원시 가속도/자이로/지자기 값을 복잡한 캘러먼 필터(Kalman Filter) 등으로 처리하지 않아도, 칩 내부에서 계산된 사원수(Quaternion), 오일러 각도(Roll/Pitch/Yaw), 선형 가속도, 중력 벡터 등을 즉시 읽어올 수 있습니다.

2) 세분화된 림/회전 벡터 (Rotation Vectors)

사용 목적에 맞춰 다양한 회전 벡터 모드를 제공합니다.

  • Rotation Vector (9축 퓨전): 지자기 센서를 포함하여 절대 북쪽(Absolute North)을 기준으로 한 3D 자세 출력.
  • Game Rotation Vector (6축 퓨전): 지자기 센서를 제외(가속도+자이로)하여 모터나 주변 철제 구조물로 인한 자기장 왜곡(Magnetic Distortion)의 영향을 받지 않는 고속 자세 측정 모드.
  • AR/VR Stabilized Rotation Vector: 미세한 손떨림을 보정하고 초저지연 트래킹을 제공하는 모드.
  • Geomagnetic Rotation Vector: 자이로스코프를 사용하지 않고 저전력으로 지자기+가속도만 조합하는 모드.

3) 부가 기능

  • 활동 분류 (Activity Classification): 정지 상태, 걷기, 뛰기, 차량 탑승, 계단 오르기 등의 상태를 센서 자체 판단.
  • 걸음 수 측정 (Pedometer): 실시간 스텝 카운터 내장.
  • Tare (영점 조정): 센서의 현재 위치를 기준으로 좌표계를 즉시 0, 0, 0으로 재설정 가능.

3. BNO055 vs BNO085 비교

BNO085는 기존의 인기 IMU인 BNO055의 단점을 크게 개선한 후속작입니다.

구분 BNO055 BNO085
센서 퓨전 엔진 Bosch 내장 소프트웨어 CEVA (Hillcrest Labs) SH-2
응답 속도 / 지연 시간 비교적 느림 (Robotics에 제한적) 초저지연 (AR/VR/드론/로봇 최적화)
자기장 보정 기능 주변 자석/모터 영향에 약함 우수한 자기장 왜곡 억제 알고리즘
특수 모드 기본 오일러/사원수 출력 RVC(로봇청소기 UART), VR 스태빌라이저, 활동 인지 등
통신 프로토콜 I2C, UART I2C, SPI, UART, UART-RVC

4. BNO085 통신 인터페이스

  • I2C: 기본 주소 0x4A, 보조 주소 0x4B (최대 400kHz)
  • SPI: 고속 데이터 전송 시 사용 (최대 3MHz)
  • UART: 표준 직렬 통신
  • UART-RVC (Robotic Vacuum Cleaner Mode): 센서가 100Hz 주기로 Yaw, Pitch, Roll 및 가속도 데이터를 단순 텍스트로 보드 보레이트 115200으로 계속 쏘아주는 특수 모드로, 로봇청소기나 단순 이동 로봇 제작 시 매우 편리합니다.

5. 주요 활용 분야

  • 자율주행 로봇 / ROS (Robot Operating System) 네비게이션: Odometry 오차 보정 및 Heading 추정
  • 드론 / 항공 모형: 실시간 3축 자세 제어
  • AR/VR 모션 트래킹: 헤드셋 및 HMD, 컨트롤러 추적
  • 카메라 짐벌(Gimbal): 미세 진동 및 기울기 보정
sunshout@raspberrypi:~ $ i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: 40 -- -- -- -- -- -- -- -- -- -- 4b -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: 70 -- -- -- -- -- -- --
728x90
반응형