DEV Community

Richard Minsoo Go
Richard Minsoo Go

Posted on

Localization Mapping and SLAM — Ch.04: 2D SLAM [KR]

STATERA Library · Series 02 · Volume 04 · Chapter 04 · KR
Source: https://github.com/Statera-Library/02_Vol_04_Localization_Mapping_and_SLAM/blob/main/04_2D_SLAM/04_2D_SLAM_KR.md

Volume 04. Localization, Mapping, and SLAM

Chapter 04. 2D SLAM

04.1 2D SLAM Fundamentals

2차원 동시 위치추정 및 지도작성(2D Simultaneous Localization and Mapping), 일반적으로 2D SLAM이라고 불리는 기술은 현대 자율주행 로봇 분야에서 가장 중요한 기반 기술 중 하나이다. 2D SLAM은 로봇이 미지의 환경에서 지도를 생성하는 동시에, 생성된 지도 내에서 자신의 위치를 추정할 수 있도록 해준다. 겉보기에는 단순한 문제처럼 보이지만 실제로는 로봇공학에서 가장 근본적인 문제 중 하나이다. 정확한 위치추정을 위해서는 지도가 필요하지만, 정확한 지도를 생성하기 위해서는 로봇의 위치를 알아야 하기 때문이다. 이러한 상호 의존적인 문제를 SLAM 문제라고 하며, 수십 년 동안 로봇공학 연구의 핵심 주제로 다루어져 왔다.

2D SLAM의 중요성은 현대 자율이동로봇(AMR)의 운영 요구사항을 살펴보면 쉽게 이해할 수 있다. 창고, 병원, 공장, 물류센터, 사무실, 쇼핑몰, 공항 및 산업 시설에서 운영되는 로봇들은 사전에 구축된 지도가 없거나 환경이 지속적으로 변하는 상황에 직면한다. 이러한 경우 로봇은 주변 환경을 스스로 탐색하고, 이동 가능한 지도를 생성하며, 자신의 위치를 지속적으로 추정해야 한다. 2D SLAM은 이러한 문제를 해결하기 위한 실용적이고 계산 효율적인 방법을 제공한다.

위치추정(Localization)은 로봇이 환경 내에서 자신의 자세(Pose)를 계산하는 과정이다. 일반적으로 자세는 X 좌표, Y 좌표, 그리고 진행 방향을 나타내는 회전 각도(Yaw)로 구성된다. 반면 지도작성(Mapping)은 센서를 이용하여 주변 환경을 표현하는 지도를 생성하는 과정이다. SLAM은 이 두 가지 문제를 별도로 다루지 않고 하나의 통합된 추정 문제로 해결한다. 즉 위치추정과 지도작성은 서로 영향을 주고받으며 동시에 해결되어야 하는 문제로 간주된다.

SLAM의 기원은 확률론적 로봇공학(Probabilistic Robotics)에 있다. 초기 로봇 시스템은 주로 Wheel Odometry에 의존하였다. Odometry는 바퀴 회전량, 조향각 및 차량 운동학 모델을 이용하여 이동 거리를 계산한다. 그러나 실제 환경에서는 바퀴 미끄러짐, 노면 상태 변화, 엔코더 오차, 기계적 마모 등의 영향으로 작은 오차가 지속적으로 누적된다. 따라서 장시간 주행 시 위치 오차가 크게 증가하게 된다.

SLAM은 환경 관측 정보를 이용하여 이러한 누적 오차를 보정한다. 로봇이 이동하면서 센서를 통해 주변 구조물을 관측하고, 현재 관측 결과를 과거 관측 결과와 비교함으로써 자신의 위치를 다시 계산한다. 이를 통해 Odometry만 사용할 때 발생하는 Drift를 지속적으로 수정할 수 있다.

대부분의 2D SLAM 시스템에서 핵심 센서는 2D LiDAR이다. 2D LiDAR는 수평면 상으로 레이저를 발사하여 주변 물체까지의 거리를 측정한다. 결과적으로 벽, 장애물, 선반, 설비 등의 형상을 나타내는 거리 데이터가 생성된다. LiDAR는 조명 조건에 거의 영향을 받지 않으며 높은 측정 정확도를 제공하기 때문에 실내 SLAM 분야에서 가장 널리 사용되는 센서가 되었다.

로봇은 일반적으로 아무 정보도 없는 환경에서 시작한다. 초기에는 지도도 존재하지 않고 환경 정보도 제한적이다. 로봇이 이동하면서 센서 데이터를 수집하면 점차 지도가 구축된다. 각각의 센서 관측은 지도에 새로운 정보를 추가하며, 동시에 로봇은 자신의 이동 경로를 추정한다. 시간이 지나면서 지도는 점점 완성되고 위치추정 정확도도 향상된다.

SLAM의 근본적인 어려움은 불확실성(Uncertainty)에 있다. 모든 센서 측정에는 노이즈가 존재하며, 모든 이동 추정에는 오차가 포함된다. 또한 사람, 차량, 지게차, 이동 장비와 같은 동적 객체가 환경에 존재할 수 있다. 따라서 SLAM은 확률적 추정 문제로 모델링된다. 현대 SLAM 시스템은 측정값을 절대적으로 신뢰하지 않고, 상태와 지도에 대한 확률 분포를 지속적으로 갱신한다.

2D SLAM의 핵심 개념 중 하나는 Scan Matching이다. Scan Matching은 연속적으로 획득된 LiDAR 스캔을 서로 정렬하는 과정이다. 로봇이 이동하면서 획득한 두 개의 스캔은 일부 영역이 중첩된다. 이 중첩 영역을 가장 잘 맞추는 변환을 계산함으로써 로봇의 실제 이동량을 추정할 수 있다. Scan Matching은 Odometry Drift를 줄이고 위치추정 정확도를 향상시키는 핵심 기술이다.

가장 잘 알려진 Scan Matching 알고리즘은 ICP(Iterative Closest Point)이다. ICP는 두 점군(Point Cloud) 사이에서 가장 가까운 점들을 찾고, 이들 간의 오차를 최소화하는 변환을 반복적으로 계산한다. ICP는 개념적으로 단순하지만 계산량이 크고 초기 위치 오차에 민감할 수 있다.

NDT(Normal Distributions Transform)는 또 다른 대표적인 Scan Matching 방법이다. NDT는 공간을 확률 분포 형태로 표현하여 스캔 정합을 수행한다. 일반적으로 구조화된 환경에서 높은 안정성과 계산 효율성을 제공하기 때문에 산업용 로봇 시스템에서 널리 사용된다.

Occupancy Grid Mapping은 2D SLAM에서 가장 많이 사용되는 지도 표현 방식이다. 환경을 격자(Grid) 형태로 분할하고 각 셀에 점유 확률을 저장한다. 셀은 점유됨(Occupied), 비어 있음(Free), 알 수 없음(Unknown)의 상태를 가진다. 센서 데이터가 누적될수록 확률 값은 Bayesian 업데이트를 통해 지속적으로 개선된다.

Bayesian Framework는 Occupancy Grid Mapping의 핵심 이론이다. 새로운 센서 데이터가 들어올 때마다 환경에 대한 로봇의 믿음(Belief)이 갱신된다. 반복적인 관측을 통해 점차 지도 신뢰도가 높아지고 불확실성이 감소한다.

Particle Filter SLAM은 2D SLAM 역사에서 매우 중요한 접근법이다. Particle Filter는 로봇 위치에 대한 여러 개의 가설(Hypothesis)을 유지한다. 각 Particle은 가능한 위치와 해당 지도 정보를 나타낸다. 새로운 센서 데이터가 들어오면 각 Particle의 신뢰도를 계산하고, 가능성이 낮은 Particle은 제거하며 가능성이 높은 Particle은 유지한다. 이를 통해 높은 불확실성 환경에서도 안정적인 위치추정이 가능하다.

FastSLAM은 대표적인 Particle Filter 기반 SLAM 알고리즘이다. 위치추정 문제와 지도 생성 문제를 분리하여 계산 효율성을 크게 향상시켰으며 이후 다양한 SLAM 알고리즘 발전의 기반이 되었다.

Graph-Based SLAM은 또 다른 주요 SLAM 계열이다. Graph SLAM에서는 로봇의 자세를 노드(Node)로, 센서 관측이나 이동 정보를 엣지(Edge)로 표현한다. 이렇게 생성된 그래프에 대해 최적화를 수행하여 전체 지도의 일관성을 유지한다.

Pose Graph Optimization은 현대 SLAM의 핵심 기술이다. 로봇이 이동하면서 그래프가 점점 커지면 최적화 알고리즘이 모든 자세를 동시에 조정하여 전체 오차를 최소화한다. 이를 통해 지도의 일관성과 위치추정 정확도가 향상된다.

SLAM에서 가장 중요한 개념 중 하나는 Loop Closure이다. 로봇이 장시간 이동하면 작은 오차가 계속 누적된다. 그러나 이전에 방문했던 장소를 다시 방문하면 시스템은 이를 인식할 수 있다. 이를 Loop Closure라고 한다. Loop Closure는 누적된 Drift를 수정하고 전체 지도의 왜곡을 제거하는 매우 중요한 역할을 한다.

Loop Closure가 없으면 복도가 휘어 보이거나 벽이 어긋나는 등 지도 왜곡이 발생할 수 있다. Loop Closure는 과거 관측과 현재 관측을 연결하여 이러한 문제를 해결한다.

SLAM 성능은 환경 특성에 크게 영향을 받는다. 창고, 병원, 공장과 같은 구조화된 환경은 안정적인 특징점을 제공하므로 SLAM 수행이 상대적으로 쉽다. 반면 넓은 개방 공간은 특징점이 부족하며, 반복적인 구조를 가진 창고는 위치 모호성을 유발할 수 있다. 또한 사람, 차량, 지게차와 같은 동적 객체는 위치추정 정확도를 저하시킬 수 있다.

이를 해결하기 위해 현대 SLAM 시스템은 Dynamic Object Filtering, Sensor Fusion, Outlier Rejection, Adaptive Parameter Tuning 등의 기법을 사용한다. LiDAR뿐 아니라 카메라, IMU, 엔코더, GNSS 등의 센서를 함께 사용하여 강인성을 높인다.

2D SLAM은 3D SLAM에 비해 계산량이 훨씬 적다. 환경을 2차원으로 표현하기 때문에 지도 크기, 스캔 처리 비용, 최적화 계산량이 크게 감소한다. 이러한 이유로 3D 기술이 발전한 현재에도 산업용 AMR에서는 여전히 2D SLAM이 널리 사용되고 있다.

병원 물류 로봇, 창고 AMR, 공장 운반 로봇, 서비스 로봇 등은 대부분 2D SLAM을 기반으로 운영된다. 구축된 지도는 경로계획(Path Planning), 장애물 회피(Obstacle Avoidance), 임무 수행(Mission Execution)의 기반이 된다.

최근에는 Gazebo, Isaac Sim, CARLA, Digital Twin 플랫폼과 같은 시뮬레이션 환경이 SLAM 개발에 적극 활용되고 있다. 실제 환경에서 시험하기 전에 다양한 조건에서 알고리즘을 검증할 수 있기 때문이다.

인공지능 기술 역시 SLAM에 적용되기 시작하고 있다. 머신러닝은 특징 추출, 장소 인식, Loop Closure 검출, Semantic Mapping 등에 활용되고 있다. Semantic SLAM은 단순한 기하학적 지도뿐 아니라 객체 수준의 의미 정보를 지도에 포함한다.

미래의 SLAM은 Semantic SLAM, Cloud SLAM, World Model 기반 SLAM으로 발전할 것으로 예상된다. 단순히 벽과 장애물을 저장하는 지도가 아니라, 의미 정보, 시간 정보, 운영 정보, 예측 정보까지 포함하는 지능형 세계 모델로 진화할 것이다.

