DOOR-SLAM

Lajoie 2020 · 논문

한 줄 요약 — DOOR-SLAM(Distributed, Online, and Outlier Resilient SLAM)은 완전 분산형 피어-투-피어 SLAM 시스템으로, 페어와이즈 일관성 기반 이상값 제거를 통해 로봇 팀이 공격적인 장소 인식 임계값을 사용하면서도 허위 로봇 간 루프 클로저를 안전하게 걸러낼 수 있게 한다.

문제

로봇 팀은 GPS와 같은 외부 위치 시스템에 의존하지 않고, 최소한의 정보 교환으로 환경과 그 안에서의 자신의 위치에 대한 공유된 이해를 필요로 한다. 분산 SLAM은 정확히 이것을 제공하지만, 기존의 분산 시스템들은 지각 이상값에 취약했다: 파국적인 허위 루프 클로저를 피하기 위해 매우 보수적인 장소 인식 파라미터를 사용했는데, 이는 동시에 많은 유효한 루프 클로저 후보도 걸러내어 궤적 정확도를 떨어뜨렸다. DOOR-SLAM은 탐지와 검증을 분리한다 — 강인한 백엔드가 있으면 더 많은 후보를 프론트엔드를 통과시켜도 안전하다.

방법 및 아키텍처

피어-투-피어 아키텍처. 각 로봇은 팀원이 통신 범위 내에 없을 때는 단일 로봇 SLAM을 수행하고, 조우 시에는 분산 프로토콜을 실행한다. 중앙 서버도 없고 완전 연결성 요구도 없다. 구현은 ROS 위에 Buzz 스웜 프로그래밍 언어를 사용한다. 온보드에서는 RTAB-Map 스테레오 시각 오도메트리가 로봇 자신의 포즈 그래프를 생성하며, 두 개의 분산 모듈이 멀티로봇 작업을 수행한다.

분산 루프 클로저 탐지 (원시 데이터 교환 없음): 각 로봇은 키프레임마다 (128차원으로 축소된) NetVLAD 디스크립터를 계산한다. 조우 시 로봇 α\alpha는 로봇 β\beta에게 마지막 조우 이후 생성된 디스크립터만 전송한다. β\beta는 유클리드 거리 임계값 이하에서 잠재적 매칭을 찾아, 해당 키프레임에 대해서만 시각 특징(ORB 디스크립터를 사용한 GFTT 키포인트)과 그 3D 위치를 회신한다. 로봇 α\alpha는 OpenCV의 solvePnPRansac으로 기하학적 검증을 수행하며, 충분한 인라이어 집합이 얻어지면 로봇 간 루프 클로저 측정값 zˉβkαi\bar{\mathbf{z}}_{\beta_k}^{\alpha_i}(α\alpha의 키프레임 iiβ\beta의 키프레임 kk 사이의 상대 포즈)가 생성된다.

분산 이상값 제거 — Pairwise Consistent Measurement 집합 최대화(PCM). 두 로봇 간 루프 클로저 zˉβkαj\bar{\mathbf{z}}_{\beta_k}^{\alpha_j}zˉβlαi\bar{\mathbf{z}}_{\beta_l}^{\alpha_i}는, 두 오도메트리 구간과 함께 형성하는 사이클을 합성했을 때 (거의) 항등원이 되면 페어와이즈 일관성을 갖는다:

(zˉαjαizˉβkαjzˉβlβk)zˉβlαiΣγ\left\|\left(\bar{\mathbf{z}}_{\alpha_j}^{\alpha_i}\oplus\bar{\mathbf{z}}_{\beta_k}^{\alpha_j}\oplus\bar{\mathbf{z}}_{\beta_l}^{\beta_k}\right)\ominus\bar{\mathbf{z}}_{\beta_l}^{\alpha_i}\right\|_{\Sigma}\leq\gamma

여기서 Σ\|\cdot\|_\Sigma는 마할라노비스 거리, /\oplus/\ominus는 포즈 합성/역변환이며, 우도 임계값 γ\gamma는 카이제곱 분위수에서 얻는다. 상호 일관된 측정값의 최대 집합은 일관성 그래프의 최대 클리크로 찾아지며, 클리크 밖의 모든 것은 제거된다. 중요한 점은, 이 지표가 분산 PGO를 위해 이미 교환된 루프 클로저 측정값과 오도메트리 포즈 추정값만 필요로 한다는 것이다 — 이상값 제거는 통신 측면에서 “공짜로” 얻어진다.

분산 강인 PGO. 인라이어 루프 클로저와 오도메트리는 Choudhary 등의 2단계 분산 가우스-자이델 최적화기에 입력된다: 로봇들은 먼저 회전에 대한 합의에 도달한 후 전체 포즈를 복원하며, 로봇 간 루프 클로저에 관련된 포즈 추정값만 교환한다. 백엔드는 GTSAM 위에 C++로 구현되어 있다.

실험 결과

SLAM에서의 의미

지각 앨리어싱은 멀티로봇 매핑의 아킬레스건이다: 단 하나의 잘못된 로봇 간 루프 클로저가 두 로봇의 맵을 서로 회복 불가능하게 접어버릴 수 있다. DOOR-SLAM은 강인한 이상값 제거를 분산 SLAM의 일급 아키텍처 구성 요소로 만들었고 그 보상을 입증했다 — 공격적인 프론트엔드 임계값이 안전해지고, 더 적은 것이 아니라 더 많은 유효한 루프 클로저를 산출한다. 그 PCM 공식화는 이후 Kimera-Multi(같은 목표를 향해 graduated non-convexity를 사용)와 Swarm-SLAM(같은 그룹 출신)에 의해 채택되고 확장되었다. 이상값에 강인한 분산형 C-SLAM을 위한 기준 설계다.

관련 문서