Skip to the lesson
FixTheRobot Explore Robotics / Localization & SLAM / M8 Advanced SLAM and Research / M8-T3

Localization & SLAM · Theory · M8

M8-T3 — Multi-Session and Multi-Robot SLAM

Joining two maps is easy if the matches between them are right. The hard part is deciding which ones are.

  • Lesson 3 of 9
  • Module 8: Advanced SLAM and Research
  • Theory · research-informed
  • About 9 minutes to read

One robot over several days, or several robots at once, produce several maps, each in its own coordinate frame. Merging them uses the same tools as loop closure (Module 4), applied between maps instead of within one. Three new difficulties arise: the maps start with no known relation, false matches between maps are more likely (the robots cover different ground), and the data may be spread across machines with limited communication. This lesson covers the fundamentals, then the active research.

Learning objectives

After this lesson, you should be able to:

  • Explain how inter-robot or inter-session loop closures define the relative transform between map frames.
  • Apply a pairwise consistency check to reject inconsistent inter-robot loop candidates.
  • Compare centralised and distributed optimisation and the information that must be exchanged.
  • State which parts of multi-robot SLAM are established and which are active research, with the main systems.

The problem and the intuition

Two people draw maps of a building on separate sheets of paper, each starting from where they stood. To combine the sheets you need at least one place that both visited and recognised, and then you can lay one sheet over the other. With one match you get the position and the rotation; with several matches you can average, and check that they agree. If one claimed match says “turn the sheet 90°” while the others say “no rotation”, one of them is wrong, and you do not average a wrong match into the result: you discard it.

That is the structure of multi-robot map merging: find candidates (place recognition across maps, M5-T10, M6-T5), check them for mutual consistency, estimate the relative transform and optimise the joint graph. A multi-session setup is the same problem with one robot at different times, and in addition the environment may have changed.

Merging maps is loop closure between frames with no known relation. A single bad match can ruin the merge, so consistency checking matters more than precision.

Merging two robots’ mapsTwo robots build maps in their own frames. Candidate inter-robot loop closures link the maps. A consistency check keeps the candidates that agree with each other; the accepted ones fix the relative transform between the frames and add edges to a joint pose graph.robot A (frame A) robot B (frame B) inter-robot loop candidatesthe odd one out is inconsistent: reject Accepted loops give T_AB and join the two pose graphs.
Inter-robot loop candidates, one of which is inconsistent.

Fundamentals and research systems

Problem. Given pose graphs GA and GB estimated in different frames, find the transform TAB and produce a single consistent map, using inter-robot measurements, possibly under limited communication and without a central server.

Assumptions. The robots can recognise places seen by the other (shared environment and sensor modality or descriptors); the robots’ internal graphs are internally consistent; a bounded number of inter-robot measurements are wrong.

Established: relative frame from inter-robot loop closures

Suppose robot A’s pose xiA and robot B’s pose xjB are found to observe the same place, with measured relative pose zij (from scan or image registration). Each measurement implies a transform between the frames:

frame transform implied by one inter-robot measurement
TAB=xiA⋅zij⋅(xjB)−1T_{\text{AB}}=x_{i}^{A}\cdot z_{ij}\cdot (x_{j}^{B})^{-1}

With several measurements, each gives an estimate of TAB; they should agree up to noise. Each inter-robot measurement is also an edge in the joint graph (Module 4), and once TAB is known, B’s nodes can be expressed in A’s frame and the whole graph optimised together.

Established: reject inconsistent measurements

Mangelson et al. (2018) propose pairwise consistent measurement set maximisation (PCM). For two inter-robot loops (a, b) the cycle formed by them and the two robots’ internal trajectories should close: the composed transform should be near the identity. Define the residual of the cycle and test it against a chi-squared threshold. Build a graph whose nodes are candidates and whose edges link pairs that are consistent, and find the largest set of mutually consistent candidates (a maximum clique). Candidates outside it are rejected. For a 3-degree-of-freedom planar cycle, the 95% chi-squared threshold is 7.81.

