This repository is based on EKFSLAM_FastSLAM and Turtlebot3
It is required to install these two packages to obtain the full process
The purpose of making this project is to understand the basic knowledge of SLAM
This is the performance video LINK
- Install Turtlebot3
There are lots of resource teaching people how to install Turtlebot3.
Here is one of the example, LINK
Based on the Ubuntu version to choose the right version. - Install EKFSLAM_FastSLAM
Go to the website above,It is suggested to clone this package under the turtlebot3_slam/src filegit clone <HTTPS or SSH>
Make sure both packages install properly - Install this repository
Clone the package also under the turtlebot3_slam/src file
It would be easier to modify
- Replace the file
Copy all the files in this repocitory and replace the same name file under EKFSLAM_FastSLAM - Launch Turtlebot3
roslaunch turtlebot3_gazebo turtlebot3_world.launch
- Move the Turtlebot
Open a terminal under this repository and runThe turtlebot should wait for a few second and move to the certain positionpython move.py
The initial position of turtlebot is (-2, 0), and the goal position is (0, 2)
Certain position can be easier change through goal in move.py - Checking the collected data
After Running the move.py, odom_data.dat which includes sensor data would occur.
Plugging the numbers into the sensor_data.dat
The data would be ready to perform fastslam - Performance
Open a terminal under EKFSLAM_FastSLAM file and runThis will show 2 image, one for EKF filter, another one for fastslam1.0python Main.py
Open another terminal under EKFSLAM_FastSLAM file and runThis will show 1 image of the true path that turtlebot passed throughpython TruePath.py
The result would occur in few seconds.
TruePath
EKFSlam
FastSLAM1.0
FastSLAM1.0 with particles
Ubuntu 20.04 noetic
Python 3.6