A Python-based simulation of an autonomous delivery robot that navigates through a maze-like environment to deliver packages to multiple destinations while avoiding obstacles.
- Interactive 15x15 grid-based environment
- A* pathfinding algorithm for optimal route planning
- Dynamic obstacle and goal generation
- Real-time visualization using Pygame
- Multiple delivery points handling
- Save and load maze configurations
- Random vehicle (obstacle) generation
- Dynamic goal node management
- Python 3.x
- Pygame >= 2.5.0
- NumPy >= 1.24.0
You can install all required dependencies using:
pip install -r requirements.txt
- Clone the repository:
git clone https://github.com/yourusername/Autonomous-Delivery-Robot.git
cd Autonomous-Delivery-Robot
- Install the required dependencies:
pip install pygame numpy
Run the main simulation:
python Maze.py
- Left Mouse Click: Place/Remove walls
- Right Mouse Click: Set robot position
- Middle Mouse Click: Add/Remove delivery points
- Enter: Start the simulation
- ESC: Exit the program
Maze.py
: Main simulation file containing the robot's logic and visualizationmaze.txt
: Saved maze configuration fileMaze1/
: Directory containing additional maze configurations
- Implements A* algorithm for optimal path planning
- Calculates heuristic distances using Euclidean distance
- Dynamically updates path when obstacles are encountered
- 15x15 grid-based world
- Support for multiple types of cells:
- Empty spaces (traversable)
- Walls (obstacles)
- Vehicle positions (dynamic obstacles)
- Goal nodes (delivery points)
- Robot position
- Real-time rendering using Pygame
- Color-coded cells for different elements:
- Walls
- Path
- Robot
- Delivery points
- Obstacles
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
2025-01-14