로봇/주행

SLAM (Simultaneous Localization and Mapping) 개요

짱짱이_ 2023. 11. 8. 23:05

주행은 인지-판단-제어의 순서로 진행된다.

다양한 센서를 통해 주변 상황 파악, 탐색, 통신 등 인지하고 경로 생성과 같은 판단 과정을 거쳐 움직임과 관련된 제어 과정을 거친다. 이를 위해 다음의 사항들이 필요하다.

  • 정확한 지도
  • 현재 위치 파악
  • 목적지까지의 경로
  • 상황에 맞는 움직임 제어 (장애물 발견 등 예외사항에 대한 대처 등)

 

SLAM을 만들기 위한 작업은 크게 Frontend, Backend로 나뉜다.

  • Frontend
    센서로부터 얻은 데이터를 가공해 Odometry motion을 추정하는 작업을 말한다.

    1. 센서 데이터 처리: 로봇에 장착된 센서로부터 얻어지는 데이터를 처리한다. 주로 카메라, 라이다, IMU 등 센서로부터 얻은 데이터이다.
    2. 특징점 추출과 매칭: 센서 데이터에서 특징적인 포인트나 추출하고 이를 다른 프레임의 특징점과 매칭시킨다. 이러한 매칭은 프레임 간의 상대적인 위치 변화를 추정하는데 이용된다.
    3. 동시적 로봇 위치 및 특징점 위치 추정: 로봇의 현재 위치와 지도 상의 특징점들의 위치를 추정한다. 센서 데이터와 이전 프레임의 정보를 활용해 이루어진다.
    4. 업데이트: 센서 데이터의 연관성을 파악해 지속적으로 로봇의 위치와 환경들을 업데이트한다.


  • Backend
    Frontend에서 추정한 로봇의 위치, 특징점의 위치 등의정보를 활용해 지도를 최적화하고 루프 클로저 (Loop Closure)를 처리하는 작업이다.

    1. 지도 최적화: Frontend에서 얻어진 정보를 바탕으로 지도를 최적화하고 센서 데이터로부터 얻은 정보를 통합해 더 정확한 지도를 만든다.
    2. 루프 클로저 처리
    더보기
    루프 클로저는 로봇이 이전에 방문한 지역에 다시 돌아왔을 때 이를 알고 이전에 만들어진 지도와 현재의 지도를 일치시키는 작업을 말한다. 현재 센서 입력과 이전 센서 입력 사이의 유사성을 고려해 검출한다.
    3. 최적화 알고리즘 적용: 칼만 필터, 파티클 필터 등 최적화 알고리즘을 이용해 추정된 정보들을 정확하게 결합하고 로봇의 위치와 지도를 더 정확하게 추정한다.

 

https://hjdevelop.tistory.com/15

 

 

 

https://blog.naver.com/PostView.naver?blogId=ycpiglet&logNo=222153686510

 

 

https://blog.naver.com/PostView.naver?blogId=ycpiglet&logNo=222153686510

'로봇 > 주행' 카테고리의 다른 글

Landmark Detection (PFLD)  (0) 2023.12.09
Face Recognition  (1) 2023.10.22