본문 바로가기

👩‍🌾 도비의 농장/🍓 딸기밭

[IMU] Inertial Measurement Unit | KALMAN Filter

뭔가 정리하려고 했는데..

누군가 IMU 센서를 쓰게 된다면 도움이 될까 싶어서 끄적이는 글^^


 IMU 구성

 

관성 측정 장치(Inertial Measurement Unit)는 가속도(Acceleration) 센서, 각속도(Gyroscope)를 포함한다.

(일부는 지자기(Magnetometer) 센서 포함)


속도 센서 Accelerometer

 

물체 움직임 변화에 따른 가속도의 변화를 순간적으로 감지한다.

센서 출력값인 가속도를 적분해 물체 진행 방향의 속도를 계산할 수 있다. (물체 위치 알아낼 수 있다)

초기 출력값은 모두 0으로 설정

 

센서에서 얻은 가속도 값을 적분해 시간에 따른 오차가 누적된다는 단점 존재

⇨ GPS와 결합해 보정 가능

 

물체가 특정 방향으로 기우는 등, 자세 변화에 따라 x, y, z축 가속도계가 서로 영향을 미친다.

- 물체가 정지된 상태라면, 중력 방향으로 작용하는 힘을 계산해 각 축의 기울어진 각도를 계산할 수 있다.

- 물체가 움직이는 경우, 가속도 센서만으로 정확한 기울기를 알 수 없어 각속도 센서를 이용한다.

 


자이로 센서

 

회전의 변화량, 각속도를 측정하는 센서이다.

 

- x축으로의 회전 = Roll

- y축으로의 회전 = Pitch

- z축으로의 회전 = yaw

 

센서에서 측정되는 각속도는 노이즈나 다른 이유에 의해 계속 작은 오차가 발생한다.

적분시에 이 오차들이 누적되어 최종 값의 오차가 커져 기울기 값이 변하게 된다.

=> 지자기 센서는 자이로 센서의 오차를 최대한 보정해주는 역할을 한다.

 


KALMAN Filter

 

센서의 오차와 노이즈를 줄일 방안으로 칼만 필터를 이용할 수 있다. 

여러 모션 캡처에서 칼만 필터를 사용해 자세값을 보정하는 것을 확인할 수 있다.

 

구체적인 과정은 복잡한 수식 과정을 담고 있으므로 생략..

 


 

시각화해서 보여주는 툴도 찾아보면 꽤 많으니 잘 활용하도록 하자! (IMU viewer github )