로봇이 처음 가보는 공간에서 스스로 움직이려면 무엇이 필요할까요?
조금만 생각해보면 답은 꽤 단순해 보입니다.
내가 지금 어디에 있는지 알아야 하고, 주변 공간이 어떻게 생겼는지도 알아야 합니다.
그런데 문제는 이 두 가지가 서로 완전히 분리되어 있지 않다는 점입니다. 오히려 이상할 정도로 서로 강하게 얽혀 있습니다. 위치를 알려면 지도가 필요하고, 지도를 만들려면 내가 어떻게 움직였는지를 알아야 하기 때문입니다. 바로 이 지점에서 등장하는 개념이 SLAM입니다.
이번 글에서는 SLAM의 세부 알고리즘으로 바로 들어가기 전에, 먼저 SLAM이 어떤 문제를 풀기 위해 등장했는지, 그리고 왜 이 문제가 자율주행 로봇에서 그렇게 중요한지 차근차근 정리해보겠습니다.
SLAM이란 무엇인가
SLAM은 Simultaneous Localization and Mapping의 약자입니다.
이 말을 그대로 풀어보면 다음과 같습니다.
- Localization: 로봇이 현재 어디에 있는지 추정하는 문제
- Mapping: 로봇이 주변 환경의 지도를 만드는 문제
- Simultaneous: 이 두 가지를 동시에 수행한다는 뜻
즉, SLAM은 단순히 지도만 만드는 기술도 아니고, 단순히 위치만 찾는 기술도 아닙니다.
정확히는 위치 추정과 지도 작성을 동시에 해결하는 문제라고 이해하는 편이 더 자연스럽습니다.
처음 보면 꽤 당연해 보일 수도 있습니다.
위치도 찾고 지도도 만들면 되는 것처럼 보이기 때문입니다.
그런데 실제로는 이 둘이 서로를 필요로 하기 때문에, 생각보다 훨씬 까다로운 문제가 됩니다.
Localization은 무엇인가
먼저 Localization부터 보겠습니다.
Localization은 지도가 주어진 상황에서, 그 지도 안에서 현재 내 위치를 찾는 문제입니다.
이걸 아주 직관적으로 생각해보면 이런 상황입니다.
낯선 공간에 들어갔는데, 다행히 손에는 그 공간의 지도가 한 장 있습니다. 이제 주변을 둘러보면서 눈에 보이는 단서들을 지도와 비교합니다. 오른쪽에 특정한 지붕이 보이고, 왼쪽에 눈에 띄는 건물이 보인다면, 지도 위에서 그런 조합이 나타나는 위치를 하나씩 좁혀가며 “내가 지금 여기쯤 있구나”라고 판단할 수 있습니다.
핵심은 간단합니다.
지도가 있으니 위치를 찾을 수 있다는 점입니다.
다시 말해 localization은 완전히 아무 정보도 없는 상태에서 갑자기 위치를 맞히는 문제가 아닙니다. 눈에 보이는 것만으로는 부족하고, 그것을 비교할 기준이 필요합니다. 로봇 입장에서는 그 기준이 곧 지도입니다.

Mapping은 무엇인가
이번에는 반대로 Mapping을 보겠습니다.
Mapping은 이동 정보가 주어졌을 때 주변 환경의 지도를 만들어가는 문제입니다.
이것도 일상적인 감각으로 생각해보면 이해가 쉽습니다.
처음 가는 건물 안을 걸어다니면서 복도를 지나고, 문을 보고, 계단을 지나고, 방의 위치를 기록한다고 해보겠습니다. 그런데 이때 단순히 “무언가를 봤다”만 기록해서는 지도가 잘 만들어지지 않습니다. 중요한 것은 언제, 어디서, 얼마만큼 이동한 뒤에 그것을 봤는가입니다.
예를 들어 몇 걸음을 이동한 뒤 오른쪽에서 벽을 봤고, 조금 더 전진한 뒤 왼쪽에서 문을 봤고, 다시 방향을 바꾼 뒤 앞쪽에서 장애물을 봤다면, 이런 관측들을 이동 궤적과 함께 누적하면서 공간 구조를 점점 그려갈 수 있습니다. 로봇공학에서는 이렇게 관측의 기준이 되는 대상들을 종종 랜드마크처럼 다루게 됩니다.
즉 mapping의 핵심은 이렇습니다.
내가 어떻게 움직였는지 알아야, 지금 본 물체들이 공간 속 어디에 있는지 누적해서 그릴 수 있다는 것입니다.
문제는 여기서부터 시작된다
이제 Localization과 Mapping을 나란히 놓고 보면 묘한 구조가 보입니다.
Localization은 지도가 있어야 잘 됩니다.
반대로 Mapping은 이동 정보가 있어야 잘 됩니다.
그런데 이동 정보는 어디서 올까요?
로봇이 자신이 얼마나 이동했는지 알려면 결국 어느 정도는 자기 위치 변화를 알아야 합니다.
그리고 위치 변화를 정확히 추정하려면, 다시 주변 환경에 대한 정보가 필요해집니다.
정리하면 구조는 이렇습니다.
- 위치를 알려면 지도 정보가 필요하다
- 지도를 만들려면 위치 변화 정보가 필요하다
이게 바로 SLAM이 어려운 이유입니다. 이 구조는 흔히 닭이 먼저냐 달걀이 먼저냐와 비슷한 문제로 비유됩니다. 둘 다 필요해 보이는데, 둘 다 서로를 전제로 하기 때문입니다.
처음 보면 약간 순환논리처럼 느껴질 수도 있습니다.
지도 없이는 위치를 못 찾고, 위치 없이는 지도를 못 만든다니 출발 자체가 불가능해 보이기 때문입니다.

