오도메트리(Odometry): 카메라·IMU·바퀴로 위치를 추정하는 원리

휠 오도메트리부터 비주얼-관성 오도메트리(VIO)까지 위치 추정 방식별 원리와 드리프트 트레이드오프를 정리한다.

2026-08-13 · 최초 발행 2025-11-26

바퀴 회전수를 세어 이동 거리를 적분하던 방식에서, 카메라와 IMU를 결합해 6자유도 포즈를 실시간 추정하는 방식으로 오도메트리는 계속 진화해왔다. 지도를 만드는 일은 SLAM의 몫이지만, 그 지도가 얼마나 정밀한지는 결국 오도메트리가 얼마나 안정적으로 위치를 누적했는지에 달려 있다.

무엇을 추정하고, SLAM과 어떻게 다른가

오도메트리는 연속된 센서 관측으로 상대 이동(translation)과 회전(rotation)을 추정하는 기법을 총칭한다. 입력 센서에 따라 바퀴 오도메트리, 비주얼 오도메트리(Visual Odometry, VO), 시각-관성 오도메트리(Visual-Inertial Odometry, VIO), 라이다 오도메트리로 나뉜다.

SLAM과 헷갈리기 쉽지만 역할이 다르다. 오도메트리는 현재 포즈 추정과 단기 궤적 적분에 집중하며 누적 오차(드리프트)가 생기는 것을 전제로 동작한다. 반면 SLAM은 지도 생성과 루프 클로저로 전역 일관성을 유지하고, 오도메트리의 결과를 초기 추정값으로 가져다 쓴다.

추정 대상도 방식마다 다르다. 3DoF는 회전(roll, pitch, yaw)만 추정하며, 360도 카메라의 전역 시야와 IMU를 융합하면 안정적으로 구할 수 있다. 6DoF는 여기에 위치(x, y, z)까지 추정해야 하는데, 시차(parallax) 확보나 스테레오·깊이·IMU 융합이 필요하다. 그리고 단안 카메라만으로는 절대 스케일을 알 수 없다는 근본적인 한계가 있어, 스테레오·깊이 센서·IMU·바퀴·지면 제약 등으로 스케일 관측을 보완해야 한다.

입력에서 포즈 출력까지의 파이프라인

캘리브레이션이 모든 것의 출발점이다. 초점거리·주점·왜곡계수 같은 내부 파라미터와, 카메라-IMU·카메라-바퀴(엔코더) 사이의 외부 정합이 맞지 않으면 이후 단계가 전부 흔들린다. 360도·피쉬아이 카메라는 구면·등각·카누누스 모델 같은 비선형 투영을 쓰고, equirectangular 전개나 구면 기반 특징 추출을 직접 적용한다.

전처리 단계에서는 밝기 정규화, 왜곡 보정, 타임 싱크, 롤링 셔터 보정을 거친다. 이후 특징점을 뽑는 방식은 크게 두 갈래인데, ORB·SIFT·SuperPoint 같은 특징 기반 방법과 포토메트릭 에러를 직접 최소화하는 직접법이 있다. 360도 영상은 전역 시야 덕에 특징을 풍부하게 확보할 수 있다는 이점이 있다.

모션 추정은 대응점 매칭 → 에센셜/펀더멘털 행렬 추정 → PnP·트라이앵귤레이션 → 비선형 최적화(Bundle Adjustment) 순으로 진행된다. VIO에서는 IMU 프리-인터그레이션과 마지널라이제이션을 이용한 슬라이딩 윈도우 최적화로 실시간성을 확보한다.

드리프트를 억제하려면 지면 평면이나 차량 모델 제약, 중력 벡터(IMU)를 이용한 자세 안정화가 필요하다. 텍스처가 없거나 모션 블러가 심하거나 동적 물체가 많은 구간에서는 추적이 실패하기 쉬운데, 이때는 관성 예측 기반 재초기화와 키프레임 스킵 전략으로 대응한다. 최종 출력은 시간 스탬프 기준 6DoF 포즈·속도·공분산이며, 선택적으로 스파스 맵이나 키프레임 그래프를 함께 내보낸다. ROS2·RTK·GNSS·휠 엔코더와의 센서 융합(EKF·UKF·Factor Graph)으로 전역 정합을 강화하는 것이 일반적인 인터페이스 구성이다.

입력 엔코더카메라프레임(단안/스테레오/360)IMU(가속/자이로)캘리브레이션(내/외부, 왜곡보정, 시간 동기)전처리(노이즈/노출/롤링셔터보정)특징 추출/매칭 또는 직접법기하 추정(E/F, PnP,Triangulation)최적화(BA, VIO프리-인터그레이션)센서 융합(EKF/FactorGraph)출력: 6DoF 포즈, 속도, 공분산특징 부족/블러/동적 물체?재초기화/키프레임 교체/관성예측

