toplogo
Sign In

Voxel-SLAM: 단기, 중기, 장기 및 다중 맵 데이터 연결을 활용한 완전하고 정확하며 다재다능한 LiDAR 관성 SLAM 시스템


Core Concepts
본 논문에서는 단기, 중기, 장기 및 다중 맵 데이터 연결을 완전히 활용하여 실시간 추정 및 고정밀 매핑을 달성하는 완전하고 정확하며 다재다능한 LiDAR 관성 SLAM 시스템인 Voxel-SLAM을 제안합니다.
Abstract

Voxel-SLAM: 단기, 중기, 장기 및 다중 맵 데이터 연결을 활용한 완전하고 정확하며 다재다능한 LiDAR 관성 SLAM 시스템

edit_icon

Customize Summary

edit_icon

Rewrite with AI

edit_icon

Generate Citations

translate_icon

Translate Source

visual_icon

Generate MindMap

visit_icon

Visit Source

3D LiDAR는 직접적이고, 조밀하며, 능동적이고, 정확한 (DDAA) 깊이 측정 기능으로 인해 자율 주행 차량 [1] 및 무인 드론 [2, 3]과 같은 자율 이동 로봇 분야에서 널리 사용되는 센싱 기술이 되었습니다. LiDAR SLAM(Simultaneous Localization and Mapping) 및 LiDAR 주행 거리 측정(LO)은 LiDAR의 측정값을 활용하여 로봇의 후속 프로세스(예: 계획, 제어)에 사용하기 위해 필수적인 상태 피드백과 주변 환경의 3D 조밀 점 구름을 제공합니다. 또한 LiDAR 기술의 발전과 함께 솔리드 스테이트 LiDAR는 소형, 경량 및 경제성의 이점으로 인해 광범위하게 연구되었으며 [4]–[6], 일부 LO [7, 8] 및 LiDAR SLAM 시스템 [9, 10]에 적용되었습니다. LiDAR SLAM과 LiDAR 주행 거리 측정(LO)의 차이점은 LiDAR SLAM의 목표는 환경의 일관된 맵을 구축하고 이동 로봇에서 해당 맵 내에서 현재 위치를 실시간으로 추정하는 반면, LO 시스템은 실시간 위치 지정에 중점을 두고 드리프트를 완화하기 위해 맵을 수정하는 것을 고려하지 않고 맵을 누적한다는 것입니다. ORB-SLAM3 [11, 12]의 개념에 따라 LO에 비해 LiDAR SLAM의 장점은 네 가지 유형의 데이터 연결을 최대한 활용하여 이전 측정값을 일치시키고 수정할 수 있다는 것입니다. 단기 데이터 연결: 후속 프로세스(예: 계획, 제어)에 사용하기 위해 가능한 한 효율적으로 현재 스캔을 맵에 연결하고 현재 에고 모션을 추정합니다. 대부분의 LO/LIO 시스템은 단기 데이터 연결 [8, 13]–[15]을 가지고 있으며 누적 드리프트를 유발하는 상태 또는 맵의 추가 수정 없이 현재 LiDAR 스캔을 맵에 누적합니다. 중기 데이터 연결: 여러 최신 스캔을 맵에 연결하고 그에 따라 맵을 수정합니다. 이는 일반적으로 번들 조정(BA) 기술을 통해 달성되어 일정 기간 동안 상태와 로컬 맵을 동시에 수정하여 누적 드리프트를 완화하고 견고성을 향상시킵니다. 장기 데이터 연결: 이전의 모든 LiDAR 스캔을 연결하여 글로벌 맵 일관성을 달성합니다. 장기 데이터 연결을 통해 이전에 방문한 장소를 감지하여 포즈 그래프 최적화(PGO)를 통해 드리프트를 재설정할 수 있습니다. 글로벌 BA를 사용하여 정확도를 더욱 향상시킬 수도 있습니다. 다중 맵 데이터 연결: 여러 맵 세션을 연결합니다. 장기 데이터 연결과 유사한 방법을 사용하여 서로 다른 수집 시간이나 LiDAR 저하로 인한 새 세션의 재초기화로 인해 발생할 수 있는 서로 다른 맵 세션을 하나로 병합합니다. 본 논문에서는 이러한 네 가지 데이터 연결을 모두 활용하고 초기화, 주행 거리 측정, 로컬 매핑, 루프 클로저 및 글로벌 매핑의 다섯 가지 주요 모듈로 구성된 Voxel-SLAM을 제안합니다. Voxel-SLAM은 BALM2 [16]의 효율적인 LiDAR 번들 조정, HBA [17]의 글로벌 매핑 방법, BTC [18]의 장소 인식 작업 및 VoxelMap [19]의 맵 표현을 기반으로 합니다. 오픈 소스 시스템 자체 외에도 Voxel-SLAM의 주요 기여는 다음과 같습니다. 모든 작업에서 동일한 맵 형식 사용: 초기화, 주행 거리 측정, 로컬 매핑, 루프 클로저 및 글로벌 매핑. Voxel-SLAM은 서로 다른 작업에 충분한 기능을 제공하고 다양한 시나리오에 잘 적응하는 효율적이고 다재다능한 적응형 복셀 맵을 사용합니다. 견고하고 빠른 초기화. Voxel-SLAM은 초기화(또는 시스템 발산의 경우 재초기화)하는 데 짧은 시간 데이터(본 구현에서는 1초)만 필요하며 고정 및 동적 초기 상태 모두에서 초기화할 수 있습니다. 초기화는 후속 모듈에 대한 정확한 상태와 일관된 맵을 제공합니다. 효율적인 로컬 매핑. Voxel-SLAM은 효율적인 LiDAR 관성 BA를 사용하여 최근 LiDAR 스캔의 슬라이딩 윈도우 내에서 로컬 복셀 맵과 상태를 수정하여 시스템의 정확성과 견고성을 향상시킵니다. 로컬 매핑(윈도우 크기 10)은 계산 리소스가 제한된 로봇 온보드 컴퓨터에서 주행 거리 측정(10Hz)과 동일한 속도로 실시간으로 실행할 수 있습니다. 여러 세션에서 루프 클로저. Voxel-SLAM은 현재 및 이전 세션 모두에서 루프를 감지하고 관련된 모든 스캔 포즈를 글로벌하게 최적화할 수 있습니다. 단일 또는 여러 세션에 대한 효율적이고 정확한 글로벌 매핑. Voxel-SLAM은 계층적 BA를 사용하여 스캔 포즈와 맵 일관성을 효율적으로 글로벌하게 최적화합니다. 네 가지 유형의 데이터 연결을 완전히 활용. Voxel SLAM은 주행 거리 측정과 로컬 매핑에서 각각 단기 및 중기 데이터 연결을 활용하고 루프 클로저와 글로벌 매핑 모두에서 장기 및 다중 맵 데이터 연결을 활용하여 실시간 작동과 글로벌 맵 일관성을 모두 달성합니다.
시스템 개요는 그림 1에 나와 있습니다. 그림 1의 녹색 부분은 Voxel-SLAM의 서로 다른 모듈이며 동일한 스레드의 모듈은 동일한 회색 파선 프레임으로 그룹화됩니다. 파란색 부분은 데이터 피라미드이고 빨간색 부분은 관련 모듈에서 사용하는 적응형 복셀 맵입니다. i번째 LiDAR 스캔이 끝날 때 시스템 상태를 다음과 같이 정의합니다. $x_i = \begin{bmatrix} R_i \ p_i \ v_i \ b_g^i \ b_a^i \end{bmatrix}$ (1) 여기서 $R_i ∈ SO(3)$, $p_i ∈ R^3$ 및 $v_i ∈ R^3$는 각각 월드 프레임에서 IMU의 회전, 위치 및 속도입니다. 월드 프레임은 첫 번째 IMU 프레임이지만 z축이 중력 벡터와 정렬되어 있으며, 이는 초기화 모듈(섹션 V-C)에서 결정됩니다. $b_g^i ∈ R^3$ 및 $b_a^i ∈ R^3$는 각각 본체 프레임에서 IMU의 자이로스코프 및 가속도계의 바이어스입니다. 워크플로우 그림 1에 나와 있듯이 Voxel-SLAM은 세 개의 병렬 스레드에서 실행되는 다섯 가지 모듈로 구성됩니다. 먼저 시스템은 짧은 시간(현재 구현에서는 1초) 동안 LiDAR 스캔 및 IMU 데이터를 기반으로 초기화 프로세스를 수행합니다(시작 또는 재시작 후 아직 수행하지 않은 경우). 초기화는 특수 LiDAR 관성 BA 최적화를 사용하여 모든 스캔의 상태, 초기 로컬 맵 및 월드 프레임의 중력 벡터를 추정합니다. 초기화된 상태, 로컬 맵 및 중력 벡터를 사용하여 주행 거리 측정은 LiDAR와 IMU의 측정값을 긴밀하게 융합하여 실시간으로 현재 상태를 추정하고 일정한 LiDAR 저하로 인한 잠재적인 시스템 발산을 감지합니다. 그런 다음 로컬 매핑은 현재 스캔을 슬라이딩 윈도우에 통합하고 LiDAR 관성 BA를 사용하여 슬라이딩 윈도우 내의 모든 상태와 로컬 맵을 동시에 수정합니다. 슬라이딩 윈도우 내에서 가장 오래된 스캔은 키프레임을 누적하기 위해 소외되며, 루프 클로저 모듈에서 현재 및 이전 세션 모두에서 루프 설명자를 추출하고 루프 검색을 감지하는 데 사용됩니다. 루프 감지에 성공하면 현재 또는 이전 세션의 관련 포즈가 최적화를 위한 포즈 그래프를 구성하는 데 사용됩니다. 포즈 그래프 최적화(PGO)에 이어 글로벌 매핑은 키프레임 BA를 수행하고 실시간으로 키프레임을 하위 맵에 병합합니다. 세션 종료 신호를 수신하면 글로벌 매핑은 모든 하위 맵에 대해 글로벌 BA를 실행하고 모든 스캔의 정확한 포즈를 얻기 위해 하향식 최적화를 실행합니다. 데이터 피라미드 입력 LiDAR 포인트 클라우드 시퀀스를 포함하기 위해 세 가지 수준의 데이터 구조 피라미드가 사용됩니다. 가장 낮은 수준은 일반적으로 10Hz에서 LiDAR 센서에 의해 직접 수집되는 원시 LiDAR 스캔입니다. LiDAR 스캔은 주행 거리 측정 및 로컬 매핑에서 실시간 상태 추정을 달성하는 데 사용됩니다. 10개의 LiDAR 스캔을 하나의 키프레임으로 병합하여 루프 클로저에서 루프 설명자를 추출하는 데 사용합니다. 마지막으로 10개의 키프레임을 하위 맵으로 더 병합하여 글로벌 매핑 모듈에서 사용합니다. LiDAR 스캔을 키프레임으로, 키프레임을 하위 맵으로 병합하는 것은 LiDAR 번들 조정을 통해 달성되며, 이는 각 병합 윈도우의 첫 번째 스캔(또는 키프레임)과 관련하여 모든 LiDAR 스캔(또는 키프레임)의 포즈를 동시에 최적화합니다. 또한 키프레임을 하위 맵으로 병합하는 과정에서 두 개의 연속 병합 윈도우는 5개의 겹치는 키프레임(즉, 크기가 10이고 보폭이 5인 슬라이딩 윈도우)을 공유하여 두 개의 연속 하위 맵 사이의 공동 가시 영역의 비율을 증가시킵니다. 반면에 스캔에서 키프레임으로의 병합 윈도우는 겹치는 부분이 없습니다(크기가 10이고 보폭이 없는 슬라이딩 윈도우). 긴 LiDAR 측정 거리로 인해 두 개의 연속 키프레임에서 스캔 간에 이미 큰 겹침이 보장된다는 점을 고려합니다. 적응형 복셀 맵 적응형 복셀 맵은 모든 모듈에서 평면 특징을 추출하고 여러 스캔, 키프레임 또는 하위 맵에서 특징 연결을 제공하는 데 중요한 역할을 합니다. 복셀 맵은 환경에서 서로 다른 크기의 평면 특징을 유지합니다. 이를 위해 공간을 각각 크기가 $L_r$인 균일한 복셀(즉, 루트 복셀)로 분할합니다. 균일한 크기의 복셀은 해시 테이블로 구성되며, 여기서 각 해시 키는 각 LiDAR 포인트를 포인트 위치별로 해당 복셀에 매핑합니다. 복셀에는 여러 계층의 옥트리 데이터 구조가 포함되어 있으며 각 리프 노드는 평면을 나타냅니다. 서로 다른 계층의 리프 노드는 서로 다른 크기를 가지며 다양한 크기의 평면 특징을 나타냅니다. 적응형 복셀 맵은 다음과 같이 구성됩니다. 각 스캔, 키프레임 또는 하위 맵에 대해 해당 포인트는 위치별로 해당 복셀에 분포됩니다. 복셀의 포인트가 동일한 평면에 있는 경우(포인트 공분산 행렬의 최소 고유값과 두 번째 최소 고유값의 비율이 지정된 값보다 작음) 복셀은 평면 복셀로 간주되어 후속 사용을 위해 LiDAR 포인트와 함께 저장됩니다. 그렇지 않으면 포인트가 동일한 평면에 있거나 종료 조건이 충족될 때까지(예: 최소 하위 복셀 크기 또는 포인트 수에 도달) 복셀은 더 작은 하위 복셀로 재귀적으로 분할됩니다. 적응형 복셀 맵 구조는 서로 다른 모듈에서 서로 다른 목적으로 사용됩니다. 첫째, 현재 LiDAR 위치 주변 거리 $L_m$ 내의 로컬 적응형 복셀 맵은 초기화, 주행 거리 측정 및 로컬 매핑 모듈에서 공유하여 LiDAR 스캔의 상태를 실시간으로 추정합니다(그림 1의 복셀 맵 참조). 초기화는 먼저 복셀 맵을 초기화하기 위해 여러 개의 초기 스캔을 가져옵니다. 주행 거리 측정은 현재 스캔을 복셀 맵의 평면과 정렬하여 현재 상태를 추정합니다. 로컬 매핑 모듈은 로컬 맵을 슬라이드하고 효율적인 LiDAR 관성 번들 조정(BA) 최적화를 통해 현재 및 최근 스캔의 상태를 수정합니다. 로컬 복셀 맵 외에도 두 가지 다른 적응형 복셀 맵 구조도 사용됩니다. 하나는 루프 클로저 모듈인 BTC [18]에서 키프레임의 설명자 추출에 사용하고 다른 하나는 글로벌 매핑 모듈인 HBA [17]에서 평면 특징 추출 및 서로 다른 키프레임과 하위 맵 간의 연결에 사용합니다.

Deeper Inquiries

0
star