Visual Odometry: Motion Drift & Loop-Closure Correction (2D)
Interactive 2D visual-odometry simulator: a robot camera tracks landmark features frame-to-frame and dead-reckons its trajectory from a top-down view, accumulating drift like a random walk — toggle loop-closure correction and watch a live drift-vs-frames chart compare the measured error against the theoretical sqrt(frames) growth curve.
A robot camera drives a closed loop through a field of tracked landmarks, seen here from directly above. Every simulated frame it matches a set of feature correspondences against the previous frame and dead-reckons its next position from that noisy motion estimate — exactly how monocular visual odometry works before any global map correction is added. Because each frame's error is independent, the estimated trajectory (red) drifts away from the true path (blue) like a random walk, growing roughly with the square root of elapsed frames — the live chart beneath the map plots that growth directly against a fitted √(frames) curve. Fewer tracked landmarks or noisier matches make the drift worse; more landmarks average it down. Switch on loop-closure correction to see what turns odometry into SLAM: each time the robot completes a lap and re-recognizes its starting landmarks, the accumulated drift gets pulled back toward the true pose instead of growing forever. Drag the map to pan and scroll to zoom in on the drift as it develops.
Watch a robot camera dead-reckon its position from noisy frame-to-frame feature tracking on a top-down 2D map — the estimated trajectory drifts away from ground truth like a random walk, and a live chart plots the measured drift against the theoretical square-root-of-frames growth curve, unless loop-closure correction is switched on to snap it back.
2D · HTML5 Canvas 2D · 60 FPS target · runs fully client-side, no install