Heuristic Path Planning is a comprehensive Python repository dedicated to exploring various heuristic algorithms for automated path planning. Developed as a Course Project for CS 634 (Geometric Algorithms), this project implements a diverse set of algorithms to solve path planning problems, leveraging the power of heuristics to optimize solutions.
- A* Algorithm: An implementation of the classic pathfinding and graph traversal algorithm, optimized with custom heuristics.
- Probabilistic Roadmap (PRM): A method for high-dimensional planning that uses a graph of possible paths.
- Rapidly-exploring Random Trees (RRT): Includes various versions of the RRT algorithm to explore complex spaces rapidly.
- Hybrid Approaches: Combines PRM and A* for efficient path planning in structured and unstructured environments.
- Custom Heuristic Functions: Enables dynamic adaptation of heuristic strategies for specific planning scenarios.
- Utility Functions: A collection of utilities for obstacle creation, path visualization, and algorithm evaluation.
Before running the Heuristic Path Planning scripts, ensure you have the following prerequisites:
- Python 3.6 or higher
- PyTorch 2.1.0 or higher
- NumPy for mathematical computations