# SLAM

#### SLAM의 기본 개념

SLAM(Simultaneous Localization and Mapping)은 로봇이 처음 보는 공간에서 스스로 위치를 파악하고 그 공간의 지도를 만들어 나가는 기술이다. 이 기술의 핵심은 로봇이 이동하면서 자신이 어디에 있는지(위치 추정)와 주변이 어떻게 생겼는지(지도 작성)를 동시에 해결하는 것이다.

SLAM은 크게 두 가지 문제를 해결해야 한다. 첫째, 로봇이 현재 어디에 있는지를 알아내는 것이고, 둘째, 로봇이 이동하면서 수집한 데이터를 기반으로 그 주변 환경의 지도를 만드는 것이다. 이 두 가지는 서로 긴밀하게 연결되어 있다. 즉, 위치를 알지 못하면 정확한 지도를 만들 수 없고, 반대로 지도가 없으면 위치를 정확히 파악하기 어렵다.

#### SLAM이 작동하는 방식

SLAM이 작동하기 위해서는 로봇이 주변 환경에서 정보를 수집할 수 있어야 한다. 이를 위해 로봇은 다양한 센서를 사용한다. 대표적인 센서로는 카메라, 거리 측정기, 그리고 로봇의 움직임을 감지하는 센서가 있다. 이 센서들은 로봇 주변의 물체나 장애물, 또는 특정한 특징을 인식하고 이를 통해 로봇이 어디에 있는지를 추정할 수 있도록 돕는다.

로봇이 움직이면서 이 센서들로부터 받은 정보를 바탕으로, 먼저 자신의 위치를 예측한다. 그 다음, 현재의 위치가 맞는지 확인하기 위해 새로운 센서 데이터를 비교하여 조정한다. 이 과정이 반복되면서 로봇은 점점 더 정확한 위치를 파악할 수 있게 된다.

#### 지도의 생성

로봇이 주변 환경을 탐색하면서 수집한 정보는 곧바로 지도를 만드는데 사용된다. 이 지도는 로봇이 자신이 지나온 경로를 기억하고, 나중에 그 경로를 다시 돌아갈 때 참고할 수 있도록 한다.

로봇이 만들어내는 지도는 여러 가지 형태로 나타날 수 있다. 예를 들어, 어떤 지도는 로봇이 지나온 길에 따라 선으로만 표시될 수 있고, 또 다른 지도는 더 세밀하게 공간의 구체적인 구조를 보여줄 수도 있다. 지도는 로봇이 새로운 장소를 탐색하고, 그 장소에서 다시 길을 찾는 데 도움을 준다.

#### 위치 추정과 지도 작성의 상호작용

SLAM에서 위치 추정과 지도 작성은 서로를 돕는 과정이다. 로봇이 정확한 위치를 알아야 지도도 정확하게 그릴 수 있고, 반대로 정확한 지도가 있어야 로봇이 현재 위치를 더 정확히 알 수 있다. 이 상호작용이 SLAM의 핵심이며, 이를 통해 로봇은 완전히 새로운 환경에서도 자신이 어디에 있는지 파악하고, 그곳의 지도를 작성해 나갈 수 있다.

이 과정에서 중요한 점은, 로봇이 같은 장소를 여러 번 지나갈 때 이전에 수집한 정보를 활용하여 현재 위치를 더 정확하게 파악할 수 있다는 것이다. 이로 인해 시간이 지나면서 점점 더 정밀한 위치 추정과 지도가 가능해진다.

***

관련 자료:

* Thrun, S., Burgard, W., & Fox, D. (2005). *Probabilistic Robotics*. MIT Press.
* Durrant-Whyte, H., & Bailey, T. (2006). Simultaneous Localization and Mapping: Part I. *IEEE Robotics & Automation Magazine*.
* Davison, A. J., et al. (2007). MonoSLAM: Real-Time Single Camera SLAM. *IEEE Transactions on Pattern Analysis and Machine Intelligence*.
