Skip to content

Path Planning for Intelligent Mobile Robots A comprehensive framework for advanced path planning algorithms used in autonomous mobile robots.

License

Notifications You must be signed in to change notification settings

DadaNanjesha/Path-Planning-for-Intelligent-Mobile-Robots

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

77 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Advanced Path Planning Algorithms for Intelligent Mobile Robots

πŸ“Œ Overview

This repository contains implementations of various advanced path-planning algorithms used in autonomous mobile robots. These algorithms are widely applied in robotics, AI, and autonomous navigation systems.

The repository includes implementations of:

  • A*, D*, Hybrid DQN-A*, RRT*, and Theta* algorithms.
  • Efficient solutions for navigation in dynamic and static environments.

✨ Features

βœ” A* Algorithm - Implements the classical A* search and bidirectional variant for optimal path planning.
βœ” D* Algorithm - A dynamic path planning algorithm that adapts to changing environments.
βœ” Hybrid DQN-A* - A hybrid approach combining Deep Q-Network (DQN) with A* for intelligent decision-making.
βœ” RRT* Algorithm - Rapidly-exploring Random Tree (RRT*) for sampling-based path planning.
βœ” Theta* Algorithm - An optimized variant of A* allowing any-angle path planning.


πŸ“‚ Directory Structure

πŸ“¦ Advanced_Path_Planning
β”œβ”€β”€ πŸ“‚ A_Star
β”‚   β”œβ”€β”€ πŸ“„ README.md
β”‚   β”œβ”€β”€ πŸ“„ a_star_algorithm.py
β”‚   β”œβ”€β”€ πŸ“„ a_star_bidirectional_algorithm.py
β”‚
β”œβ”€β”€ πŸ“‚ D_Star
β”‚   β”œβ”€β”€ πŸ“„ README.md
β”‚   β”œβ”€β”€ πŸ“„ d_star.py
β”‚
β”œβ”€β”€ πŸ“‚ Hybrid_DQN_A_Star
β”‚   β”œβ”€β”€ πŸ“„ README.md
β”‚   β”œβ”€β”€ πŸ“„ hybrid_dqn_a_star_algorithm.py
β”‚
β”œβ”€β”€ πŸ“‚ RRT_Star
β”‚   β”œβ”€β”€ πŸ“„ README.md
β”‚   β”œβ”€β”€ πŸ“„ rrt_star_algorithm.py
β”‚
β”œβ”€β”€ πŸ“‚ Theta_Star
β”‚   β”œβ”€β”€ πŸ“„ README.md
β”‚   β”œβ”€β”€ πŸ“„ theta_star_algorithm.py
β”‚
β”œβ”€β”€ πŸ“‚ media
β”‚   β”œβ”€β”€ πŸ“Ή astar.gif
β”‚   β”œβ”€β”€ πŸ“Ή astar_bidirectional.gif
β”‚   β”œβ”€β”€ πŸ“Ή dstar.gif
β”‚   β”œβ”€β”€ πŸ“Ή dqn_astar.gif
β”‚   β”œβ”€β”€ πŸ“Ή rrtstar.gif
β”‚   β”œβ”€β”€ πŸ“Ή thetastar.gif
β”‚
β”œβ”€β”€ πŸ“‚ test
β”‚   β”œβ”€β”€ πŸ“„ test_astar.py
β”‚   β”œβ”€β”€ πŸ“„ test_dstar.py
β”‚   β”œβ”€β”€ πŸ“„ test_hybrid_dqn_a_star.py
β”‚   β”œβ”€β”€ πŸ“„ test_rrt_star.py
β”‚   β”œβ”€β”€ πŸ“„ test_theta_star.py
β”‚
β”œβ”€β”€ πŸ“„ .gitignore
β”œβ”€β”€ πŸ“„ LICENSE
β”œβ”€β”€ πŸ“„ README.md
β”œβ”€β”€ πŸ“„ requirements.txt
β”œβ”€β”€ πŸ“„ setup.py
β”œβ”€β”€ πŸ“‚ .github


βš™οΈ Installation

To run the algorithms, install the necessary dependencies:

pip install -r requirements.txt
pip install -e .

πŸš€ Usage

Each algorithm can be executed independently. Example usage:

python A_Star/a_star_algorithm.py
            or
pytest -v --verbose

Modify the scripts as needed to test different environments or configurations.


πŸ“Š Project Overview

The project contains several advanced path planning techniques, including:

πŸ”Ή A* Algorithm

A classic grid-based path planning method that computes the optimal path using an 8-connected graph and a Euclidean distance heuristic.
A* Algorithm

πŸ”Ή Bidirectional A*

An enhanced version of A* that simultaneously searches from the start and goal, potentially reducing the search time.
Bidirectional A* Algorithm

πŸ”Ή D* Algorithm

A dynamic path planning algorithm that efficiently updates the optimal path in response to changes in the environment.
D* Algorithm

