← Back to Projects

![Gallery 2]()
![Gallery 3]()
GPS/IMU Sensor Fusion
Vehicle trajectory estimation fusing a VectorNav VN-100 IMU with GPS over a 0.8-mile city drive — magnetometer calibration, complementary-filter yaw, and dead-reckoning analysis via custom ROS 2 drivers.
2025
EECE 5554 · Robot Sensing & Navigation

Overview
Implemented inertial odometry for a ground vehicle using a VectorNav VN-100 IMU and a standalone GPS receiver mounted on the NUance test vehicle. The work covered the full sensor-fusion pipeline: calibrating a 3-axis magnetometer for hard-iron and soft-iron distortions via ellipse fitting, estimating vehicle yaw from magnetometer and gyroscope data fused through a complementary filter, estimating forward velocity from accelerometer and GPS measurements, and reconstructing the vehicle trajectory by dead reckoning to compare against the GPS-derived ground truth. Custom ROS 2 driver nodes were written for both the IMU (VN-100 at 40 Hz) and GPS (at 1 Hz), with a unified launch file for synchronized data collection over rosbag.
Key Results
- Complementary filter (α = 0.98) eliminated 320°+ of accumulated gyro drift over the 15-minute run, producing a stable heading that closely matched the VN-100's internal estimate.
- Ellipse-based magnetometer calibration successfully removed hard-iron and soft-iron distortions, converting a shifted ellipse into a centered unit circle.
- Dead-reckoning trajectory comparison revealed a ~20,000× scale mismatch versus GPS, quantifying that IMU-only navigation becomes unusable within seconds without external corrections.
- GPS-derived velocity (10–12 m/s peak) served as ground truth, exposing catastrophic accelerometer bias drift to 300+ m/s over the 878-second run.
Gallery