그러나 SLAM의 근본적인 목적은 변하지 않는다.

"나는 지금 어디에 있는가?"

그리고

"내 주변 환경은 어떤 모습인가?"

이 두 가지 질문에 동시에 답하는 것이 SLAM의 본질이다. 이러한 능력은 오늘날 모든 자율주행 로봇의 핵심 기술이며, 현대 위치추정 및 자율주행 시스템의 기반이 되고 있다.

04.2 2D LiDAR-Based SLAM

2차원 LiDAR 기반 동시 위치추정 및 지도작성(2D LiDAR-Based Simultaneous Localization and Mapping), 일반적으로 2D LiDAR 기반 SLAM이라고 불리는 기술은 현대 자율이동로봇(AMR)에서 가장 널리 사용되는 위치추정 및 지도작성 기술 중 하나이다. 이 기술은 창고 로봇, 병원 물류 로봇, 공장 자동화 로봇, 서비스 로봇, 점검 로봇 및 다양한 산업용 AMR의 자율주행 기반 기술로 활용되고 있다. 2차원 LiDAR를 주요 센서로 사용하여 로봇은 미지의 환경에서 지도를 생성하는 동시에 생성된 지도 내에서 자신의 위치를 추정할 수 있다. 높은 거리 측정 정확도, 조명 변화에 대한 강인성, 비교적 낮은 계산 비용, 그리고 성숙한 소프트웨어 생태계 덕분에 2D LiDAR 기반 SLAM은 상용 자율주행 로봇의 대표적인 내비게이션 기술로 자리잡았다.

2D LiDAR 기반 SLAM의 기본 원리는 비교적 단순하지만 매우 강력하다. 2D LiDAR는 수평면 상으로 레이저를 발사하고 주변 물체까지의 거리를 측정한다. 이 과정에서 벽, 선반, 기계 설비, 가구, 장애물 및 구조물의 형상을 나타내는 거리 데이터가 생성된다. 로봇이 이동하면서 연속적으로 수집되는 LiDAR 스캔 데이터를 이용하여 SLAM 시스템은 로봇의 이동량을 추정하고 동시에 환경 지도를 구축한다.

비전 기반 시스템이 조명, 텍스처, 영상 특징점에 크게 의존하는 것과 달리 LiDAR는 물체까지의 실제 거리를 직접 측정한다. 따라서 창고, 병원 복도, 지하 시설, 산업 플랜트와 같이 조명이 일정하지 않은 환경에서도 안정적인 성능을 제공한다. 실제 환경에서는 조명 조건이 크게 변화할 수 있지만 구조물의 기하학적 형태는 비교적 일정하기 때문에 LiDAR 기반 접근법은 높은 신뢰성을 제공한다.

일반적인 2D LiDAR는 회전하는 레이저 송신기와 수신기로 구성된다. 센서가 회전하면서 180도, 270도 또는 360도 범위에 대한 거리 정보를 수집한다. 한 번의 회전 동안 수백 개에서 수천 개의 거리 측정값이 생성된다. 각 측정값은 센서 기준의 극좌표 형태로 표현되며, 이를 직교 좌표계(XY 좌표)로 변환하면 주변 환경의 2차원 구조를 표현할 수 있다.

SLAM 프로세스는 센서 데이터 수집에서 시작된다. LiDAR는 지속적으로 환경을 스캔하며, Wheel Encoder와 IMU는 로봇의 이동량을 측정한다. 초기에는 로봇이 환경에 대한 정보를 거의 가지고 있지 않지만, 이동하면서 점차 더 많은 환경 정보를 수집하게 된다. 연속적인 LiDAR 스캔은 서로 중첩되는 영역을 가지며, 이를 이용하여 로봇의 상대적인 이동량을 계산할 수 있다.

LiDAR 기반 SLAM에서 가장 중요한 기술 중 하나가 Scan Matching이다. 연속적으로 수집된 두 개의 LiDAR 스캔은 동일한 환경 일부를 관측하고 있기 때문에 두 스캔을 가장 잘 정렬하는 변환을 계산할 수 있다. 이 변환은 로봇의 이동량을 나타낸다. Scan Matching을 반복적으로 수행함으로써 로봇은 자신의 이동 경로(Trajectory)를 추정하게 된다.

ICP(Iterative Closest Point)는 가장 오래되고 널리 알려진 Scan Matching 알고리즘이다. ICP는 두 스캔 사이의 가장 가까운 점들을 대응시키고, 두 점군 사이의 오차를 최소화하는 변환을 반복적으로 계산한다. ICP는 구현이 비교적 단순하지만 특징점이 부족한 환경에서는 성능이 저하될 수 있으며 초기 위치 오차에 민감하다.

이를 개선하기 위해 다양한 Scan Matching 알고리즘이 개발되었다. Correlative Scan Matching은 여러 후보 위치를 평가하여 가장 높은 상관관계를 가지는 위치를 선택한다. NDT(Normal Distributions Transform)는 공간을 확률 분포 형태로 모델링하여 스캔 정합을 수행한다. NDT는 ICP보다 더 안정적인 최적화 성능을 제공하며 산업 현장에서 많이 사용된다.

지도 생성(Map Construction)은 LiDAR 기반 SLAM의 또 다른 핵심 요소이다. 가장 일반적인 지도 표현 방식은 Occupancy Grid Map이다. 환경을 작은 셀(Cell) 단위로 나누고 각 셀에 장애물이 존재할 확률을 저장한다. 레이저 빔이 장애물에 반사되면 해당 셀의 점유 확률이 증가하고, 레이저가 통과한 영역은 비어 있는 공간으로 표시된다.

Occupancy Grid Map은 여러 장점을 가진다. 구조가 직관적이며 계산량이 적고, 경로계획(Path Planning), 장애물 회피(Obstacle Avoidance), 위치추정(Localization) 등 다양한 기능과 쉽게 연동된다. 따라서 대부분의 2D SLAM 프레임워크에서 기본 지도 표현 방식으로 사용된다.

SLAM 과정에서는 불확실성(Uncertainty)을 항상 고려해야 한다. 모든 센서 측정에는 노이즈가 존재하며, LiDAR는 표면 반사율, 입사각, 환경 조건 등에 영향을 받을 수 있다. Wheel Encoder 역시 바퀴 미끄러짐, 바닥 상태 변화, 기계적 오차 등의 영향을 받는다. 따라서 SLAM 알고리즘은 로봇의 위치뿐 아니라 위치에 대한 신뢰도까지 함께 추정해야 한다.

확률 기반 접근법은 이러한 문제를 해결하는 핵심 방법이다. Bayesian Estimation을 이용하여 기존 정보와 새로운 센서 데이터를 통합한다. Kalman Filter, Extended Kalman Filter(EKF), Particle Filter, Graph Optimization 등은 모두 이러한 확률적 추정 기법에 속한다.

Particle Filter 기반 SLAM은 실용적인 2D LiDAR SLAM 발전에 큰 영향을 미쳤다. 특히 GMapping은 ROS 환경에서 가장 널리 사용되는 SLAM 알고리즘 중 하나이다. GMapping은 여러 개의 위치 가설을 유지하면서 LiDAR 데이터를 이용하여 각 가설의 신뢰도를 평가한다. 이를 통해 안정적인 위치추정과 Occupancy Grid Map 생성을 동시에 수행한다.

Hector SLAM은 LiDAR Scan Matching에 크게 의존하는 알고리즘이다. Wheel Odometry 없이도 동작할 수 있다는 특징을 가진다. 따라서 바퀴 미끄러짐이 심한 환경이나 Odometry 신뢰도가 낮은 환경에서 유용하다. Hector SLAM은 드론 및 연구용 플랫폼에서도 널리 활용되었다.

Google이 개발한 Cartographer는 현대 SLAM 분야의 대표적인 시스템 중 하나이다. Cartographer는 Local Scan Matching, Submap 생성, Loop Closure Detection 및 Global Graph Optimization을 통합하여 높은 위치추정 정확도를 제공한다. 현재 연구 및 산업 분야에서 널리 사용되고 있다.

고급 LiDAR 기반 SLAM 시스템에서 가장 중요한 기능 중 하나는 Loop Closure Detection이다. 로봇이 장시간 이동하면 작은 위치 오차가 점차 누적된다. 그러나 과거에 방문했던 장소를 다시 방문하면 시스템은 이를 인식할 수 있다. 이를 Loop Closure라고 한다.

Loop Closure가 검출되면 새로운 제약 조건(Constraint)이 생성되고, 이를 이용하여 누적된 위치 오차를 보정할 수 있다. Loop Closure가 없는 경우 긴 복도가 휘어 보이거나 방의 위치가 어긋나는 현상이 발생할 수 있다. 반면 Loop Closure를 활용하면 지도의 전반적인 일관성을 유지할 수 있다.

Graph-Based Optimization은 현대 LiDAR SLAM의 핵심 기술로 자리 잡았다. 로봇의 각 자세(Pose)를 노드(Node)로 표현하고, Odometry, Scan Matching, Loop Closure 정보를 엣지(Edge)로 표현한다. 최적화 알고리즘은 전체 그래프의 오차를 최소화하도록 모든 노드 위치를 조정한다. 이를 통해 전역적으로 일관된 지도와 이동 경로를 생성할 수 있다.

환경 특성은 LiDAR 기반 SLAM 성능에 큰 영향을 준다. 병원, 공장, 창고와 같이 벽, 코너, 선반 등의 구조물이 풍부한 환경은 안정적인 Scan Matching을 제공한다. 반면 넓은 개방 공간, 반복적인 구조, 특징점이 부족한 복도 환경은 위치추정을 어렵게 만들 수 있다.

동적 환경(Dynamic Environment) 역시 큰 도전 과제이다. 사람, 지게차, 카트, 엘리베이터, 자동문 등의 움직이는 객체는 지도와 일치하지 않는 데이터를 생성한다. 따라서 현대 SLAM 시스템은 동적 객체를 제거하거나 필터링하는 기능을 포함한다.

Sensor Fusion은 LiDAR 기반 SLAM의 성능을 더욱 향상시킨다. LiDAR가 주요 센서 역할을 수행하지만, Wheel Encoder는 단기 이동량 추정에 도움을 주고, IMU는 자세 변화를 측정하며, Camera는 시각 정보를 제공한다. 실외 환경에서는 GNSS RTK와 결합하여 더 높은 정확도를 얻을 수 있다.

2D LiDAR 기반 SLAM은 3D SLAM보다 계산량이 훨씬 적다. 3차원 포인트클라우드를 처리하는 대신 2차원 환경만 고려하기 때문에 CPU, 메모리 및 전력 소비가 크게 감소한다. 이러한 이유로 현재도 대부분의 산업용 AMR은 2D LiDAR 기반 SLAM을 사용하고 있다.

창고 물류 로봇, 병원 운반 로봇, 공장 AMR, 서비스 로봇은 모두 2D LiDAR 기반 SLAM을 통해 안정적인 자율주행을 수행한다. 특히 사용자가 개발 중인 병원 물류 로봇, 견인 AMR, 실내 물류 플랫폼 등도 이러한 기술을 직접 활용할 수 있다.

Gazebo, Isaac Sim, Webots 및 Digital Twin 플랫폼은 LiDAR 기반 SLAM 개발에 매우 유용한 도구이다. 실제 환경에 배치하기 전에 가상 환경에서 알고리즘을 검증하고 성능을 평가할 수 있다.

최근에는 인공지능 기술이 LiDAR 기반 SLAM에도 적용되고 있다. 머신러닝은 특징점 추출, 장소 인식, Loop Closure Detection, Semantic Mapping 등에 활용되고 있다. 기존의 기하학 기반 지도에 의미 정보까지 추가하는 방향으로 발전하고 있다.

