IMU pre-integration이란 무엇인가요?

SJ·2025년 1월 14일
0

이 게시글은 장형기님의 SLAM 기술면접 질문 100선에 대한 답을 제 나름대로 해본 것입니다.


1. IMU

IMU는 각속도(3 자유도)와 가속도(3자유도)를 측정합니다.

그럼 이것을 통해 무엇을 계산을 하는 것일까요?
계산하는 정보는 다음과 같습니다.

ΔRij\Delta R_{ij}(자세 변화)

Δvij\Delta v_{ij}(속도 변화)

Δpij\Delta p_{ij}(위치 변화)

이 정보는 로봇이 tit_i에서 tjt_j로 이동하는 과정에서의 상대적인 상태 변화를 나타냅니다.

어떻게 계산을 하는지 알아보겠습니다.

Q1. 가속도를 두번 적분하면 위치변화 계산이 되지 않나요?

원래는 되는데 안타깝게도 IMU 센서는 굉장히 noise가 많고 bias가 있습니다. 그렇기 때문에
무작정 적분을 통해 계산을 할 수가 없습니다.
bias와 noise를 제거하고 적분을 진행하여야 정확한 포즈 변화를 계산할 수 있습니다.


2. IMU Pre-Integration

IMU는 데이터가 들어오는 속도가 매우 빠르기 때문에 그것을 다른 센서와 같이 사용하기 위해
IMU Pre-integration을 하게됩니다.

우리가 SLAM을 할 때 보통 keyframe단위로 처리합니다. 하지만 그 사이 들어오는 IMU의 정보는 너무 많기 때문에 graph를 만들게 되면 과도한 constraint도 생기고 계산량이 많아지는 등 문제가 발생합니다.

그림과 같이 많은 x IMU data를 통합해 Pre-Int. IMU data 한개로 만들면 우리는 graph에서 IMU 정보를 효율적으로 다룰 수 있게 됩니다.


수식을 모두 정리하고 싶지만 너무 복잡해질 것 같아서 여기까지 하겠습니다.

감사합니다.

profile
student

0개의 댓글