iterative closest point (ICP)
Iterative closest point, almost always shortened to ICP, is a recipe for sliding and rotating one cloud of points until it lands as squarely as possible on top of another cloud of the same thing. A point cloud is just a swarm of dots in space — for a robot, the spots where its laser or depth sensor struck nearby surfaces. When two such clouds describe the same room from slightly different positions, ICP finds the move that brings them into close agreement, which is also the move the robot made between them.
It earns the name by repeating two simple steps. First, for every point in the cloud it is moving, it finds the nearest point in the other cloud and tentatively treats those two as the same spot — a quick, rough guess at which dot pairs with which. Second, it computes the single shift-and-rotation that pulls all those guessed pairs closest together, and applies it. The clouds now overlap better, so the nearest-point guesses improve; it repeats, and with each pass the two clouds creep into tighter alignment until they barely move anymore — that settling point is the answer.
ICP is the standard engine behind scan matching and a backbone of LiDAR SLAM, prized for being simple and accurate when it starts from a decent first guess. Its catch is that it only ever pairs each point with its current nearest neighbor, so if the clouds begin far apart or badly twisted, it can lock onto the wrong pairing and confidently settle into a wrong answer — a trap called a local minimum. That is why robots usually feed ICP a rough starting estimate, often from wheel counts or a previous scan, before letting it polish the fit.
A robot takes two laser scans of the same corner from two spots; ICP nudges and spins one onto the other in a handful of passes, revealing it stepped 30 cm forward and turned 5 degrees.
A few rounds of nearest-point pairing converge on the robot's true move.
ICP comes in many flavors — point-to-point lines up dot to dot, while point-to-plane lets a dot slide along a surface and usually converges faster on flat walls and floors.