DOOR-SLAM
Lajoie 2020 · 논문
한 줄 요약 — DOOR-SLAM(Distributed, Online, and Outlier Resilient SLAM)은 완전 분산형 피어-투-피어 SLAM 시스템으로, 페어와이즈 일관성 기반 이상값 제거를 통해 로봇 팀이 공격적인 장소 인식 임계값을 사용하면서도 허위 로봇 간 루프 클로저를 안전하게 걸러낼 수 있게 한다.
문제
로봇 팀은 GPS와 같은 외부 위치 시스템에 의존하지 않고, 최소한의 정보 교환으로 환경과 그 안에서의 자신의 위치에 대한 공유된 이해를 필요로 한다. 분산 SLAM은 정확히 이것을 제공하지만, 기존의 분산 시스템들은 지각 이상값에 취약했다: 파국적인 허위 루프 클로저를 피하기 위해 매우 보수적인 장소 인식 파라미터를 사용했는데, 이는 동시에 많은 유효한 루프 클로저 후보도 걸러내어 궤적 정확도를 떨어뜨렸다. DOOR-SLAM은 탐지와 검증을 분리한다 — 강인한 백엔드가 있으면 더 많은 후보를 프론트엔드를 통과시켜도 안전하다.
방법 및 아키텍처
피어-투-피어 아키텍처. 각 로봇은 팀원이 통신 범위 내에 없을 때는 단일 로봇 SLAM을 수행하고, 조우 시에는 분산 프로토콜을 실행한다. 중앙 서버도 없고 완전 연결성 요구도 없다. 구현은 ROS 위에 Buzz 스웜 프로그래밍 언어를 사용한다. 온보드에서는 RTAB-Map 스테레오 시각 오도메트리가 로봇 자신의 포즈 그래프를 생성하며, 두 개의 분산 모듈이 멀티로봇 작업을 수행한다.
분산 루프 클로저 탐지 (원시 데이터 교환 없음): 각 로봇은 키프레임마다 (128차원으로 축소된) NetVLAD 디스크립터를 계산한다. 조우 시 로봇 는 로봇 에게 마지막 조우 이후 생성된 디스크립터만 전송한다. 는 유클리드 거리 임계값 이하에서 잠재적 매칭을 찾아, 해당 키프레임에 대해서만 시각 특징(ORB 디스크립터를 사용한 GFTT 키포인트)과 그 3D 위치를 회신한다. 로봇 는 OpenCV의 solvePnPRansac으로 기하학적 검증을 수행하며, 충분한 인라이어 집합이 얻어지면 로봇 간 루프 클로저 측정값 (의 키프레임 와 의 키프레임 사이의 상대 포즈)가 생성된다.
분산 이상값 제거 — Pairwise Consistent Measurement 집합 최대화(PCM). 두 로봇 간 루프 클로저 와 는, 두 오도메트리 구간과 함께 형성하는 사이클을 합성했을 때 (거의) 항등원이 되면 페어와이즈 일관성을 갖는다:
여기서 는 마할라노비스 거리, 는 포즈 합성/역변환이며, 우도 임계값 는 카이제곱 분위수에서 얻는다. 상호 일관된 측정값의 최대 집합은 일관성 그래프의 최대 클리크로 찾아지며, 클리크 밖의 모든 것은 제거된다. 중요한 점은, 이 지표가 분산 PGO를 위해 이미 교환된 루프 클로저 측정값과 오도메트리 포즈 추정값만 필요로 한다는 것이다 — 이상값 제거는 통신 측면에서 “공짜로” 얻어진다.
분산 강인 PGO. 인라이어 루프 클로저와 오도메트리는 Choudhary 등의 2단계 분산 가우스-자이델 최적화기에 입력된다: 로봇들은 먼저 회전에 대한 합의에 도달한 후 전체 포즈를 복원하며, 로봇 간 루프 클로저에 관련된 포즈 추정값만 교환한다. 백엔드는 GTSAM 위에 C++로 구현되어 있다.
실험 결과
- 시뮬레이션(ARGoS, 드론 5대): 분산형 PCM 구현은 예상대로 이상값을 제거한다 — 낮은 임계값은 더 많은 측정값(인라이어 포함)을 제거하고, 높은 임계값은 종종 이상값을 통과시켜 ATE를 부풀린다. 1% 임계값이 가장 안전한 설정으로 사용된다.
- KITTI 00을 세 대의 NVIDIA Jetson TX2 로봇으로 분할 (NetVLAD 임계값 0.15, 최소 5개 특징 대응, PCM 1%): 이상값 제거 없이 평균 이동 오차 86.85m 대 PCM 적용 시 8.00m(로봇 내부 루프 클로저는 사용하지 않음).
- 드론 실외 실험 (DJI Matrice 100 두 대, RealSense D435, Jetson TX2, 시각적으로 반복적인 축구장 위): NetVLAD 임계값을 0.10에서 0.15로 완화하면 PCM이 추가된 이상값을 걸러낸 후 유효한 로봇 간 루프 클로저가 약 3배 증가한다. 최소 대응 수를 4-5로 낮추면(RTAB-Map 기본값: 20) 유효한 루프 클로저가 두 배가 된다. GPS 대비 ATE는 가장 보수적인 1% PCM 임계값에서 최선(2.19m)이며, 75% 이상이나 PCM을 비활성화한 경우 폭증한다(22.02m).
- 통신: 키프레임당 900kB RGB 이미지 대신 1.00kB NetVLAD 디스크립터를 전송한다. 매칭당 키포인트 정보 + 디스크립터는 34.51 + 25.00kB인 반면 그레이스케일 이미지는 600kB이다.
- DARPA SubT Tunnel Circuit (Husky UGV 두 대, ICP 루프 클로저를 사용하는 VLP-16 라이다, 1km가 넘는 석탄 광산): 동일한 백엔드를 라이다 프론트엔드에 연결하면 지각 앨리어싱으로 인한 심각한 맵 왜곡이 제거된다(잘못된 측정 공분산에 기인하는 것으로 추정되는 하나의 잘못된 루프 클로저만 살아남음). 분산 백엔드는 92.27kB를 전송했는데, 이는 동등한 중앙집중식 교환의 196.30kB에 비해 통신 부담을 거의 절반으로 줄인 것이다.
- 전체 소스 코드가 공개되어 있다(
MISTLab/DOOR-SLAM).
SLAM에서의 의미
지각 앨리어싱은 멀티로봇 매핑의 아킬레스건이다: 단 하나의 잘못된 로봇 간 루프 클로저가 두 로봇의 맵을 서로 회복 불가능하게 접어버릴 수 있다. DOOR-SLAM은 강인한 이상값 제거를 분산 SLAM의 일급 아키텍처 구성 요소로 만들었고 그 보상을 입증했다 — 공격적인 프론트엔드 임계값이 안전해지고, 더 적은 것이 아니라 더 많은 유효한 루프 클로저를 산출한다. 그 PCM 공식화는 이후 Kimera-Multi(같은 목표를 향해 graduated non-convexity를 사용)와 Swarm-SLAM(같은 그룹 출신)에 의해 채택되고 확장되었다. 이상값에 강인한 분산형 C-SLAM을 위한 기준 설계다.
관련 문서
- Kimera-Multi — GNC 기반 강인 PGO와 시맨틱 메쉬를 갖춘 분산형 후속 연구
- Swarm-SLAM — 같은 제1저자의 후속 분산형 프레임워크
- 로봇 간 루프 클로저 — PCM이 검증하는 측정값
- Robust pose-graph optimization — 동일한 이상값 문제의 단일 로봇 관점
- 통신 제약 — 원시 데이터가 결코 교환되지 않는 이유
- NetVLAD — 분산형 프론트엔드 뒤에 있는 컴팩트 디스크립터
- Visual place recognition — PCM이 완화를 허용하는 임계값을 가진 프론트엔드 단계