pairwise consistency of two inter-robot loops
rab=log⁡(za⋅xB(ja→jb)⋅zb−1⋅xA(ib→ia));  consistent ifr_{ab}=\log (z_{a}\cdot x_{B}(j_{a}\to j_{b})\cdot z_{b}^{-1}\cdot x_{A}(i_{b}\to i_{a}));\;\mathrm{consistent\ if}
rab⊤ ∑ab−1 rab<χ3, 0.952r_{ab}^{\top}\,\sum _{ab}^{-1}\,r_{ab}<\chi ^{2}_{3,\,0.95}

Optimisation: centralised or distributed

  • Centralised. Robots send keyframes or compact descriptors and graphs to a server (or one robot) that optimises the joint graph. Simple and optimal, but needs bandwidth and a reliable link and a trusted server.
  • Distributed. Each robot keeps its own graph and exchanges only messages about the shared variables (separators). Choudhary et al. (2017) give distributed Gauss–Newton schemes with limited communication (two-stage: estimate rotations, then poses); Cieslewski et al. (2018) exchange compact image descriptors to find inter-robot loops with low bandwidth.
  • Systems. DOOR-SLAM (Lajoie et al., 2020) combines decentralised place recognition, PCM for outlier rejection and distributed optimisation for stereo robots. Kimera-Multi (Tian et al., 2022) adds dense metric-semantic reconstruction and a distributed, robust back end.
TAB
transform from frame B to frame A (Module 2 notation).
zij
measured relative pose between robot A’s node i and robot B’s node j.
PCM
pairwise consistent measurement set maximisation (Mangelson et al., 2018).
separator
the variables shared between two robots’ graphs, the only ones that must be communicated.

Established versus active research

Multi-robot SLAM: status
TopicStatusComment
Map merging from loop closures; joint pose-graph optimisationEstablishedSame maths as single-robot loop closure
Pairwise consistency / robust outlier rejectionEstablished in research, in some open-source systemsMaximum clique can be expensive; approximations used
Distributed optimisation under bandwidth limitsActive researchConvergence, communication cost and robustness are all open
Dense, semantic and long-term multi-robot mapsActive researchMemory and bandwidth scale poorly
Asynchronous, intermittent communication with guaranteesOpenConsistency under message loss

A worked example: three candidates, one wrong

  1. The candidates. Three inter-robot loop closures give three estimates of the planar frame transform TAB = (x, y, θ): (3.02, 1.01, 0.51 rad), (2.97, 0.98, 0.50 rad) and (5.40, −2.10, 1.40 rad). The first two agree to a few centimetres and 0.01 rad; the third is a metre or more away and 0.9 rad rotated.
  2. A consistency test. Take the first two and form the residual of the cycle: translational difference (0.05, 0.03) m and rotational 0.01 rad. With covariance Σ = diag(0.1², 0.1², 0.03²), the Mahalanobis squared distance is (0.05/0.1)² + (0.03/0.1)² + (0.01/0.03)² = 0.25 + 0.09 + 0.11 = 0.45. That is well below 7.81, so they are consistent.
  3. The odd one. The third against the first has a difference (2.38, −3.11) m and 0.89 rad. The squared distance is (2.38/0.1)² + (3.11/0.1)² + (0.89/0.03)² = 566 + 967 + 880 ≈ 2400, far above 7.81. It is inconsistent with both others. The consistent set {1, 2} wins, and candidate 3 is rejected.
  4. When there are only two candidates and they disagree, there is no majority; nothing can be accepted. The system must wait for more evidence or ask another sensor. Systems with a single candidate must verify it geometrically (M5-T10) because no consistency test is possible.
  5. Communication cost. Sending a 128-byte descriptor per keyframe for 1 000 keyframes is 128 kB: easy. Sending the full 2D scans (1.5 kB each) is 1.5 MB, and a dense 3D map of a floor may be hundreds of MB. This is why decentralised systems exchange descriptors first and the data only for confirmed matches.

