[SLAM] Odometry

최재혁·2022년 2월 1일

Odometry?

주행 기록계라는 의미로 Encoder(바퀴의 회전수), IMU(관성)
등의 센서를 기반으로 움직이는 물체의 위치를 측정하는 방법이다.

Calculate?

바퀴의 회전을 통해 이동을 계산하는 Model을 필요로 한다.

대표적인 Mobile Robot Model

  • Ackermann Steering Model
    • 일반적인 후방 구동, 전방 조향의 차량 model
    • 전방 조향을 통해 원 궤적을 그리는 형태로 주행 가능
    • Pure Pursuit : 역으로 계산 시 원하는 위치에 이동하기 위한 조향각을 계산 할 수 있음
  • Differential Drive Model
    • 각 바퀴의 제어 차량 model
    • 바퀴 사이의 속도 차이를 이용하여 전진, 후진 및 회전을 제어가능

Dead Reckoning

Odometry와 유사, 실외에서 GPS연결이 끊기는 경우 아래의 정보등 을 이용하여 차량위치를 추정하는 방법

  • 차량 model
  • 차량 속도
  • Heading Angle

Visual Odometry

카메라 영상의 Frame과 Frame 차이를 비교하는 방식을 통해 Odometry를 계산하는 기술이며 6-DOF의 궤적을 계산
이동속도가 너무 빠르거나, Frmae Drop 등이 발생할 때 정확도 급격히 감소
Wheel Odometry, IMU Odometry, Visual Odometry를 전부 Fusion하여 사용하면 정확도 향상에 도움이 됨
T265 Tracking Camera : Intel RealSense 계열, 내부적으로 Visual Odometry 기능, Visual SLAM 기능 포함됨

Transformation

TF는 Frame 사이의 변환 관계를 나타내는 Topic
변환 관계를 정리 시 Tree의 형태로 확인 가능
일반적으로 Reference Frame을 기준으로 Sensor Data값이 어떻게 들어 오는지 변환하여 사용하거나, Odometry 정보를 나타낼 때 사용


3D - 3D 사이의 좌표 변환 관계인 6-DOF info

  • x, y, z
  • roll, pitch, yaw

TF Demo
http://wiki.ros.org/tf2

$ sudo apt install ros-melodic-turtle-tf2 ros-melodic-tf2-tools ros-melodic-tf
$ roslaunch turtle_tf2 turtle_tf2_demo.launch
profile
Autonomous driving vision

0개의 댓글