πŸ”Ή RRT* Algorithm

A rapidly exploring random tree (RRT) is an algorithm designed to efficiently search nonconvex, high-dimensional spaces by randomly building a space-filling tree.
D* Algorithm

πŸ”Ή Theta* Algorithm

An any-angle variant of A* that uses line-of-sight checks to "shortcut" unnecessary nodes, producing smoother and more direct paths.
Theta* Algorithm

πŸ”Ή Advanced AI/ML (DQN-Based) Path Planning

An implementation leveraging deep reinforcement learning (DQN) to learn an optimal navigation policy.
DQN-A* Algorithm


πŸŽ₯ Visualization

Pathfinding results can be visualized using the generated .gif files in the media directory.


πŸ“Š Performance Metrics Overview

This table provides a performance comparison of various path-planning algorithms implemented in this project.

Algorithm Execution Time (s) Path Length Steps Taken Direction Changes Optimality Computational Efficiency Scalability Adaptability to Dynamic Environments Best Use Cases
A* 20.45 - 30.48 🟑 85.05 🟒 67 πŸ”΄ 13 🟑 High 🟒 Low πŸ”΄ Low πŸ”΄ Low πŸ”΄ Structured static environments (e.g., warehouse automation)
Bidirectional A* 4.20 - 5.46 🟒 96.77 🟑 87 πŸ”΄ 7 🟒 Moderate 🟑 High 🟒 Moderate 🟑 High 🟒 Dynamic environments with known obstacles
D* 20.50 - 22.11 🟑 85.05 🟒 67 πŸ”΄ 13 🟑 High 🟒 Low πŸ”΄ Low πŸ”΄ Moderate 🟑 Real-time replanning in semi-dynamic environments
RRT* 8.03 - 39.19 🟑 104.69 - 113.35 πŸ”΄ 22 - 24 🟒 21 - 22 πŸ”΄ Low - Moderate 🟑 Moderate 🟑 High 🟒 High 🟒 Exploration & high-dimensional navigation
Theta* 0.08 - 0.12 🟒 82.27 🟒 6 🟒 4 🟒 Very High 🟒 Very High 🟒 High 🟒 Low πŸ”΄ Precise trajectory planning & smooth motion
DQN-A* 0.01 🟒 85.05 🟒 67 πŸ”΄ 13 🟑 High 🟒 Very High 🟒 Very High 🟒 Very High 🟒 AI-enhanced real-time obstacle avoidance

This comparison helps in selecting the appropriate algorithm based on the application requirements, balancing optimality, efficiency, and adaptability.

🎨 Legend

  • 🟒 Green: Best performance in a category.
  • 🟑 Yellow: Moderate performance.
  • πŸ”΄ Red: Lower performance or limitations.

🎯 Key Insights

  • ⚑ Fastest Algorithms:
    • DQN-A* (0.01s) and Theta* (0.08 - 0.12s) are the fastest.
  • πŸ›€οΈ Shortest Path:
    • Theta* achieves the shortest path length (82.27) with minimal direction changes (4).
  • πŸ”„ Best for Dynamic Environments:
    • Bidirectional A* and RRT* excel in adaptability to dynamic environments.
  • πŸ€– AI-Enhanced Performance:
    • DQN-A* combines high optimality with very high computational efficiency and scalability.

🀝 Contributing

Contributions are welcome! To contribute:

  1. Fork the repository
  2. Create a new branch (git checkout -b feature-branch)
  3. Commit changes (git commit -m "Add new feature")
  4. Push to the branch (git push origin feature-branch)
  5. Open a Pull Request

⭐️ Support & Call-to-Action

If you find this project useful, please consider:

  • Starring the repository ⭐️
  • Forking the project to contribute enhancements
  • Following for updates on future improvements

Your engagement helps increase visibility and encourages further collaboration!


πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ“š Citation

If you find this repository useful for your work, please consider citing it in your research or projects. Below are the citation details in APA 7th edition and BibTeX formats.


APA 7th Edition

Gouda Shanbog, D. N. (2025). Path-Planning-for-Intelligent-Mobile-Robots (1.0.1). Zenodo. https://doi.org/10.5281/zenodo.14954689
  • BibTeX
@software{gouda_shanbog_2025_14954689,
  author       = {Gouda Shanbog, Dada Nanjesha},
  title        = {Path-Planning-for-Intelligent-Mobile-Robots},
  month        = feb,
  year         = 2025,
  publisher    = {Zenodo},
  version      = {1.0.1},
  doi          = {10.5281/zenodo.14954689},
  url          = {https://doi.org/10.5281/zenodo.14954689},
}

πŸ“¬ Contact

For inquiries or collaborations, reach out via GitHub Issues.


πŸŽ‰ Happy Coding! πŸš€

About

Path Planning for Intelligent Mobile Robots A comprehensive framework for advanced path planning algorithms used in autonomous mobile robots.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages