Extended Kalman Filter SLAM implemented from first principals
This repo implements EKF-Slam from first principals.
- Install python
- Install various depencancies such as numpy ( requirements.txt to come )
- Run the code
- The CreateAssociationsFiles.sh can be run to generate association files needed for the EKF Slam algorithm. This assumes ros with RGBD_DATASET_TOOLS is installed Furthermore, it assumes that the dataset is put into the correct directory.
- The EKF slam can be built with cmake This file depends on the following: Boost, OpenCV, PCL, ROS with ROSBAG and catkin and EIGEN3
- The CreateORBSLAMAssociations.sh file can be run to create the ORB associations.
- The createGTPlots.py in plotTrajectory can be used to create the ground-truth plots and estimate the speed of the robot.
- the createSummaryPlots.py can be used to create the summary plots
- the CreateTestPlots.py can be used to create the plots generated for each algorithm
- the CreateConfPlots.py can be used with the EKFSLAMGENCOV in order to generate the covariance plots.
This repository is for educational purposes only. The algorithms implemented here is my interpretation of the original authors' work. Due to this, they will most likely not produce the same results as the original implementations. All rights are reserved to the original authors of the papers this code was based on.