A small open-source project to implement SLAM based on EKF and UKF using Turtlebot3.
cd $HOME && git clone --recursive https://github.com/iamarkaj/AwesomeSLAM.git
cd AwesomeSLAM && chmod 755 install.sh
./install.sh
awesome_slam/config/landmarks.yaml
roslaunch awesome_slam awesome_slam.launch
rosrun awesome_slam ekf
rosrun awesome_slam ukf
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
├── CMakeLists.txt
├── config
│ ├── display.rviz
│ └── landmarks.yaml
├── include
│ └── awesome_slam
│ ├── common.h
│ ├── config.h
│ ├── structures.h
│ └── tools.h
├── launch
│ └── awesome_slam.launch
├── models
│ ├── awesome_boundary
│ │ ├── model.config
│ │ └── model.sdf
│ └── awesome_cylinder
│ ├── model.config
│ └── model.sdf
├── package.xml
├── src
│ ├── ekf
│ │ ├── ekf.cpp
│ │ └── ekf.h
│ ├── gazebo_spawn
│ │ ├── gazebo_spawn.cpp
│ │ └── gazebo_spawn.h
│ ├── sensor_landmark
│ │ ├── sensor_landmark.cpp
│ │ └── sensor_landmark.h
│ ├── ukf
│ │ ├── ukf.cpp
│ │ └── ukf.h
│ └── visualize_landmark
│ ├── visualize_landmark.cpp
│ └── visualize_landmark.h
└── worlds
└── awesome_slam.world
[1] rlabbe: Kalman-and-Bayesian-Filters-in-Python
[2] Circle Classification algorithm, J. Xavier et. al., Fast line, arc/circle and leg detection from laser scan data in a Player driver, ICRA 2005
[3] Circular Fitting algorithm, A. Al-Sharadqah and N. Chernov, Error Analysis for Circle Fitting Algorithms, Electronic Journal of Statistics (2009), Volume 3 p 886-911
[4] Udacity Sensor-fusion-engineer: Nanodegree
[5] shangzhouye: EKF-SLAM on Turtlebot3