Scan matching estimates how a robot moved by aligning one lidar scan to the next — the front-end that turns raw range data into motion estimates and feeds nearly every lidar-based SLAM and navigation system.
Scan matching slides a fresh lidar scan over the previous one (or over the map) until the walls and edges line up. How far it had to slide tells the robot how far it moved.
A lidar fires thousands of range measurements and returns a "scan" — a slice of the surrounding walls and objects. Take two scans a moment apart and figure out how one slid onto the other, and you know how the robot moved. That's scan matching.
What it does
Scan matching computes the rotation and translation that best aligns one scan with another — either the previous scan (giving lidar odometry) or the existing map (giving localization). It's the geometric front-end that converts raw range data into a motion estimate.
Align scans to recover motion
How far the new scan must be shifted and rotated to line up with the reference is exactly how far the robot moved between them.
How it's done
Several methods, trading speed for robustness:
ICP (Iterative Closest Point) and its point-to-line/point-to-plane variants — match nearest points, solve, repeat.
NDT (Normal Distributions Transform) — model the reference scan as a grid of Gaussians and slide the new scan to maximize probability; robust and smooth.
Correlative / grid-based matching — exhaustively score candidate shifts against an occupancy grid; slower but avoids bad local minima and gives a good initial guess.
Most real systems combine them: a coarse correlative match to get close, then ICP/NDT to refine.
Where it fits
Scan matching is the odometry source for lidar SLAM (Cartographer, slam_toolbox, LIO-SAM all rely on it) and the localization step in AMCL-style systems. Its estimates become the edges in a pose graph. Its weakness is geometrically featureless environments — a long, straight, empty corridor gives nothing to lock onto along its length, so the estimate slides. That's exactly where wheel odometry or an IMU is fused in to help.
Why it matters
Scan matching is the quiet workhorse that turns a spinning laser into knowledge of motion. Nearly every lidar robot's sense of "how did I just move?" starts here.