No jobs
Core 9 min 1 of 3

What SLAM is estimating

A trajectory and a map, jointly, from measurements that only ever relate a few variables at a time.

What this repairs

Thinking of SLAM as "localisation plus mapping run alternately" rather than as one joint estimate whose correlations are the whole difficulty.

Assumes

Given a robot's controls and its sensor readings, estimate the sequence of poses x0:T\mathbf{x}_{0:T} and the map m\mathbf{m} that jointly maximise

p(x0:T,mz1:T,u1:T).p(\mathbf{x}_{0:T}, \mathbf{m} \mid \mathbf{z}_{1:T}, \mathbf{u}_{1:T}).

The word doing the work is jointly. Localising against a known map is easy. Mapping from known poses is easy. Doing both is hard because the errors are coupled: a pose error displaces every landmark observed from that pose, and those landmarks then mislocalise every future pose that sees them. The correlations are not a nuisance to be approximated away — they are what makes loop closure able to correct the whole trajectory at once.

Two broad families follow from what you keep:

  • Filtering keeps only the latest pose and marginalises everything before it. Constant time per step, and it permanently freezes the linearisation of every marginalised state. EKF-SLAM also makes the covariance dense as landmark correlations accumulate, so its cost grows quadratically in the map size — the opposite of what the structure offers.
  • Smoothing keeps the whole trajectory and re-linearises. More accurate, and more expensive per iteration, though incremental solvers update only the part of the factorisation that actually changed.

Modern systems smooth over a window and marginalise beyond it, which is a choice about how much of the past they are willing to freeze.

Check yourself

Why is "run localisation and mapping alternately until they agree" not a solution?

Show answer

Because it ignores the cross-covariance between poses and map. Each half treats the other's output as exact, so neither ever accounts for the uncertainty it was handed, and the combined estimate becomes overconfident. It also cannot perform the correction that matters most: at loop closure, the information has to flow backwards through the trajectory to poses estimated long ago, and an alternating scheme with no joint representation has nowhere to put it.

Euler View - ML Experiment Monitor