위치 측정 및 동시 지도화
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
위치 측정 및 동시 지도화(SLAM)는 로봇 또는 자율 시스템이 주변 환경의 지도를 구축하고 동시에 해당 지도 내에서 자신의 위치를 추정하는 기술이다. SLAM은 제어 및 센서 데이터를 사용하여 에이전트의 상태와 환경 지도를 추정하는 문제로, 베이즈 정리와 같은 수학적 원리를 기반으로 한다. 칼만 필터, 입자 필터, 번들 조정, 최대 사후 확률 추정 등의 알고리즘이 사용되며, 지도 유형, 센서 종류, 모델에 따라 다양한 SLAM 알고리즘이 존재한다. SLAM은 매핑, 센싱, 운동 모델링의 세 가지 주요 구성 요소로 이루어져 있으며, 라이다 SLAM, 비주얼 SLAM, 음향 SLAM 등 다양한 종류가 있다. SLAM은 로봇 청소기, 자율 주행, 드론, 증강 현실, 가상 현실, 수중 탐사 등 다양한 분야에 응용되며, 루프 폐쇄, 이동 객체 처리, 탐험, 협업 SLAM 등의 과제를 해결하기 위한 연구가 진행 중이다. 1980년대부터 연구가 시작되어 발전해 왔으며, 현재는 로봇 공학, 자율 주행, AR/VR 등 다양한 분야에서 널리 활용되고 있다.
더 읽어볼만한 페이지
- 응용 기계 학습 - 알파고
알파고는 구글 딥마인드가 개발한 인공지능 바둑 프로그램으로, 심층 신경망과 몬테카를로 트리 탐색 알고리즘을 결합하여 자가 학습을 통해 인간을 뛰어넘는 바둑 실력을 달성하며 인공지능 기술 발전과 사회적 영향에 대한 논의를 촉발했다. - 응용 기계 학습 - 알파폴드
알파폴드는 딥마인드에서 개발한 단백질 구조 예측 인공지능 시스템으로, 아미노산 서열로부터 3차원 구조를 예측하며 높은 정확도로 신약 개발과 질병 연구에 기여할 가능성이 있지만, 단백질 복합체 및 무질서 단백질 영역 예측에는 한계가 있다. - 로봇공학 - 사이보그
사이보그는 인공 부위를 이식받아 신체 기능이 복원되거나 향상된 개조 생명체로, 보철, 인공 장기 등의 기술을 포함하며 의료, 윤리, 군사적 측면에서 다양한 논의를 낳고 있다. - 로봇공학 - 로보택시
- 기계 학습 - 비지도 학습
비지도 학습은 레이블이 없는 데이터를 통해 패턴을 발견하고 데이터 구조를 파악하는 것을 목표로 하며, 주성분 분석, 군집 분석, 차원 축소 등의 방법을 사용한다. - 기계 학습 - 지도 학습
지도 학습은 레이블된 데이터를 사용하여 입력 데이터와 출력 레이블 간의 관계를 학습하는 기계 학습 분야로, 예측 모델 생성, 알고리즘 선택, 모델 최적화, 정확도 평가 단계를 거치며, 회귀 및 분류 문제에 적용되고 다양한 확장 기법과 성능 평가 방법을 활용한다.
위치 측정 및 동시 지도화 | |
---|---|
개요 | |
명칭 | 동시적 위치 추정 및 지도 작성 |
로마자 표기 | Dongsi-jeok Wichi Chujeong mit Jido Jakseong |
영어 명칭 | Simultaneous Localization and Mapping |
약칭 | SLAM (슬램) |
분야 | 컴퓨터 과학 로봇 공학 |
설명 | |
정의 | 로봇이나 자율 주행 차량이 자신의 위치를 추정하면서 동시에 주변 환경의 지도를 작성하는 기술 |
핵심 과제 | 로봇의 위치 추정 환경 지도 작성 이 두 가지 작업을 동시에 수행 |
응용 분야 | 자율 주행 로봇 내비게이션 증강 현실 드론 가상 현실 3차원 모델링 재난 구조 실내 매핑 수중 탐사 우주 탐사 |
역사 | |
초기 연구 | 1980년대 (지도 작성 문제와 위치 추정 문제에 대한 개별적인 연구) |
SLAM 개념 등장 | 1990년대 후반 |
주요 발전 | 확장 칼만 필터 (EKF) SLAM 파티클 필터 (PF) SLAM 그래프 기반 SLAM |
기술적 접근 방식 | |
센서 종류 | 카메라 (단안 카메라, 스테레오 카메라, RGB-D 카메라) 라이다 (LiDAR) IMU (관성 측정 장치) GPS 초음파 센서 |
알고리즘 | 칼만 필터 (Kalman filter) 파티클 필터 (Particle filter) 그래프 최적화 (Graph optimization) 베이즈 추론 (Bayesian inference) |
특징 추출 | 코너 검출 (Corner detection) 특징점 매칭 (Feature matching) 시각적 단서 (Visual landmarks) |
SLAM의 종류 | |
시각 SLAM (Visual SLAM) | 카메라를 주요 센서로 사용 |
라이다 SLAM (LiDAR SLAM) | 라이다를 주요 센서로 사용 |
멀티 센서 융합 SLAM (Multi-sensor fusion SLAM) | 여러 종류의 센서를 융합하여 사용 |
특징 기반 SLAM (Feature-based SLAM) | 이미지나 포인트 클라우드에서 특징을 추출하여 사용 |
직접 SLAM (Direct SLAM) | 이미지 픽셀 값을 직접 사용하여 SLAM 수행 |
고려 사항 | |
문제점 | 데이터 연관성 (Data association) 루프 폐쇄 (Loop closure) 계산 복잡성 (Computational complexity) 센서 노이즈 (Sensor noise) |
관련 기술 | |
모션 캡처 | 동작 캡처 |
2. SLAM의 수학적 설명
일련의 제어 및 센서 관측치 가 이산 시간 단계 에 걸쳐 주어졌을 때, SLAM 문제는 에이전트의 상태 의 추정치와 환경 지도 를 계산하는 것이다. 모든 수량은 일반적으로 확률적이므로 목표는 다음 확률을 계산하는 것이다.[1]
SLAM 문제를 해결하기 위해 사용되는 대표적인 통계 기법으로는 칼만 필터와 입자 필터(몬테 카를로 위치 인식 알고리즘)가 있다. 이 기법들은 로봇의 자세와 지도 매개변수에 대한 사후 확률 분포를 추정하는 데 사용된다. 공분산 교차 기법은 통계적 독립성 가정을 사용하지 않고도 모델을 보수적으로 근사하여, 대규모 응용 프로그램에서 알고리즘의 복잡성을 줄이는 데 도움을 준다.[2] 불확실성을 단순한 경계 영역으로 표현하여 계산 효율성을 높이는 다른 근사 방법들도 있다.[3]
SLAM(Simultaneous Localization and Mapping)은 로봇이나 이동체가 자신이 위치한 환경을 인식하고 탐색하는 데 필수적인 기술이다. 이는 마치 사람이 낯선 환경에서 주변을 관찰하며 길을 찾고 동시에 머릿속으로 지도를 그리는 과정과 유사하다. 로봇은 탑재된 센서를 통해 얻는 정보를 활용하여 주변 환경의 지도를 생성함과 동시에, 생성된 지도 위에서 자신의 위치를 지속적으로 추정해야 한다.[7][8] 정확한 위치를 파악하기 위해서는 지도가 필요하고, 정확한 지도를 만들기 위해서는 현재 위치를 알아야 하는 이 상호 의존적인 문제를 해결하는 것이 SLAM의 핵심 과제이다.
:
베이즈 정리는 지도와 전이 함수 가 주어졌을 때, 위치 사후 확률(posterior probability)을 순차적으로 업데이트하기 위한 틀을 제공한다.
:
마찬가지로 지도는 다음과 같이 순차적으로 업데이트할 수 있다.
:
많은 추론 문제와 마찬가지로, 위치와 지도 두 변수를 함께 추론하는 해결책은 기대-최대화 알고리즘을 이용하여 두 추정치의 업데이트를 번갈아 수행함으로써 국소 최적해(local optimum)를 찾는 방식으로 접근할 수 있다.
3. SLAM 알고리즘
집합 추정을 위한 집합론적 방법은 주로 구간 전파에 기반한다.[4][5] 이 방법들은 로봇의 자세를 포함하는 집합과 지도의 집합 근사값을 제공한다. 번들 조정과 더 일반적으로 최대 사후 확률 추정(MAP)은 이미지 데이터를 사용하는 SLAM에서 널리 쓰이는 기술이다. 이 기술들은 로봇의 자세와 랜드마크 위치를 함께 추정하여 지도의 정확도를 높인다. 과거 탱고(구 프로젝트 탱고)를 대체한 구글의 ARCore와 같은 상용화된 SLAM 시스템에서도 사용된다. MAP 추정기는 전체 사후 확률 분포를 추정하기보다는, 센서 데이터를 바탕으로 로봇의 자세와 지도에 대한 가장 가능성 높은 설명을 계산한다.
새로운 SLAM 알고리즘은 여전히 활발하게 연구되고 있는 분야이며,[6] 지도 유형, 사용되는 센서, 그리고 적용되는 모델의 다양한 요구 사항과 가정에 따라 발전하고 있다. 많은 SLAM 시스템들은 이러한 다양한 측면에서의 선택들을 조합하여 구현된 것으로 볼 수 있다.
4. SLAM의 구성 요소
SLAM 시스템은 일반적으로 다음과 같은 주요 구성 요소들로 이루어진다.
이 세 가지 요소는 서로 밀접하게 연관되어 작동한다. 센싱을 통해 얻은 외부 환경 정보와 운동 모델을 통해 추정한 로봇 자체의 움직임 정보를 통합하고, 이를 바탕으로 매핑 과정을 수행하여 로봇이 실시간으로 자신의 위치를 파악하고 동시에 주변 환경 지도를 효과적으로 작성할 수 있도록 한다.
4. 1. 매핑 (Mapping)
SLAM에서 지도는 주변 환경을 표현하는 방식으로, 크게 위상 지도와 그리드 맵으로 나눌 수 있다.
위상 지도(Topological mapeng)는 환경의 기하학적으로 정확한 지도를 만드는 대신, 환경의 연결성, 즉 위상을 파악하는 데 중점을 둔다. 이 접근 방식은 메트릭 SLAM 알고리즘에서 전역 일관성을 적용하는 데 사용되기도 한다.[7]
반면, 그리드 맵(Grid mapeng)은 환경을 일반적으로 사각형이나 육각형 모양의 작은 셀들로 나눈 배열을 사용하여 표현한다. 각 셀이 점유되어 있는지 아닌지를 추론하는 방식으로 지도를 만든다. 계산을 단순화하기 위해 각 셀은 통계적으로 서로 독립적이라고 가정하는 경우가 많다. 이러한 가정 하에, 로봇이 특정 위치()에서 주변을 관측()했을 때, 새로운 지도의 셀()이 관측 결과와 일치하면 해당 셀이 점유되었을 확률()은 1로, 일치하지 않으면 0으로 설정된다.
최근의 자율주행차 기술에서는 매핑 문제를 단순화하기 위해 미리 구축된 매우 상세한 지도 데이터를 광범위하게 활용하는 경향이 있다. 이 지도에는 도로의 흰색 선이나 연석의 위치까지 정밀하게 표시되어 있기도 하다. 구글 스트리트 뷰와 같이 위치 정보가 태그된 시각 데이터 역시 지도의 일부로 사용될 수 있다. 이러한 시스템은 SLAM 문제를 보다 간단한 위치 추정 문제로 바꾸어, 자동차나 사람처럼 움직이는 객체만 실시간으로 지도 상에서 업데이트하면 되도록 한다.
라이다(LIDAR)와 같은 센서를 탑재한 이동 로봇은 주행하면서 주변 환경을 감지하여 2차원 또는 3차원 환경 지도를 생성한다. 동시에 로봇의 이동 거리를 추정하여 지도 상에서 자신의 위치를 파악한다. 이는 GPS 신호가 닿지 않는 실내 환경 등 기존 지도가 없는 곳에서도 자기 위치를 추정할 수 있게 해준다.
이러한 지도 작성 및 위치 추정에는 레이저 거리 스캐너(라이다), 카메라, 엔코더, 마이크로폰 어레이 등 다양한 센서 등이 사용된다.
로봇 청소기는 SLAM 기술을 활용한 대표적인 사례 중 하나이다. 로봇 청소기는 청소할 공간의 형태와 그 안에서의 자신의 위치를 파악하여 이동 경로와 청소 순서를 최적화한다. 이를 통해 청소 효율을 높이고, 전력 소모를 줄이며, 청소 성능을 향상시키고, 청소 가능 면적을 넓힐 수 있다. 예를 들어 파나소닉제 로봇 청소기 "RULO"(MC-RS800) 등에서는 스마트폰 앱을 통해 2차원 지도를 보여주며 실내 청소 상황 및 오염 상황의 정보를 사용자에게 제공하기도 한다.
야외에서는 드론 택배 서비스에 필요한 3차원 지도를 효율적으로 만들기 위해, 차량에 SLAM 장비를 싣고 도로를 주행하며 주변 환경 정보를 수집하는 데 활용되기도 한다.
4. 2. 센싱 (Sensing)
SLAM(Simultaneous Localization and Mapping)은 항상 여러 종류의 센서를 활용하며, 각 센서 유형의 성능과 한계는 새로운 알고리즘 개발의 주요 동기가 되어왔다.[8] 센서 측정값의 통계적 독립성은 측정 시 발생할 수 있는 편향이나 노이즈를 처리하는 데 필수적이다. 사용하는 센서의 종류에 따라 해당 센서에 가장 적합한 가정을 바탕으로 하는 서로 다른 SLAM 알고리즘이 만들어진다. 예를 들어, 레이저 스캔이나 시각적 특징 정보는 특정 영역 내의 많은 점에 대한 상세 정보를 제공한다. 이 점들의 집합(포인트 클라우드) 형태는 영상 정합을 통해 각 단계에서 쉽게 정렬될 수 있어, 때로는 SLAM 추론 과정이 불필요해지기도 한다. 반대로 촉각 센서는 로봇과 매우 가까운 지점의 정보만 제공하므로 데이터가 매우 희소하다. 따라서 순수한 촉각 SLAM에서는 부족한 정보를 보완하기 위해 강력한 사전 모델이 필요하다. 대부분의 실용적인 SLAM 작업은 이러한 시각 센서와 촉각 센서의 중간 정도에 해당한다.
센서 모델은 크게 랜드마크 기반 방식과 원시 데이터 접근 방식으로 나뉜다. 랜드마크는 Wi-Fi 액세스 포인트나 무선 비콘처럼 센서로 위치를 추정할 수 있는, 세상에 존재하는 고유하게 식별 가능한 객체를 의미한다. 원시 데이터 접근 방식은 랜드마크를 식별할 수 있다고 가정하지 않고, 대신 현재 위치 가 주어졌을 때 센서 관측값 가 나타날 확률인 를 직접 모델링한다.
SLAM에 사용되는 주요 센서는 다음과 같다.
일반적으로 SLAM 장비에는 자기 위치 추정 정확도를 높이기 위해 IMU나 GNSS, 차량형 이동체의 경우 로터리 엔코더를 이용한 휠 오도메트리 등 SLAM 이외의 보조 시스템이 함께 탑재된다.
=== 센서 종류별 SLAM ===
==== 라이다(Lidar) SLAM ====
라이다를 사용하여 주변 환경을 감지하고 2차원 또는 3차원 점군 데이터를 얻어 SLAM을 수행한다. 라이다는 어둠 속에서도 밝기와 관계없이 데이터를 얻을 수 있으며, 카메라 기반 SLAM에 비해 정밀도가 높고 넓은 시야에서 원거리까지 관측할 수 있다는 장점이 있다. 하지만 라이다 센서 자체가 고가이며, 벽과 같이 특징점이 적거나 장애물이 거의 없는 환경에서는 점군 데이터 획득이 어려울 수 있다는 단점이 있다. 지도 작성 및 자기 위치 추정에는 확장 칼만 필터(EKF), 입자 필터, ICP(Iterative Closest Point) 알고리즘, NDT(Normal Distributions Transform) 알고리즘 등이 사용된다.
==== 카메라(Visual) SLAM ====
카메라로 촬영한 영상 또는 RGBD 카메라의 깊이 영상(Depth Image)을 이용하여 2차원 또는 3차원 지도를 생성한다.
==== 기타 센서 기반 SLAM ====
컨볼루션 신경망(CNN)과 같은 기계 학습 기법을 활용하여 깊이를 추정하는 SLAM이나, Wi-Fi 신호를 이용하는 SLAM도 연구되고 있다. 수중과 같은 특수 환경에서는 음향 센서를 이용한 SLAM이 사용되기도 한다.
실제 응용에서는 단일 센서의 오차나 노이즈를 줄이기 위해 여러 종류의 센서 데이터를 융합하여 SLAM을 수행하는 경우가 많다. 예를 들어, 로봇 청소기는 카메라나 라이다 센서 등을 이용해 집안 구조와 자신의 위치를 파악하여 청소 경로를 최적화하고 효율을 높인다. 파나소닉의 로봇 청소기 "RULO"처럼 스마트폰 앱으로 2차원 지도를 보여주며 청소 상황 정보를 제공하는 제품도 있다. 또한, 드론 택배 서비스에 필요한 3차원 지도를 효율적으로 만들기 위해 차량에 SLAM 장비를 싣고 도로를 주행하며 정보를 수집하는 데에도 활용된다.
4. 3. 운동 모델 (Kinematics Modeling)
P(xt|xt-1) 항은 모델의 운동학을 나타내며, 일반적으로 로봇에 주어지는 동작 명령에 대한 정보를 포함한다. 모델의 일부로 로봇 운동학이 포함되어 내재적 및 주변 소음 조건에서 센싱 추정치를 개선하는 데 기여한다. 동적 모델은 다양한 센서 정보와 오류 모델의 기여를 균형 있게 조정하며, 로봇의 위치와 방향을 확률적으로 표현하는 데 사용된다.
2차원 로봇의 경우, 운동학은 일반적으로 회전과 "전진" 명령의 조합으로 표현되며, 이 과정에서 모터 소음과 같은 불확실성이 함께 고려된다. 각도 및 선형 방향에서 독립적인 소음으로 형성된 분포는 비가우시안이지만, 종종 계산의 편의성을 위해 가우시안으로 근사하여 사용하기도 한다. 대안적인 접근 방식으로는 운동학 항을 직접 모델링하는 대신, 각 명령 후 로봇 바퀴에서 오도메트리 데이터를 읽어 이를 하나의 센서 정보처럼 처리하는 방법이 있다.
5. SLAM의 종류
SLAM(Simultaneous Localization and Mapping)은 사용하는 센서의 종류에 따라 분류한다.
5. 1. Lidar SLAM
라이다(Lidar)를 사용한 SLAM(Simultaneous Localization and Mapping, 동시적 위치 추정 및 지도 작성)은 라이다 센서를 통해 주변 환경을 감지하여 작동한다. 이 방식은 주변 밝기와 관계없이 어둠 속에서도 2차원 또는 3차원 점군(point cloud) 데이터를 얻을 수 있다는 장점이 있다.
카메라만을 사용하는 Visual SLAM과 비교했을 때, 라이다 SLAM은 더 높은 정밀도를 제공하며, 넓은 시야각으로 원거리까지 관측할 수 있다. 하지만 라이다 센서 자체가 고가라는 점과, 도로나 넓은 공간과 같이 특징적인 장애물이 적은 환경에서는 점군 데이터 획득이 어려울 수 있다는 단점도 존재한다.
라이다 SLAM에서 지도 작성 및 자기 위치 추정을 위해서는 주로 다음과 같은 알고리즘들이 사용된다.
- 확장 칼만 필터(Extended Kalman Filter, EKF)
- 입자 필터(Particle Filter)
- ICP(Iterative Closest Point, 반복적 최단점) 알고리즘
- NDT(Normal Distributions Transform, 정규 분포 변환) 알고리즘
5. 2. Visual SLAM
카메라를 주요 센서로 사용하는 SLAM 기술이다. 카메라로 촬영된 영상이나, RGBD 카메라의 경우에는 깊이(깊이) 정보까지 활용하여 2차원 또는 3차원의 지도를 생성한다. SIFT와 같은 지역 특징 추출 알고리즘의 발전과 모바일 기기 등 카메라의 보급이 증가하면서 시각 정보를 주로 활용하는 Visual SLAM(VSLAM) 연구가 활발하게 진행되었다.[9]VSLAM은 사용하는 카메라와 데이터의 종류에 따라 다음과 같이 나눌 수 있다.
- RGB SLAM: 단안 카메라, 전천구 카메라, 광각 카메라와 같이 색상 정보(RGB)만을 얻는 카메라를 사용한다. 여러 장의 연속된 이미지로부터 특징점이나 이미지 전체의 밝기 값 변화 등을 분석하여 카메라의 움직임과 주변 환경의 3차원 구조를 동시에 추정한다. 카메라만 사용하기 때문에 시스템 구성 비용이 저렴하다는 큰 장점이 있다. 하지만 특징점이 부족한 벽이나 단조로운 환경, 카메라의 빠른 움직임으로 인한 이미지 흔들림, 어두운 환경에서는 성능이 크게 저하될 수 있다. 또한, 이미지 정보만으로는 실제 환경의 절대적인 크기(스케일)를 추정할 수 없다는 본질적인 한계가 있다.
- RGBD SLAM: RGB 카메라와 함께 깊이 정보(Depth)를 측정할 수 있는 센서(깊이 센서)를 함께 사용한다. 대표적인 깊이 센서로는 스테레오 카메라, 키넥트, 프로젝트 탱고 (깊이 센서가 탑재된 스마트폰) 등이 있다. 이 방식은 카메라 이미지와 함께 각 픽셀까지의 거리를 나타내는 깊이 이미지를 동시에 얻을 수 있다. 스테레오 카메라를 사용하는 경우 비교적 저렴하게 깊이 정보를 얻을 수 있지만, RGB SLAM과 마찬가지로 특징점 부족 등의 환경적 제약에 영향을 받는다. 또한, 라이다 센서와 비교하면 일반적으로 측정 정밀도가 낮고 측정 가능한 거리가 짧다는 단점이 있다. 라이다 센서와 카메라를 함께 사용하는 시스템의 경우, 라이다 SLAM과 RGBD SLAM의 구분이 모호해지기도 한다.
5. 3. 기타 SLAM
SLAM 기술은 시각 센서나 라이다 외에도 다양한 센서를 활용하여 발전해왔다. 이러한 '기타 SLAM' 방식들은 특정 환경이나 목적에 맞춰 개발되었다.- 촉각 SLAM: 로봇 주변의 물체를 직접 만져서 얻는 촉각 정보를 이용해 지도를 작성하고 위치를 추정한다.[11] 정보가 매우 희소하여 강력한 사전 모델이 필요하다.
- 레이더 SLAM: 레이더 센서를 사용하여 주변 환경을 인식하고 SLAM을 수행한다.[12]
- 음향 SLAM: 소나 센서나 마이크를 이용하여 소리 정보를 통해 SLAM을 수행한다.[13] 특히 수중 환경 등 빛이 잘 통하지 않는 곳에서 활용될 수 있다.
- aSLAM (Acoustic Simultaneous Localization and Mapping|음향 동시 위치 추정 및 지도 작성eng): 마이크 배열을 이용해 소리의 도달 방향각(Direction-of-Arrival|DoAeng)을 추정하고, 이를 통해 음원의 3차원 위치를 파악하여 지도를 작성한다.[23] 음원 위치 추정 기술을 기반으로 하며, 인간-로봇 상호작용이나 음향 장면 매핑 연구에 기여한다. 다만, 반향이나 소음 등에 취약하다는 단점이 있다.[24]
- Wi-Fi SLAM: 주변 Wi-Fi 액세스 포인트의 신호 강도를 측정하여 위치를 추정하고 지도를 작성한다.[14] 실시간 위치 추적 시스템(RTLS)이나 삼각 측량법과 같은 무선 측위 기술을 활용하기도 한다.
- 관성 측정 장치(IMU) 기반 SLAM: 신발 등에 부착된 관성 측정 장치를 주 센서로 사용하여 보행자의 움직임을 추적한다. 보행자가 벽을 피한다는 가정 등을 활용하여 실내 측위 시스템으로 건물 내부 지도를 자동으로 생성할 수 있다.[15]
- 오디오-비주얼 SLAM: 음향 정보와 시각 정보를 함께 사용하여 SLAM을 수행한다.[25] 주로 인간-로봇 상호작용을 위해 개발되었으며, 사람의 목소리(음향 특징)와 자세(시각 특징)를 동시에 파악하여 보다 정확한 지도를 만들 수 있다. 두 센서는 서로의 단점을 보완하는데, 예를 들어 카메라는 시야각이 좁고 장애물에 가려질 수 있지만 마이크는 전방향의 소리를 감지할 수 있다. 반대로 마이크는 소음이나 반향에 취약하지만 카메라는 그렇지 않다. 드론이나 서비스 로봇처럼 저전력, 경량 장비가 중요한 경우 단안 카메라와 소형 마이크 배열을 이용한 구현이 가능하다.
- 기계 학습 기반 SLAM: 컨볼루션 신경망(CNN)과 같은 기계 학습 모델을 활용하여 카메라 이미지로부터 깊이 정보를 추정하는 등 SLAM 성능을 높이는 연구도 진행 중이다.
이 외에도 다양한 센서들을 조합하여 사용하는 경우가 많다. 여러 센서의 정보를 융합하면 각 센서가 가진 오차나 노이즈의 영향을 줄여 더 정확하고 안정적인 SLAM 수행이 가능하다.
6. SLAM의 응용 분야
SLAM 기술은 다양한 분야에서 활용되고 있다. 라이다와 같은 센서를 탑재한 이동체가 주변 환경을 인식하여 2차원 또는 3차원 지도를 작성하는 동시에, 이동체의 움직임을 추정하여 지도 상에서 자신의 위치를 파악한다. 이는 GPS 신호가 닿지 않는 실내와 같이 기존 지도가 없는 환경에서도 자기 위치 추정을 가능하게 한다.
SLAM 구현에는 주로 레이저 거리 스캐너(측역 센서, 라이다), 카메라, 엔코더, 마이크 배열 등의 센서가 사용된다. 또한, IMU나 GNSS, 차량형 이동체의 경우 로터리 엔코더를 이용한 휠 오도메트리와 같은 보조 시스템을 함께 사용하여 위치 특정 정밀도를 높이기도 한다.
대표적인 응용 사례는 다음과 같다.
- '''로봇 청소기''': 가정용 로봇 청소기는 SLAM 기술을 활용하여 청소할 공간의 형태와 자신의 위치를 파악한다. 이를 통해 이동 경로와 청소 순서를 최적화하여 청소 효율을 높이고, 전력 소모를 줄이며, 청소 가능 면적을 넓힌다. 일부 모델(파나소닉의 "RULO" MC-RS800 등)은 스마트폰 앱을 통해 사용자가 실내 지도와 청소 상태, 오염 정도를 확인할 수 있는 기능을 제공하기도 한다.
- '''드론''': 드론 택배와 같이 드론을 활용하는 분야에서는 효율적인 3차원 지도 제작에 SLAM 기술이 이용된다. 예를 들어, 차량에 SLAM 장비를 싣고 도로를 주행하며 주변 환경 데이터를 수집하여 드론 운행에 필요한 정밀 지도를 생성할 수 있다.
- '''음향 SLAM (aSLAM)''': 음향 분야에서는 소리 정보를 이용하여 환경 내 음원의 3차원 위치를 파악하고 지도를 작성하는 aSLAM(Acoustic Simultaneous Localization and Mapping|음향 동시 지도 작성 및 위치 추정eng) 기술이 연구되고 있다.[23] 관찰자(로봇 등)는 마이크 배열을 통해 음원의 방향각(DoA)을 추정하고, 이를 바탕으로 음원 위치 추정 기술을 사용하여 음원의 위치를 파악한다. aSLAM은 음향 장면 매핑의 기초를 제공하며, 음성을 통한 인간-로봇 상호작용에 기여할 수 있다. 여러 음원이나 간헐적인 음원을 처리하기 위해 무작위 유한 집합 이론 등이 활용되기도 한다.[24] 다만, 음향 정보의 특성상 반향, 비활성 음원, 소음 등에 취약하다는 단점이 있다.
7. SLAM의 발전과 과제
SLAM 기술은 기본적인 위치 추정 및 지도 작성을 넘어, 실제 환경에서 마주하는 다양한 문제들을 해결하기 위해 지속적으로 발전해 왔다. 이러한 발전 과정에서 여러 중요한 과제들이 제기되었으며, 이를 해결하기 위한 연구가 활발히 진행되고 있다.
주요 연구 과제 중 하나는 로봇이 이동하면서 발생하는 누적 오차를 효과적으로 관리하는 것이다. 이를 위해 이전에 방문했던 장소를 다시 인식하여 오차를 수정하는 루프 폐쇄 기술이 중요하다. 또한, 실제 환경에는 움직이는 객체(예: 사람, 다른 로봇)가 존재하기 때문에, 정적인 환경을 가정한 기존 SLAM 방식의 한계를 극복하고 동적인 환경에서도 강인하게 작동하는 기술이 요구된다.
더 나아가, 미지의 환경을 효율적으로 탐색하며 지도를 완성하는 탐험 전략과, 여러 로봇이 서로 협력하여 더 빠르고 정확하게 임무를 수행하는 협업 SLAM 기술 역시 중요한 연구 분야로 다루어지고 있다. 이러한 과제들을 해결하려는 노력은 SLAM 기술의 정확성, 신뢰성, 그리고 적용 범위를 넓히는 데 기여하고 있다.
7. 1. 루프 폐쇄 (Loop Closure)
루프 폐쇄는 로봇이나 시스템이 이전에 방문했던 위치를 다시 인식하고, 이를 바탕으로 지도 정보나 자신의 위치 추정값을 수정(신념 업데이트)하는 과정이다. 로봇이 이동하면서 쌓이는 오차 때문에, 과거에 방문했던 장소임에도 불구하고 현재 위치 추정이 틀어져 전혀 다른 곳으로 인식할 수 있다(낮은 사전 확률 문제). 이를 해결하기 위해, 현재 센서 데이터와 과거에 저장된 센서 데이터를 비교하여 유사성을 검사하는 별도의 알고리즘을 사용한다. 만약 현재 위치가 과거에 방문했던 특정 장소와 매우 유사하다고 판단되면(일치 감지), 누적된 오차를 수정하고 지도의 정확도를 높인다(사전 확률 재설정). 예를 들어, 컴퓨터 비전 기술을 이용해 각 장소에서 얻은 이미지의 특징점(SIFT(Scale-invariant feature transform) 등)을 단어 묶음 벡터 형태로 저장해두고, 새로운 장소의 특징과 비교하여 루프 폐쇄를 수행할 수 있다.7. 2. 이동 객체 (Moving Objects)
다른 차량이나 보행자와 같이 정적인 환경이 아닌 환경은 여전히 연구 과제를 제시한다.[16][17] DATMO(Detection and Tracking of Moving Objects)를 사용한 SLAM은 에이전트와 유사한 방식으로 움직이는 물체를 추적하는 모델이다.[18]7. 3. 탐험 (Exploration)
능동적 SLAM은 SLAM과 함께 지도를 가능한 효율적으로 구축하기 위해 다음에 어디로 이동할지를 결정하는 문제를 결합하여 연구하는 분야이다. 능동적 탐색의 필요성은 특히 촉각 SLAM과 같은 희소 감지 환경에서 두드러진다. 능동적 SLAM은 일반적으로 가상 동작을 가정했을 때 지도 엔트로피의 변화를 근사하여 수행된다. 다중 에이전트 SLAM은 이 문제를 여러 로봇이 최적으로 탐색하기 위해 서로 협력하고 조정하는 경우로 확장한다.7. 4. 협업 SLAM (Collaborative SLAM)
`협업 SLAM`은 여러 로봇 또는 사용자의 센서를 결합하여 3D 맵을 생성한다.[22] 이 기능은 여러 팀에 의해 2021 DARPA 서브테레니언 챌린지에서 시연되었다.8. SLAM 구현 방법
다양한 SLAM 알고리즘은 오픈 소스 소프트웨어 로봇 운영 체제(ROS) 라이브러리에 구현되어 있으며, 3D 지도나 OpenCV의 시각적 특징을 위해 포인트 클라우드 라이브러리와 함께 자주 사용된다.
8. 1. EKF SLAM
로봇 공학에서 ''EKF SLAM''은 확장 칼만 필터(EKF)를 SLAM에 사용하는 알고리즘의 한 종류이다. 일반적으로 EKF SLAM 알고리즘은 특징 기반이며 데이터 연관을 위해 최대 우도 알고리즘을 사용한다. 1990년대와 2000년대에 EKF SLAM은 FastSLAM이 도입되기 전까지 SLAM의 사실상 표준 방법으로 여겨졌다.[26]EKF SLAM의 한계점은 가우시안 잡음 가정과 관련 있는데, 이는 불확실성을 처리하는 능력을 크게 저해한다. 사후 확률 분포에 불확실성이 클수록 EKF의 선형화가 실패할 가능성이 커진다.[27]
8. 2. GraphSLAM
로봇 공학에서 '''그래프 SLAM'''은 관측 상호 의존성 요인 그래프를 생성하여 얻은 희소 정보 행렬을 사용하는 SLAM 알고리즘이다. 두 관측이 동일한 랜드마크에 대한 데이터를 포함할 경우 서로 관련이 있다고 본다.[27] 이 알고리즘은 최적화 기법에 기반한다.9. SLAM의 역사
라이다와 같은 센서를 장착한 이동체가 이동하면서 주변 환경 정보를 감지하여 2차원 또는 3차원 환경 지도를 생성하는 동시에, 자신의 이동량을 순차적으로 추정하여 지도 상에서 현재 위치를 파악하는 기술이다. 기존의 내비게이션이 이미 존재하는 지도 위에서 GPS 등을 이용해 위치를 찾는 것과 달리, SLAM은 지도가 없는 실내와 같은 미지의 환경에서도 스스로 지도를 만들면서 동시에 자신의 위치를 추정할 수 있다.
SLAM의 핵심 원리는 위치 추정과 지도 작성을 동시에 수행하는 데 있다. 정확한 지도를 만들기 위해서는 현재 위치를 알아야 하고, 반대로 정확한 현재 위치를 알려면 주변 지도가 필요하다. 이처럼 서로 의존적인 두 가지 과제를 반복적으로 수행하며 점진적으로 정확도를 높여나간다. 이는 마치 사람이 낯선 장소에서 주변을 탐색하며 길을 익히고 자신의 위치를 파악하는 과정과 유사하다.
위치 추정 및 지도 작성을 위해 주로 레이저 거리 스캐너(라이다), 카메라, 엔코더, 마이크로폰 어레이 등 다양한 센서가 활용된다. 또한, SLAM 시스템의 정확도를 향상시키기 위해 IMU나 GNSS, 바퀴 달린 이동체의 경우 로터리 엔코더를 이용한 휠 오도메트리와 같은 보조적인 위치 측정 시스템이 함께 사용되기도 한다.
SLAM 기술은 다양한 분야에서 응용되고 있다. 대표적인 예로 로봇 청소기를 들 수 있는데, 집안 구조를 파악하고 자신의 위치를 실시간으로 인식하여 청소 경로를 최적화하고 작업 효율을 높인다. 일부 모델은 스마트폰 앱을 통해 생성된 지도를 보여주며 청소 상태나 오염 구역 정보를 제공하기도 한다. 야외에서는 택배 드론 운용에 필요한 3차원 지도를 효율적으로 제작하기 위해, SLAM 장비를 탑재한 차량이 도로를 주행하며 주변 환경 데이터를 수집하는 데 활용되기도 한다.
참조
[1]
서적
Probabalistic Robotics
The MIT Press
[2]
간행물
Building a Million-Beacon Map.
[3]
간행물
A Suboptimal Algorithm for Automatic Map Building.
[4]
논문
A nonlinear set-membership approach for the localization and map building of an underwater robot using interval constraint propagation
http://www.ensta-bre[...]
[5]
논문
Range-only SLAM with occupancy maps; A set-membership approach
http://www.ensta-bre[...]
[6]
논문
Past, Present, and Future of Simultaneous Localization and Mapping: Toward the Robust-Perception Age
2016
[7]
논문
FAB-MAP: Probabilistic localization and mapping in the space of appearance
http://www.robots.ox[...]
2014-07-23
[8]
논문
Cross-Spectral Visual Simultaneous Localization And Mapping (SLAM) with Sensor Handover
http://www.durham.ac[...]
2013-11-05
[9]
간행물
Vision-based mobile robot localization and mapping using scale-invariant features
[10]
간행물
The vSLAM Algorithm for Robust Localization and Mapping
[11]
간행물
Tactile SLAM with a biomimetic whiskered robot.
http://eprints.uwe.a[...]
[12]
간행물
Indoor radar SLAM A radar application for vision and GPS denied environments.
http://publications.[...]
[13]
문서
Acoustic simultaneous localization and mapping (a-SLAM) of a moving microphone array and its surrounding speakers.
https://spiral.imper[...]
Christine Evers, Alastair H. Moore, and Patrick A. Naylor
[14]
웹사이트
Wi-Fi-slam using gaussian process latent variable models
https://www.aaai.org[...]
Ferris, Brian, Dieter Fox, and Neil D. Lawrence
2022-12-24
[15]
간행물
Simultaneous Localization and Mapping for Pedestrians using only Foot-Mounted Inertial Sensors
http://www.kn-s.dlr.[...]
ACM
[16]
서적
Towards Realtime Handheld MonoSLAM in Dynamic Environments
Springer Berlin Heidelberg
2011
[17]
문서
Exploration: Simultaneous Localization and Mapping (SLAM)
Springer US
2014
[18]
논문
Simultaneous Localization, Mapping and Moving Object Tracking
https://www.ri.cmu.e[...]
[19]
논문
The temporal context model in spatial navigation and relational learning: toward a common explanation of medial temporal lobe function across domains
[20]
서적
The 2010 International Joint Conference on Neural Networks (IJCNN)
http://eprints.white[...]
[21]
서적
IEEE International Conference on Robotics and Automation, 2004. Proceedings. ICRA '04. 2004
https://eprints.qut.[...]
[22]
문서
Coslam: Collaborative visual slam in dynamic environments.
http://citeseerx.ist[...]
Zou, Danping, and Ping Tan
[23]
논문
Acoustic SLAM
https://eprints.soto[...]
2018-09
[24]
논문
Multitarget bayes filtering via first-order multitarget moments
2003-10
[25]
서적
Audio-Visual SLAM towards Human Tracking and Human-Robot Interaction in Indoor Environments
IEEE
2019-10
[26]
간행물
FastSLAM: A factored solution to the simultaneous localization and mapping problem
https://www.cs.cmu.e[...]
[27]
서적
Probabilistic Robotics
The MIT Press
[28]
논문
On the Representation and Estimation of Spatial Uncertainty
http://www.frc.ri.cm[...]
2008-04-08
[29]
간행물
Estimating Uncertain Spatial Relationships in Robotics
http://www-robotics.[...]
Elsevier
[30]
서적
Proceedings IROS '91:IEEE/RSJ International Workshop on Intelligent Robots and Systems '91
1991
[31]
논문
Simultaneous localization and mapping: part I
2006-06
[32]
뉴스
With a Roomba Capable of Navigation, iRobot Eyes Advanced Home Robots
https://www.technolo[...]
2018-04-25
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com