Semantic LiDAR SLAM은 미래의 중요한 연구 분야이다. 단순히 벽과 장애물만 저장하는 것이 아니라 문, 복도, 선반, 기계, 작업장, 충전소, 사람 등을 의미 단위로 인식한다. 이러한 의미 정보는 보다 지능적인 경로 계획과 인간-로봇 상호작용을 가능하게 한다.

Cloud Robotics 역시 새로운 가능성을 제공한다. 여러 대의 로봇이 하나의 공유 지도를 사용하고 지속적으로 업데이트할 수 있다. 클라우드 기반 지도 저장소를 통해 Fleet 전체가 동일한 World Model을 공유할 수 있다.

미래의 2D LiDAR 기반 SLAM은 단순한 기하학적 지도 생성 기술을 넘어 통합된 환경 이해 시스템으로 발전할 것이다. 지도에는 기하학 정보뿐 아니라 의미 정보, 시간 정보, 운영 정보 및 예측 정보까지 포함될 것이다. 이러한 World Model은 위치추정, 내비게이션, 추론, 계획, Fleet Management 및 Digital Twin 연계를 지원하게 된다.

결국 2D LiDAR 기반 SLAM의 목표는 변하지 않는다.

"로봇이 현재 어디에 있는지 이해하고"

"주변 환경이 어떻게 구성되어 있는지 이해하며"

"환경과 상호작용하면서 지속적으로 그 이해를 개선하는 것"

이다.

이 능력은 오늘날 자율주행 로봇의 핵심 기반 기술이며, 앞으로도 산업용 AMR과 자율주행 시스템의 중심 기술로 중요한 역할을 수행할 것이다.

04.3 Occupancy Grid Mapping

Occupancy Grid Mapping(점유 격자 지도)은 로봇공학, 자율주행, 그리고 SLAM(Simultaneous Localization and Mapping) 분야에서 가장 기본적이면서도 영향력이 큰 지도 표현 기술 중 하나이다. 1980년대 Hans Moravec와 Alberto Elfes에 의해 처음 제안된 이후, Occupancy Grid는 산업용 AMR, 창고 로봇, 병원 물류 로봇, 서비스 로봇, 자율주행 차량 등 수많은 자율 시스템에서 표준적인 환경 표현 방식으로 사용되고 있다. Occupancy Grid가 널리 사용되는 이유는 구조가 단순하고, 확률 기반으로 불확실성을 표현할 수 있으며, 계산 효율성이 높고, 위치추정(Localization), 경로계획(Path Planning), 장애물 회피(Obstacle Avoidance), 내비게이션(Navigation)과 직접적으로 연동될 수 있기 때문이다. SLAM 기술 체계 내에서 Occupancy Grid Mapping은 GMapping, Hector SLAM, Cartographer 등 대표적인 2D SLAM 시스템의 핵심 지도 표현 방식으로 사용되며, Localization·Mapping·SLAM 분야의 중심적인 역할을 수행한다.

Occupancy Grid Mapping의 기본 목적은 센서 데이터를 환경의 구조화된 표현으로 변환하는 것이다. 기하학 방정식이나 랜드마크 기반 표현 대신 환경을 수많은 작은 셀(Cell)로 분할한 격자(Grid) 형태로 표현한다. 각 셀은 해당 공간에 장애물이 존재할 확률을 저장한다. 이러한 확률적 표현은 실제 환경의 불확실성을 효과적으로 다룰 수 있도록 해준다.

개념적으로는 매우 직관적이다. 바닥 평면도를 수천 개의 작은 사각형으로 나눈다고 가정해 보자. 각 사각형은 실제 공간의 일정 영역을 나타낸다. 센서가 해당 영역에 장애물이 있다고 관측하면 그 셀의 점유 확률이 증가한다. 반대로 비어 있는 공간이라고 판단되면 점유 확률이 감소한다. 관측되지 않은 영역은 미지(Unknown) 상태로 남는다. 시간이 지나면서 관측이 누적되면 지도는 점차 정확한 환경 모델로 발전한다.

Occupancy Grid는 결정론적 지도 표현과 근본적으로 다르다. 실제 센서는 완벽하지 않다. LiDAR는 측정 오차를 가지며, 카메라는 조명 변화에 영향을 받고, Odometry는 시간이 지남에 따라 Drift가 누적된다. 따라서 환경을 "반드시 존재한다" 또는 "반드시 존재하지 않는다"로 표현하기보다는 확률로 표현하는 것이 현실적이다. Occupancy Grid는 이러한 불확실성을 자연스럽게 수용할 수 있다.

Occupancy Grid Mapping의 수학적 기반은 베이지안 확률 이론(Bayesian Probability Theory)이다. 각 셀은 점유 확률을 유지하며 새로운 센서 관측이 들어올 때마다 기존 정보와 새로운 정보를 결합하여 확률을 갱신한다. 이를 통해 시스템은 환경에 대한 신뢰도를 지속적으로 향상시킨다.

일반적으로 모든 셀은 초기 상태에서 50% 점유 확률을 가진다. 이는 해당 공간이 비어 있는지 점유되어 있는지 전혀 알 수 없음을 의미한다. 이후 센서 관측이 반복될수록 점유 또는 비점유 방향으로 확률이 수렴하게 된다.

센서 모델(Sensor Model)은 Occupancy Grid 구축에서 매우 중요한 요소이다. 서로 다른 센서는 환경을 관측하는 방식이 다르므로 각각에 맞는 확률 모델이 필요하다. 2D LiDAR 기반 시스템에서는 레이저 빔이 장애물에 도달하기 전까지는 자유 공간(Free Space)을 의미하고, 반사된 위치는 장애물(Occupied Space)을 의미한다. 이 단순한 원리가 Occupancy Grid의 핵심 업데이트 메커니즘이 된다.

가장 널리 사용되는 방식은 Inverse Sensor Model이다. 센서 측정값이 주어졌을 때 어떤 셀이 점유 또는 비점유 상태일 가능성이 높은지를 계산한다. 레이저가 통과한 영역은 비어 있는 공간으로, 반사된 지점은 장애물로 업데이트된다. 시야 밖 영역은 변경되지 않는다.

확률 계산을 직접 수행하면 계산량이 매우 커진다. 따라서 대부분의 현대 Occupancy Grid 시스템은 Log-Odds 표현을 사용한다. 확률 대신 로그 확률을 저장하여 Bayesian 업데이트를 단순한 덧셈 연산으로 수행한다. 이를 통해 계산 효율성이 크게 향상된다.

지도 해상도(Map Resolution)는 Occupancy Grid 설계에서 가장 중요한 결정 중 하나이다. 해상도는 하나의 셀이 실제 환경에서 차지하는 크기를 의미한다. 작은 셀을 사용하면 환경을 더욱 정밀하게 표현할 수 있지만 메모리 사용량과 계산량이 증가한다. 반대로 큰 셀을 사용하면 효율성은 높아지지만 세부 정보가 손실될 수 있다.

실내 AMR은 일반적으로 2cm~10cm 수준의 해상도를 사용한다. 병원 로봇은 3~5cm, 창고 로봇은 약 5cm 수준이 일반적이다. 실외 자율주행 로봇은 훨씬 넓은 환경을 다루기 때문에 더 큰 셀 크기를 사용할 수 있다.

대규모 환경에서는 저장 공간 문제가 발생한다. 공장, 병원, 공항, 물류센터와 같은 환경은 수만~수십만 제곱미터 규모일 수 있다. 모든 셀의 정보를 저장하려면 상당한 메모리가 필요하다. 이를 해결하기 위해 다양한 최적화 기술이 사용된다.

대표적인 방법이 Multi-Resolution Grid이다. 도킹 스테이션, 충전소, 교차로와 같이 중요한 영역은 고해상도로 저장하고, 상대적으로 중요하지 않은 영역은 저해상도로 저장한다. 이를 통해 저장 공간과 계산량을 줄이면서도 필요한 곳에서는 높은 정확도를 유지할 수 있다.

Dynamic Occupancy Grid는 시간 정보를 포함하는 확장된 개념이다. 실제 환경에서는 사람이 이동하고, 지게차가 지나가며, 문이 열리고 닫힌다. 정적인 Occupancy Grid만으로는 이러한 변화를 표현하기 어렵다. Dynamic Occupancy Grid는 장애물의 지속성(Persistence)과 시간적 변화를 함께 관리한다.

Localization과 Occupancy Grid Mapping은 밀접하게 연결되어 있다. 지도는 정확한 위치추정에 의존하며, 반대로 위치추정은 지도를 기반으로 수행된다. 따라서 대부분의 SLAM 시스템은 두 문제를 동시에 해결한다. 로봇 위치가 정확할수록 지도 품질이 향상되고, 지도 품질이 높을수록 위치추정 정확도도 향상된다.

Scan Matching 역시 Occupancy Grid를 직접 활용하는 경우가 많다. 현재 센서 데이터를 기존 지도와 정합하여 로봇의 이동량을 계산한다. 따라서 Occupancy Grid의 품질은 Localization 성능에 직접적인 영향을 미친다.

Loop Closure는 장기 운영 환경에서 매우 중요하다. 로봇이 넓은 공간을 이동하면 작은 위치 오차가 누적된다. 과거에 방문했던 장소를 다시 인식하면 Loop Closure 제약 조건이 생성되고, Graph Optimization을 통해 누적 오차를 수정할 수 있다. 이후 Occupancy Grid도 최적화된 경로를 기반으로 다시 생성된다.

Occupancy Grid는 다양한 내비게이션 기능을 지원한다. 경로계획 알고리즘은 점유 정보를 이용하여 이동 가능한 영역을 찾고, 장애물 회피 알고리즘은 주변의 점유 셀을 모니터링한다. ROS Navigation Stack과 Nav2 역시 Occupancy Grid를 핵심 환경 표현 방식으로 사용한다.

Cost Map은 Occupancy Grid를 확장한 개념이다. 단순히 장애물 유무만 저장하는 것이 아니라 각 영역의 이동 비용(Traversal Cost)을 저장한다. 장애물 주변 영역은 높은 비용을 부여하여 안전 거리를 유지하도록 하고, 좁은 통로나 위험 지역도 높은 비용을 설정할 수 있다.

Sensor Fusion은 Occupancy Grid 품질을 더욱 향상시킨다. LiDAR가 가장 일반적인 센서이지만 카메라, Depth Camera, Radar, Ultrasonic Sensor, IMU, Odometry 등의 정보를 함께 활용할 수 있다. 다중 센서 융합은 지도의 정확도와 강인성을 높여준다.

Occupancy Grid 개념은 2차원 환경에만 제한되지 않는다. 3D Occupancy Grid 또는 Voxel Grid는 셀을 3차원 큐브(Voxel)로 확장한 형태이다. 이는 드론, 실외 자율주행 차량, 휴머노이드 로봇 및 디지털 트윈 환경에서 널리 사용된다.

딥러닝과 AI 기술이 발전하면서 Occupancy Grid 역시 진화하고 있다. 최근에는 Neural Network가 직접 Occupancy를 예측하거나, Occupancy Map을 입력으로 사용하여 경로계획과 강화학습을 수행하는 연구가 활발히 진행되고 있다.

Occupancy Grid Mapping의 대표적인 활용 사례는 실내 AMR이다. 창고 로봇은 선반 사이를 이동하기 위해 Occupancy Grid를 사용하고, 병원 로봇은 약품과 물품 배송을 위해 Occupancy Map을 활용한다. 공장 물류 시스템과 서비스 로봇도 동일한 기술을 기반으로 한다.

시뮬레이션 환경에서도 Occupancy Grid는 중요한 역할을 수행한다. Gazebo, Isaac Sim, Webots, Digital Twin 플랫폼은 Occupancy Map을 생성하여 Localization과 Navigation 시험에 활용한다. 이를 통해 실제 환경에 배치하기 전에 알고리즘을 충분히 검증할 수 있다.

