Skip to content

Implementation of "Safe Deep Learning-Based Global Path Planning Using a Fast Collision-Free Path Generator". We present a global path planning method in this project which is based on an LSTM model that predicts safe paths for the desired start and goal points in an environment with polygonal obstacles, using a new loss function (MSE-NER).

Notifications You must be signed in to change notification settings

our-projects-github/Safe-Deep-Learning-Based-Global-Path-Planning-Using-a-Fast-Collision-Free-Path-Generator

Repository files navigation


Safe Deep Learning-Based Global Path Planning Using a Fast Collision-Free Path Generator

📃 papers

  • Safe Deep Learning-Based Global Path Planning Using a Fast Collision-Free Path Generator:

  • Synergy of Deep Learning and Artificial Potential Field Methods for Robot Path Planning in the Presence of Static and Dynamic Obstacles:

📝 Authors

  1. Shirin Chehelgami:

  2. Erfan Ashtari:


💬 Explanation

The implementation of "Safe Deep Learning-Based Global Path Planning Using a Fast Collision-Free Path Generator" is shared in this repository. We present a safe deep learning-based global path planning method in this project. This method is based on an LSTM model that predicts paths for the desired start and goal points in an environment with polygonal obstacles. To predict safe paths with an appropriate distance from obstacles, a new loss function (MSE-NER) is developed. You can conduct experiments in both the "main" and "main test a sample" notebooks to build the project from scratch or to use pre-trained models. The AI2THOR framework is used for the simulations, and you can test our path planning method on all of its environments. The results of this project resulted in the publication of two papers, which you can access via the links above. Additionally, in the Gallery section, you can see the robot movement for a sample path generated using our method in an AI2THOR environment.

Instructions

⚙ Usage Steps

  1. clone the repository in your google drive.
  2. use the "main" or "main_test a sample" notebooks.
  3. In the second cell of the notebooks, you can change the root directory for accessing AI2THOR_py folder.

📄 main

Use it for doing all the project from the scratch.
At first, it asks you for the number of your desired environment between 194 different AI2THOR environments. Then it creates a map containing polygonal obstacles and generates as many as path data that is needed for training the LSTM model. After that, you can train the model and see how it performs in the environment for some random starts and goals. Finally, it provides three mp4 files in which you can see the robot's movements between a start point and a goal point in the AI2THOR framework's selected environment from various points of view.


📄 main_test a smple

Use it for simulating a sample path in AI2THOR environment.
This notebook includes just final steps of the "main" notebook and enables you to simulate the robot movements. You can generate a sample path for the robot using a pre-trained model. The notebook's output contains three videos of the robot's movement from various points of view.


📁 AI2THOR_py

  • ai2thormap: generates a map with polygonal obstacles for AI2THOR environments.

creates map contains obstacle polygons for AI2THOR environments.

  • ai2thorgeneratepatches: contains a function that displays polygons of the considered environment in AI2THOR.

  • ai2thorgeneratesamlpes: contains functions for generating sample points from the environment's free space.

contain functions that generates sample points from free-space in the environment.

  • ai2thorcreatedata: contains functions for generating any amount of path data required for training the LSTM model using the GB method in the desired environment.

contain functions that creates any amount of path data that is needed using GB method for the desired environment.

  • ai2thorprocessdata: contains functions that create the LSTM network's required input and output using the path generated by the GB method.

contains functions that selects the required input and output of the LSTM network using the path create by the GB method.

  • ai2thorloss: tensorflow implementation of the MSE-NER and keras implementation of the MSE loss functions.

  • ai2thormodel: implementation of the LSTM network (OracleNet) used for path planning.

  • ai2thortrain: contains functions for training the LSTM network with the processed data generated by the GB method and saving the model.

contains functions that train the LSTM network using the processed data created by GB method and save the model.

  • ai2thortest: contains functions for evaluating the trained model for both desired and random start and goal points.

contains functions that evaluate the trained model for the desired as well as random start and goal points.

  • AI2THOR_PATH2GIF: Simulates the Robot movement in an AI2THOR environment.

References

📃 Reference paper

  • Neural Path Planning: Fixed Time, Near-Optimal Path Generation via Oracle Imitation :

🤖 AI2THOR

🦾 AI2THOR Full-Starter

  • Link:

Gallery

🖼 Selected AI2THOR environment:

🖼 Obtained map:

🖼 generated path:

🎬 Top view:

🎬 Top view (Segmented):

🎬 Robot view:

🎬 Side view (Fixed camera):

About

Implementation of "Safe Deep Learning-Based Global Path Planning Using a Fast Collision-Free Path Generator". We present a global path planning method in this project which is based on an LSTM model that predicts safe paths for the desired start and goal points in an environment with polygonal obstacles, using a new loss function (MSE-NER).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published