회전량에서 이동량으로
바퀴 반지름 r와 회전 증분 Δφ로 구름 거리를 rΔφ로 추정한다. 이는 바퀴가 지면에서 이상적으로 구른다는 모델에 따른다. 엔코더가 정밀해도 헛돌거나 옆으로 미끄러지는 움직임까지 같은 식으로 알 수는 없다. 바퀴 반지름이나 좌우 간격을 잘못 설정해도 일정한 편향이 누적된다.
차동 구동의 두 바퀴
좌우 바퀴 구름 거리를 d_L,d_R, 바퀴 사이 전체 간격을 b라 하자. 좌우가 전진하는 방향을 양수로 두면 차체 중심의 진행 거리 증분은 Δs=(d_R+d_L)/2이고 방향 변화는 Δθ=(d_R−d_L)/b다. d_L=0.1m,d_R=0.3m,b=0.5m이면 Δs=0.2m, Δθ=0.4rad다. 두 바퀴가 같은 거리만큼 움직이면 방향 변화가 0이다.
직선으로만 더하면 생기는 차이
구간 안에서 바퀴 속도가 일정하고 초기 방향이 x축이면 위 예제의 회전 반지름은 Δs/Δθ=0.5m다. 정확한 원호 증분은 Δx=0.5sin(0.4)≈0.1947m, Δy=0.5(1−cos(0.4))≈0.0395m다. 단순히 x에 0.2m만 더하면 회전 중의 측면 변화를 놓친다. 이전 방향이 0이 아니라면 이 증분을 전역 좌표계로 회전한 뒤 더한다.
누적 추정의 한계
오도메트리는 보통 직전 배치에서 다음 배치로 변환을 누적한다. 초기 위치를 모르면 절대 위치가 자동으로 생기지 않으며, 주행 후 처음 자리로 돌아와도 추정값이 정확히 닫히지 않을 수 있다. 카메라·거리 센서·위성 항법 등 외부 관측을 결합해 드리프트를 보정할 수 있다. 이때에도 각 센서의 오차 모델과 좌표계 정합을 함께 다룬다.
관련 문서
강체 변환 / 각속도 / 회전 행렬 / 센서 융합 / 칼만 필터 / 트위스트 (로봇공학)