Dead Reckoning Simulator: Navigation Error Growth from Speed & Heading

simulator intermediate ~10 min
Loading simulation...
δ_total ≈ 480 m — after 15 min at 50 km/h

With 3% speed error and 2° heading error, dead reckoning from a known start accumulates about 480 m total position error after 15 minutes of driving at 50 km/h.

Formula

x(t) = x₀ + v·cos(θ)·t;  y(t) = y₀ + v·sin(θ)·t
δ_cross = d · sin(δθ) ≈ d · δθ  (small angle)
δ_total = √(δ_along² + δ_cross²)

The Oldest Navigation Method

Before GPS, before radio, before chronometers, sailors navigated by dead reckoning — estimating position from course steered and distance sailed. Columbus crossed the Atlantic using DR, checking his position against the stars when skies were clear. The method is beautifully simple: if you know where you started, which direction you went, and how far, you know where you are. Its weakness is equally simple: errors accumulate with every mile.

Along-Track and Cross-Track Errors

Dead reckoning errors decompose into two components. Along-track error arises from imperfect speed measurement — if the speedometer reads 3% high, you think you have traveled 515 m when you have actually traveled 500 m. Cross-track error arises from heading error — if your compass is off by 2°, you drift sideways by d·sin(2°) ≈ 35 m per kilometer. The simulation shows both error components growing as the vehicle moves along its path.

Error Ellipse Growth

The total position uncertainty forms an ellipse that elongates over time. Cross-track error typically dominates because heading error multiplies by the full distance traveled, while speed error only affects the along-track component proportionally. After 10 km with 2° heading error and 3% speed error, the cross-track error (~350 m) dwarfs the along-track error (~300 m). The simulation draws this growing uncertainty ellipse around the estimated position.

Modern Dead Reckoning

Today, dead reckoning fills the gaps between GPS fixes. Automotive navigation systems use wheel odometry (speed) and a gyroscope (heading) to maintain positioning through tunnels and parking garages. Pedestrian dead reckoning uses smartphone accelerometers to count steps and estimate distance. Robot vacuum cleaners use wheel encoders for room mapping. In every case, the fundamental principle is the same as Columbus used — but the sensors and update algorithms have improved by orders of magnitude.

FAQ

What is dead reckoning?

Dead reckoning (DR) is the process of estimating current position by advancing a known position using measured speed and heading over elapsed time. The term likely derives from 'deduced reckoning.' It was the primary navigation method for ships for centuries and remains essential today for bridging GPS gaps in tunnels, urban canyons, and indoor environments.

Why does dead reckoning error grow over time?

DR error accumulates because each position estimate builds on the previous one. Speed errors cause along-track drift proportional to distance traveled. Heading errors cause cross-track drift that grows linearly with distance. Unlike GPS, which provides independent position fixes, DR has no self-correction mechanism — errors only compound until an external fix is obtained.

How is dead reckoning used in modern vehicles?

Modern vehicles use wheel speed sensors (odometry) and gyroscopes for dead reckoning during GPS outages. This 'automotive DR' maintains navigation through tunnels, parking garages, and urban canyons for 1-3 minutes with acceptable accuracy. The system resets its DR error each time GPS becomes available again, typically via a Kalman filter.

What is the difference between dead reckoning and inertial navigation?

Dead reckoning uses speed and heading measurements directly, while inertial navigation integrates raw accelerometer and gyroscope data. INS is a form of dead reckoning but operates at a lower level (forces and angular rates rather than velocity and heading). INS can detect lateral forces and altitude changes that simple DR cannot.

Sources

Embed

<iframe src="https://homo-deus.com/lab/navigation/dead-reckoning/embed" width="100%" height="400" frameborder="0"></iframe>
View source on GitHub