Skip to content

Repository files navigation

RoboRoute 🤖

Robot Path Planning Simulator

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.


📸 Project Demo

1. Grid Interface

RoboRoute Grid

The simulator provides an interactive 10 × 10 grid with defined Start and Goal positions.

2. Obstacle Placement

RoboRoute Obstacles

Users can click cells to create obstacles and click them again to remove them.

3. A* Path Planning

RoboRoute Path

The A* algorithm calculates a route from the Start to the Goal while avoiding the obstacles. The robot then follows the calculated path.


✨ Features

  • 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

🧠 A* Pathfinding

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.


🛠️ Technologies Used

  • Java
  • Java Swing
  • A* Algorithm
  • Object-Oriented Programming
  • Priority Queue
  • HashMap
  • HashSet
  • Data Structures & Algorithms

📂 Project Structure

RoboRoute/
│
├── Main.java
├── Grid.java
├── Node.java
├── Robot.java
├── PathFinder.java
├── RoboRouteGUI.java
├── README.md
├── grid.png
├── obstacles.png
└── path.png

About

Java-based robot path planning simulator using the A* algorithm and Swing GUI.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages