Skip to content

Robotics and sensor fusionTumbleweed Mars

Reducing localisation error without GPS

Built PESTO to reduce rover position error without GPS and locate scientific measurements, combining inertial data and rotary-encoder updates in Python.

Source code is private.

Result

70.1% lower mean position error in controlled simulation.

The challenge

Rover measurements need a location to give them context. Mars has no GPS service, and small errors in inertial measurements build up as a rover moves. The task was to test whether rotary-encoder updates could reduce that drift.

My contribution

  • Implemented PESTO (Pose Estimation via Sensor Tracking and Odometry), a Python navigation pipeline using an iterated extended Kalman filter to combine inertial measurements with rotary-encoder updates.
  • Selected filter settings on ten development trajectories, then evaluated on five separate synthetic test trajectories with ten noise realisations each.
  • Compared the encoder-aided estimates with the inertial-only baseline under matched conditions, measuring horizontal position error.

Results and validation

Mean horizontal position error fell from 7.06 m to 2.11 m across the 50 paired test runs, a 70.1% reduction. The navigation work features in the IAC 2026 interactive programme. A talk at iSpaRo 2026 is scheduled for 4 November 2026.

Technical details

These are controlled simulation results from five trajectories, each repeated with ten noise realisations. Acceleration was reconstructed from known paths and preprocessing was offline. End-to-end validation with physical sensors remains to be done. Visual odometry was developed separately.