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 , where splits into already-verified fixed edges and unverified candidates. Since the algebraic connectivity (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
with edge weights for fixed/local edges and (the global-matching similarity score) for candidates — so no extra noise information needs to be communicated. Writing the augmented Laplacian as
each cycle selects the subset of size (the user-set verification/communication budget) solving
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
- Datasets: seven sequences from five datasets, mixing sensors — KITTI 00 stereo split into 2 robots, the ~10 km KITTI-360 09 LiDAR sequence split into 5 robots, GrAco (3 LiDAR sequences), M2DGR Gate (3 LiDAR), and S3E (3 sequences, LiDAR-IMU odometry with stereo-camera inter-robot loop closure detection).
- Prioritization: with a budget of per cycle, spectral prioritization maximizes algebraic connectivity as intended and reduces ATE faster than greedy similarity ranking — reasonable accuracy is reached after computing only a fraction of all candidate loop closures.
- Back-end comparison: against DGS+PCM and distributed GNC (D-GNC/RBCD) on the same front-end, the GNC-based decentralized back-end consistently achieved the best ATE and the lowest communication and computation time; on KITTI-360 09 (5 robots), the distributed baselines required more than five times the data transmission without matching its accuracy.
- Real-world deployment: three heterogeneous robots (Boston Dynamics Spot, Agilex Scout, Scout Mini; each with Jetson AGX Xavier, RealSense D455, Ouster OS0-64, VectorNav VN100, ad-hoc Wi-Fi) in an indoor parking lot: 475 m travelled, 3103 keyframes, 67 inter-robot loop closures of which 10 outliers were rejected by GNC, with only 94.95 MB transmitted in total.
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.
Related
- DOOR-SLAM — earlier distributed, outlier-resilient system from the same lab
- Kimera-Multi — the metric-semantic distributed alternative (source of the D-GNC baseline)
- Communication constraints — the resource Swarm-SLAM is engineered to conserve
- Centralized vs Decentralized — architectural context
- Inter-robot loop closure — what gets prioritized and verified
- Map merging — the operation the prioritized closures enable