본문 바로가기
Automated Vehicle/Localization

IMU 는 어디에 사용되는 물건일까요?

by 드로니뚜벅이 2022. 4. 21.

자이로 센서는 크게 IMU(관성측정장치)와 AHRS(센서융합기)로 나뉘어집니다.

IMU는 보정되지 않은 센서의 순수한 X, Y, Z축 각속도, 가속도, 지자기값 을 출력해 주고 Roll, Pitch, Yaw는 사용자가 알아서 구해야 합니다.

AHRS는 IMU 모듈과 MCU를 포함합니다. MCU에서는 센서들의 데이터를 이용하여 보정과 필터링을 거친 정확한 Roll, Pitch, Yaw 값을 계산해 줍니다.

INS(Inertial Navigation System) 관성항법장치라는 것도 있습니다. 비행기나 우주선이 안전하게 목적지에 도달할 수 있는 것은 이 INS 덕분이라는데요. INS는 IMU를 활용하여 이동체의 위치를 분석하는 시스템입니다. 즉, IMU가 자세측정만을 한다면 INS는 자세측정 및 이동거리까지 분석하기 위해 필요한 시스템입니다.

 

IMU(Inertial Measurement Unit)는 관성을 측정하여 최종적으로 구하고자 하는 값은 물체가 기울어진 각도를 정확하게 측정하는 관성 측정 장치입니다. 또한 자이로스코프(각속도계)/가속도계/지자기센서로 구성된 센서를 뜻합니다. 사람의 감각 기관 중 귀속의 세반고리판 같은 역할을 하는데 이 장치에서 얻어진 데이터로 물체의 움직임을 읽어냅니다. 비행기와 선박 그리고 우주선과 위성에도 활용되고 있으며 유도미사일의 핵심부품이기도 합니다.

 

종류에 따라 자이로스코프 가속도계만 있는 6축센서, 자이로스코프와 가속도계 및 지자기센서까지 포함한 9축센서가 있습니다. 각 센서는 관성을 이용해 물리량을 측정하는데, 이 장치로부터 이용할 수 있는 물리량은 아래와 같습니다.

  • 자이로스코프는 각속도(rad/s)를 측정하고 시간당 몇도(degree)를 회전했는지가 필요할 때 사용합니다.
  • 가속도계는 가속도(m/s^2)를 측정하고 초기값을 계산할 때 중력 가속도를 분해하여 얼마나 기울어졌는지를 측정하는데 사용한다. 또한 속도와 이동거리를 가속도를 적분해서 사용할 수 있습니다.
  • 지자기 센서는 지자기(magnet)를 측정합니다. 자북을 기준으로 자기선속의 세기를 측정하여 자북을 기준으로 얼마나 틀어졌는지를 측정합니다.

 

가속도 센서

가속도 센서는 Accelerometer로 말 그대로 '가속도를 측정하는 센서'입니다. 가속도 센서가 3축이라 함은 센서가 3차원에서 움직일 때 x축, y축, z축 방향의 가속도를 측정할 수 있습니다. 가속도 센서는 가만히 정지한 상태에서 중력가속도를 감지하므로 z축 방향으로 -g만큼의 값을 출력합니다.

가속도 센서가 물체의 기울어진 각도도 측정하는데..

움직이는 물체와 견고하게 센서가 장착되어있는 상태에서 시작합니다. 센서의 초기 출력은 모두 0으로 설정합니다. 이 상태에서 물체를 y축 방향으로 45도 기울이면, 기울어진 상태에서 z축 방향으로 동일한 값의 가속도가 측정됩니다.

위 그림처럼 중력방향으로 G=0.707만큼의 힘이 작용하니 x축과 z축방향으로 나뉘어 힘이 출력됩니다. 따라서 z축과 x축 값의 비율을 atan으로 계산하면 결과값이 45도, 즉 기울어진 각도를 알 수 있게 됩니다.

가속도센서를 이용해서 각도를 측정하는 방법은 위와 같으나 정지된 상태에서 물체가 움직이기 시작하면 그 때 측정되는 값은 기울기를 나타내지 않을 수도 있습니다.

예를 들어 45도 기울어진 위와 같은 상태에서 오른쪽으로 가속을 해본다고 가정하면 x축과 z축에서 측정되는 가속도는 변하게 됩니다. 따라서 중력 가속도이 적용되는 상태가 아닌 이동에 의한 가속도가 센서에 측정이 되면서 위같은 방식으로 계산하게 되면 45도값은 나올 수가 없습니다.

