Augmenting Dead Reckoning State Estimation with GPS for Better Odometry

|

Relative sensor fusion can only take a mobile robot so far. To build truly robust autonomous systems, you have to bound dead reckoning drift with absolute global references.

As part of my ongoing development of System 1 and System 2 robot autonomy infrastructure, I’ve expanded my Python Extended Kalman Filter (EKF) state estimator to include live GPS parsing.

In the video below, you can see how a pure dead reckoning filter (orange) handles a sudden collision anomaly compared to a two-stage GPS-fused EKF (blue).

Here is exactly what the absolute GPS extension brings to the state-estimation pipeline over standard internal tracking:

โœ”๏ธ ๐—•๐—ผ๐˜‚๐—ป๐—ฑ๐˜€ ๐—–๐—ผ๐—บ๐—ฝ๐—ผ๐˜‚๐—ป๐—ฑ๐—ถ๐—ป๐—ด ๐——๐—ฟ๐—ถ๐—ณ๐˜: Eliminates long-term positional integration error, anchoring the local coordinate map to global geographic realities.
โœ”๏ธ ๐— ๐—ถ๐˜๐—ถ๐—ด๐—ฎ๐˜๐—ฒ๐˜€ ๐—ช๐—ต๐—ฒ๐—ฒ๐—น ๐—ฆ๐—น๐—ถ๐—ฝ๐—ฝ๐—ฎ๐—ด๐—ฒ ๐—”๐—ป๐—ผ๐—บ๐—ฎ๐—น๐—ถ๐—ฒ๐˜€: As shown at the end of the clip, when the robot hits a sidewalk barrier and slips, the raw odometry (red) keeps imagining forward motion. The GPS track immediately overrides this, correctly locking the robot as stationary.
โœ”๏ธ ๐—ง๐˜„๐—ผ-๐—ฆ๐˜๐—ฎ๐—ด๐—ฒ ๐—๐—ผ๐—น๐˜ ๐—œ๐˜€๐—ผ๐—น๐—ฎ๐˜๐—ถ๐—ผ๐—ป: Implements a discrete white-noise acceleration pre-smoother to swallow fix-to-fix GPS jumps, preventing absolute “snapping” from disrupting smooth, downstream steering control loops.
โœ”๏ธ ๐——๐˜†๐—ป๐—ฎ๐—บ๐—ถ๐—ฐ ๐—–๐—ผ๐˜ƒ๐—ฎ๐—ฟ๐—ถ๐—ฎ๐—ป๐—ฐ๐—ฒ ๐—š๐—ฎ๐˜๐—ถ๐—ป๐—ด: Automatically scales its trust based on satellite geometry and receiver confidence, protecting the system from multi-path noise reflections.

If you are building state estimators for rugged, real-world environments, internal relative data is only half the puzzle.

Read the full article here: https://system1system2.substack.com/p/augmenting-dead-reckoning-state-estimation

Leave a Reply

Your email address will not be published. Required fields are marked *