Swarm-SLAM

Lajoie 2024 · 논문

한 줄 요약 — Swarm-SLAM은 오픈소스, 센서 무관, 분산형 협업 SLAM 프레임워크로, 스웜 로보틱스가 실제로 필요로 하는 속성들 — 확장성, 유연성, 분산화, 희소성 — 을 중심으로 설계되었으며, 고정된 예산을 가장 정보량이 큰 로봇 간 매칭에 지출하는 새로운 스펙트럴 루프 클로저 우선순위화 기법을 특징으로 한다.

문제

협업 SLAM은 외부 위치 시스템이 없는 환경 — 실내, 지하, 수중 — 에서 멀티로봇 운용을 위한 필수 구성 요소이다. 그러나 팀이 성장할수록 나이브한 C-SLAM 설계는 통신의 장벽에 부딫힌다: 모든 로봇 쌍 사이에서 매 루프 클로저 후보에 대해 디스크립터를 교환하고 기하학적으로 검증하는 것은 대역폭이 제한된 애드혹 링크에서 지속 불가능하다. Swarm-SLAM은 분산형 시스템을 — 저장, 전송, 검증되는 것 모두에서 — 희소하게 유지하면서도, 정확한 전역 추정에 가장 중요한 로봇 간 루프 클로저를 여전히 찾아낼 수 있는 방법을 묻는다.

방법 및 아키텍처

프론트엔드(전역 매칭). 각 로봇은 임의의 외부 오도메트리 입력과 동기화된 센서 데이터(LiDAR, 스테레오, RGB-D, IMU)를 소비한다. 키프레임마다 컴팩트한 전역 디스크립터를 추출한다 — LiDAR 스캔에는 ScanContext, 이미지에는 CNN 기반 CosPlace — 그리고 각 이웃에게 아직 알려지지 않은 디스크립터만 방송한다(이웃 관리자가 이 부기(bookkeeping)를 수행한다). 코사인 유사도에 대한 최근접 이웃 탐색이 로봇 간 루프 클로저 후보를 생성한다.

예산 제약 스펙트럴 우선순위화(핵심 참신성). 멀티로봇 포즈 그래프는 G=(V,Elocal,Eglobal)\mathcal{G}=(V, \mathcal{E}^{\text{local}}, \mathcal{E}^{\text{global}})이며, Eglobal\mathcal{E}^{\text{global}}은 이미 검증된 고정 엣지와 검증되지 않은 후보로 나뉜다. 대수적 연결성 λ2\lambda_2(회전 가중 그래프 라플라시안의 두 번째로 작은 고유값)가 SLAM 최대우도 추정값의 최악의 경우 오차를 제어하기 때문에, 후보들은 이를 최대화하도록 선택된다. 라플라시안은 다음의 원소를 갖는다

Lij={(i,j)δ(i)κij,i=j,κij,{i,j}E,0,{i,j}E,L_{ij}=\begin{cases}\sum_{(i,j')\in\delta(i)}\kappa_{ij'}, & i=j,\\ -\kappa_{ij}, & \{i,j\}\in\mathcal{E},\\ 0, & \{i,j\}\notin\mathcal{E},\end{cases}

고정/로컬 엣지에는 엣지 가중치 κij=1\kappa_{ij}=1, 후보에는 κij=se\kappa_{ij}=s_e(전역 매칭 유사도 점수)를 사용한다 — 그래서 추가적인 잡음 정보를 통신할 필요가 없다. 증강된 라플라시안을 다음처럼 쓰면

L(ω)LElocal+LEfixedglobal+eEcandidateglobalωeLe,L(\omega) \triangleq L^{\mathcal{E}^{\text{local}}} + L^{\mathcal{E}^{\text{global}}_{\text{fixed}}} + \sum_{e\in\mathcal{E}^{\text{global}}_{\text{candidate}}} \omega_e L_e,

각 사이클은 (사용자가 설정한 검증/통신 예산인) 크기 BB의 부분집합을 선택하여 다음을 푼다

maxωe{0,1}λ2(L(ω))s.t.ω=B,\max_{\omega_e\in\{0,1\}} \lambda_2(L(\omega)) \quad \text{s.t.} \quad |\omega| = B,

이는 NP-난해이므로, 정수성 제약을 완화하여 저렴하게 풀고 반올림하며, 탐욕적(최고 유사도) 해로 웜스타트한다.

로컬 매칭 및 통신. 선택된 후보는 기하학적 검증을 거친다. 어떤 키프레임의 로컬 특징을 전송할지는 최소 정점 커버(minimum vertex cover) 문제로 표현되어, 공유되는 정점이 한 번만 전송되도록 한다. 임시 브로커(범위 내에서 가장 낮은 ID를 가진 로봇)가 매칭과 전송 요청을 조율한다.

백엔드(분산형이지만 분산 최적화는 아님). 각 조우마다 한 로봇이 협상을 통해 선출되어 이웃들의 포즈 그래프를 모아 강인한 Truncated Least Squares 손실을 사용하는 Graduated Non-Convexity(GNC) 솔버로 포즈 그래프 최적화를 실행한 다음, 갱신된 추정값을 반환한다. 앵커 선택 방식(가장 낮은 기준 프레임 ID의 첫 포즈를 고정)은 산발적인 조우를 거치며 로봇들의 부분집합이 중앙 권한 없이도 하나의 전역 프레임으로 수렴하게 한다.

실험 결과

SLAM에서의 의미

로봇 팀이 커질수록, 나이브한 디스크립터 방송과 전면적인 루프 클로저 검증은 통신과 계산을 폭발적으로 늘린다. Swarm-SLAM은 바로 이 병목을 공격하며, 어떤 루프 클로저를 먼저 검증할지가 그것을 어떻게 최적화하는지만큼 중요하다는 것과, 단순히 분산 선출된 백엔드가 더 화려한 분산 최적화 솔버를 정확도, 대역폭, 통신 실패에 대한 강인성 면에서 이길 수 있음을 보여준다. DOOR-SLAM과 같은 그룹에서 나온 것으로서, 이 시스템은 10년에 걸친 분산 SLAM의 교훈을 현대적인 ROS 2 프레임워크(MISTLab/Swarm-SLAM)로 패키징했으며, 그 센서 무관성은 이를 이종 멀티로봇 실험을 위한 흔한 베이스라인으로 만든다.

관련 문서