본문 바로가기
도전

SLAM

by oncerun 2023. 6. 7.
반응형

SLAM(Simultaneous Localization and Mapping)은 로봇이나 차량과 같은 모바일 에이전트가 해당 맵 내에서 자신의 위치를 ​​추정하면서 동시에 환경 맵을 구축할 수 있도록 로봇 공학 및 컴퓨터 비전에 사용되는 기술입니다. SLAM은 자율 시스템이 기존 지도나 외부 현지화 시스템에 의존하지 않고 실시간으로 세계를 탐색하고 상호 작용하는 데 중요합니다.

SLAM의 주요 목표는 로봇이 자신의 위치를 ​​정확하게 결정하기 위해 지도가 필요하지만 정확한 지도를 생성하기 위해 자신의 위치도 알아야 하는 "닭과 달걀" 문제를 해결하는 것입니다. SLAM 알고리즘은 센서 측정을 기반으로 로봇의 위치와 환경 지도를 반복적으로 추정하여 이 문제를 해결합니다.

다음은 SLAM 프로세스에 대한 자세한 설명입니다.

  1. 센서 입력: 로봇은 일반적으로 카메라, 라이더 또는 거리 측정기와 같은 센서를 사용하여 환경에서 센서 데이터를 수집합니다. 이러한 센서는 깊이, 거리 및 시각적 특징과 같은 로봇 주변 환경에 대한 정보를 제공합니다.
  2. 특징 추출: 로봇은 센서 데이터에서 눈에 띄는 특징을 추출합니다. 이러한 특징은 시각적 랜드마크, 모서리, 모서리 또는 기타 고유한 지점일 수 있습니다. 이러한 기능은 로봇이 환경의 변화를 감지하고 위치를 추정하는 기준점 역할을 합니다.
  3. 데이터 연결: 이 단계에서 로봇은 새로 감지된 기능을 이전 측정의 기존 기능과 연결합니다. 이 프로세스는 맵의 일관성을 유지하고 로봇의 움직임을 정확하게 예측하는 데 중요합니다. 데이터 연결은 일반적으로 최근접 이웃 검색과 같은 기술이나 Kalman 필터 또는 입자 필터와 같은 확률적 방법을 사용하여 수행됩니다.
  4. 동작 추정: 센서 데이터 및 관련 기능을 기반으로 로봇은 자체 동작 또는 주행 거리를 추정합니다. Odometry는 휠 인코더, 관성 측정 장치(IMU) 또는 기타 모션 센서를 사용하여 계산할 수 있습니다. Odometry 추정은 오류가 발생하기 쉽고 시간이 지남에 따라 드리프트가 누적되므로 SLAM 알고리즘은 센서 측정을 지도 정보와 결합하여 이러한 오류를 수정하는 것을 목표로 합니다.
  5. 매핑: 관련 센서 데이터와 예상 동작을 사용하여 로봇은 새로운 기능을 추가하고 기존 맵 요소를 개선하여 맵을 업데이트합니다. 지도는 점유 그리드, 포인트 클라우드 또는 피처 기반 표현과 같은 다양한 형식으로 표현될 수 있습니다. 맵은 일반적으로 환경의 불확실성을 나타내는 확률 모델입니다.
  6. 포즈 추정: 로봇은 업데이트된 맵과 센서 측정을 통합하여 자체 위치(포즈) 추정을 개선합니다. 이것은 종종 로봇이 주행 거리 측정 정보, 기능 측정 및 맵 정보를 결합하여 가장 가능성이 높은 포즈를 추정하는 센서 융합이라는 프로세스를 통해 수행됩니다.
  7. 루프 폐쇄: 로봇이 환경을 이동하면서 이전에 본 위치를 다시 방문할 수 있습니다. 루프 폐쇄는 로봇이 이전에 있었던 장소를 만났을 때 발생하는 오류를 감지하고 수정하는 것을 말합니다. 루프를 감지함으로써 SLAM 알고리즘은 맵을 세분화하고 누적된 오류를 줄일 수 있습니다.
  8. 최적화: SLAM 알고리즘은 일반적으로 최적화 기술을 사용하여 맵 및 포즈 추정을 세분화합니다. 비선형 최소 제곱 또는 그래프 최적화와 같은 최적화 방법은 예측 값과 측정 값 사이의 오류를 최소화하는 것을 목표로 합니다. 이러한 방법은 예상 맵과 포즈의 전반적인 정확성과 일관성을 개선하는 데 도움이 됩니다.
  9. 실시간 작동: SLAM 알고리즘은 실시간으로 작동하여 예상 지도와 포즈를 지속적으로 업데이트해야 합니다. 이를 달성하기 위해 효율적인 데이터 구조, 알고리즘 및 병렬화 기술을 사용하여 계산 효율성을 보장하고 대량의 센서 데이터를 처리합니다.

SLAM은 로봇 공학, 증강 현실, 가상 현실, 자율 주행 차량, 실내 내비게이션 시스템 등 다양한 분야에서 수많은 응용 분야를 보유하고 있습니다. SLAM은 로봇과 자율 시스템이 지도를 구축하고 실시간으로 위치를 파악할 수 있도록 함으로써 이러한 시스템의 기능을 발전시키고 세계와 효과적으로 상호 작용할 수 있도록 하는 데 중요한 역할을 합니다.

반응형

'도전' 카테고리의 다른 글

개발 용어  (0) 2023.06.26
SPF? DKIM? DMARC?  (0) 2023.06.15
Hellow WebGPU  (0) 2023.05.15
Normal Map (2)  (0) 2023.05.13
Normal Mapping  (0) 2023.05.13

댓글