Invariant Extended Kalman Filtering for Robot Localization using IMU and GPS

NA 568 Final Project Team 16 - Saptadeep Debnath, Anthony Liang, Gaurav Manda, Sunbochen Tang, Hao Zhou

This project aims to implement an In-EKF based localization system and compare it against an Extended Kalman Filter based localization system and a GPS-alone dataset. We will use the UM North Campus Long-Term Vision and LIDAR dataset, an autonomy dataset for robotics research collected on the University of Michigan North Campus. It consists of data from several sensors including planar lidar, omnidirectional camera, IMU, and GPS.

Goals

Dependencies

  1. Download sensor data and groundtruth.csv from the NCLT dataset for a date, save all csv files in one folder named by the date, and store the folder in /data.

  2. Run the script /utils/read_data_and_convert_to_mat.py

Running the code

  1. /src/LIEKF_example.m runs the Left-Invarriant EKF on the NCLT, and compares with ground truth.
  2. /src/madgwick_example.m runs the Madgwick algorithm.
  3. /src/EKF_example.m runs the Extended Kalman Filter on the NCLT, and compares with ground truth.
  4. /src/LIEKF_example_wbias.m runs the Left-Invariant EKF including IMU bias on the NCLT, and compares with ground truth.

/src/LIEKF_example.m, src/LIEKF_example_wbis.m and /src/EKF_example.m produces three plots; planned robot trajectory compared with the ground truth, comparison of the computed euler angles with the ground truth and Mahalanobis distances for the predicted robot states.

Results

Plot generated for EKF

alt-text

Plot generated for LI-EKF

alt-text

Check the proposal, final report and video presentation for more details on implementation.

Team Members