Robotics Sensor Fusion and Navigation System
Published:
Overview
Developed a comprehensive sensor fusion system for robot navigation as part of graduate coursework in Robot Sensing and Navigation (EECE 5554).
Environment Setup
- Configured Ubuntu 24.04 development environment in VirtualBox with ROS2 Jazzy
- Set up Gazebo Harmonic simulation for testing navigation algorithms
- Integrated USB sensors with virtual machine through device passthrough
Sensor Integration & Data Collection
- Developed ROS2 drivers for GPS (NMEA protocol) and IMU (VectorNav) sensors
- Implemented real-time data acquisition at 40Hz (IMU) and 1-10Hz (GPS)
- Created rosbag recording pipeline for synchronized multi-sensor data collection
- Configured guvcview and OpenCV for camera-based image recognition experiments
Sensor Fusion & Navigation
- Implemented magnetometer calibration (hard/soft iron compensation) for heading estimation
- Developed complementary filter combining gyroscope integration with magnetometer readings
- Applied dead reckoning using accelerometer integration for velocity and position estimation
- Performed Allan Variance analysis to characterize IMU noise parameters (ARW, bias instability)
Analysis Tools
- Built Python analysis pipeline for processing rosbag data
- Generated trajectory comparisons between GPS ground truth and IMU-based estimates
- Created visualization tools for sensor calibration and navigation performance evaluation
Technical Skills
ROS2, Python, MATLAB, Ubuntu/Linux, VirtualBox, Gazebo, OpenCV, Sensor Fusion, GPS/IMU Integration, Kalman Filtering, Git