Swarm-SLAM

Lajoie 2024 · Paper

One-line summary — Swarm-SLAM is an open-source, sensor-agnostic, decentralized collaborative SLAM framework designed around the properties swarm robotics actually needs — scalability, flexibility, decentralization, and sparsity — with a novel spectral loop-closure prioritization that spends a fixed budget on the most informative inter-robot matches.

Problem

Collaborative SLAM is a vital component for multi-robot operations in environments without an external positioning system — indoors, underground, or underwater. But as teams grow, naive C-SLAM designs hit a communication wall: exchanging descriptors and geometrically verifying every candidate loop closure between every pair of robots is untenable over bandwidth-limited ad-hoc links. Swarm-SLAM asks how to keep a decentralized system sparse — in what is stored, transmitted, and verified — while still finding the inter-robot loop closures that matter most for accurate global estimation.

Method & architecture

Front-end (global matching). Each robot consumes an arbitrary external odometry input plus synchronized sensor data (LiDAR, stereo, RGB-D, IMU). Per keyframe it extracts a compact global descriptor — ScanContext for LiDAR scans, the CNN-based CosPlace for images — and broadcasts only descriptors not yet known to each neighbor (the neighbor manager does the bookkeeping). Nearest-neighbor search on cosine similarity produces candidate inter-robot loop closures.

Budgeted spectral prioritization (core novelty). The multi-robot pose graph is G=(V,Elocal,Eglobal)\mathcal{G}=(V, \mathcal{E}^{\text{local}}, \mathcal{E}^{\text{global}}), where Eglobal\mathcal{E}^{\text{global}} splits into already-verified fixed edges and unverified candidates. Since the algebraic connectivity λ2\lambda_2 (second-smallest eigenvalue of the rotation-weighted graph Laplacian) controls the worst-case error of the SLAM maximum-likelihood estimate, candidates are chosen to maximize it. The Laplacian has entries

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}

with edge weights κij=1\kappa_{ij}=1 for fixed/local edges and κij=se\kappa_{ij}=s_e (the global-matching similarity score) for candidates — so no extra noise information needs to be communicated. Writing the augmented Laplacian as

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,

each cycle selects the subset of size BB (the user-set verification/communication budget) solving

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,

which is NP-hard, so the integrality constraint is relaxed, solved cheaply, and rounded, warm-started from the greedy (top-similarity) solution.

Local matching & communication. Selected candidates undergo geometric verification; which keyframes’ local features to transmit is cast as a minimum vertex cover problem so shared vertices are sent only once. A temporary broker (lowest-ID robot in range) coordinates matching and transfer requests.

Back-end (decentralized, not distributed). At each rendezvous, one robot is elected through negotiation to gather its neighbors’ pose graphs and run pose-graph optimization with the Graduated Non-Convexity (GNC) solver under a robust Truncated Least Squares loss, then returns the updated estimates. An anchor-selection scheme (fix the first pose of the lowest reference-frame ID) makes subsets of robots converge to a single global frame across sporadic rendezvous without any central authority.

Results

Why it matters for SLAM

As robot teams grow, naive descriptor broadcasting and exhaustive loop-closure verification blow up communication and computation. Swarm-SLAM attacks exactly this bottleneck, showing that which loop closures you verify first matters as much as how you optimize them — and that a simple decentrally-elected back-end can beat fancier distributed solvers in accuracy, bandwidth, and robustness to communication failures. Coming from the same group as DOOR-SLAM, it packages a decade of distributed-SLAM lessons into a modern ROS 2 framework (MISTLab/Swarm-SLAM), and its sensor agnosticism makes it a common baseline for heterogeneous multi-robot experiments.