장기 운영 환경에서는 지도 유지관리(Map Maintenance)가 중요하다. 선반 위치가 변경되거나 설비가 추가되는 경우 기존 지도는 더 이상 정확하지 않을 수 있다. 따라서 자동 지도 업데이트, 클라우드 기반 동기화, Fleet 단위 지도 관리 기술이 중요해지고 있다.

Multi-Robot 시스템에서는 여러 대의 로봇이 동시에 Occupancy Grid를 구축할 수 있다. Collaborative Mapping은 여러 로봇의 관측 데이터를 통합하여 지도 생성 속도를 높이고 정확도를 향상시킨다. 클라우드 기반 Map Server는 이러한 협업을 지원한다.

Semantic Occupancy Grid는 미래의 중요한 연구 방향이다. 기존 Occupancy Grid가 "장애물이 있는가?"만 표현했다면, Semantic Grid는 "벽", "문", "사람", "충전소", "작업장", "기계 설비"와 같은 의미 정보를 포함한다. 이러한 지도는 보다 지능적인 내비게이션과 의사결정을 가능하게 한다.

인공지능은 Occupancy Mapping을 더욱 발전시킬 것으로 기대된다. 미래 시스템은 자동으로 해상도를 최적화하고, 환경 변화를 예측하며, 적응형 센서 모델을 학습할 수 있을 것이다.

산업용 AMR, 병원 물류 로봇, 견인 AMR, 창고 자동화 시스템, 실외 점검 로봇, 미래의 Embodied AI 플랫폼에 이르기까지 Occupancy Grid Mapping은 가장 실용적이고 강력한 환경 표현 방식 중 하나로 남을 것이다. 확률적 표현, 계산 효율성, 높은 확장성, 내비게이션과의 우수한 연동성 덕분에 앞으로도 자율주행 로봇의 핵심 기술로 활용될 것이다.

미래에는 Occupancy Grid가 World Model의 일부로 통합될 가능성이 높다. 단순한 장애물 지도에서 벗어나 Semantic Information, Temporal Dynamics, Digital Twin Data, Object Relationships, Operational History, Predictive Models 등을 포함하는 다층 구조의 지능형 환경 모델로 발전할 것이다.

그럼에도 불구하고 Occupancy Grid의 가장 근본적인 아이디어는 여전히 동일하다.

"환경의 불확실성을 확률로 표현한다."

수십 년 전에 제안된 이 단순한 개념은 오늘날에도 Localization, Mapping, Navigation, SLAM 및 자율주행 로봇 기술의 가장 중요한 기반 중 하나로 남아 있다.

Volume 04 내 위치

04_2D_SLAM

├── 04_01_2D_SLAM_Fundamentals

├── 04_02_2D_LiDAR_Based_SLAM

├── 04_03_Occupancy_Grid_Mapping

├── 04_04_GMapping_and_Hector_SLAM

├── 04_05_Localization_and_Map_Update

├── 04_06_Indoor_AMR_Applications

├── 04_07_2D_SLAM_Limitations

└── 04_08_2D_SLAM_Testing_and_Validation

즉, 04_03_Occupancy_Grid_Mapping은 이후 등장하는 GMapping, Hector SLAM, Cartographer, Nav2, ROS Navigation Stack의 핵심 지도 표현 이론을 설명하는 장이며, 실내 AMR 및 산업용 로봇 내비게이션의 가장 중요한 기반 기술 중 하나이다.

04.4 GMapping and Hector SLAM

GMapping과 Hector SLAM은 2차원 동시 위치추정 및 지도작성(2D SLAM) 역사에서 가장 영향력 있는 알고리즘 중 두 가지이다. 두 시스템 모두 로봇이 지도를 생성하면서 동시에 자신의 위치를 추정하는 동일한 문제를 해결하기 위해 개발되었지만, 문제를 해결하는 접근 방식은 상당히 다르다. 이들은 각각 실용적인 2D LiDAR 기반 SLAM의 두 가지 주요 계열을 대표하며, 연구실, 산업용 로봇, 교육 분야 및 상용 자율이동로봇(AMR)에서 널리 활용되어 왔다. GMapping과 Hector SLAM을 이해하는 것은 현대 SLAM 기술의 발전 과정을 이해하는 데 매우 중요하며, 다양한 환경에서 적합한 SLAM 시스템을 선택하는 데도 큰 도움이 된다.

GMapping은 확률론적 로봇공학(Probabilistic Robotics)이 급속히 발전하던 시기에 등장하였다. 연구자들은 로봇의 이동 오차와 센서 노이즈를 효과적으로 처리하면서도 실시간으로 동작 가능한 SLAM 알고리즘을 필요로 했다. 동시에 LiDAR 센서의 성능이 향상되면서 실내 환경에서 정밀한 지도 생성을 수행할 수 있는 기반이 마련되었다.

GMapping의 핵심은 Rao-Blackwellized Particle Filter(RBPF) 에 기반한다는 점이다. 이 접근법은 SLAM 문제를 두 개의 문제로 분리한다.

첫 번째는 로봇의 이동 경로(Trajectory)를 추정하는 것이고,

두 번째는 해당 경로를 기반으로 지도를 생성하는 것이다.

GMapping은 이 두 문제를 하나의 거대한 확률 문제로 풀지 않고, 여러 개의 이동 경로 가설(Hypothesis)을 유지하면서 각 경로에 대응하는 지도를 생성한다. 이를 통해 계산량을 줄이면서도 높은 정확도를 유지할 수 있다.

Particle Filter는 여러 개의 Particle을 유지한다. 각 Particle은 로봇이 이동한 경로에 대한 하나의 가능한 가설을 의미한다. 로봇이 이동하면 Wheel Odometry를 기반으로 각 Particle이 새로운 위치를 예측한다. 이후 LiDAR 스캔이 들어오면 해당 위치에서 관측될 것으로 예상되는 환경과 실제 센서 데이터가 얼마나 잘 일치하는지를 평가한다.

센서 데이터와 잘 일치하는 Particle은 높은 가중치(Weight)를 받고, 일치하지 않는 Particle은 점차 제거된다. 이 과정을 반복하면서 가장 가능성이 높은 위치와 지도가 선택된다.

GMapping의 가장 큰 장점은 여러 개의 위치 가설을 동시에 유지할 수 있다는 것이다. 환경이 모호하거나 위치를 정확히 판단하기 어려운 경우에도 여러 가능성을 유지함으로써 위치추정 실패를 방지할 수 있다.

GMapping은 지도 표현 방식으로 Occupancy Grid Map을 사용한다. 각 Particle은 자신만의 Occupancy Grid Map을 유지하며, 새로운 LiDAR 관측이 들어올 때마다 Bayesian 방식으로 지도 정보를 갱신한다. 시간이 지나면 가장 신뢰도가 높은 Particle이 정확한 지도와 위치를 제공하게 된다.

GMapping의 중요한 혁신 중 하나는 Adaptive Proposal Sampling이다. 일반적인 Particle Filter는 많은 Particle을 필요로 하지만, GMapping은 센서 정보를 Particle 생성 과정에 직접 반영하여 적은 수의 Particle만으로도 높은 성능을 달성할 수 있다.

알고리즘은 다음 과정을 반복 수행한다.

Prediction

↓

Observation

↓

Weighting

↓

Resampling

Prediction 단계에서는 Odometry를 이용해 이동을 예측한다.

Observation 단계에서는 LiDAR 데이터를 비교한다.

Weighting 단계에서는 신뢰도를 계산한다.

Resampling 단계에서는 우수한 Particle을 선택한다.

이 과정을 반복하면서 안정적인 지도와 위치를 생성한다.

GMapping은 ROS(Robot Operating System) 환경에서 오랫동안 가장 널리 사용된 SLAM 패키지였다. 수많은 교육 기관과 연구실에서 SLAM 입문용으로 사용되었으며, 현재도 많은 예제에서 활용된다.

그러나 GMapping에도 단점이 존재한다.

가장 큰 문제는 Wheel Odometry 의존성이 높다는 점이다.

바퀴 미끄러짐(Wheel Slip)이 발생하거나 엔코더 오차가 큰 환경에서는 성능이 저하될 수 있다.

또한 Particle 수가 많아질수록 계산량과 메모리 사용량이 증가한다.

넓은 환경에서는 성능이 급격히 저하될 수 있다.

반면 Hector SLAM은 전혀 다른 철학에서 출발하였다.

Hector SLAM은 Wheel Odometry에 거의 의존하지 않고 LiDAR만으로 정확한 위치추정을 수행하는 것을 목표로 개발되었다.

이러한 특징 때문에 드론(UAV), 연구용 플랫폼, 미끄러운 환경의 로봇에서 매우 인기가 높아졌다.

Hector SLAM의 핵심은 Direct Scan Matching이다.

Particle을 유지하지 않고 현재 LiDAR 스캔을 기존 지도와 직접 정합한다.

즉,

Current Scan

↓

Map Matching

↓

Pose Estimation

방식으로 위치를 계산한다.

따라서 Wheel Encoder가 없거나 신뢰할 수 없는 경우에도 높은 정확도를 유지할 수 있다.

Hector SLAM은 고속 LiDAR 업데이트와 효율적인 최적화 기법을 사용한다.

새로운 스캔이 들어오면 Occupancy Grid Map과 직접 비교하여 가장 잘 일치하는 위치를 계산한다.

이를 위해 Gradient-Based Optimization 기법을 사용한다.

Hector SLAM의 또 다른 특징은 Multi-Resolution Map 구조이다.

단일 해상도 지도가 아니라 여러 해상도의 지도를 동시에 유지한다.

Coarse Map

↓

Medium Map

↓

Fine Map

구조를 사용하여 빠른 수렴과 정밀한 위치추정을 동시에 달성한다.

낮은 해상도 지도에서는 대략적인 위치를 찾고,

높은 해상도 지도에서는 세밀하게 위치를 조정한다.

이 방식은 계산 효율성과 안정성을 크게 향상시킨다.

Hector SLAM은 LiDAR 기반 구조이기 때문에 환경의 기하학적 특징이 매우 중요하다.

벽, 복도, 문, 선반 등 구조물이 풍부한 환경에서는 매우 높은 정확도를 보인다.

반면 특징점이 부족한 환경에서는 성능이 저하될 수 있다.

Hector SLAM의 가장 큰 장점은 Odometry가 없어도 동작할 수 있다는 것이다.

바퀴가 미끄러지는 환경이나 드론처럼 바퀴가 없는 플랫폼에서도 사용할 수 있다.

이 때문에 UAV 분야에서 매우 많이 활용되었다.

지도 생성은 Occupancy Grid Mapping을 기반으로 한다.

LiDAR 관측이 들어올 때마다 Occupancy Probability를 업데이트하며, 동시에 Scan Matching을 수행하여 위치를 추정한다.

Hector SLAM은 구조가 단순하여 계산 효율성이 높다.

Particle Filter를 사용하지 않기 때문에 CPU 사용량이 적고 실시간 동작이 가능하다.

따라서 저사양 임베디드 시스템에서도 쉽게 활용할 수 있다.

그러나 Hector SLAM 역시 한계를 가진다.

LiDAR Scan Matching에 지나치게 의존하기 때문에 특징점이 부족한 환경에서는 위치추정이 불안정해질 수 있다.

또한 원래 Hector SLAM은 강력한 Loop Closure 기능을 포함하지 않았기 때문에 장거리 이동 시 Drift가 누적될 수 있다.

GMapping과 Hector SLAM을 비교하면 설계 철학의 차이가 분명하게 나타난다.

GMapping은

Probabilistic Estimation

+

Particle Filter

+

Odometry

를 중심으로 한다.

반면 Hector SLAM은

Direct Scan Matching

+

LiDAR Geometry

+

No Odometry

를 중심으로 한다.

어떤 알고리즘이 더 좋은지는 환경에 따라 달라진다.

Wheel Odometry가 정확하고 실내 환경 규모가 크지 않다면 GMapping이 좋은 선택이 될 수 있다.

반대로 Odometry 신뢰도가 낮거나 고속 LiDAR 위치추정이 필요한 경우 Hector SLAM이 더 적합할 수 있다.

두 알고리즘 모두 현대 SLAM 발전에 큰 영향을 미쳤다.

GMapping은 확률 기반 SLAM의 대표적인 성공 사례가 되었고,

Hector SLAM은 Scan Matching 기반 위치추정의 가능성을 보여주었다.

이후 등장한 Cartographer, Karto SLAM, Graph SLAM, Pose Graph Optimization 기반 시스템들은 이들의 아이디어를 발전시킨 결과물이라고 볼 수 있다.

특히 최근의 Cartographer는

Scan Matching

+

Loop Closure

+

Graph Optimization

+

Submap

을 통합하여 GMapping과 Hector SLAM의 한계를 상당 부분 극복하였다.

현재 산업용 AMR, 병원 물류 로봇, 공장 물류 시스템, 서비스 로봇에서는 여전히 GMapping 또는 Hector SLAM의 개념을 기반으로 한 시스템이 널리 사용되고 있다.

Gazebo, Isaac Sim, Webots, ROS 기반 Digital Twin 환경에서도 두 알고리즘은 교육 및 연구 목적으로 자주 사용된다.

최근에는 AI 기술이 SLAM에도 적용되고 있다.

딥러닝 기반 특징 추출, 장소 인식, Loop Closure Detection, Semantic Mapping 등이 연구되고 있지만, GMapping의 확률론적 기반과 Hector SLAM의 Scan Matching 원리는 여전히 중요한 핵심 기술로 남아 있다.

미래의 SLAM은 다음 요소들을 통합하는 방향으로 발전할 것으로 예상된다.

Probabilistic SLAM

+

Scan Matching

+

Semantic Understanding

+

Cloud Mapping

+

Collaborative Mapping

+

World Model

즉, GMapping과 Hector SLAM은 단순한 과거의 알고리즘이 아니라 현대 자율주행 로봇의 핵심 개념을 형성한 역사적 이정표이다.

Volume 04의 관점에서 보면 이들은 Occupancy Grid Mapping과 현대 Graph-Based SLAM 사이를 연결하는 중요한 기술이다.

따라서 GMapping과 Hector SLAM은 "이론적인 Occupancy Grid Mapping"을 실제 산업용 SLAM 시스템으로 발전시킨 대표적인 구현 사례이며, 오늘날 모든 자율주행 로봇의 위치추정 및 지도작성 기술을 이해하는 데 반드시 학습해야 할 핵심 알고리즘이라고 할 수 있다.

04.5 Localization and Map Update

Localization(위치추정)과 Map Update(지도 갱신)는 모든 SLAM(Simultaneous Localization and Mapping) 시스템에서 가장 중요한 운영 단계 중 하나이다. 일반적으로 SLAM은 지도를 생성하면서 동시에 로봇의 위치를 추정하는 과정으로 설명되지만, 실제 자율주행 시스템은 초기 지도 생성이 완료된 이후 대부분의 시간을 Localization과 Map Maintenance(지도 유지관리)에 사용한다. 즉, 이미 생성된 지도를 기반으로 현재 위치를 지속적으로 계산하고, 시간이 지나면서 변화하는 환경을 반영하여 지도를 업데이트하는 것이 실제 운영의 핵심이 된다. 이러한 Localization과 Map Update의 결합은 창고, 병원, 공장, 공항, 물류센터, 사무실, 지하 시설 등에서 장기간 안정적으로 운영되는 자율주행 로봇의 기반 기술이다.

Localization은 이미 존재하는 지도(Map)를 기준으로 현재 로봇의 자세(Pose)를 계산하는 과정이다. 일반적인 2D 로봇 시스템에서 자세는 X 좌표, Y 좌표 그리고 Heading Angle(방향각)로 구성된다. 초기 SLAM 단계에서는 지도와 위치가 모두 미지의 상태이지만, Localization 단계에서는 지도가 이미 존재한다고 가정하고 그 안에서 자신의 위치를 찾는 것이 목표가 된다.

Localization의 중요성은 아무리 강조해도 지나치지 않다. 모든 자율주행 기능은 정확한 위치 정보를 기반으로 동작한다. 경로계획(Path Planning)은 현재 위치와 목적지를 알아야 수행할 수 있으며, 장애물 회피는 장애물이 로봇 기준 어디에 존재하는지를 알아야 가능하다. Fleet Management System은 여러 대의 로봇을 관리하기 위해 정확한 위치 정보를 필요로 한다. 도킹(Docking), 충전(Charging), 물류 이송, 점검 업무, 병원 배송 서비스와 같은 모든 작업은 Localization 성능에 의존한다.

Localization은 센서 데이터 수집에서 시작된다. LiDAR, 카메라, Depth Camera, IMU, Wheel Encoder, Radar, GNSS RTK 등의 센서가 주변 환경과 로봇의 상태를 측정한다. 이러한 데이터를 기존 지도와 비교하여 가장 가능성이 높은 위치를 계산한다. 새로운 센서 데이터가 들어올 때마다 위치는 지속적으로 갱신된다.

2D 로봇에서 가장 널리 사용되는 방법 중 하나는 LiDAR Scan Matching Localization이다. LiDAR 스캔은 벽, 선반, 설비, 문, 기둥 등의 구조를 관측한다. 현재 스캔 데이터를 기존 Occupancy Grid Map과 비교하여 가장 잘 일치하는 위치를 찾는다. 이 위치가 새로운 Pose Estimate가 된다.

대표적인 Localization 알고리즘으로는 Monte Carlo Localization(MCL) 이 있다. MCL은 Particle Filter 기반 알고리즘이다. 수많은 Particle을 사용하여 로봇이 있을 수 있는 여러 위치를 표현한다. 각 Particle은 현재 지도에서 예상되는 센서 데이터를 생성하고 실제 센서 데이터와 비교한다. 일치도가 높은 Particle은 유지되고, 일치도가 낮은 Particle은 제거된다. 시간이 지나면서 Particle들은 실제 위치로 수렴하게 된다.

Adaptive Monte Carlo Localization(AMCL)은 MCL의 확장 버전이다. Localization 신뢰도가 높을 때는 적은 Particle을 사용하고, 위치가 불확실할 때는 Particle 수를 증가시킨다. 이를 통해 계산량을 줄이면서도 높은 신뢰성을 유지할 수 있다. ROS Navigation Stack에서 기본 Localization 알고리즘으로 널리 사용된다.

또 다른 방법은 Likelihood Field Localization이다. Occupancy Grid의 각 셀에 장애물까지의 거리를 미리 계산해 놓고, LiDAR 관측값이 장애물과 얼마나 가까운지를 평가한다. 이 방식은 빠른 계산 속도와 높은 안정성을 제공한다.

Localization은 항상 불확실성(Uncertainty)을 동반한다. 모든 센서에는 노이즈가 존재하며 Wheel Encoder는 Drift를 발생시킨다. LiDAR는 반사율에 영향을 받을 수 있고 카메라는 조명 변화에 민감하다. 따라서 Localization 시스템은 단순히 하나의 위치를 계산하는 것이 아니라 위치에 대한 확률 분포를 유지한다.

Sensor Fusion은 Localization 성능을 크게 향상시킨다.

Wheel Encoder

+

IMU

+

LiDAR

+

Camera

+

GNSS

↓

Localization

Wheel Encoder는 단기 이동량을 제공하고 IMU는 자세 변화를 제공한다. LiDAR는 구조적 특징을 제공하며, 카메라는 시각 정보를 제공한다. GNSS는 실외 환경에서 절대 위치를 제공한다. 이러한 정보들을 융합함으로써 더 안정적인 위치추정이 가능해진다.

Localization 성능은 지도 품질에 직접적으로 영향을 받는다. 정확한 지도는 정확한 위치추정을 가능하게 하며, 정확한 위치추정은 다시 지도 품질을 향상시킨다. 따라서 Localization과 Mapping은 지속적으로 상호작용하는 관계를 가진다.

장기간 운영되는 환경에서는 Map Update가 매우 중요하다. 실제 환경은 정적이지 않다. 창고 선반 위치가 변경될 수 있고, 병원 장비가 이동할 수 있으며, 공장 설비가 추가될 수 있다. 이러한 변화가 지도에 반영되지 않으면 Localization 정확도가 점차 저하된다.

전통적인 SLAM 시스템은 정적인 환경을 가정하는 경우가 많았다. 하지만 실제 산업 환경에서는 Dynamic Map Maintenance가 필수적이다. 지도는 변화하는 환경을 반영하면서도 안정적인 구조 정보는 유지해야 한다.

가장 기본적인 Map Update는 Occupancy Probability를 업데이트하는 것이다. 반복적으로 관측되는 구조는 신뢰도가 증가하고, 더 이상 관측되지 않는 구조는 신뢰도가 감소한다. 이를 통해 지도는 환경 변화에 적응하게 된다.

Dynamic Occupancy Grid는 시간 정보를 추가한 형태이다. 각 셀은 단순히 점유 확률뿐 아니라 지속성(Persistence) 정보도 저장한다.

예를 들어,

  • 벽(Wall) → 높은 Persistence

  • 기둥(Pillar) → 높은 Persistence

  • 사람(Person) → 낮은 Persistence

  • 지게차(Forklift) → 낮은 Persistence

를 가진다.

이러한 구분을 통해 영구 구조물과 임시 장애물을 구별할 수 있다.

Map Update의 가장 어려운 문제 중 하나는 영구적인 변화와 일시적인 변화를 구별하는 것이다.

예를 들어 창고 통로에 지게차가 잠시 주차되어 있다고 가정해보자. 이를 즉시 지도에 반영하면 지게차가 사라진 후 Localization 오류가 발생할 수 있다.

이를 해결하기 위해 Temporal Filtering이 사용된다. 일정 시간 이상 반복적으로 관측된 객체만 지도에 반영하고, 일시적인 객체는 Dynamic Obstacle로 처리한다.

최근에는 Submap 기반 구조가 널리 사용된다. 전체 지도를 하나의 거대한 맵으로 관리하는 대신 작은 지역 단위(Submap)로 분리한다.

Global Map

├─ Submap A

├─ Submap B

├─ Submap C

└─ Submap D

이 구조는 계산량을 줄이고 부분 업데이트를 가능하게 한다.

Google Cartographer는 대표적인 Submap 기반 SLAM 시스템이다. 새로운 센서 데이터는 Local Submap에 반영되고, Graph Optimization을 통해 전체 일관성을 유지한다.

Loop Closure 역시 Map Update에 중요한 역할을 한다. 과거에 방문했던 장소를 다시 방문하면 현재 관측과 과거 지도를 비교하여 Drift를 수정할 수 있다. 이후 최적화된 Trajectory를 이용하여 지도를 다시 생성한다.

최근 산업용 로봇에서는 Cloud-Based Map Management가 빠르게 확산되고 있다. 지도는 중앙 서버에 저장되며, 로봇은 필요한 부분만 다운로드한다.

Robot Fleet

↓

Cloud Map Server

↓

Shared Map

이 구조는 대규모 Fleet 운영에 매우 유리하다.

Collaborative Mapping은 여러 대의 로봇이 하나의 지도를 함께 구축하는 기술이다. 한 로봇이 발견한 환경 변화는 즉시 전체 Fleet에 공유될 수 있다. 이를 통해 지도 생성 속도와 정확도를 크게 향상시킬 수 있다.

Version Control 역시 중요하다. 공장이나 병원은 지속적으로 변화하기 때문에 지도 버전을 관리해야 한다.

Map v1.0

↓

Map v1.1

↓

Map v1.2

와 같이 지도 이력을 관리하면 문제가 발생했을 때 이전 버전으로 복원할 수 있다.

Localization Failure는 자율주행 로봇 운영에서 가장 큰 위험 요소 중 하나이다. 센서 가림, 반복 구조, 동적 장애물, 지도 오류 등이 Localization Failure를 유발할 수 있다.

이를 해결하기 위해 Global Localization 기능이 사용된다. 일반 Localization은 현재 위치를 기준으로 위치를 계산하지만, Global Localization은 지도 전체에서 가능한 위치를 탐색한다.

Particle을 지도 전체에 배치한 후 센서 데이터를 이용하여 실제 위치를 찾는 방식이다. 이는 로봇이 위치를 완전히 잃어버린 경우에도 복구를 가능하게 한다.

최근에는 Semantic Localization 연구가 활발히 진행되고 있다. 기존 Localization이 기하학적 특징에만 의존했다면 Semantic Localization은 의미 정보를 활용한다.

예를 들어,

  • Door

  • Charging Station

  • Shelf

  • Workstation

  • Elevator

와 같은 객체를 인식하여 위치를 계산한다.

AI 기술 역시 Localization과 Map Update에 적용되고 있다. 딥러닝은 장소 인식(Place Recognition), 환경 변화 감지(Change Detection), Dynamic Object Classification, Semantic Mapping 등에 활용된다.

Digital Twin과의 연계도 중요한 연구 분야이다. 로봇이 관측한 환경 변화는 Digital Twin에 자동 반영될 수 있으며, 반대로 설비 변경 계획은 미리 로봇 지도에 적용될 수 있다.

산업용 AMR, 병원 물류 로봇, 공장 물류 로봇, 점검 로봇, 서비스 로봇 등에서 Localization과 Map Update는 단순한 기능이 아니라 지속적인 운영 프로세스이다. 정확한 위치추정과 환경 변화에 대한 적응 능력은 장기 운영 성공 여부를 결정하는 핵심 요소이다.

미래의 Localization 시스템은 단순히 기하학적 위치를 찾는 수준을 넘어 World Model Alignment로 발전할 것으로 예상된다. 로봇은 Geometry, Semantic Information, Temporal Information, Operational Context를 포함하는 세계 모델 안에서 자신의 위치를 이해하게 될 것이다.

결국 Localization과 Map Update는 다음 두 가지 질문에 지속적으로 답하는 과정이라고 볼 수 있다.

"나는 지금 어디에 있는가?"

그리고

"환경은 이전과 비교하여 무엇이 달라졌는가?"

이 두 질문에 정확하게 답할 수 있는 능력이야말로 장기간 운영되는 자율주행 로봇의 핵심 역량이며, 현대 SLAM 시스템의 가장 중요한 목적 중 하나이다.

04.6 Indoor AMR Applications

실내 자율이동로봇(Indoor Autonomous Mobile Robot, AMR)은 현대 로봇 산업에서 가장 성공적으로 상용화된 분야 중 하나이며, 현재도 가장 빠르게 성장하고 있는 시장이다. 지난 20여 년 동안 Localization, Mapping, Navigation, Sensor Technology, Artificial Intelligence 및 Autonomous Decision-Making 기술이 발전하면서 AMR은 연구실 수준의 실험 장비에서 벗어나 창고, 병원, 공장, 공항, 호텔, 쇼핑몰, 물류센터, 사무실 등 다양한 환경에서 실제 업무를 수행하는 상용 시스템으로 발전하였다.

기존 AGV(Automated Guided Vehicle)는 자기 테이프, QR 코드, 반사판, 유도선 등의 고정 인프라에 의존하였다. 반면 AMR은 LiDAR, 카메라, IMU 등의 센서를 이용하여 환경을 인식하고 스스로 위치를 계산하며 경로를 계획한다. 이러한 자율성 덕분에 AMR은 훨씬 높은 유연성과 확장성을 제공한다.

실내 AMR의 발전은 2D SLAM, Occupancy Grid Mapping, LiDAR Localization, Navigation Framework의 발전과 밀접한 관련이 있다. 로봇은 실시간으로 자신의 위치를 계산하고, 환경 변화를 인식하며, 장애물을 회피하면서 작업을 수행할 수 있다. 이러한 기술들은 오늘날 스마트 공장, 스마트 병원, 스마트 물류센터의 핵심 인프라로 자리잡고 있다.

창고(Warehouse) 자동화

실내 AMR이 가장 활발하게 활용되는 분야는 창고 자동화이다.

현대 물류 창고는 입고, 적재, 피킹, 분류, 포장, 출고 등의 작업을 수행한다. 전통적으로 이러한 작업은 사람과 지게차에 의존해 왔지만, 인건비 증가와 인력 부족 문제로 인해 자동화 수요가 크게 증가하고 있다.

창고 AMR은 다음과 같은 업무를 수행한다.

상품 운반

피킹 지원

선반 이동

포장 지원

출고 물류 이송

창고 환경은 지속적으로 변화한다.

작업자 이동

지게차 이동

임시 적재물 발생

선반 배치 변경

등이 발생하기 때문에 AMR은 고정 경로를 사용하는 AGV보다 훨씬 유리하다.

AMR은 LiDAR 기반 Localization을 이용하여 자신의 위치를 계산하고, Occupancy Grid Map을 이용하여 실시간 경로를 생성한다. 장애물이 나타나면 즉시 우회 경로를 생성할 수 있다.

전자상거래(E-Commerce)의 성장과 함께 Amazon, Alibaba, JD.com, Coupang 등의 대형 물류센터는 수백~수천 대 규모의 로봇 Fleet를 운영하고 있다.

병원(Hospital) 물류

병원은 AMR의 또 다른 대표적인 응용 분야이다.

병원 내부에서는 다음과 같은 물품 이동이 지속적으로 발생한다.

의약품

혈액 샘플

검사 시료

식사

린넨

의료 장비

폐기물

기존에는 간호사나 병원 직원이 수행하던 작업이었지만, AMR을 이용하면 이러한 반복 업무를 자동화할 수 있다.

병원 AMR은

복도

병동

약국

검사실

수술실

창고

를 이동하며 업무를 수행한다.

특히 엘리베이터와 연동하여 다층 건물에서도 자율적으로 이동할 수 있다.

병원 AMR의 가장 큰 장점은 간호사가 환자 케어에 집중할 수 있도록 해준다는 점이다.

감염병 병동에서는 사람 대신 로봇이 물품을 운반하여 감염 위험을 줄일 수도 있다.

사용자가 개발 중인 Medical Robot Platform 역시 이러한 병원 물류 AMR의 확장 형태로 볼 수 있다.

제조 공장(Factory Logistics)

스마트 팩토리에서는 AMR이 핵심 역할을 수행한다.

공장 내부에서는

원자재 공급

부품 공급

공정 간 이송

완제품 이동

공구 운반

등이 지속적으로 발생한다.

전통적인 Conveyor 시스템은 레이아웃 변경이 어렵고 구축 비용이 높다.

반면 AMR은 소프트웨어만 수정하면 새로운 생산 라인에 즉시 적용할 수 있다.

이는 특히 다품종 소량 생산 환경에서 매우 큰 장점이다.

공장 AMR은 다음과 같은 시스템과 연동된다.

MES (Manufacturing Execution System)

ERP (Enterprise Resource Planning)

WMS (Warehouse Management System)

RMS/FMS (Robot Management System)

이를 통해 생산 계획과 물류 흐름을 자동으로 최적화할 수 있다.

반도체 공장

반도체 공장은 특수한 AMR 응용 분야이다.

반도체 Fab은 매우 높은 청정도(Clean Room)를 요구한다.

AMR은

FOUP 운반

웨이퍼 이송

공정 간 물류

를 수행한다.

Localization 정확도는 수 cm 수준 이상이 요구되며, 매우 높은 신뢰성이 필요하다.

공항(Airport)

공항은 대규모 실내 공간을 가진 대표적인 환경이다.

AMR은 다음 업무에 활용된다.

수하물 운반

시설 점검

청소

보안 순찰

승객 안내

공항은 수많은 사람이 이동하는 환경이므로 Dynamic Obstacle Avoidance 기술이 매우 중요하다.

청소 로봇(Cleaning Robot)

청소 로봇은 가장 대중적인 AMR 응용 사례 중 하나이다.

활용 장소:

쇼핑몰

공항

병원

물류센터

학교

전시장

청소 로봇은 Occupancy Grid Map을 기반으로 전체 공간을 체계적으로 커버한다.

Fleet Management를 통해 여러 대가 협업하여 넓은 공간을 청소할 수도 있다.

자동 충전 기능을 통해 24시간 운영이 가능하다.

보안 및 순찰(Security & Patrol)

보안 AMR은 다음 기능을 수행한다.

순찰

침입 감지

화재 감지

이상 행동 감지

출입 통제

센서 구성 예:

RGB Camera

Thermal Camera

LiDAR

Microphone

AI Analytics

실시간으로 이상 상황을 감지하여 관제실에 알림을 전송한다.

사용자가 개발 중인 Outdoor Patrol Robot과도 기술적으로 매우 유사하다.

사무실(Office)

사무실 환경에서는 다음과 같은 서비스가 가능하다.

우편물 배달

택배 운반

방문객 안내

회의실 지원

시설 점검

최근에는 LLM 기반 AI Assistant와 결합되어 대화형 서비스도 제공하고 있다.

호텔(Hospitality)

호텔 서비스 로봇은 빠르게 성장하는 시장이다.

서비스 예:

룸서비스

수건 배달

생수 배달

편의용품 전달

엘리베이터와 객실 출입 시스템과 연동하여 완전 자율 서비스를 제공할 수 있다.

리테일(Retail)

쇼핑몰과 대형마트에서는 AMR이 다음 업무를 수행한다.

재고 조사

가격 확인

상품 진열 확인

고객 안내

청소

보안

Computer Vision 기반 Shelf Scanning 기술이 널리 사용되고 있다.

연구소 및 대학

연구기관에서는 AMR이 실험 플랫폼으로 활용된다.

교육 분야에서는

Robotics

AI

Computer Vision

Navigation

ROS2

교육에 매우 유용하다.

현재 사용자가 진행 중인 Isaac Sim 기반 AMR 교육 역시 여기에 해당한다.

실내 점검 로봇(Indoor Inspection Robot)

산업 시설은 정기적인 점검이 필요하다.

Inspection AMR은 다음 데이터를 수집한다.

RGB 영상

열화상

진동

음향

가스 농도

환경 정보

AI 분석을 통해 이상 상태를 조기에 발견할 수 있다.

데이터센터(Data Center)

데이터센터에서는 AMR이 다음 업무를 수행한다.

서버실 점검

냉각 장치 모니터링

온도 측정

습도 측정

열화상 검사

이를 통해 Predictive Maintenance를 구현할 수 있다.

Fleet Management

대규모 AMR 운영에서는 Fleet Management가 필수이다.

수십~수백 대의 로봇을 동시에 운영하기 위해

작업 할당

경로 최적화

교통 관리

충전 관리

유지보수 관리

를 수행한다.

사용자가 개발 중인 RMS/FMS 플랫폼도 바로 이 영역에 해당한다.

Human-Robot Interaction

실내 AMR은 사람과 같은 공간을 공유한다.

따라서 다음 기능이 중요하다.

사람 감지

행동 예측

안전 정지

의도 인식

음성 인터페이스

안전성과 사용성을 동시에 확보해야 한다.

AI와 Indoor AMR

최근 AI는 Indoor AMR 성능을 크게 향상시키고 있다.

적용 분야:

Object Detection

Semantic Mapping

Path Prediction

Task Planning

Anomaly Detection

Human Interaction

특히 VLM(Vision Language Model)과 VLA(Vision Language Action)는 차세대 실내 AMR의 핵심 기술로 주목받고 있다.

Cloud Robotics와 Digital Twin

미래의 Indoor AMR은 Cloud Robotics와 Digital Twin과 긴밀하게 연결될 것이다.

Indoor AMR

↓

Cloud Platform

↓

Digital Twin

↓

Fleet Intelligence

로봇이 수집한 데이터는 디지털 트윈을 업데이트하며,

디지털 트윈은 로봇 운영 최적화에 활용된다.

미래 방향

미래의 Indoor AMR은 단순히 이동하는 로봇이 아니라 환경을 이해하는 지능형 에이전트가 될 것이다.

지도는 단순한 Occupancy Grid가 아니라

  • Geometry

  • Semantic Information

  • Temporal Information

  • Operational Knowledge

  • World Model

을 포함하는 지식 기반으로 발전할 것이다.

결론

Volume 04의 관점에서 Indoor AMR Applications는 앞서 학습한 모든 기술이 실제 산업 현장에서 구현되는 단계이다.

2D SLAM

↓

LiDAR Localization

↓

Occupancy Grid

↓

GMapping / Hector SLAM

↓

Localization & Map Update

↓

Indoor AMR Applications

즉, 실내 AMR은 2D SLAM 기술의 가장 대표적인 상용화 사례이며, 창고·병원·공장·호텔·공항·데이터센터·연구소 등 다양한 분야에서 이미 핵심 인프라로 자리잡고 있다. 향후 Embodied AI와 World Model 기술이 결합되면서 Indoor AMR은 단순 운송 로봇을 넘어 지능형 자율 에이전트로 진화하게 될 것이다.

04.7 2D SLAM Limitations

2차원 동시 위치추정 및 지도작성(2D SLAM)은 자율이동로봇 분야에서 가장 널리 사용되는 핵심 기술 중 하나이다. 수십 년 동안 2D SLAM은 창고, 병원, 공장, 사무실, 쇼핑몰, 공항 및 물류센터에서 자율주행, 위치추정, 환경 지도 생성 문제를 해결하는 실용적인 방법으로 활용되어 왔다. LiDAR 센서, Occupancy Grid Map, Scan Matching 알고리즘, 확률 기반 Localization 기술의 발전은 수많은 산업용 AMR의 상용화를 가능하게 하였다. 그러나 이러한 성공에도 불구하고 2D SLAM은 본질적인 한계를 가지고 있으며, 이러한 한계를 이해하는 것은 자율주행 시스템 설계자와 로봇 엔지니어에게 매우 중요하다. 실제 현장에서 발생하는 많은 문제들은 2D SLAM이 전제로 하고 있는 가정에서 비롯되기 때문이다.

2D SLAM의 가장 근본적인 한계는 환경을 2차원으로 표현한다는 점이다. 2D SLAM은 세상을 하나의 수평 단면(Horizontal Slice)으로 표현한다. 벽, 장애물, 복도, 이동 가능 공간은 모두 평면 지도 상에 투영된다. 이러한 단순화는 계산량과 메모리 사용량을 크게 줄여주는 장점이 있지만, 동시에 환경의 많은 정보를 버리게 된다. 실제 세계는 본질적으로 3차원 공간이며, 모든 물체는 높이, 부피, 입체 구조를 가진다.

이로 인해 다양한 문제가 발생한다. 예를 들어 테이블, 선반, 컨베이어, 병원 침대, 매달린 케이블, 계단, 천장 구조물과 같은 객체는 LiDAR가 설치된 높이에 따라 일부만 관측되거나 전혀 관측되지 않을 수 있다. 따라서 로봇은 실제로는 장애물이 존재하는 공간을 빈 공간으로 잘못 판단할 수 있다. 특히 산업 현장의 오버행(Overhang), 천장 배관, 매달린 장비, 복층 구조에서는 이러한 문제가 더욱 심각해진다.

또 다른 한계는 환경 구조에 대한 의존성이다. 대부분의 2D SLAM 시스템은 벽, 코너, 기둥, 선반과 같은 안정적인 기하학적 특징이 존재한다고 가정한다. 이러한 특징들은 Scan Matching과 Localization의 기준점 역할을 한다. 그러나 실제 환경에는 넓은 개방 공간이나 특징점이 부족한 장소가 존재한다. 창고, 공항 터미널, 전시장, 대형 공장, 지하주차장 등은 넓고 반복적인 구조를 가지기 때문에 위치추정의 정확도가 크게 저하될 수 있다.

특히 반복 구조(Repetitive Structure) 는 2D SLAM의 대표적인 문제이다. 현대 창고에는 수백 개의 동일한 선반 통로가 존재하며, 병원이나 사무실도 비슷한 복도 구조를 가진다. 이러한 환경에서는 서로 다른 위치가 거의 동일하게 보이기 때문에 로봇이 위치를 혼동할 수 있다. 이는 Localization Drift, 잘못된 Loop Closure, 지도 왜곡 등의 문제를 발생시킨다.

동적 환경(Dynamic Environment) 역시 2D SLAM의 큰 약점이다. 대부분의 SLAM 알고리즘은 환경이 정적이라고 가정하고 설계되었다. 그러나 실제 환경에서는 사람이 이동하고, 지게차가 지나가며, 카트와 차량이 움직인다. 병원에서는 환자와 의료진이 끊임없이 이동하고, 쇼핑몰에서는 많은 사람들이 예측 불가능한 행동을 한다.

이러한 동적 객체들은 기존 지도와 일치하지 않는 데이터를 생성한다. 만약 사람이나 차량이 센서 시야 대부분을 가리게 되면 로봇은 안정적인 구조물을 관측하지 못하게 된다. 그 결과 Scan Matching 성능이 저하되고 Localization Failure가 발생할 수 있다.

장기간 운영 환경에서는 환경 변화(Long-Term Environment Change) 가 중요한 문제가 된다. 전통적인 2D SLAM은 한 번 생성된 지도가 오랫동안 유효하다고 가정하는 경우가 많다. 그러나 실제 시설은 지속적으로 변화한다.

예를 들어

창고 선반 재배치

생산 설비 이동

병원 병동 개편

사무실 구조 변경

공사 및 리모델링

등이 발생한다.

환경 변화가 누적되면 초기 지도는 점점 현실과 달라지고 Localization 정확도도 감소하게 된다. 따라서 장기 운영에서는 지속적인 Map Update와 Validation이 필요하다.

센서 자체의 한계도 존재한다. 대부분의 2D SLAM 시스템은 2D LiDAR에 의존한다. LiDAR는 높은 정확도를 제공하지만 모든 환경에서 완벽하지는 않다.

문제가 되는 예는 다음과 같다.

유리벽

거울

반사 금속

검은색 흡수 재질

투명 플라스틱

이러한 표면은 LiDAR 측정 오류를 유발할 수 있다.

또한 LiDAR 설치 높이 역시 중요한 제약 조건이다. 센서는 특정 높이의 단면만 관측하기 때문에 그 위나 아래에 존재하는 장애물은 감지하지 못한다.

예를 들어

낮은 장애물은 감지하지만 천장 장애물은 감지 못함

천장 구조물은 감지하지만 바닥 물체는 감지 못함

과 같은 문제가 발생한다.

Wheel Odometry 의존성 역시 많은 2D SLAM 시스템의 한계이다. GMapping과 같은 알고리즘은 Odometry를 적극 활용한다. 그러나 바퀴 미끄러짐, 바닥 상태 변화, 기계적 마모, 엔코더 오차 등은 누적 오차를 발생시킨다. 환경 특징이 부족한 경우에는 이러한 오차를 충분히 보정하기 어렵다.

확장성(Scalability) 문제도 존재한다. 2D SLAM은 3D SLAM보다 훨씬 효율적이지만, 매우 넓은 환경에서는 Occupancy Grid의 크기가 급격히 증가한다.

대규모 공장이나 물류센터에서는

메모리 사용량 증가

Localization 계산량 증가

Graph Optimization 비용 증가

Loop Closure 탐색 비용 증가

와 같은 문제가 발생한다.

Loop Closure 역시 완벽하지 않다. Loop Closure는 누적 오차를 수정하기 위한 핵심 기능이지만, 반복적인 환경에서는 잘못된 Loop Closure가 발생할 수 있다.

False Loop Closure가 발생하면

지도 왜곡

위치 오류

경로계획 실패

등이 발생할 수 있다.

반대로 Loop Closure를 놓치면 Drift가 계속 누적된다.

다층 건물(Multi-Floor Environment) 은 2D SLAM의 또 다른 한계이다.

기본적인 2D SLAM은 하나의 평면만 표현한다.

그러나 실제 건물에는

계단

엘리베이터

경사로

복층 구조

가 존재한다.

따라서 층마다 별도의 지도를 관리해야 하며, 현재 층을 인식하는 추가 메커니즘이 필요하다.

Localization Recovery 또한 어려운 문제이다.

일반 Localization은 초기 위치를 알고 있다고 가정한다.

그러나 로봇이

위치를 완전히 잃어버리거나

수동으로 이동되거나

센서 오류가 발생한 경우

Global Localization을 수행해야 한다.

이는 지도 전체를 탐색해야 하므로 계산량이 매우 크고 수렴 시간이 오래 걸릴 수 있다.

Semantic Understanding의 부재도 중요한 한계이다.

전통적인 2D SLAM은 Geometry만 표현한다.

Occupancy Grid는 단순히

Occupied

Free

Unknown

만 저장한다.

하지만 실제 자율주행에서는

문(Door)

충전소(Charging Station)

작업장(Work Cell)

엘리베이터(Elevator)

병실(Room)

과 같은 의미 정보가 필요하다.

기존 2D SLAM은 이러한 의미 정보를 제공하지 못하기 때문에 고수준 의사결정에 한계가 있다.

이는 최근 등장하는 AI 기반 자율주행 시스템에서 더욱 중요한 문제가 되고 있다.

현대 로봇은 단순히 장애물을 피하는 수준을 넘어

무엇이 장애물인지

왜 존재하는지

업무와 어떤 관계가 있는지

를 이해해야 한다.

그러나 전통적인 Occupancy Grid는 이러한 정보를 제공하지 못한다.

사람과의 상호작용(Human-Robot Interaction) 도 2D SLAM의 한계를 드러내는 분야이다.

사람은 매우 동적이고 예측하기 어렵다.

전통적인 2D SLAM은 사람을 단순한 장애물로 처리할 뿐

행동 예측

의도 인식

사회적 거리 유지

군중 내비게이션

과 같은 기능을 제공하지 않는다.

실내 공공 공간에서 운영되는 AMR에서는 이러한 한계가 더욱 크게 나타난다.

산업 환경에서는

먼지

연기

증기

진동

전자기 간섭

등도 센서 성능을 저하시킬 수 있다.

이러한 조건은 연구실 환경에서 개발된 알고리즘의 성능을 실제 현장에서 떨어뜨리는 주요 원인이 된다.

최근 등장한

Outdoor Robot

Inspection Robot

Humanoid Robot

Quadruped Robot

Embodied AI

시스템은 2D SLAM의 한계를 더욱 명확하게 보여준다.

이들은 계단, 경사면, 복잡한 3D 구조, 다양한 높이의 장애물과 상호작용해야 하기 때문에 단순한 평면 지도만으로는 충분하지 않다.

이러한 한계로 인해 다양한 차세대 기술이 개발되고 있다.

대표적으로

2D SLAM

↓

3D SLAM

↓

Semantic SLAM

↓

Visual SLAM

↓

Multi-Modal SLAM

↓

World Model

방향으로 발전하고 있다.

특히 World Model은 단순한 지도 생성이 아니라

Geometry

Semantic Information

Temporal Change

Object Relationship

Operational Context

Predictive Knowledge

를 통합하는 개념이다.

이는 Localization과 Navigation뿐 아니라 추론(Reasoning), 계획(Planning), 의사결정(Decision Making), Embodied AI까지 지원할 수 있다.

그럼에도 불구하고 2D SLAM은 여전히 매우 가치 있는 기술이다.

창고 AMR, 병원 물류 로봇, 공장 운반 로봇, 서비스 로봇 등에서는

  • 단순성

  • 안정성

  • 계산 효율성

  • 높은 성숙도

