카테고리 없음

SLAM(simultaneous localization and mapping)

dohyeon2 2022. 4. 21. 15:58

목차

    제가 아는 선에서 정리하다보니 내용이 많이 부족합니다... ㅎㅎ 그냥 참고만 부탁드립니다. 

     

    SLAM이란? 

    : 우리가 눈으로 보는 3차원 공간에서 로봇(차량 등)이 이동하면서 주변을 탐색할 때, 로봇이 위치한 공간의 지도(map)를 그려줌과 동시에 현재 로봇의 위치를 추정하는 방법. 주로 Depth Camera 또는 Lidar 센서를 이용해  주변의 환경 지도를 작성함과 동시에 2차원or 3차원 상의 위치를 추정합니다.

    그림 1. 2차원 SLAM (X,Y 축)

    카메라 또는 센서의 위치를 2차원 평면상에 투영하여 visualize

    그림 2. 3차원 SLAM (X,Y,Z 축)

    카메라 또는 센서의 위치를 3차원 상에 visualize

     

     

    Lidar를 이용한 SLAM 

    : 자율주행 차량에서 주로 사용되는 방법이며 아래와 같은 순서로 동작됩니다.

     

    1. Lidar를 이용해 3차원 point cloud 데이터 획득 (그림2에 각 포인트는 x,y,z 3차원 정보 담고있음)

    (이때 point cloud 데이터는 Lidar 레이저 센서를 원점(0,0,0)으로 놓고 각 포인트까지의 x,y,z 거리 정보가 담깁니다.)

     

    2. 360도로 회전하는 Lidar 센서가 실시간으로 획득하는 point cloud 데이터를 3차원 map에 뿌려주면 그림 2와 같아집니다.

     

    3. 각 장면별 특징점을 추정

    예를들어 특정 곡률을 가진 포인트 or 바닥과 같은 평면 포인트와 같이 명확한 특징이 있는 포인트를 특징점으로 사용

     

    4. 각 장면별 유사 특징 매칭

    각 장면별로 유사한 특징을 서로 매칭

    그림 3. 특징점 매칭 예

    5. 매칭된 특징점을 기반으로 현재 Lidar 센서의 위치를 추정하고 visualize