즉, 움직임이 생기면 어느 한쪽 방향으로 가속도가 생기게 되어 결과적으로 중력에 의해 측정되는 가속도 값과 구분이 안되게 됩니다. 정지하지 않은 움직임 상태에서는 가속도센서로 기울기 값을 측정할 수 없습니다.

 

자이로 센서

가속도 센서로 x, y, z 방향으로 진행정도를 알 수 있었다면, 자이로센서는 회전의 변화량 즉 각속도를 측정하는 센서입니다. (각속도는 초당 회전하는 각도 w=[rad/s])

주로 비행기 제어에 많이 쓰이며 , x축으로의 회전을 Roll(말려있음), y축은 Pitch(내던지다.), z축은 Yaw(기울어지다.)라고 부릅니다.

자이로센서는 중력을 이용하여 '코리올리힘'을 검출합니다. (코리올리 힘 : 회전하는 계에서 느껴지는 관성력)

코리올리 힘을 검출하는 원리를 간단하게 설명하자면 중력이 가해질 때 진동속도가 변화하는 것을 각속도로 계산하여 질량과 진동속도를 통해 값을 측정합니다.

▶ 각속도가 측정되는 방식

  • 수평한 자세를 유지하고 정지해있는 상태에서 각속도는 0도/sec 입니다.
  • 이 물체가 10초동안 50도만큼 기울어진다고 하면 이 10초동안은 0이 아닌 각속도 값을 가지게 됩니다.10동안의 평균 가속도는 5도/sec가 됩니다.
  • 기울어지는 동작을 한 후 다시 멈춰서 50도를 유지합니다. 좀 지나서 다시 각속도가 0도/sec가 됩니다.

각속도에서 각도를 구하려면 전체 시간에 해당하는 만큼 적분을 해야 합니다.

자이로센서는 각속도를 출력으로 내보내기 때문에 전체 시간동안 이 각속도를 적분하면 기울어진 각도를 계산할 수 있습니다.

문제는 센서에서 측정되는 각속도는 노이즈나 다른 이유들에 의해 측정값에 계속 작은 에러가 발생하는데, 이 오차가 적분시에는 누적이 되어서 최종 값이 오차가 커져 기울기 값이 변하게 됩니다. 이 오차를 보상하는 방법은 지자기 센서를 활용하는 것입니다.

자이로는 온도가 변하면 그 값이 같이 변하는 특성도 존재합니다. 그래서 정확한 출력을 계산해야할 경우 온도 센서도 함께 사용해서 오차를 보상해야 합니다.

그래서 각도 측정센서를 찾아보면 보통 가속도센서, 자이로센서, 지자기센서, 온도센서를 내장한 9축 자세 측정센서라고 합니다.

 

지자기 센서

지자기센서를 통해 자이로센서의 오차를 최대한 보정해 줍니다.

 

비행기를 예를 들어 보겠습니다.

로봇의 자세를 의미하는 각도는 롤, 피치, 요(Roll, Pitch, Yaw)로 나타냅니다. 비행기의 항법 장치에 필수적인 요소이기도 합니다. 요는 z축 방향 회전을 의미하고, 롤은 좌우로 회전하는 것을 의미합니다. 좌우라고 표현하니까 헷갈릴 수도 있는데, 자동차를 기준으로 생각해 본다면 코너를 돌때 한쪽 방향으로 쏠려서 기울어지는 것을 롤이라고 합니다. 마지막 피치는 자동차가 브레이크를 잡아서 앞으로 쏠릴때 기울어지는 방향을 의미합니다.

 이러한 자세 측정에는 그 기준이 있습니다. 즉, 중력방향을 기준으로 얼마나 기울어져 있는지를 나타내는 값이 롤과 피치입니다. 롤과 피치를 측정하기 위해 사용하는 센서가 바로 가속도 센서와 자이로 센서입니다.

 

 

참고사이트

 

 

'Automated Vehicle > Localization' 카테고리의 다른 글

UWB (Ultra Wideband)  (0) 2022.11.09
AVM/DRM 시스템  (0) 2022.07.12
측위 원리 및 측위 방식  (0) 2022.03.21