클라우드의 데일리 리포트

슬램(SLAM: Simultaneous Localization and Mapping) 본문

카테고리 없음

슬램(SLAM: Simultaneous Localization and Mapping)

클라우드의 데일리 리포트 2023. 9. 13. 09:43
728x90
반응형

1. 슬램의 정의

SLAM(동시적 위치추정 및 지도작성)은 자율주행체에 센서를 장착하여 주변 환경 지도를 작성하는 동시에 주행체의 위치를 작성된 지도 안에서 추정하는 방법입니다. SLAM 알고리즘을 통해 차량은 미지의 환경에 대한 지도를 작성할 수 있습니다. 엔지니어는 지도 정보를 사용하여 경로 계획 및 장애물 회피 등의 작업을 수행합니다.

SLAM을 달성하는 데 사용할 수 있는 기술적 구성요소에는 두 가지 유형이 있습니다. 첫 번째는 프론트엔드 처리 등의 센서 신호 처리이며, 이는 사용하는 센서에 크게 의존하게 됩니다. 두 번째는 백엔드 처리 등의 자세 그래프 최적화로서 센서와는 무관합니다.

 

2. 슬램의 종류

SLAM(동시적 위치추정 및 지도작성)은 자율주행체에 센서를 장착하여 주변 환경 지도를 작성하는 동시에 주행체의 위치

1) 시각적 SLAM

시각적 SLAM(또는 vSLAM)은 카메라 및 기타 영상 센서로 획득한 영상을 사용합니다. 시각적 SLAM은 일반 카메라(광각, 어안 및 구형 카메라), 겹눈 카메라(스테레오 및 멀티 카메라) 및 RGB-D 카메라(심도 및 ToF 카메라)를 사용할 수 있습니다.

2) 라이다 SLAM

레이저는 카메라와 ToF 등의 센서보다 훨씬 더 정밀하며 자율주행 차량과 드론처럼 빠르게 이동하는 물체와 관련된 응용 사례에 사용됩니다. 레이저 센서에서 얻어지는 출력값은 일반적으로 2차원(x, y) 또는 3차원(x, y, z) 포인트 클라우드 데이터입니다. 레이저 센서 포인트 클라우드를 사용하면 고정밀 거리 측정이 가능하며, SLAM을 적용한 지도 생성에도 매우 효과적입니다. 일반적으로 움직임은 포인트 클라우드를 정합하여 순차적으로 추정됩니다.

 

3. 슬램의 문제점

SLAM은 몇몇 실제 응용 분야에 사용되고 있지만 몇 가지 기술적 문제가 더 광범위한 용도로의 도입을 막고 있습니다.

 

1) 실제 값과의 상당한 편차를 초래하는 위치추정 오차 누적

SLAM은 순차적으로 움직임을 추정하고, 이 과정에서 약간의 오차 범위가 발생합니다. 이 오차는 시간이 지나면서 누적되고, 따라서 실제 값과는 상당한 편차가 발생합니다. 이렇게 되면 지도 데이터가 붕괴되거나 왜곡되어 후속 탐색이 어려워질 수도 있습니다. 사각형 통로를 따라 주행하는 경우를 예로 들어 보겠습니다. 오차가 누적되면서 로봇의 출발점과 종료점이 더는 일치하지 않게 됩니다. 이를 루프 폐쇄 문제라고 합니다. 이와 같은 자세 추정 오차는 불가피합니다. 루프 폐쇄를 감지하고 누적된 오차를 수정하거나 상쇄하는 방법을 파악하는 것이 중요합니다.

 

 

이에 대한 대응책은 이전에 갔던 장소의 특징을 랜드마크로서 기억하여 위치추정 오차를 최소화하는 것입니다. 오차를 수정할 수 있도록 자세 그래프가 생성됩니다. 오차 최소화를 최적화 문제로 풀면 더욱 정확한 지도 데이터 생성이 가능해집니다. 이러한 종류의 최적화를 시각적 SLAM의 번들 조정이라고 합니다.

 

2) 위치추정 실패 및 지도상 위치 상실

영상 및 포인트 클라우드 지도작성에서는 로봇의 움직임 특성을 고려하지 않습니다. 경우에 따라서는 이러한 접근법으로 인해 불연속적인 위치 추정값이 생성될 수 있습니다. 예를 들자면 1m/s로 이동하는 로봇이 갑자기 10m 앞으로 급속 이동하는 계산 결과가 표시되는 경우를 들 수 있습니다. 

 

이러한 유형의 위치추정 실패 문제는 복원 알고리즘을 사용하거나 모션 모델과 다수의 센서를 융합하여 센서 데이터에 기반한 계산을 수행함으로써 방지할 수 있습니다.

 

3) 영상 처리, 포인트 클라우드 처리 및 최적화에 소요되는 높은 계산 비용

차량 하드웨어에 SLAM을 구현할 때는 계산 비용이 문제가 됩니다. 계산은 대개 처리 능력이 낮은 소형 저전력 임베디드 마이크로프로세서에서 수행됩니다. 정확한 위치추정을 위해서는 포인트 클라우드 정합과 영상 처리를 높은 빈도로 실행하는 것이 매우 중요합니다. 게다가 루프 폐쇄와 같은 최적화 계산은 연산량이 큰 공정입니다. 문제는 그처럼 계산적 비용이 큰 공정을 임베디드 마이크로컴퓨터에서 실행하는 방법입니다.

다양한 공정을 병렬로 실행하는 것도 대응책이 될 수 있습니다. 정합의 전처리 과정인 특징 추출 같은 공정은 병렬화에 비교적 적합합니다. 멀티코어 CPU, SIMD(Single Instruction Multiple Data) 계산 및 임베디드 GPU를 사용해서 처리하면 경우에 따라 속도를 더욱 향상할 수 있습니다. 또한 자세 그래프 최적화는 비교적 긴 사이클에 걸쳐 수행될 수 있으므로 우선순위를 낮추고 일정한 간격으로 이 공정을 수행하는 것으로도 성능을 개선할 수 있습니다.

반응형