Neeleshrj / GAN-SVM-path-finding

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Path Planning using Machine Learning

This project was made as a POC to find if GAN (Generative Adversarial Network) and SVM (Support Vector Machines) can be used for Path Planning.

GAN

  1. We create a dataset of 5000 images with each 32 x 32 pixel images with randomly placed obstacles and start and end position. These are our Map Images.
  2. Path Finding is done between the start and endpoint of the Map Image using A* Algorithm to create Path Image which contains the obstacles as well as a path between the points A and B.
  3. We then carry out some pre-processing on the images produced in tha dataset
  4. We create a Generator and Discriminator using Tensorflow and train them for 20 epochs.
  5. The results are then analysed.

The neural network took 4 hours (20 mins on GPU, 5000 images dataset). The outputs are as follows:

Output

gan original map
Unsolved Map

gan solved map
Map after pathfinding using A*

gan result
Resultant Image generated

The other approach taken was find the path using SVM to give all possible traversable points which can then be fed into an A* algorithm for better heuristic path finding.

SVM

  1. We create a dataset of 5000 images with each 32 x 32 pixel images with randomly placed obstacles and start and end position. These are our Map Images.
  2. Path Finding is done between the start and endpoint of the Map Image using A* Algorithm to create Path Image which contains the path between the points A and B.
  3. We then carry out some pre-processing on the images produced in tha dataset
  4. We create a SVM model using SVR of scikitlearn and train it.
  5. The results are then analysed.

The model took 10 hours. The outputs are as follows:

Output

gan original map
Unsolved Map

gan solved map
Path Image after pathfinding using A*

The final output is 81.25% accurate mapping of all traversable points on the orignal map which can later be used for path finding.

Future Work

The POC can be worked further on to improve the path finding abilites of UAVs especially in a obstacle ridden dynamic enviornment with low threat count.

About

License:GNU General Public License v3.0


Languages

Language:Jupyter Notebook 100.0%