본문 바로가기
정보&팁

오도메트리(Odometry)란? 로봇의 위치를 추정하는 기술

by 가능성의 꾸꾸 2025. 2. 8.
728x90
반응형

안녕하세요 꾸꾸입니다!

 

오도메트리는 로봇이나 이동체가 이동한 거리를 기반으로 현재 위치를 추정하는 방법입니다. GPS가 없는 환경에서도 바퀴의 회전 정보를 활용해 상대적인 위치를 계산할 수 있다는 점이 특징입니다.

바퀴의 회전 정보는 엔코더, 홀센서 등을 이용해 측정하며, 이를 바탕으로 로봇의 이동 거리와 방향을 추정할 수 있습니다.


1. 오도메트리의 원리

오도메트리는 기본적으로 바퀴의 회전수를 측정하여 이동 거리를 계산하는 방식으로 동작합니다.

  1. 바퀴의 회전량 측정 (엔코더 값 활용)
  2. 이동 거리 변환 (바퀴의 회전수를 이동 거리로 변환)
  3. 방향 추정 (자이로센서 또는 좌우 바퀴 속도 차이를 이용)
  4. 위치 업데이트 (이전 위치를 기반으로 새로운 위치 계산)

이를 통해 로봇이나 이동체의 실시간 위치를 추정할 수 있습니다.


2. 오도메트리 계산 방법

오도메트리는 이동 거리와 방향을 계산하는 여러 수식을 기반으로 작동합니다.

(1) 직선 이동 거리 계산

바퀴의 회전수 N와 바퀴 반지름 r을 이용하면 이동 거리 d를 계산할 수 있습니다.

  • 2πr : 바퀴가 한 바퀴 회전할 때 이동하는 거리
  • N : 바퀴의 회전 횟수
  • 펄스당 회전수 : 엔코더나 홀센서가 한 바퀴당 발생시키는 펄스 개수

(2) 차동구동 방식(Differential Drive)의 오도메트리

차동구동 방식(탱크처럼 바퀴 두 개로 이동하는 방식)에서는 좌우 바퀴의 회전 차이를 이용하여 이동 경로를 계산할 수 있습니다.

① 선속도와 각속도 계

로봇이 좌우 바퀴를 이용하여 움직일 때, 이동 속도와 회전 속도는 다음 공식으로 구할 수 있습니다.

  • V : 로봇의 선속도(직진 속도)
  • ω : 회전 속도(각속도)
  • NR,NL : 오른쪽/왼쪽 바퀴의 회전수
  • W : 좌우 바퀴 간 거리
  • r : 바퀴 반지름

② 위치 좌표 업데이트

현재 위치 (xt,yt,θt)에서 새로운 위치 (xt+1,yt+1,θt+1)를 계산할 수 있습니다.

  • x,y : 이동체의 좌표
  • θ: 이동체의 방향(각도)
  • dt : 시간 간격

이 공식을 반복해서 적용하면 이동체의 실시간 위치를 추적할 수 있습니다.


3. 오도메트리의 한계와 오차

오도메트리는 상대 위치를 계산하는 방법이기 때문에 누적 오차가 발생할 수 있습니다.

(1) 주요 오차 원인

  • 바퀴 미끄러짐(Slippage): 바퀴가 공중에서 헛돌거나 바닥에서 미끄러지면 실제 이동 거리와 측정값이 달라질 수 있습니다.
  • 센서 오차(Sensor Noise): 엔코더, 홀센서 등의 측정값에 노이즈가 포함될 수 있습니다.
  • 시간 지연(Time Delay): 센서 업데이트 주기가 늦어지면 실제 이동과 측정값 사이에 차이가 발생할 수 있습니다.

(2) 오차 보정 방법

오도메트리의 오차를 줄이기 위해 다른 센서와 결합하는 것이 일반적입니다.

  • IMU(관성 센서) 추가: 가속도 및 자이로 센서를 사용하여 이동 방향과 속도를 보정할 수 있습니다.
  • GPS 융합: 야외에서는 GPS를 추가하여 전역 위치 정보를 보정할 수 있습니다.
  • SLAM(비전 센서, LiDAR 사용): 실내에서는 카메라 및 LiDAR를 사용한 SLAM 기법을 적용하면 보다 정확한 위치 추정이 가능합니다.

4. 결론

✅ 오도메트리는 바퀴 회전 정보를 이용해 상대적인 위치를 계산하는 방법입니다.
✅ 차동구동 방식에서는 좌우 바퀴의 속도를 이용해 선속도와 회전 속도를 계산할 수 있습니다.
✅ 누적 오차가 발생할 수 있으므로 IMU, GPS, LiDAR 등과 함께 사용할 때 더 정확한 위치 추정이 가능합니다.

 

 

728x90