A python3 implementation of Error State Extended Kalman Filter (sensor fusion) for localisation of an autonomous vehicle using IMU, GNSS and LiDAR data generated by the CARLA simulator (data included in the repo).
- In Part 1, the filter relies on IMU data to propagate the state forward in time, and GPS and LIDAR position updates to correct the state estimate. The complete filter implementation will be tested by comparing the estimated vehicle position (produced by the code) with the ground truth position, for a 'hold out' portion of the trajectory (i.e., for which ground truth is not provided).
- In Part 2, we examine the effects of sensor miscalibration on the vehicle pose estimates. We determine how to adjust the filter parameters (noise variances) to attempt to compensate for these errors.
- In Part 3, we explore the effects of sensor dropout, that is, when all external positioning information (from GPS and LIDAR) is lost for a short period of time. We load a different dataset where a portion of the GPS and LIDAR measurements are missing. The goal is to illustrate how the loss of external corrections results in drift in the vehicle position estimate, and also to aid in understanding how the uncertainty in the position estimate changes when sensor measurements are unavailable.
- More in-detail documentation is in the code itself.
- Open root folder in terminal.
python3 es_ekf.py
- The repo is on Gitlab and has a mirror on Github.
- The code was a part of a Coursera project assignment.