동시적 위치추정 및 지도작성, Simultaneous Localization and Mapping의 머리 글자로 위치 추정과 지도 작성을 통시에 수행하는 작업을 의미한다.
최근 DL(Deep learning)의 성능이 향상됨에 따라 많은 영역에서 문제 해결을 위한 방법으로 사용되고 있다. 하지만 SLAM의 경우 아직 DL로 성능적으로 대체하지 못하고 있다. 특히 CNN을 이용한 객체 인식, 이미지 분할과 같은 작업들은 영상 데이터를 이용해서 추론한다. 영상의 경우 깊이 정보가 손실되어 이미지만으로 깊이를 추론하는 것을 매우 어렵다.
센서 데이터를 추가하여 이미지의 깊이 정보를 복원하고자하는 시도들이 있었으며, 데이터가 쌓이기 시작하면서 DL을 이용하여 해결하고자 하는 시도들이 활발하게 이루어지고 있다.
DL의 경우 입력 데이터를 통해 현재 상태를 추정하지만 SLAM의 경우 주변 환경을 지도와 같은 형태로 기억하기 때문에 이전 정보를 기억한다는 차이점이 있다. 또한 추론이 아니기 때문에 속도가 빠른 장점이 있다. 특히 주변 정보와 위치 정보를 동시에 추론 및 보정하기 때문에 안정성이 보장된다.
단순히 이미지 상의 위치를 특정하는 것이 아니라 실제 3차원 공간상의 상대적인 위치 추정이 가능하며, 움직이는 물체와 움직이지 않는 물체를 추적하여 경로 계획에 사용할 수 있다.
위치추정
움직이는 로봇의 위치를 추정하는 기술이다.
지도작성
세상을 표현하기 위한 model을 정의하고 이를 이용하여 2D 혹은 3D를 표현한다.
사전 정보(Prior information)
사전에 존재하는 정보를 이용하여 추론에 활용한다. 하지만 SLAM은 사전 정보 없이 현재 상태만을 가지고 문제를 해결한다.
바퀴, 캐터필러 혹은 레일을 통해 고정되지 않고 움직이는 로봇을 의미힌다. 자율적인 이동을 위해서는 인지, 결정, 행동의 조건을 갖는다.
센서는 일정한 값이 아니라 계속 바뀌는 특성을 가지고 있는데 이는 노이즈라고 한다. 특히 노이즈는 어떤 확률 분포를 따르기 때문에 오류가 아니라 노이즈라고 한다.
Exteroceptive는 Mapping에 주로 사용된다.
Proprioceptive sensor는 Localization에 주로 사용된다.
자기 자신의 움직임을 인지하는 센서가 필요하다eptive sensor라고 한다. 여기에는 와 같은 센서들이 포함된다.
센서로 주변 환경을 파악하고 이동한 다음 다시 또 센서를 통해 주변을 파악하는 과정을 의미한다. Exteroceptive sensor의 노이즈가 이동에 영향을 주고, Proprioceptive sensor의 노이즈가 주변 환경을 인지하는데 영향을 준다. 특히 노이즈를 분석하는 동안에 이동이 불가하다. 특히 주변에 움직이는 물체가 있다면, 인지가 불가능한 상태가 된다.
만약 한 번 이동한 상태를 추정하기 위해 노이즈가 포함된 센서를 사용한다면, 이동하기 전에 수집한 데이터에도 마찬가지로 노이즈가 포함되어있어 현재 상태를 예측할 수 없다. 다시 말해, 센서로 부터 지속적으로 현재 상태를 정확하게 예측할 수 없는 상태가 된다.
로봇의 움직임을 정확하게 알 수 있을 때, 주변 환경을 보정해 나갈 수 있다. 이를 Mapping 이라고 한다. 그 결과 정확한 지도를 얻을 수 있다.
Mapping을 위해서는 Localization이라는 사전 정보가 필요하다.
지도를 통해 부정확한 위치를 추론 및 보정할 수 있다. Prior information에 제약 조건을 갖는다. Monte Carlo Localitation의 경우 현재 위치에서 파티클을 뿌리고 뿌린 파티클과 맵을 비교하여 현재 로봇이 위치한 위치를 추정하는 방법이다. 실제 로봇이 위치한 지형의 모양과 비슷한 곳들에 대해 파티클이 남아있는 것을 볼 수 있다.
Localization을 위해서는 Map이라는 사전 정보가 필요하다.
Localization을 위해서는 정확한 map이 필요하고, Mapping을 위해서는 정확한 pose 정보가 필요하다. 때문에 Location이 우선이냐 Map이 우선이냐에 대한 문제가 나타난다.
이러한 문제를 해결하기 위해 SLAM 기술이 등장한다.
SLAM은 사전정보 없이 동시에 위치와 지도 정보를 예측한다.