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만을 이용하여 궤적을 추정하면 에러가 누적됨
- 해결책
- 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 |