AI-Powered Robotics: Traveling Ethiopia Search Problem A ROS-based autonomous navigation system using Gazebo to solve the Traveling Ethiopia Search ProblemThis project implements multiple AI search strategies (BFS, DFS, UCS, A*, and MiniMax) for pathfinding in a simulated three-wheel robot environment.
# Traveling Ethiopia Search Problem
This repository contains the implementation of various AI search strategies applied to the "Traveling Ethiopia" problem, as part of the Artificial Intelligence: Principles and Techniques course at Addis Ababa University. The project covers uninformed search, informed search, adversarial search, and robotic simulation.
## đź“‹ Project Structure
The project is divided into five main sections, each addressing specific search algorithms and intelligent system designs:
### 1. Uninformed Search (BFS & DFS)
* **Data Structures**: Conversion of the Ethiopian state space graph into manageable stacks and queues.
* **Implementation**: A generic class that accepts an initial state, goal state, and strategy (Breadth-First Search or Depth-First Search) to return the solution path.
### 2. Uniform Cost Search (UCS)
* **Pathfinding**: Finding the cheapest path from Addis Ababa to Lalibela using backward costs.
* **Multi-Goal Optimization**: A customized UCS algorithm designed to visit multiple landmarks (Axum, Gondar, Lalibela, etc.) while preserving local optimums.
### 3. Informed Search (A*)
* **Heuristic Navigation**: Implementation of search using both backward costs and heuristic values.
* **Goal**: Generate the optimal path from Addis Ababa to Moyale.
### 4. Adversarial Search (MiniMax)
* **Strategy**: Implementation of the MiniMax algorithm to direct an agent toward the best achievable destination (High-quality Coffee states) against an adversary.
### 5. Interactive Intelligent System (ROS & Gazebo)
* **Robot Design**: A functional three-wheel robot with a physics engine, proximity sensors, gyroscope, and RGB camera.
* **World Modeling**: A Gazebo `.world` file using a Cartesian coordinate system to map the states of the Ethiopian search problem.
* **Autonomous Navigation**: A ROS-based class that utilizes an uninformed search strategy to drive the robot between any two states in the simulation.
---
## 🚀 Get …