Sensor Fusion for Accurate Motion Tracking
Fusing noisy GPS and accelerometer data using a Kalman filter
Key insight
Estimating motion from real sensors is difficult:
- Accelerometer → high-frequency but noisy and drifting
- GPS → accurate but low-rate and noisy
A Kalman filter combines both to recover a stable and accurate trajectory.
System
Simulated 2D motion with:
- ground-truth trajectory
- noisy accelerometer data
- low-rate GPS updates
A discrete-time state-space model estimates:
- position
- velocity
using recursive Kalman filtering.
What I did
- Built a modular Python system for motion simulation and sensor fusion
- Implemented discrete-time state-space model and Kalman filter
- Simulated realistic sensor noise and multi-rate measurements
- Evaluated estimation accuracy using RMSE
Methods & tools
- Language: Python
- Core: Kalman filtering, state-space modeling
- Design: modular architecture
- Evaluation: trajectory comparison and RMSE
Key results
1. Reduced estimation error
- Position RMSE reduced by ~20% vs raw GPS
2. Stable trajectory reconstruction
- Noisy measurements filtered into a smooth trajectory
- Velocity estimates remain consistent
3. Multi-rate sensor fusion
- Combines high-rate accelerometer with low-rate GPS
- Handles asynchronous measurements robustly
Takeaway
Sensor fusion combines models with measurements to estimate hidden states.
This project shows how Kalman filtering improves accuracy and robustness in noisy environments.
Media
Code
- GitHub: https://github.com/huzaifrahim/physics_sensor_fusion