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.