**Autonomous driving tech./*SLAM

[SLAM] Introduction to SLAM

2wnswoo 2024. 12. 18. 22:08

Simultaneous Localization and Mapping

Visual localization 

  - 로봇에 장착된 센서만을 활용 ( 외부 장치 X )

  - GPS가 잘 작동하지 않는 환경 ( Indoor environment, Downtown 등 )

Mapping 

  - 사전에 주변 맵이 만들어지지 않은 또는 만들어질 수 없는 환경

  - 경로 계획에 대한 정보를 제공 ( Private area, Disaster area 등 )

 

  다양한 위치 추정 방법

가이드 레일, QR 코드, GPS 센서

  - 가이드 레일, QR 코드를 놓을 수 없는 경우가 대부분임

  - GPS 전파가 잘 닿지 않는 곳이 있음( 지하, 실내공간, 도심지역 등 )

  - 신뢰할 수 있지만 범용적이지 못함( 특정 상황이나 용도에만 적합 )

  - 환경적인 제약이 존재

 

*가이드 레일:

로봇이나 드론과 같은 자율주행 시스템에서 경로를 안내하는 역할을 하는 구조물을 의미

 

로봇의 휠 인코더, 카메라, 레이저, IMU 센서

  - 환경에 대한 간접적인 물리량을 측정

  - 환경에 대해 추가적인 설치 없이 위치 추정 문제를 해결

  - 환경적인 제약이 적음

 

*휠 인코더:

로봇의 휠 회전 수를 측정하는 센서로 로봇이 이동한 거리와 방향을 추적하는 데 사용함

 

Visual SLAM

  - 카메라 센서를 주로 이용한 위치 추정 및 지도 작성 방법

 

카메라의 동작 방식에 따른 분류

  - 단안 카메라, 양안 카메라, 깊이 카메라

 

--

 

단안 카메라

  - 한 개의 카메라를 움직여 물체까지의 거리를 추정

  - 깊이 추정 알고리즘을 이용해 각 픽셀의 시차( disparity )를 계산

  - 영상에서 특징점을 추출하고 영상간의 특징점 매칭을 통해 3차원 포인트를 계산

  - 장점

    - 다른 방법들에 비해 간단

    - 계산량이 적고 실시간에 적합

  - 단점

    - Disparity는 계산할 수 있지만 실제적인 depth는 알 수 없음

      - Baseline의 부재

    - 정확한 Scale 정보를 알 수 없음

 

양안 카메라

- 거리가 고정된 두 개의 카메라를 이용하여 물체까지의 거리를 추정

- Baseline : 두 카메라 사이의 고정된 거리

  - Baseline이 멀수록 먼 거리를 측정 가능

 

- 장점

  - 단안 카메라 경우 보다 정확한 위치 추정 능력

  - Dense한 맵 생성 가능

 

- 단점

  - 스테레오 매칭 알고리즘의 계산이 복잡

  - 조명 변화에 취약

 

깊이 카메라

- 적외선 구조광 방식 또는 레이저 광선의 비행시간을 측정해 깊이를 예측

- 현재 일반적으로 사용되는 깊이 카메라

  - Kinect V1, Kinect V2

  - Xtion Pro Live

  - Intel RealSense

  - Google Tango

 

- 장점

  - 비교적 정확한 깊이 값 예측이 가능

  - Dense한 맵 생성 가능

  

- 단점

  - 좁은 측정 범위

  - 작은 시야각

  - 반사, 투과성 재질의 물체 깊이 측정 불가

  - 주로 실내 응용에서 사용됨

 

Lidar 센서

- 레이저 광선의 비행시간을 측정해 깊이를 예측

- 측정 가능 거리 및 공간 분해능이 높음

 

- 종류

  - 2D 라이다 / 3D 라이다

  - Spinning / Solid-state

 

- 주요회사

  - Velodyne

  - Robosense

  - Ouster

  - SOSLab

전통적인 Visual SLAM 프레임워크

 

Visual Odometry

- Frontend라고 불림

- 인접한 이미지 사이의 카메라 움직임

- 카메라의 동작에 대한 정량적인 측정이 필요

  - 회전 및 이동

- 카메라와 3차원 공간 점 사이의 기하학적 관계를 이해

- Drift error

  - visual odometry만을 이용하여 궤적을 추정하면 에러가 누적됨

카메라 사이에 에러가 누적되어 큰 차이를 만들어냄, 왼 오 그래프 차이 Drift error 발생

- 해결책

  - Backend optimization과 loop closure detection의 필요

Backend Optimization 

- Sensor noise

  - 정밀한 센서라도 노이즈는 있기 마련

  - 저렴한 센서는 측정 오류가 큼

  - 일부 센서는 자기장과 온도에 영향을 받음

 

- Backend 최적화 

  - 노이즈가 많은 데이터로부터 전체 시스템의 상태를 추정하는 방법( state estimation )

  - Frontend에서 발생한 Drift 에러를 제거

 

- Frontend에서는 Backend에 최적화 할 데이터와 데이터의 초기 값을 제공

- Backend 최적화의 종류

  - 필터 기반 ( Kalman filter, Particle filter )

  - 비선형 최적화 기반 ( Bundle adjusmetn, pose graph optimization )

 

Loop Closure Detection

- 현재 위치가 이전에 방문한 곳인지를 판단

- QR 코드 활용

  - 환경적인 제약이 존재

- 카메라 영상을 활용

  - 이미지 간의 유사성을 판단

- Backend에서는 루프 폐쇄에 대한 정보를 받아서 위치 추정과 지도 작성에 반영

- Drift 에러를 제거하고 전역적으로 일관된 맵을 생성

Mapping 

- 환경 맵을 만드는 과정

- 응용 프로그램에 따라 다르게 구현

  - 무인 청소 로봇

    - 2차원 지도를 충분

  - 자율주행 드론

    -6DOF이므로 3차원 지도가 필요

- Map representation

  - Pointcloud

  - Voxel

  - Surel

  - Occupancy grid map

 

- 맵 표현 밀도에 따른 종류

  - Sparse, dense, semi-dense map

 

Modern State of the Art Systems

- Sparse SLAM

  - Only use a small selected subset of the pixels ( features ) from a monocular color camera

  - Fast and real time on CPU but it produces a sparse map ( point cloud )

  - Landmark-based or feature-based representations

 

- ORB SLAM

  - One of SOTA frameworks in the sparse SLAM category

  - Complete SLAM system for monocular camera

  - Real-time on standard CPUs in a wide variety of environments

    - small hand-held indoors

    - drones flying in industrial environments

    - cars driving around a city

- Dense SLAM

  - Use most or all of the pixels in each received frame

  - Or use depth images from a depth camera

  - It produces a dense map but GPU acceleration is neccessary for the real-time operation

  - Volumetric model of surfel-based representations

 

- InfiniTam

  - One of the SOTA frameworks in the Dense SLAM category

  - Multi-platform framework for real-time, large-scale depth fusion and tracking

  - Densely reconstructed 3D scene

- Direct method ( semi-dense SLAM )

  - Make use of pixel intensities directly

  - Enable using all information in the image

  - It produces a semi-dense map

  - Higher accuracy and robustness in paricular even in environments with little keypoints

 

- LSD SLAM

  -  Highly cited SLAM framework in the direct method SLAM category

  -  Large-scale, consistent maps of the environment

  - Accurante pose estimation based on direct image alignment

--

 

- Lidar SLAM

  - Make use of the LiDAR sensor input for the localization and mapping

  - Autonomous driving purpose-oriented in outdoor environment

 

- LiDAR Odometry and Mapping, LOAM algorithm

  - One of the SOTA frameworks in the LiDAR SLAM category

  - Very low drift error using the edge and planar features

  - Low computation complexity

 

--

 

 

'**Autonomous driving tech. > *SLAM' 카테고리의 다른 글

[SLAM] SLAM 종류 및 특징  (0) 2025.02.07
[SLAM] Position, Sensing, Path planning  (0) 2025.02.01
[SLAM] Image formation  (0) 2025.02.01