RoboRoute is a Java-based robot path planning simulator that uses the A* search algorithm to find a path between a starting point and a goal while avoiding obstacles.
The project combines Java, Object-Oriented Programming, Data Structures, Algorithms, and Java Swing GUI to simulate robot navigation in an interactive environment.
The simulator provides an interactive 10 × 10 grid with defined Start and Goal positions.
Users can click cells to create obstacles and click them again to remove them.
The A* algorithm calculates a route from the Start to the Goal while avoiding the obstacles. The robot then follows the calculated path.
- Interactive 10 × 10 grid
- Add and remove obstacles
- A* pathfinding algorithm
- Animated robot movement
- Visual path representation
- Total path steps
- Nodes explored counter
- Pathfinding execution time
- Java Swing graphical interface
- Reset and Clear Path controls
- Start and Goal visualization
RoboRoute uses the A* search algorithm for robot path planning.
The algorithm evaluates each node using:
F(n) = G(n) + H(n)
Where:
- G(n) = Cost from the starting node
- H(n) = Estimated cost from the current node to the goal
- F(n) = Total estimated cost
The algorithm searches for an efficient route while avoiding obstacle cells.
- Java
- Java Swing
- A* Algorithm
- Object-Oriented Programming
- Priority Queue
- HashMap
- HashSet
- Data Structures & Algorithms
RoboRoute/
│
├── Main.java
├── Grid.java
├── Node.java
├── Robot.java
├── PathFinder.java
├── RoboRouteGUI.java
├── README.md
├── grid.png
├── obstacles.png
└── path.png


