Solution for travelling ethiopia problem
# πͺπΉ Travelling Ethiopia β AI Search Algorithms & Robot Simulation
This project implements various AI search algorithms for pathfinding across Ethiopia's city network and simulates robot navigation using **Gazebo** with ROS 2.
---
## Features
### Search Algorithms
- **BFS / DFS** β Uninformed search for finding paths
- **UCS** β Uniform Cost Search for optimal paths
- **A\*** β Heuristic search for faster pathfinding
- **MiniMax** β Adversarial search for coffee quality optimization
### Robot Simulation
- **Gazebo Physics Engine** β Full 3D simulation environment with ROS 2 (Jazzy)
- **Three-Wheel Differential Drive** β Custom URDF robot model
- **Sensor Suite** β Proximity sensor, gyroscope (IMU), and RGB camera
- **City World** β Ethiopia state-space map as a `.world` file with Cartesian coordinates
- **ROS 2 Navigation** β Path planning and execution via ROS 2 topics
---
## Project Structure
```
Travelling-Ethiopia/
βββ data/ # Graph data and city coordinates
β βββ graph1.py # BFS/DFS graph
β βββ graph2.py # UCS/A* weighted graph
β βββ graph3.py # Heuristics
β βββ graph4.py # Coffee tree (MiniMax)
β βββ graph5.py # Robot navigation graph
βββ search/ # Search algorithm implementations
β βββ bfs_dfs.py # BFS and DFS
β βββ ucs.py # Uniform Cost Search
β βββ astart.py # A* Search
β βββ advs.py # MiniMax
β βββ robot.py # Robot navigation logic
βββ myrobot/ # ROS 2 workspace
β βββ src/
β βββ my_robot/
β βββ my_robot/
β β βββ ethiopia_search.py # BFS ROS 2 search node
β β βββ my_node.py # Base ROS 2 node
β βββ urdf/
β β βββ three_wheel_robot.urdf.xacro # Robot model
β βββ worlds/
β β βββ ethiopia.world # Gazebo world file
β βββ set β¦