Particle Filter to estimate the location (GPS position) of a moving car
This project consists of a c++ implementation of a Particle Filter to estimate the location (GPS position) of a moving car. This project improves the estimations by sensing landmarks and associating it with their actual positions obtained from a known map.
The main goals of this project is to develop a c++ Particle filter that successfully estimates the position of the car from the Udacity Simulator. Figure 1 depicts an example of the filter estimating (blue circle) the object position. The RMSE (Root Mean Square Error) values estimates the accuracy of the Particle Filter Estimation.
The source code for this project is available at project code.
The following files are part of this project:
This project requires the following packages to work:
This project uses the open source package called WebScokectIO to facilitate the communication between the
Particle Filter and the Udacity Simulator. To install all the websocketio libs, execute the script install-ubuntu.sh
from the project repository directory.
To run this project, you first need to compile the code. After the code is compiled, please, run the Udacity simulator and the particle_filter
binary created at the build folder.
The main program can be built and run by doing the following from the project top directory.
Figure 2 depicts the Particle Filter estimations using 10 particles. The RMSE values of 0.154, 0.122 and 0.005 show the Particle Filter accuracy to estimate the car’s location (x and y) and yaw angle (bearing).
Figure 3 shows the Particle Filter estimations using 50 particles. Increasing the number of particles improves the filter accuracy.