FOSCAR-(Autonomous Driving)/ROS 스터디

[2025 ROS 스터디] 조원영 #4주차- SLAM과 내비게이션

reveroftrillion 2025. 5. 9. 16:35
반응형

1. 내비게이션과 구성 요소

  • Navigation = 차량 자동 항법 장치
  1. 위치 : 로봇의 위치를 계측/측정하는 기능
    • GPS (Global Positioning System)
      • 오차
      • 날씨
      • 실외
    • Indoor Positioning Sensor (IPS)
      • Landmark (Color, IR Camera)
      • Indoor GPS
      • Wifi SLAM
      • Beacon
    • 추측 항법 (Dead Reckoning)
      • 양 바퀴 축의 회전 값을 이용
      • 이동 거리와 회전 값을 계산, 위치 측정
      • 바닥 슬립, 기계적, 누적 오차 발생
      • IMU 등의 관성 센서, 필터로 위치 보상
      • 칼만필터 시리즈
        • 잡음이 포함되어 있는 선형 시스템에서 대상체의 상태를 추적하는 재귀 필터
        • 베이즈 확률 기반
        • 예측 (Prediction)
          • 모델을 상정하고 이 모델을 이용해 이전 상태로부터 현재 시점의 상태를 예측
        • 보정 (Update)
          • 앞 단계의 예측 값과 외부 계측기로 얻은 실제 측정 값 간의 오차를 이용해 더욱
          • 정확한 상태의 상태 값을 추정하는 보정
      • 필요한 정보
        • 양 바퀴 축의 엔코더 값 E (모터 축인 경우 기어비로 재계산)
        • 바퀴 간 거리 D
        • 바퀴의 반지름 r
      • 한계점 : 어디까지나 상대위치이며, 추정값일 뿐이다.
  2. 센싱 : 벽, 물체 등의 장애물을 계측하는 기능
    • 거리 센서
      • LRF
      • 초음파 센서
      • 적외선 거리 센서 (PSD)
    • 비전 센서
      • 스테레오 카메라
      • 모노 카메라
      • 전 방향 옴니 카메라
    • Depth Camera
      • SwissRanger
      • Kinect-2
      • RealSense
      • Kinect
      • Xtion
      • Carmine(PrimeSense)
      • Astra
  3. 지도 : 길과 장애물 정보가 담긴 지도
    • 도로와 같은 기반 시설의 경우 디지털 지도도 가능
    • 병원, 카페, 회사, 가정집의 지도 → Privacy 문제 발생
    • 위치, 센싱 기능을 이용해 지도를 만듦 = SLAM
  4. 경로 : 목적지까지 최적의 경로를 계산하고 주행하는 기능
    • 내비게이션 (Navigation)
    • 위치 추정 (Localization / Pose estimate)
    • 경로 탐색 / 계획 (Path search and planning)
    • Dynamic Window Approach (DWA)
    • A 알고리즘 (A star)*
    • Potential Field
    • Particle Filter
    • Graph
  • 위치 + 센싱으로 지도를 만듦 = SLAM
  • 위치 + 센싱 + 지도로 경로를 만듦 = Navigation

2. SLAM 실습, 응용, 이론

  • SLAM = Simultaneous Localization And Mapping = 동시적 위치 추정 및 지도 작성
  • 많이 사용하는 패키지 = Gmapping, Cartographer
  • Gmapping
    • OpenSLAM에 공개된 SLAM의 한 종류
    • ROS에서 패키지로 제공
    • 특징
      • Rao-Blackwellized 파티클 필터
      • 파티클 수 감소
      • 그리드 맵
    • 하드웨어 제약 사항
      • X, Y, θ 속도 이동 명령
        • 차동 구동형 모바일 로봇 (Differential Drive Moblie Robot)
        • 전 방향 이동 로봇 (Omni-Wheel Robot)
      • 주행기록계 (Odometry)
      • 계측 센서 : 2차 평면 계측 가능 센서 (LRF, LiDAR, Kinect, Xtion 등)
      • 직사각형 및 원형의 로봇

  1. sensor_node 구동
    • Gmapping에 센서의 raw data를 전송
    • 형식 : sensor_msg/LaserScan
  2. teleop 노드 실행
    • velocity 값을 turtlebot3_core로 보냄
  3. core에서 로봇을 구동
  4. tf형태로 Gmapping에 센서의 위치 정보를 전달
  5. 센서와 turtlebot3_core에서 전달 받은 센서 데이터와 센서의 위치 정보로 지도 작성
  6. 지도 정보를 map_server에 전달
  7. map_server에 저장

3. 내비게이션 실습, 응용, 이론

  • Dynamic Window Approach (DWA) : Local Plan에서 주로 사용
  • 로봇의 속도 탐색 영역 (Velocity Search Place)에서 로봇과 충돌 가능한 장애물을 회피하면서
  • 목표점까지 빠르게 다다를 수 있는 속도를 선택하는 방법

Goal에 알맞게 도착하기 위한 병진속도 (v)와 회전속도 (w)를 잘 구해야 한다.

반응형