그래서 SLAM은 두 문제를 동시에 푼다
SLAM의 핵심은 바로 여기 있습니다.
Localization을 완벽히 끝낸 다음 Mapping을 하는 것도 아니고, Mapping을 완성한 뒤 Localization을 하는 것도 아닙니다. 둘 중 하나를 먼저 끝내려 하면 애초에 출발이 막히기 쉽기 때문입니다.
그래서 SLAM은 두 문제를 동시에 조금씩 개선해나가는 방식으로 접근합니다.
로봇은 주행하면서 센서로 주변을 관측합니다. 카메라, LiDAR, IMU, 휠 오도메트리 같은 센서들이 이런 역할을 맡습니다. 그런 다음 현재 관측과 이전 관측을 비교해 “내가 얼마나 움직였는지”를 추정하고, 그 정보를 바탕으로 “환경이 어떻게 생겼는지”를 누적해갑니다. 동시에, 이렇게 누적된 지도는 다시 현재 위치를 더 안정적으로 잡는 데 도움을 줍니다.
결국 SLAM은 이렇게 이해하면 좋습니다.
완벽한 지도도 없고, 완벽한 위치도 없는 상태에서 시작하지만,
센서 관측과 이동 정보를 이용해 둘을 함께 점점 더 나은 방향으로 보정해가는 문제
이 표현이 SLAM의 본질에 꽤 가깝습니다.
왜 SLAM이 중요한가
SLAM이 중요한 이유는 단순합니다.
로봇이 사전에 모든 환경의 지도를 완벽하게 받아야만 움직일 수 있다면, 현실 세계에서는 활용 범위가 크게 제한됩니다.
새로운 건물, 새로운 창고, 새로운 공장 라인, 새로운 실내 공간에 들어갈 때마다 사람이 일일이 지도를 준비해줘야 하기 때문입니다.
하지만 SLAM을 사용하면 로봇은 이전에 가본 적 없는 환경에서도 주변을 관측하며 자신의 위치를 추정하고, 동시에 그 환경의 지도를 갱신해나갈 수 있습니다. 바로 이 능력 때문에 SLAM은 자율주행 로봇, 자율주행 차량, 드론, 물류 로봇, 서비스 로봇 같은 분야에서 매우 중요한 기반 기술로 취급됩니다.
예를 들면 이런 식입니다.
- 실내 배송 로봇은 처음 가보는 복도에서도 길을 찾아야 합니다.
- 물류 로봇은 창고 배치가 조금 달라져도 다시 적응해야 합니다.
- 드론은 GPS가 불안정한 공간에서도 주변 구조를 이용해 비행해야 합니다.
결국 SLAM은 단순한 지도 작성 기술이 아니라,
낯선 공간에서 스스로 길을 찾게 만드는 기술에 가깝습니다.
센서가 중요한 이유
SLAM을 이해할 때 센서를 빼놓고 이야기하기는 어렵습니다.
로봇은 사람처럼 “오른쪽에 빨간 건물이 보이니 나는 여기쯤 있겠구나”라고 직관적으로 판단하지 못합니다. 대신 센서로 관측한 수치를 사용합니다. 예를 들어 어떤 방향에 벽이 있고, 특정 거리만큼 떨어져 있고, 이전 시점과 비교했을 때 카메라 특징점이 어떻게 이동했는지, IMU가 회전을 어떻게 감지했는지 같은 정보들이 모두 위치 추정과 지도 생성의 재료가 됩니다.
그래서 SLAM을 공부한다는 것은 단순히 알고리즘 이름을 외우는 것이 아닙니다.
센서가 어떤 정보를 주고, 그 정보가 위치 추정과 지도 생성에 어떻게 기여하는지를 함께 이해해야 합니다.
이 지점부터는 자연스럽게 다음 질문이 따라옵니다.
- 로봇은 위치를 어떤 기준으로 표현할까?
- 센서가 본 좌표와 로봇 몸체의 좌표는 어떻게 연결될까?
- 월드 좌표와 로컬 좌표를 왜 굳이 나눠 쓸까?
바로 여기서 다음 편의 주제인 좌표계가 등장합니다. 좌표계 개념을 이해해야 이후에 TF, URDF, 센서 프레임, 내비게이션 같은 내용도 자연스럽게 이어집니다.
마무리
이번 글에서는 SLAM의 출발점을 정리해봤습니다.
Localization은 지도가 있을 때 내 위치를 찾는 문제이고,
Mapping은 이동 정보가 있을 때 지도를 만드는 문제입니다.
그런데 현실에서는 이 둘이 서로를 필요로 합니다. 그래서 로봇공학에서는 이 두 문제를 따로 떼어 생각하지 않고, 동시에 추정하는 방식, 즉 SLAM으로 다룹니다.
결국 SLAM의 핵심은 화려한 알고리즘 이름보다 먼저,
위치와 지도는 서로 얽혀 있다는 문제 구조를 이해하는 데 있습니다.
이걸 이해하고 나면 이후에 등장하는 좌표계, TF, 오도메트리, 센서 프레임 같은 개념도 왜 필요한지 훨씬 자연스럽게 받아들일 수 있습니다.
다음 글에서는 SLAM을 이해하기 위해 꼭 필요한 선수 지식인 좌표계와 기준 프레임 이야기를 정리해보겠습니다.
'Study Archives > Robotics' 카테고리의 다른 글
| Nav2(Path Planning) (1) | 2026.04.10 |
|---|---|
| [SLAM의 이해 ⑤] Mapping과 Localization (0) | 2026.04.10 |
| [SLAM의 이해 ④] URDF와 Xacro (0) | 2026.04.10 |
| [SLAM의 이해 ③] TF와 좌표 변환 (0) | 2026.04.10 |
| [SLAM의 이해 ②] 좌표계와 프레임 (0) | 2026.04.10 |