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.
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.
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:
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.
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
| Topic | Status | Comment |
|---|---|---|
| Map merging from loop closures; joint pose-graph optimisation | Established | Same maths as single-robot loop closure |
| Pairwise consistency / robust outlier rejection | Established in research, in some open-source systems | Maximum clique can be expensive; approximations used |
| Distributed optimisation under bandwidth limits | Active research | Convergence, communication cost and robustness are all open |
| Dense, semantic and long-term multi-robot maps | Active research | Memory and bandwidth scale poorly |
| Asynchronous, intermittent communication with guarantees | Open | Consistency under message loss |
A worked example: three candidates, one wrong
- 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.
- 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.
- 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.
- 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.
- 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
- Each inter-robot loop closure implies a frame transform TAB = xiA zij (xjB)⁻¹; the estimates must agree.
- Pairwise consistency (PCM) keeps the largest mutually consistent set of candidates and rejects the rest.
- Joint optimisation is standard; distributed optimisation under limited communication is active research.
- Established: merging via loops and robust rejection. Open: scalable distributed dense and semantic maps, guarantees under unreliable communication.
- 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.
- Mangelson, J. G., Dominic, D., Eustice, R. M. and Vasudevan, R. (2018). Pairwise consistent measurement set maximization for robust multi-robot map merging. IEEE ICRA.
- Choudhary, S., Carlone, L., Nieto, C., Rogers, J., Christensen, H. I. and Dellaert, F. (2017). Distributed mapping with privacy and communication constraints: Lightweight algorithms and object-based models. International Journal of Robotics Research 36(12).
- Cieslewski, T., Choudhary, S. and Scaramuzza, D. (2018). Data-efficient decentralized visual SLAM. IEEE ICRA.
- Lajoie, P.-Y., Ramtoula, B., Chang, Y., Carlone, L. and Beltrame, G. (2020). DOOR-SLAM: Distributed, online, and outlier resilient SLAM for robotic teams. IEEE Robotics and Automation Letters 5(2).
- Tian, Y. et al. (2022). Kimera-Multi: Robust, distributed, dense metric-semantic SLAM for multi-robot systems. IEEE Transactions on Robotics 38(4).
- Cadena, C. et al. (2016). Past, present, and future of simultaneous localization and mapping: Toward the robust-perception age. IEEE Transactions on Robotics 32(6).
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.
Related content
Nothing below is required to finish this lesson.
- BeforeM8-T2: Semantic SLAM
Use object and semantic information for data association, maps and robustness.
- LabM8-L4: Evaluate a SLAM System Under Controlled Failures
Inject controlled failures (noise, outliers, dropouts) into a SLAM run and report degradation honestly.
Get notified when the next lesson and new labs are released.
One email per new lesson or lab.