라는 장점이 한계를 충분히 상쇄한다.

중요한 것은 2D SLAM이 어디까지 잘 동작하며, 어디서부터 한계가 발생하는지를 정확히 이해하는 것이다.

Volume 04의 관점에서 보면, 2D SLAM의 한계를 학습하는 목적은 단순히 문제점을 나열하기 위한 것이 아니다.

오히려 이것은 왜 다음 단계의 기술인

  • 3D SLAM

  • Semantic Mapping

  • Visual Localization

  • Digital Twin

  • Embodied AI

  • World Model

이 등장하게 되었는지를 이해하기 위한 과정이다.

미래의 자율주행 로봇은 2D SLAM을 완전히 대체하는 것이 아니라, 그 위에 더 풍부한 환경 표현과 지능적인 이해 능력을 추가하는 방향으로 발전하게 될 것이다. 따라서 2D SLAM의 한계를 이해하는 것은 차세대 자율주행 기술을 이해하기 위한 필수적인 출발점이라고 할 수 있다.

04.8 2D SLAM Testing and Validation

2차원 동시 위치추정 및 지도작성(2D SLAM)의 테스트(Test)와 검증(Validation)은 자율주행 로봇 개발 과정에서 가장 중요한 단계 중 하나이다. Localization 알고리즘, Occupancy Grid Mapping, Scan Matching, Navigation Framework와 같은 기술이 아무리 우수하더라도 실제 환경에서 안정적으로 동작하지 못한다면 실용적인 시스템이라고 할 수 없다. 연구실 환경에서는 정상적으로 동작하던 SLAM 시스템이 창고, 병원, 공장, 공항, 물류센터와 같은 실제 환경에서는 예상치 못한 문제를 발생시키는 경우가 많다. 따라서 Testing과 Validation은 선택 사항이 아니라 자율주행 시스템의 신뢰성, 안정성, 반복성, 안전성 및 실용성을 보장하기 위한 필수적인 공학 과정이다.

Testing의 목적은 시스템이 설계 사양에 따라 올바르게 동작하는지를 확인하는 것이다. 반면 Validation은 개발된 시스템이 실제 사용 목적에 적합한지를 평가하는 과정이다.

즉,

Testing

= 설계대로 동작하는가?

Validation

= 실제 현장에서 목적에 맞게 동작하는가?

를 검증하는 과정이다.

이 두 과정이 모두 수행되어야만 SLAM 기반 자율주행 로봇이 실제 환경에서 안정적으로 운영될 수 있다.

구성 요소 수준(Component Level) 테스트

2D SLAM 검증은 일반적으로 개별 모듈 수준의 테스트부터 시작한다.

대상 모듈은 다음과 같다.

LiDAR Driver

IMU Driver

Wheel Encoder

Scan Matching

Occupancy Grid Generator

Localization Module

Navigation Module

Fleet Communication Module

각 모듈을 독립적으로 검증한 후 전체 시스템으로 통합한다.

이러한 방식은 문제 발생 시 원인을 쉽게 찾을 수 있도록 해준다.

센서 검증(Sensor Validation)

SLAM 시스템은 센서 품질에 크게 의존한다.

따라서 가장 먼저 수행되는 작업은 센서 검증이다.

특히 LiDAR는 대부분의 2D SLAM에서 핵심 센서 역할을 한다.

검증 항목은 다음과 같다.

거리 측정 정확도

각도 정확도

반복 정밀도

측정 범위

노이즈 수준

장기 안정성

예를 들어 알려진 거리의 벽을 설치하고 LiDAR 측정값과 실제 거리를 비교한다.

Actual Distance

↓

Measured Distance

↓

Error Analysis

이를 통해 거리 오차와 편차를 계산한다.

IMU와 Encoder 역시 동일한 방식으로 검증된다.

Wheel Odometry 검증

Wheel Odometry는 대부분의 2D SLAM에서 중요한 역할을 한다.

특히 GMapping과 같은 알고리즘은 Odometry에 크게 의존한다.

검증 항목은 다음과 같다.

직선 이동 오차

회전 오차

Drift 누적

바퀴 미끄러짐 영향

바닥 종류별 성능

다양한 바닥에서 시험을 수행한다.

예:

콘크리트

에폭시

타일

카펫

금속 바닥

환경에 따라 성능이 크게 달라질 수 있다.

Localization 성능 시험

Localization Test는 로봇이 자신의 위치를 얼마나 정확하게 계산하는지를 평가한다.

이를 위해 Ground Truth가 필요하다.

Ground Truth는 다음 장비를 이용해 획득할 수 있다.

Motion Capture System

Laser Tracker

Total Station

정밀 측량

시험 중 로봇의 실제 위치와 Localization 결과를 비교한다.

대표적인 평가 지표는 다음과 같다.

Absolute Pose Error (APE)

Relative Pose Error (RPE)

Root Mean Square Error (RMSE)

Mean Localization Error

Maximum Localization Error

이다.

Localization Repeatability

정확도뿐 아니라 반복성도 중요하다.

동일한 경로를 여러 번 반복 주행했을 때 동일한 위치 결과가 나와야 한다.

예를 들어

Run #1

Run #2

Run #3

Run #4

Run #5

를 비교하여 위치 분산을 계산한다.

반복성이 높을수록 시스템 신뢰성이 높다.

Map Accuracy 검증

지도 품질 역시 평가 대상이다.

생성된 Occupancy Grid를 기준 지도와 비교한다.

기준 지도는 다음을 활용할 수 있다.

CAD 도면

건축 도면

정밀 측량 지도

고정밀 SLAM 결과

비교 항목은 다음과 같다.

벽 위치

복도 폭

장애물 위치

공간 크기

등이다.

Map Consistency 시험

지도는 국소적으로 정확해도 전체적으로 왜곡될 수 있다.

예를 들어

출발점

↓

긴 주행

↓

원래 위치 복귀

를 수행했을 때 시작 위치와 종료 위치가 일치해야 한다.

이를 통해 Drift를 평가할 수 있다.

Loop Closure 검증

Loop Closure는 장거리 주행에서 매우 중요하다.

시험 방법은 다음과 같다.

A → B → C → D → A

와 같이 폐회로 경로를 반복 주행한다.

평가 항목:

Loop 검출 성공률

False Loop Closure

Drift 보정 정도

최종 지도 품질

이다.

Scan Matching 성능 평가

Scan Matching은 Localization 핵심 기술이다.

시험 항목:

ICP 성능

NDT 성능

Correlative Matching

Likelihood Matching

평가 기준:

수렴 속도

계산 시간

초기 오차 민감도

노이즈 강인성

이다.

Benchmark Dataset 활용

객관적인 비교를 위해 표준 Dataset을 사용한다.

대표적인 Dataset:

Intel Research Lab

MIT Killian Court

Freiburg Dataset

Radish Dataset

이러한 Dataset은 다양한 알고리즘을 동일 조건에서 비교할 수 있게 해준다.

Simulation 기반 시험

최근에는 시뮬레이션이 매우 중요한 역할을 한다.

대표 플랫폼:

Gazebo

Isaac Sim

Webots

Digital Twin

사용자가 현재 진행 중인 Isaac Sim 기반 AMR 실험도 여기에 해당한다.

시뮬레이션의 장점은 다음과 같다.

Low Cost

+

Repeatability

+

Safety

+

Large Scale Scenario

이다.

Dynamic Environment Test

실제 환경은 정적이지 않다.

따라서 다음 조건을 포함하여 시험해야 한다.

사람 이동

지게차 이동

카트 이동

장애물 출현

장애물 제거

평가 항목:

Localization Stability

Navigation Success Rate

Collision Avoidance

이다.

Robustness Test

강건성 시험은 의도적으로 문제를 발생시키는 시험이다.

예:

LiDAR 일시 차단

IMU 오류

Encoder 오류

네트워크 단절

지도 손상

시스템이 이러한 상황에서도 정상적으로 복구되는지 평가한다.

Global Localization Test

로봇이 위치를 완전히 잃어버렸을 때를 시험한다.

예:

Robot Lost

↓

Global Localization

↓

Recovery

평가 항목:

복구 성공률

복구 시간

최종 위치 오차

이다.

장기 운전(Long-Term Operation Test)

많은 문제는 장시간 운영 후 발생한다.

예:

메모리 누수

Drift 누적

CPU 증가

지도 비대화

센서 열화

산업용 로봇은 수일~수개월 동안 연속 운전을 실시하기도 한다.

환경 변화 시험

다양한 환경에서 성능을 검증해야 한다.

예:

병원

창고

공장

사무실

쇼핑몰

각 환경은 구조와 동적 요소가 다르다.

성능 지표(KPI)

일반적으로 다음 KPI를 사용한다.

Localization Accuracy

Map Accuracy

Navigation Success Rate

Collision Rate

CPU Usage

Memory Usage

Recovery Time

System Uptime

이를 통해 알고리즘 개선 효과를 객관적으로 평가할 수 있다.

안전성 검증(Safety Validation)

Localization 오류는 충돌로 이어질 수 있다.

따라서 다음 기능을 검증해야 한다.

Emergency Stop

Obstacle Detection

Fault Handling

Confidence Monitoring

산업용 로봇은 안전 인증을 위한 추가 검증도 수행한다.

Human-Robot Interaction Test

실내 AMR은 사람과 공간을 공유한다.

검증 항목:

사람 회피

사회적 거리 유지

예측 가능한 움직임

안전 정지

이다.

병원과 쇼핑몰 환경에서는 특히 중요하다.

Fleet Validation

수십~수백 대 로봇이 동시에 운영되는 경우를 검증한다.

시험 항목:

Task Allocation

Traffic Management

Map Synchronization

Charging Management

Communication Reliability

사용자가 개발 중인 RMS/FMS 역시 이 범주에 속한다.

Map Update Validation

환경이 변경되었을 때 지도 업데이트 기능을 검증한다.

예:

선반 위치 변경

설비 이동

공사 구역 생성

시스템이 영구 변경 사항만 반영하고 임시 장애물은 무시하는지 확인한다.

Digital Twin Validation

Digital Twin은 최근 매우 중요한 검증 도구가 되고 있다.

Physical Robot

↓

SLAM Data

↓

Digital Twin

↓

Validation

실제 환경과 가상 환경을 비교하여 문제를 조기에 발견할 수 있다.

AI 기반 검증

최근에는 AI를 활용한 자동 검증도 연구되고 있다.

예:

Localization Failure Prediction

Anomaly Detection

Change Detection

Automatic Test Generation

이를 통해 테스트 자동화를 구현할 수 있다.

미래 방향

미래의 SLAM 검증은 단순한 위치 오차 측정을 넘어 다음을 평가하게 될 것이다.

Geometry Accuracy

+

Semantic Understanding

+

World Model Consistency

+

Reasoning Capability

+

Embodied AI Performance

즉, 로봇이 단순히 "어디에 있는가?"를 넘어 "무엇을 이해하고 있는가?"까지 평가하게 될 것이다.

결론

Volume 04의 마지막 장인 04_08_2D_SLAM_Testing_and_Validation은 지금까지 학습한 모든 기술을 실제 산업용 시스템으로 완성하기 위한 최종 단계이다.

2D SLAM Fundamentals

↓

LiDAR SLAM

↓

Occupancy Grid

↓

GMapping / Hector SLAM

↓

Localization & Map Update

↓

Indoor AMR Applications

↓

Limitations

↓

Testing & Validation

Testing과 Validation은 연구실 수준의 알고리즘을 산업 현장에서 사용할 수 있는 제품 수준의 기술로 발전시키는 핵심 과정이다. 결국 자율주행 로봇의 성공 여부는 알고리즘 자체보다도 얼마나 철저하게 시험하고 검증했는가에 의해 결정된다고 할 수 있다.

Top comments (0)