본문 바로가기
SLAM

[SLAM-Course] SLAM 이란? (Introduction to Robot Mapping)-01

by 항공학도 2020. 6. 18.

기본참고 교재: Cyrill Stachniss 교수님의 Robot Mapping 강의

아주 오래전부터 공부하려고 했었던 Robot Mapping 강의를 들으면서 그 내용을 정리하여 기록해두고자 합니다. 이 강의는 robot mapping (SLAM)에 관한 SOTA system의 내용들 (Kalman filter, EKF, UKF, Particle filter, Graph-based Approach...) 을 다루고 있기 때문에 SLAM에 관한 기초를 공부하기에 좋은 자료라고 생각 됩니다.

그럼 'SLAM이란?' 키워드를 가지고 Robot Mapping 제 1강을 시작하도록 하겠습니다.

Robot: 센서(카메라, 라이다 등)를 달고 환경으로 이동하는 디바이스
          이동수단은 바퀴, 다리, 날개, 프로펠러등 다양할 수 있다.

Mapping: 환경에 대한 정보를 얻고 판단(Decision Making)을 하기 위해서 로봇이 사용하는 
              환경에 대한 일부분의 representation/model.

 

Robot Mapping(SLAM)에 관해 연관된 topic들은 다음과 같다. (1~4 번까지가 robot mapping 강의에서 다루는 부분)

1. State Estimation: 환경속에서 로봇의 state(위치, 속도 등)을 추정하는 것 - Bayes filter등의 방법 사용

2. Localization: state estimation의 한 부분, 로봇이 어디에 있는지 알아 내는 것. 주로 position, orientation을 추정

3. Mapping: 환경에 대한 모델을 추정하는 것. (벽이 나로부터 얼마 떨어져 있는지 등등)

4. SLAM: 2와 3을 동시에 하는 것. 내가 어디있는지 알기위해서는 환경을 알아야 하고 환경을 알기위해서는 내 위치를 알아야 함.

5. Navigation: 현재 위치에서 목적지까지 로봇이 결정하면서 이동하는 것 (can make it's own decision).

6. Motion Planning:특정한 제약조건 (최적 경로, 안전경로 등)을 만족시키는 motion을 계획하는 것

 

Localization과 Mapping의 차이

로봇이 t=1, t=2, t=3의 각각의 서로 다른 시간대에 있고 특정 궤적을 따라 환경속에서 이동한다.
그림에서 노란색 별은 landmark를 의미하고, 이는 로봇이 관측할 수 있는 무언가를 의미한다.
만약에 로봇이 정원에서 움직이고 있다면 나무들이 랜드마크가 될 것이고 나무가 20그루가 있다면 20개의 랜드마크가 있는 것이다.
로봇은 랜드마크의 위치를 추정하고 추정된 랜드마크 위치로부터 로봇의 위치를 추정한다.
대시선(- - -)은 관측가능한 것을 나타낸다.
따라서 로봇은 각각 t1에서는 2개의 랜드마크, t2에서는 1개, t3에서는 2개의 랜드마크를 볼 수 있다. 

localization: landmark의 위치를 알 때 (주변 환경에 대한 정보를 알 때), 이로부터 로봇의 위치를 알아 내는 것. 그림의 t=2에서처럼 랜드마크위 위치로부터 현재 추정된 위치정보를 수정하는 correction이 일어난다.
이때 correction의 정확도는 sensor와 controller의 정확도에 따라 달라진다.

mapping:  Noisy한 sensor데이터를 통해 현재 위치에서 랜드마크의 위치를 그리는 것. 센서의 uncertainty를 알고 있다면 추정된 위치에서 제한된 범위 내에 실제 위치가 있음을 추정할 수 있다(within a certain bound).

그래서, 너무나 당연한 얘기이지만 현재위치를 잘 알면 맵을 잘 그릴 수 있고 맵을 잘 그리면 현재위치를 더 잘 추정할 수 있다!

 

 

 

댓글