  To achieve collaborative tasks, robots in a team need to have a shared
understanding of the environment and their location within it. Distributed
Simultaneous Localization and Mapping (SLAM) offers a practical solution to
localize the robots without relying on an external positioning system (e.g.
GPS) and with minimal information exchange. Unfortunately, current distributed
SLAM systems are vulnerable to perception outliers and therefore tend to use
very conservative parameters for inter-robot place recognition. However, being
too conservative comes at the cost of rejecting many valid loop closure
candidates, which results in less accurate trajectory estimates. This paper
introduces DOOR-SLAM, a fully distributed SLAM system with an outlier rejection
mechanism that can work with less conservative parameters. DOOR-SLAM is based
on peer-to-peer communication and does not require full connectivity among the
robots. DOOR-SLAM includes two key modules: a pose graph optimizer combined
with a distributed pairwise consistent measurement set maximization algorithm
to reject spurious inter-robot loop closures; and a distributed SLAM front-end
that detects inter-robot loop closures without exchanging raw sensor data. The
system has been evaluated in simulations, benchmarking datasets, and field
experiments, including tests in GPS-denied subterranean environments. DOOR-SLAM
produces more inter-robot loop closures, successfully rejects outliers, and
results in accurate trajectory estimates, while requiring low communication
bandwidth. Full source code is available at
https://github.com/MISTLab/DOOR-SLAM.git.
