← Back to Projects

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
GPS/IMU Sensor Fusion

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