방식별 트레이드오프

방식 성능(정확도) 확장성(환경 적응) 일관성(장기 드리프트) 안정성(강건성) 운영 편의
휠 오도메트리 포장 노면에서 높음 노면 의존, 슬립에 취약 장기 드리프트 큼 진동/조도 영향 적음 비용 낮음, 구현 간단
비주얼(단안) 텍스처 풍부 환경에서 중~높음 조명/블러/동적 물체 영향 스케일 모호성, 드리프트 존재 특징 부족 시 불안정 카메라 1대, 비용 낮음
비주얼(스테레오/360) 깊이/전역시야로 높음 실내/야외 전천후 적응 드리프트 감소 회전·가림에 강함 장비/캘리브레이션 부담
VIO(카메라+IMU) 실시간 고정밀 고가속/저조도에서도 견고 드리프트 저감(장기 SLAM 추천) 모션 블러/비가시 구간 견딤 동기화·보정 난이도 있음
라이다 오도메트리 매우 높음 조명 무관, 질감 불필요 장기 안정, SLAM 결합 용이 비·먼지 영향 가능 비용·전력·무게 부담

어디에 붙이는가

AMR·AGV 같은 실내 로봇은 휠과 VIO를 융합해 실내 전역 좌표를 맞추고, 비콘이나 AprilTag로 주기적으로 스케일을 보정하며 운용한다. 자율주행 차량은 VIO에 GNSS, 차선·지면 제약을 더해 GNSS 음영이 생기는 도시협곡에서도 포즈를 끊기지 않게 유지한다.

드론은 저조도·고속 기동 상황에서 IMU 프리-인터그레이션으로 단기 안정화를 걸고, 키프레임 기반 광류(Optical Flow)를 대체 수단으로 쓴다. 실내 측량에서는 스테레오 VO로 실시간 6DoF를 뽑고 후처리 BA로 모델을 다듬는다.

XR·메타버스 콘텐츠 제작에서는 360도 카메라 캡처에 구면 모델 기반 VO를 적용해 3DoF에서 6DoF로 확장하고, 이것이 씬 재현의 공간 일관성을 결정한다. 모바일 AR은 ARKit·ARCore의 VIO 기반 공간 앵커를 유지하다가, 공간이 커지면 클라우드 리로컬라이제이션과 결합한다. 회전 장비나 협소 공간을 점검하는 디지털 트윈 작업에서는 피쉬아이 카메라 2~4대를 링 형태로 배치하고 VIO를 붙여 사각지대를 최소화하며, 별도 표식 없이도 위치를 동기화한다.

캘리브레이션과 운영에서 놓치기 쉬운 것

체커보드·AprilGrid로 내·외부 파라미터를 정밀하게 잡아도 온도나 진동이 변하면 틀어지기 때문에 주기적 재보정이 필요하다. 하드웨어 타임스탬프와 PPS 동기화로 마이크로초 단위 오차까지 관리하는 것이 VIO 품질의 전제조건이다.

알고리즘 선택은 상황에 달렸다. 텍스처와 전역 시야가 충분하면 360·스테레오를 쓰고, 경량 플랫폼이라면 단안+IMU로 간다. 동적 환경에서는 RANSAC·Huber Loss 같은 로버스트 추정과 세그멘테이션 기반 동적 객체 마스킹이 필요하다.

운영 단계에서는 드리프트를 m/100m, yaw drift/시간, 추적 손실율 같은 KPI로 모니터링하고, 루프 클로저가 가능한 구간을 미리 설계해둔다. Rosbag으로 데이터를 기록해두면 오프라인 BA나 맵 정합으로 사후에 품질을 끌어올릴 수 있다.

방식 선택이 실제로 만들어내는 차이는 숫자로 드러난다. 단안 VO의 드리프트는 주행거리 대비 0.82.0%, 스테레오·360 VO는 0.31.0%, VIO는 0.20.5% 수준이고, SLAM 루프 클로저가 걸리면 전역 드리프트를 근사 0%까지 낮출 수 있다. IMU를 융합하면 텍스처가 부족하거나 모션 블러가 있는 구간에서도 추적을 유지하는 시간이 25배 늘어난다. 비용 측면에서는 카메라 기반 접근이 라이다 대비 310배 저렴하고 전력도 3060% 적게 든다. XR 콘텐츠에서는 6DoF 추정 품질이 시선-이동 불일치를 줄여 체감 멀미를 낮추고 체류 시간에도 영향을 준다.

지도 작성이 목적이라면, 신뢰도 높은 오도메트리 위에 SLAM의 루프 클로저와 전역 최적화를 얹는 아키텍처가 자연스러운 다음 단계다.

오도메트리SLAM로보틱스센서퓨전XR