[ROS2] Localization

TaerinLog·2025년 10월 28일

Localization

  • 로봇이 지도(map) 상에서 자신의 위치를 계속 추정하고 보정하는 과정
    ㄴ “나는 어디에 있지?”를 실시간으로 계산하는 기술
  • 위치를 추정하려면
    ㄴ 1. 지도(map): 내가 실제로 존재하는 세계의 기준
    ㄴ 2. 이동량(odom): 내가 움직였다고 ‘생각하는’ 상대 이동
    → 두 기준의 관계를 알아야 함

그래서 각각의 Frame(좌표계) 이 필요함

Frame 개념

  • ROS2에서 Frame = 좌표계 (Coordinate Frame)
  • 로봇의 모든 부품(센서, 휠, 본체)은 서로 다른 기준점을 가짐
    → 이를 하나의 통합 좌표계로 묶기 위해 TF(Transform) 시스템을 사용

주요 Frame

Frame 이름기준역할생성 방식
map전역 좌표계 (Global)로봇이 지도 위에서 실제 어디 있는지 나타냄AMCL / SLAM
odom지역 좌표계 (Local)로봇이 출발점 기준으로 얼마나 움직였는지Wheel Encoder / IMU
base_footprint로봇 중심 (바닥 기준)로봇의 실제 위치, 회전 중심점URDF
base_link로봇 중심 (3D 기준)base_footprint와 유사하지만 pitch/roll 포함URDF / TF
laser / camera_link센서 기준 좌표계각 센서의 위치와 방향Sensor driver

Frame Tree

map
 │ (Localization: AMCL이 map↔odom 관계를 보정)
 │ (로봇이 실제 지도 상에서 어디 있는지를 추정하고 보정함)
 ↓
odom
 │ (Odometry: 휠 인코더·IMU가 계산)
 │ (바퀴 회전량, IMU 등으로 로봇 이동을 계산 (누적 오차 발생 가능))
 ↓
base_footprint
 │
 │ (URDF로 연결,	로봇의 실제 중심점과 3D 모델의 관계 정의)
 ↓
base_link (카메라, LiDAR 등의 위치 관계 정의)
 │
 ├── laser
 └── camera_link
profile
taerin

0개의 댓글