[ROS STUDY] Odometry Concept

‍이수빈·2025년 2월 17일

[ROS STUDY]

목록 보기
11/12

출처: YOUTUBE: What is Odometry? | An Introduction to the Essence of Robot Odometry Pt. 1 - Rex Liu

What is Odometry?


Odometry는 모든 종류의 모션 센서를 사용해서 위치 변화를 감지하는 일반적인 과정.
대개 Encoders, Visual Sensor, Distance Sensor가 있음.

오도미터 사용을 통해 자율주행이나 프로그래밍 기술 작동 기간 동안, 로봇의 위치/방향을 추적하는 절대 위치 시스템을 만들 수 있음.

주로 인코더를 사용한 오도미터 시스템 개발에 중점을 둘 것이고,
이러한 인코더는 위 사진과 같이 3개의 비구동 옴니 휠에 부착되어, 사진과 같은 구성으로 배치됨.
왼쪽과 오른쪽 인코더는 서로 평행(parallel)하도록, 나머지 인코더 하나는, 앞서 언급된 두 개의 인코더에 수직(perpendicular)임.

Why not use encoders on drive wheel motors?

왜 구동 휠 모터에 인코더를 사용하지 않는가?

왜냐하면
바퀴들이 쉽게 미끄러지기 때문.

로봇이 가속하고, 모터에 동력을 공급하면, 구동 바퀴는 실제로 견인력을 얻어서, 움직이기 전 약간 미끄러질 수 있음.

따라서 추적 바퀴(tracking wheel)라고 부르는 세 개의 별도 무동력 바퀴(unpowered wheels)를 추가하는 것이 효과적!

이러한 무동력 바퀴(unpowered wheels)에는 모터가 부착되어 있는 것은 아니지만, 구적(quadrature) 인코더나 회전 센서(rotation sensors)가 장착됨.

로봇의 무게에 따라 바퀴 미끄러짐을 줄일 수 있음.

일부 무거운 Vex봇, 대부분의 FRC봇은 드라이브 인코더를 사용해도 됨.
하지만, tracking wheel이 위치 지정 시스템의 효율성을 크게 높여주기 때문에 여전히 권장됨.

로봇이 움직이면, 이 바퀴가 지면을 굴러가는데, 인코더를 사용하여 바퀴의 움직임을 추적하면 로봇의 위치를 효과적으로 추적할 수 있음.

다만, 이러한 바퀴에서 얻은 데이터로 무언가를 하려고 하면, 먼저 오도미터 추적 이론의 기반이 되는 수학적 원리를 이해해야 함.
(이에 대해선 다음 강의에서 설명)

Strengths of an Odometry System

절대 위치 시스템을 사용하는 가장 큰 장점은 로봇 대신 현장을 기준으로 이동할 수 있다는 것.
즉, 로봇에게 5feet 앞으로 이동한 다음, 90도 회전하고, 다시 5feet 이동하라고 명령하는 대신,

로봇에게 필드의 특정 좌표를 조준하라고만 명령하면 됨.

로봇의 위치를 항상 알고 있으면, 다양한 옵션의 동작이 가능함.

선택한 두 개의 좌표 사이, spline을 생성하고, PID 제어나 pure pursuit같은 '경로 추적 알고리즘'을 사용하여 목적지 도달이 가능함.

또 다른 장점은 추적 휠이 항상 필드 표면에 고무줄로 고정되어 있기에, 로봇이 급정거하거나 드리프트하여 뛰어올라도 추적 휠이 항상 필드와 접촉하여 인코더가 계속 값을 기록함.

추적 휠에서 얻은 판독 값을 사용하면, 배터리 잔량/예상치 못한 장애물과의 접촉/enemy defense bot으로 인해 발생하는 임의의 동작 오류를 실제 수정할 수 있음.

오도미터를 통해 로봇이 어느 위치의 필드에 있는지 알 수 있고, 상대적으로 이동하는 대신 절대적인 좌표를 목표로 하기 때문에,
로봇은 모든 오류를 보정하게 되어 루틴의 특정 지점에서 벗어났더라도 다음에 이동하는 위치가 정확함.
= 로봇이 특정 지점에서 방향을 틀어도, 그 이후의 움직임에 영향을 안 준다는 것. 오도미터가 이 오류를 교정하기 때문.

Weaknesses of an Odometry System

odometry의 몇 가지 한계점을 살펴보고자 함.

첫 번째는 시스템 구현에 필요한 컴퓨팅 능력의 양임.
오도미터 알고리즘은 매우 짧은 간격으로 위치를 계산하여, 필드에서의 위치를 즉시 업데이트 해야함.
이러한 경우, 계산량 증가 및 복잡해짐.

두 번째는 바퀴의 미끄러짐이나 수치적 적분 오류로 인해 시간이 지남에 따라 주행거리 오류가 종종 누적된다는 것임.
하지만 동력이 없는 바퀴를 사용하면, 이런 문제가 대개 완화되고, 몇 분 이내 완료되는 자율주행 routine의 경우 크게 문제가 되지 않음.

profile
🏫 Kookmin University, Major in Electrical Engineering (First Major), AI Big Data & Management (Double Major), Smart Car ICT (Interdisciplinary Major)

0개의 댓글