Engineering implications and limitations

Engineering implications

  • Make rejection first-class. Never insert an inter-robot loop into the joint graph without a consistency check, or at least a robust loss and a verified registration.
  • Share a common reference early. Starting robots from a known pose or a fiducial gives TAB without any loop and reduces the risk.
  • Standardise frames, units and timestamps across robots; a frame-naming error gives the same symptom as a bad match (M7-T2).
  • Design for communication loss. Each robot must work alone and merge later; avoid designs where a lost message corrupts local state.
  • Plan for change in multi-session mapping: between sessions the environment moves; use dynamic handling (M8-T1) and keep session identifiers on every node.
  • Evaluate the merged map against ground truth and report per-robot and merged errors (M8-T8).

Limits

Consistency checks reject only candidates that are inconsistent with others: a set of consistent but wrong matches (for example a repeated corridor seen by both robots) survives. The distributed methods have guarantees under assumptions (reliable communication, known number of robots) that are not met in practice, and large-scale experiments are few. Evidence for scalability beyond a handful of robots is limited, and real-world datasets with ground truth for multi-robot SLAM are small.

Common misconceptions

“More inter-robot matches always improve the merge.”

Only consistent ones do; a few wrong matches in a pose-graph least-squares can dominate and distort both maps.

“The robots need to share their full maps.”

Descriptors and a few verified measurements are enough to find the frame transform; full data is only exchanged where needed.

“Multi-session SLAM is the same as multi-robot.”

The mathematics is similar but the environment changes between sessions, which adds dynamic and long-term issues.

“A consistent set of matches is a correct set.”

Perceptual aliasing can produce consistent wrong matches; consistency reduces but does not remove the risk.

Engineering takeaways

  1. Each inter-robot loop closure implies a frame transform TAB = xiA zij (xjB)⁻¹; the estimates must agree.
  2. Pairwise consistency (PCM) keeps the largest mutually consistent set of candidates and rejects the rest.
  3. Joint optimisation is standard; distributed optimisation under limited communication is active research.
  4. Established: merging via loops and robust rejection. Open: scalable distributed dense and semantic maps, guarantees under unreliable communication.
  5. Wrong merges are worse than missing merges; design for rejection first.

References and further reading

Primary papers. The status table in the text separates established practice from active research.

Knowledge check

Three conceptual questions. Write an answer, then reveal the explanation. Your answers stay in your browser.

Question 1

Three inter-robot loops imply frame transforms that differ by (0.05, 0.03) m and 0.01 rad (first two) and by several metres from the third. What do you do and why?

Explanation

Keep the first two and reject the third: the first two are mutually consistent and the third is inconsistent with both (its Mahalanobis distance is orders of magnitude above the chi-squared threshold). Averaging in the third would corrupt the frame transform.

Question 2

Why might robots exchange only descriptors at first rather than their maps?

Explanation

Descriptors are small and suffice to find candidate matches. Full scans or maps are sent only for confirmed candidates, saving the bandwidth that a continuous exchange would need.

Question 3

Two inter-robot loop candidates disagree and there are no others. Can PCM decide?

Explanation

No. With two candidates that are inconsistent there is no majority to establish which is wrong; the system should accept neither, wait for more evidence or use another sensor or verification.

What’s next

Merging needs matches to recognise; some places offer little to match against. The next lesson treats feature-poor environments, where geometry and appearance give too few constraints.

Practice this lesson

Evaluate a SLAM System Under Controlled Failures

Inject controlled failures (noise, outliers, dropouts) into a SLAM run and report degradation honestly.

Next lesson

M8-T4 — SLAM in Feature-Poor Environments

Recognise geometric and visual degeneracy and the remedies: more sensors, constraints and degeneracy-aware updates.

Nothing below is required to finish this lesson.