etc

IMU (Internal Measurement Unit)

민사민서 2024. 8. 29. 11:16

💡 개념

  • 관성 측정 장치(Inertial Measurement Unit)
  • **가속도 센서(Acceleration Sensor), 각속도 센서(Gyroscope, 자이로스코프)**로 이루어져 있으며(6축) + 지자기센서까지 포함하기도(9축)
  • 자이로스코프: 각속도(rad/s)를 측정하고 시간당 몇도(degree)를 회전했는지
  • 가속도계: 가속도(m/s^2)를 측정하고 초기값을 계산할 때 중력 가속도를 분해하여 얼마나 기울어졌는지
  • 지자기 센서: 자북을 기준으로 자기선속의 세기를 측정하여 자북을 기준으로 얼마나 틀어졌는지

 

💡 가속도 센서

  • 물체에 작용하는 가속력과 진동력, 충격력 등 동적 힘 발생 시 가속도의 변화(단위: m/s^2) 순간적으로 감지
  • 속도를 적분하여 물체의 진행 방향에 대한 속도를 계산
  • 시간에 따라 오차 누적되므로 (due to 적분) GPS와 결합해 보정

가속도 센서만으로 부족한 이유?

 

  • 정지된 상태라면, 중력 방향으로 작용하는 힘을 계산하여 각 축의 방향으로 기울어진 각도 계산 가능
  • y방향으로 45°기울었다고 할 때, x축과 z축 방향으로 나뉘어 힘이 출력될 것이며, 이 비율을 arctan 계산을 통해 각도를 알 수 있음
  • 중력 외 가속이 있는 경우 ⇒ 중력 가속도와 이동에 의한 가속도 값이 구분이 안됨 ⇒ 각속도 센서를 활용해 보정

 

💡 자이로스코프 = 각속도 센서

  • 물체의 회전 변화량인 각속도(단위: rad/s) 측정
  • 샘플링 시간(Δt)마다 회전 각속도를 측정한다면 (회전각) = (각속도 측정값) X (샘플링 시간)
  • 각속도를 측정의 전체 시간에 걸쳐 적분을 하여 기울어진 각도를 구함
    • (움직일 때는 측정되는 각속도가 노이즈 등에 의해 에러가 발생) 누적 오차 보정을 위해 지자기 센서 사용
    • 온도에 따라 측정값이 변화하기도, 일부 IMU에서는 온도 센서를 추가적으로 내장하여 보정

 

💡 IMU로 Pitch, Yaw 구하기

  • 회전(기울기, Orientation)에 대하여 x, y, z축 각각을 기준으로 회전하는 Pitch, Roll, Yaw
  • Pitch는 시선이 상하로 어떻게 이동했는지, Yaw는 시선이 좌우로 어떻게 움직였는지
  • Pitch ⇒ 가속도 센서로 구할 수 있음
  • Yaw ⇒ 자이로스코프 이용 필요

IMU + AHRS

  • IMU는 보정되지 않은 센서의 순수한 X, Y, Z축 각속도, 가속도, 지자기값 을 출력해 주고 Roll, Pitch, Yaw는 사용자가 알아서 구해야 함
  • AHRS는 IMU 모듈과 MCU를 포함. MCU에서는 센서들의 데이터를 이용하여 보정과 필터링을 거친 정확한 Roll, Pitch, Yaw 값을 계산

 

💡 AHRS (Attitude Heading Reference System)

진행방향(x)과 측면방향(y), 수직방향 (z) 축을 중심으로 회전하는 각도(roll, pitch, yaw)를 측정하는 시스템

 

'etc' 카테고리의 다른 글

venv → poetry 로 포팅하기  (0) 2024.08.29
pinball loss란  (0) 2024.08.29
github dependabot  (0) 2024.08.29
[논문] Gaze360: Physically Unconstrained Gaze Estimation in the Wild  (0) 2024.08.29
오일러각  (0) 2024.08.29